Back to Blog
Monday, September 9, 2024

Cloud Computing Fundamentals and AWS

Mustafa Kaan Kayas — 18 min read — Sep 9, 2024

Note: English terminology is used where appropriate to avoid confusion and ensure clarity.


What is Cloud Computing?

Cloud Computing is a technology that eliminates the need for purchasing, installing, cooling, and maintaining hardware such as servers. A service provider (AWS, Azure, Google Cloud, etc.) manages these tasks and charges based on a pay-as-you-go model.

Benefits

  • Time and Cost Savings
  • Simplified Infrastructure Management
  • Flexibility and Easy Scalability
  • High Availability and Security
  • Global Access

Cloud Computing Models

Deployment Models

  • Private Cloud
  • Public Cloud
  • Hybrid Cloud
  • Multi Cloud
  • Community Cloud

Each model offers security, cost, and control advantages according to micro needs.

Service Models

  • IaaS (Infrastructure as a Service)
  • PaaS (Platform as a Service)
  • SaaS (Software as a Service)

Why Choose AWS?

AWS was one of the first companies to enter the market as a cloud provider and is a leader with a large market share. It offers scalable solutions with its Region/AZ structure and wide range of services.

AWS Core Concepts

  • Instance
  • Node
  • Cluster
  • Region
  • Availability Zone (AZ)
  • VPC (Virtual Private Cloud)
  • Subnet
  • Security Group

Each concept forms the foundation of cloud architecture.


AWS Core Services

EC2 (Elastic Compute Cloud)

AWS's virtual server service. Provides high scalability and cost flexibility.

AWS Lambda

Works on an event-driven basis with serverless architecture and eliminates the need for infrastructure management.

EBS (Elastic Block Store)

Provides block storage for EC2 instances.

S3 Bucket

Object-based storage. Ideal for large files.

RDS (Relational Database Service)

Managed relational database service.

ECS / EKS

Offers container management and Kubernetes services.


Sample AWS Application Architecture

  1. VPC Creation
  2. Identity Management with IAM
  3. Environment Selection with EC2 / ECS
  4. DNS Configuration with Route 53
  5. Database with RDS or DynamoDB
  6. Media Storage with S3
  7. Content Delivery with CloudFront
  8. Caching with ElastiCache
  9. Messaging with Amazon MQ
  10. Email Sending with SES
  11. Serverless Functions with Lambda
  12. Kubernetes Orchestration with EKS
  13. Persistent Storage with EBS
  14. Data Streaming and Processing with MSK
  15. Infrastructure Management with CloudFormation
  16. Monitoring & Alerts with CloudWatch

Should We Always Run to the Cloud?

No. Although cloud solutions are very advantageous, they have the following disadvantages:

Potential Challenges:

  • Cloud costs may increase in the long run
  • Data security and privacy risks
  • Vendor lock-in
  • Dependence on internet connection
  • Customization limitations

On-Premises Advantages:

  • Special hardware requirements
  • Sensitive data hosting
  • High performance and low latency requirements
  • Regulation compliance

Resources:

  • AWS Docs: https://docs.aws.amazon.com/
  • Javatpoint Cloud Computing
  • Spiceworks Cloud Computing Guide
  • AWS Cheat Sheets – tutorialsdojo.com