Containers
Discover application refactoring with the EKS Developers Workshop
Today, we are excited to introduce the EKS Developers Workshop, a comprehensive and beginner-friendly workshop designed specifically for developers embarking on their Kubernetes and Amazon Elastic Kubernetes Service (Amazon EKS) journey. This new workshop augments the existing EKS Workshop for cluster operators by focusing on developers and the unique tools and processes they utilize in the Kubernetes lifecycle. It provides an ideal starting point for those new to Kubernetes and Amazon EKS, emphasizing real-world coding practices and Kubernetes integrations.
What is the EKS Developers Workshop?
The EKS Developers Workshop differentiates itself from the standard EKS Workshop by focusing on the foundational steps leading up to and including Kubernetes. It offers a unique pathway for refactoring existing applications for containerized and Kubernetes environments. Throughout the workshop, we use the FastAPI Book Management Application, which serves as the practical example for applying the concepts learned in the workshop. Key elements of the workshop include:
- Application refactoring: Learn about the types of Kubernetes resources you’ll deploy in the workshop, strategies for refactoring applications according to The Twelve-Factor App methodologies, and setup your local development environment.
- Containerization made simple: Learn the ins and outs of building and running cost-optimized containers, uploading images to and integrating with Amazon Elastic Container Registry (Amazon ECR), then create a multi-architecture container image using Finch or Docker, which you’ll reference in your Kubernetes workloads.
- Kubernetes at your pace: Learn how to create a local cluster using minikube. Deploy to Kubernetes, referencing your container image in Amazon ECR, then access and monitor Kubernetes resources through the minikube dashboard. Then do some load testing and right-size your pods using minikube and the Metrics Server, updating your Kubernetes manifests to include optimal resource limits and requests.
- Hands-on with Amazon EKS: Learn how to setup an Amazon EKS cluster using eksctl (using AWS Fargate or Managed Node Groups as a compute option), and configuring traffic with the AWS Load Balancer Controller (LBC). Set up persistent data storage using either the Amazon Elastic File System (Amazon EFS) or the Amazon Elastic Block Store (Amazon EBS) Container Storage Interface (CSI) drivers. Deploy to Amazon EKS, referencing the container image in Amazon ECR, then monitor your workloads using the Amazon EKS Console. Next, implement distributed tracing with AWS Distro for OpenTelemetry (ADOT), featuring AWS X-Ray. Finalize your setup by migrating to Amazon Aurora PostgreSQL, and integrate with AWS Secrets Manager for robust security.
In the coming weeks, we’ll be launching a new lab exercise that shows how to automatically build and deploy Kubernetes workloads to Amazon EKS using Amazon CodeCatalyst, a fully managed, unified software development service that aims to streamline the entire software development lifecycle.
Get started with the EKS Developers Workshop
Currently featuring a Python-focused curriculum, the workshop offers a self-paced, comprehensive guide through the entire Kubernetes lifecycle, currently tailored for Python developers. In response to community input, future iterations will explore additional programming languages. This workshop provides an end-to-end journey through Kubernetes—from crafting multi-architecture container images and grasping Kubernetes concepts to integrating with Amazon EKS and various AWS services. Each chapter incrementally builds on the last, offering a transparent and cohesive learning experience using the FastAPI Book Management Application. If you want to stop the workshop at any time, we include clean-up steps for each chapter.
- Create an AWS account with administrative permissions at https://thinkwithwp.com/resources/create-account/.
- Access the workshop at https://developers.eksworkshop.com/.
Tenets of the EKS Developers Workshop
Under the hood, we’re proud of our thriving community of experts, including a number of members of the Amazon EKS Support Desk, who guide the workshop’s evolution. As part of our ongoing commitment to provide a comprehensive and enriching learning experience, the Amazon EKS Developers Workshop is built on foundational tenets that ensure its relevance, effectiveness, and user-centric approach. These tenets guide every aspect of the workshop and are tailored specifically for Amazon EKS Developers. Tenets of the EKS Developers Workshop:
- Kubernetes beginner-friendly: Our goal is to employ Kubernetes and container tools that are straightforward and easy to grasp, while demystifying fundamental Kubernetes concepts for newcomers embarking on their Kubernetes journey.
- Comprehensive transparency: We strive to reveal the inner workings, from the application level to containers and Kubernetes, enabling developers to understand and fully adopt our practices.
- Customer-centric focus: We are committed to actively utilizing insights from the feedback survey to guide and refine our workshop’s future development, ensuring it continually meets and exceeds user needs.
If you’re interested in contributing to the workshop, then we welcome your expertise and ideas. Visit our contribution guidelines at Authoring Guide for Contributors to learn how you can be a part of this collaborative project. Your contributions can help us expand and refine the workshop, making it an even more valuable resource for the Kubernetes and Amazon EKS community.
AWS Launch Team
The EKS Developers Workshop got started based on my personal journey of developing the FastAPI Book Management Application and deploying it to Kubernetes with minikube, then Amazon EKS. As we unveil the workshop, it’s crucial to acknowledge the incredible efforts of other contributors to this launch. This team, comprising the Steering Committee and Working Groups, has been instrumental in shaping the workshop. Their collective vision and hard work have been pivotal in creating a workshop that truly resonates with the developer community. We are immensely grateful to each member for their contributions and continued support in this journey.
- Steering committee: A special thanks to Joe North for his insights as our project’s Containers & Kubernetes Architect, and Smruti Tripathy for leading AWS Integrations Architecture.
- Working groups: Specialized working groups, chaired by dedicated leaders like Dola Krishnudu Battula, Asiel Bencomo, Kenichiro Hiraiwa, and Joe North, have worked tirelessly to ensure the workshop’s material is both cutting-edge and practical, alongside their maintainers who contributed to the workshop, James Gaines, Bhavesh Dave, Shamanth Devagari, Asiel Bencomo, Premdass Ravidass, Sahil Sethi, Jan Klotter, Deepankar Tiwari, Sanketh Jain, Udit Sidana, and Pankaj Walke.
Conclusion
The EKS Developers Workshop stands as a gateway for developers to immerse themselves in the world of Kubernetes and Amazon EKS. It’s tailored to provide a seamless, step-by-step learning experience, making it an invaluable resource for any developer looking to refine their skills in application refactoring, containerization, and cloud-based Kubernetes deployments. Join us at https://developers.eksworkshop.com to embark on your path to mastering Kubernetes on Amazon EKS.