AWS SA(07): The Compute Part
In the last episoed, we talked about how to move data to cloud, how to manage data and how to do the data analytics. this episode, we gonna focus on the compute part, where and how is our code runinng in AWS cloud.
Serverless Part
Lambda
a serverless compute service that runs code in response to events and automatically manages the underlying compute resources.
Lambda@Edge
Specific lambda which runs serverless code closer to users at AWS edge locations. it is tightly integrated with CloudFront.
AppRunner
A service that allows you to deploy web applications and APIs from source code repositories or container images.
Batch
a fully managed service that enables you to run batch computing workloads at any scale
Components:
EC2 based part
EC2
scalable virtual servers (instances) to host applications
Instance Types: GP/Compute/Memory/Storage/Accelerate for different purpose
Price model:
Placement Group:
Advanced Features:
Beanstalk
a fully managed Platform-as-a-Service (PaaS) that simplifies the deployment, scaling, and management of applications Compare to ECS, Beanstalk is easier to use but may result in higher costs due to resource overprovisioning.
Process:
Features:
Lightsail
a simplified platform for deploying and managing virtual private servers (VPS) and applications
Outposts
A fully managed service that extends AWS infrastructure, services, APIs, and tools to on-premises environments, allowing you to run applications with low latency or data residency requirements seamlessly.
Components:
orchestration
AWS StepFunction
a fully managed serverless orchestration service that lets you coordinate and manage distributed applications or workflows using visual workflows.
Components:
Type:
The workflow can be synchronous (wait for result) or asynchronous(don't wait for result)
ECS
a fully managed container orchestration service that enables you to run and scale containerized applications on AWS.ECS can be cheaper than Beanstalk, particularly for containerized applications or workloads with dynamic scaling needs.
Launch Type:
Components:
Networking:
IAM roles can be assigned to tasks, allowing them to interact with AWS services
EKS
a fully managed service that makes it easy to run Kubernetes on AWS without needing to install and operate your own Kubernetes control plane.
Worker Node Options:
Networking Modes:
Fargate
a serverless compute engine for containers that allows you to run and manage containers without managing the underlying infrastructure.
Limitations:
Conclusion
Based on the information above, when we choose the compute components, you need to:
The first one will narrow down the compute node and its type we can choose, the second one will decide how we manage the compute notes.