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
- VPC Creation
- Identity Management with IAM
- Environment Selection with EC2 / ECS
- DNS Configuration with Route 53
- Database with RDS or DynamoDB
- Media Storage with S3
- Content Delivery with CloudFront
- Caching with ElastiCache
- Messaging with Amazon MQ
- Email Sending with SES
- Serverless Functions with Lambda
- Kubernetes Orchestration with EKS
- Persistent Storage with EBS
- Data Streaming and Processing with MSK
- Infrastructure Management with CloudFormation
- 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