Day 4: Understanding AWS Compute Services and Amazon EC2 | #100DaysOfCode
Today, I dove deep into AWS's compute services, understanding the core building blocks that power cloud-based applications. Here's a breakdown of what I learned:
Understanding Servers
Servers handle requests from clients, transforming them into responses. These servers provide CPU, memory, and networking to process user requests efficiently. Common HTTP servers include Windows' Internet Information Services (IIS) and Linux-based options like Apache, Nginx, and Tomcat.
To run a server on AWS, the first step is choosing the right compute service, such as virtual machines, container services, or serverless.
Introduction to Amazon EC2
Amazon EC2 (Elastic Compute Cloud) offers secure, resizable compute capacity in the cloud. EC2 allows you to provision virtual servers called EC2 instances, where you can define hardware specifications like CPU, memory, and network settings.
What is an Amazon Machine Image (AMI)?
An AMI is a pre-configured template containing everything needed to launch an EC2 instance. You can select AMIs from various categories like Quick Start AMIs or custom-built images using the EC2 Image Builder.
Amazon EC2 Instance Lifecycle
EC2 instances go through multiple states – from creation (pending) to termination. Understanding these transitions is crucial for managing and scaling instances efficiently.
EC2 Pricing Models
AWS EC2 offers flexible pricing models, including:
On-Demand Instances: Pay as you go with no long-term commitments.
Reserved Instances (RIs): Provide a discounted rate for long-term usage.
Spot Instances: Allow you to use unused EC2 capacity at up to a 90% discount.
As I progress through AWS, I’m realizing the importance of designing applications for high availability, leveraging features like AMIs for reuse, and choosing the right pricing model to optimize costs.
That’s it for Day 4! I’ll continue digging deeper into AWS in the coming days.
Stay tuned for more updates on my journey!