1. Serverless Compute
Let's take compute further with containers and serverless options in AWS.
2. Recap traditional compute
EC2 introduced us to flexible, virtual cloud servers. We reviewed different EC2 instance types and their specialized workloads.
3. Evolving needs: beyond traditional compute
However, modern organizations require modular, microservices architectures with
4. Evolving needs: beyond traditional compute
rapid scalability to meet fluctuating demands
5. Evolving needs: beyond traditional compute
and automated management.
6. Containers and serverless compute
AWS offers solutions to these problems through containers and serverless compute. Let’s dive deeper.
7. What are containers?
Containers are lightweight units that package applications with their dependencies, ensuring consistency across environments.
8. What are containers?
They share the host OS, reducing overhead and enabling efficient resource use.
9. What are containers?
Containers are portable across development, testing, and deployment stages.
10. Containers in AWS
AWS provides container services through Amazon ECS and EKS. Both offer robust scalability, integrating seamlessly with other AWS services like databases and storage.
So what's the difference between ECS and EKS?
11. Amazon ECS
Amazon Elastic Container Service (ECS) is a managed orchestration service for deploying, managing, and scaling containerized applications. ECS excels in microservices-based applications and batch processing across AWS services.
12. Amazon EKS
Amazon Elastic Kubernetes Service (EKS) extends ECS’s capabilities to Kubernetes-powered applications, making it ideal for compute-intensive machine learning tasks and hybrid cloud environments.
13. More forms of compute?
In summary, containers are suited for predictable, resource-intensive operations
14. More forms of compute?
But what if your application requires compute resources only during specific events or has sporadic heavy workloads?
15. Serverless compute
AWS addresses these scenarios with serverless compute.
16. What is serverless architecture?
Serverless compute focuses on code and outcomes rather than infrastructure, eliminating the need to provision, scale, or maintain servers.
17. What is serverless architecture?
Functions are triggered by real-time events,
18. What is serverless architecture?
and you pay only for the compute you use.
19. When to use serverless compute?
Serverless is perfect for event-driven applications, real-time file processing, and scenarios where compute needs fluctuate rapidly, like chatbots or voice assistants.
20. Serverless compute in AWS
AWS offers serverless compute through AWS Lambda and AWS Fargate.
21. AWS Lambda
AWS Lambda is an orchestration service that triggers compute in response to an event's occurrence.
It also provides automated compute scaling capabilities.
To understand the functioning of Lambda better, let's look at an example. Let's say a website can only show documents of a specified size.
So, every time a new file is uploaded,
22. AWS Lambda
a Lambda function could be triggered to run a compression algorithm on the file
23. AWS Lambda
to ensure that the file sizes stay in the limit that is acceptable to the website's frontend.
24. AWS Fargate
AWS Fargate is another serverless option. Fargate offers a hybird implementation that blends containers into a serverless environment, enhancing efficiency, eliminating server management, and reducing overall costs.
It can effortlessly run AI and ML applications as it handles resource provisioning and supports parallel processing for efficient large data batches.
25. Let's practice!
Let's bring our containers and serverless compute learnings to practice.