Wednesday, June 22, 2022

AWS 002 - Cloud Practitioner Essentials, Module 2

AWS Cloud Practitioner Essentials

Module 2 - Compute in the Cloud

EC2 virtual servers can be optimized for a variety of purposes.

General Purpose Instance - Provides a balance of processing, memory, and networking resources.

Compute Optimized Instance - VM with an emphasis on high-processing power.

Memory Optimized Instance - VM with an emphasis on memory (RAM).

Accelerated Computing Instance - Server with hardware accelerator capabilities.

Storage Optimized Instance - VM with an emphasis on storage.


Amazon EC2 Auto Scaling - AWS Service that provides on-demand scaling based on either dynamic scaling or predictive scaling.

Minimum Capacity - A settable number (minimum 1) for the resting amount of instances running.

Desired Capacity
- A settable number for the preferred amount of instances running, default is minimum capacity.

Maximum Capacity - A settable number for the maximum amount of instances Auto Scaling will run.


Elastic Load Balancing - AWS Service
that automatically distributes application traffic across multiple resources (EC2 instances).

Tightly Coupled Architecture
- Applications that communicate directly with each other (dependent on each other).

Loosely Coupled Architecture - Applications that communicate to each other through a queuing process, if one application fails it will not impact the others.


Amazon Simple Queue Service (Amazon SQS) - AWS Service
that can send, receive, and store messages between software components at any volume. Stores messages until they are processed.

Amazon Simple Notification Service (Amazon SNS) - AWS Service that can send messages to software or end-users, uses a publish/subscribe model.

        SNS Topic - A channel for messages to be delivered.


Monolithic Application - Application made of multiple components that communicate with and are dependent on each other. Self-contained application.

Microservicing - Components of an application are decoupled to allow them to continue running even when other individual components an application uses fail.


Serverless - You cannot see or access the underlying infrastructure that are hosting your application.

AWS Lambda - Serverless AWS Service
that allows you to upload code to a “Lambda Function” that can be triggered at a configured point and is best for code that takes less than 15 minutes to execute.

Amazon Elastic Container Service (Amazon ECS) - AWS Service container orchestration tool that helps you run your containerized applications at scale.

Amazon Elastic Kubernetes Service (Amazon EKS) - AWS Service container orchestration tool that is similar to ECS but with different tooling and features.

Docker Container - Platform that uses OS level virtualization to deliver software in a container.

Container - Package for your code where you package up your application, its dependencies, and any configurations that it needs to run. Run on a shared EC2 instance host, separated from each other.

Cluster - A number of EC2 instances running together.

Container Orchestration - The process of maintaining processes to start, stop, restart, and monitor containers.

AWS Fargate - Serverless AWS Service that can act as a platform for ECS and EKS.