Core Components of AWS

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 3

Core Components of AWS:

AWS encompasses a vast array of services across computing, storage, databases, machine learning,
analytics, and more. Key components include Amazon EC2 for virtual servers, Amazon S3 for object
storage, Amazon RDS for managed databases, IAM for access control, and services like Lambda, ECS, and
Elastic Beanstalk for application deployment.

EC2 vs. Lambda:

EC2 provides virtual servers that can be customized for specific workloads, offering more control
over the environment. Lambda, on the other hand, enables serverless computing, allowing developers
to run code in response to events without managing servers. EC2 is suitable for traditional applications,
while Lambda excels in event-driven scenarios with short-lived functions.

EC2 vs. ECS:

EC2 provides scalable compute capacity with virtual servers, offering flexibility and control over the
infrastructure. ECS (Elastic Container Service) is a container orchestration service that simplifies the
deployment and management of Docker containers. ECS is ideal for containerized applications that
require automatic scaling and orchestration.

Scaling on AWS:

Scaling on AWS involves leveraging services like Auto Scaling, which automatically adjusts the
number of EC2 instances based on predefined policies. Elastic Load Balancing distributes incoming traffic
across multiple instances, ensuring high availability and fault tolerance.

Amazon S3 Storage Classes:

S3 offers various storage classes to optimize costs based on data access patterns. For example,
Standard for frequently accessed data, Intelligent-Tiering for automatic data tiering, Glacier for long-
term archival, and Glacier Deep Archive for extremely low-cost archiving.

EBS vs. S3:

Amazon EBS provides block-level storage volumes that can be attached to EC2 instances. It is
suitable for databases and applications that require persistent storage. S3, as object storage, is scalable
and versatile, suitable for storing and retrieving any amount of data.
Securing Data in Transit:

Encrypting data in transit is crucial for security. Utilize SSL/TLS for securing communication. In a
VPC, configure security groups to control inbound and outbound traffic at the instance level, and use
network ACLs for controlling traffic at the subnet level.

Virtual Private Cloud (VPC):

A VPC allows you to launch AWS resources in a logically isolated section of the cloud. It enables you
to define your own network topology, including subnets, route tables, and gateways, providing
enhanced security and control over your AWS resources.

RDS vs. DynamoDB:

Amazon RDS is a managed relational database service supporting various database engines like
MySQL, PostgreSQL, and Oracle. It is suitable for structured data and applications requiring traditional
relational databases. DynamoDB is a NoSQL database service that provides fast and predictable
performance for applications with flexible data requirements.

Continuous Integration and Deployment (CI/CD):

CI/CD is a software development practice that automates the integration and delivery of code
changes. AWS services like CodePipeline and CodeDeploy facilitate building, testing, and deploying
applications in an automated and consistent manner.

IAM Roles for Security:

IAM roles are used to delegate permissions securely without the need for sharing access keys. Roles
are assigned to AWS resources, and temporary security credentials are provided when access is
assumed, enhancing security and minimizing the exposure of long-term credentials.

Securing Sensitive Information:

AWS provides services like AWS Secrets Manager and Parameter Store for securely storing and
managing sensitive information such as API keys and database credentials. IAM roles control access to
these resources, and encryption ensures data security.
Monitoring AWS Resources:

AWS CloudWatch is a monitoring service that provides real-time insights into AWS resource
utilization and application performance. CloudTrail records API calls for auditing, helping identify
security issues, and X-Ray facilitates tracing requests across distributed applications for performance
analysis.

Troubleshooting Performance Issues:

Troubleshooting performance issues involves analyzing CloudWatch metrics, logs, and using tools
like AWS X-Ray for distributed tracing. Identifying bottlenecks, optimizing resource utilization, and
addressing issues in code or configurations are crucial steps in resolving performance problems.

Challenging AWS Problem:

Faced a scaling challenge where the architecture needed to dynamically adjust to varying
workloads. Resolved it by optimizing instance types for specific tasks, introducing load balancing for
even distribution, and implementing Auto Scaling policies for automatic adjustment based on demand.

Highly Available and Fault-Tolerant Architecture:

Designing a highly available and fault-tolerant architecture involves distributing resources across
multiple availability zones (AZs), using services like Route 53 for DNS routing, and ensuring data
replication for resilience. Load balancing and auto-scaling contribute to high availability.

Scenario-based Architecture Design:

In a specific scenario, design an architecture that considers factors such as workload characteristics,
scalability requirements, security, and compliance. Utilize services like EC2, RDS, S3, and networking
components to create a robust and efficient solution tailored to the given requirements.

You might also like