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.