Title
AWS re:Invent 2022 - Competition of the modern workloads: Serverless vs Kubernetes on AWS (COM207-R)
Summary
- The session was presented by Shimon Toltz, co-founder and CEO of The Tree, and Niv, a DevOps leader from Melio.
- The talk was structured as a friendly competition between serverless and Kubernetes, with the audience voting on various categories.
- Seven categories were discussed: maintainability, cost, scalability, developer experience, ecosystem, monitoring and logging, and security.
- Shimon advocated for Kubernetes, highlighting its popularity, integration with the Cloud Native Foundation, and the benefits of EKS.
- Niv advocated for serverless, emphasizing the ease of management, cost savings, and the DevOps methodology.
- Both presenters acknowledged the strengths and weaknesses of each approach and encouraged the audience to consider their specific needs when choosing an infrastructure.
- The final verdict from the audience votes was that serverless won the competition.
Insights
-
Serverless:
- Offers a simplified infrastructure management experience, as AWS handles the servers.
- Cost-effective for certain workloads, with a pay-as-you-go model.
- Scales automatically with traffic, but has hard limits on AWS quotas.
- Developer experience is enhanced by everyone adopting DevOps practices.
- Ecosystem is growing, with more third-party solutions supporting serverless.
- Monitoring and logging focus on application-level issues rather than infrastructure.
- Security is simplified due to the lack of physical servers to patch and manage.
-
Kubernetes:
- Provides a robust ecosystem through the Cloud Native Foundation.
- Can be cost-optimized using spot instances and bin packing strategies.
- Built for large-scale workloads, offering extensive scalability options.
- Developer experience is familiar and standardized, with containerization.
- Monitoring and logging are well-established, using traditional tools and protocols.
- Security requires more active management but benefits from regular updates and a vendor-neutral approach.
-
The choice between serverless and Kubernetes should be based on the specific requirements of the project, including cost, scale, developer expertise, and the need for ecosystem support.
-
The discussion highlighted the importance of considering both operational and development perspectives when choosing an infrastructure, as well as the potential impact on hiring and team structure.