Containers Immersion Day

So you want containers? Let’s start with a light hearted look at containers.

Instructor plays video

Container Use Cases and Anti Patterns

Containers can be really useful, both individually and at scale; but they can also increase complexity by a magnitude or more. Leveraging containers without automation is an anti pattern.

  • Containers can start fast (seconds), compared to VMs (minutes)
  • Ephemeral jobs like builds, augmenting managed deployments with customizations (ifal Hugo Amplify build) and Amazon Sagemaker are all examples of using containers well
  • You can develop your containers locally and then use that same container throughout the SDLC. Build local, debug local, push to container repo, then consume in downstream test, UAT, preprod, prod, bugfix work, chaos engineering, DR failover. All those cumulative time benefits of using containers become significant through the whole SDLC.
  • Fast start as opposed to VMs that take minutes to become available. Containers can start in seconds or less than a second
  • From startup to $1B unicorn - Snap on AWS is one example. https://aws.amazon.com/solutions/case-studies/innovators/snap/ Deploying and destroying millions of containers per week leeds to some interesting insights. For example restricting cross AZ data movement to optimise pricing at scale.
  • Replatform .NET Applications with Windows Containers AWS Technical Guide https://docs.aws.amazon.com/whitepapers/latest/replatform-dotnet-apps-with-windows-containers/replatform-dotnet-apps-with-windows-containers.pdf If you’re modernising Windows Application to dotnet then containers might be worth considering; but containers and Windows aren’t always a natural fit.
  • Containers aren’t the answer in all cases. Use the right technology, and tool, at the right time. Think of the Well Architected principles as guiding you to good architecture and away from anti patterns:
  • Security - maximise, layers, observability, automate compliance
  • Reliability - maximise and self healing
  • Performance - maximise and manage bottlenecks
  • Cost Optimization - minimise and align to value
  • Operational Excellence - minimise operational burden
  • Sustainability - minimise lifecycle impact

Agenda

This containers immersion day covers a lot of ground. We start with Docker then Kubernetes (EKS) and ECS and Fargate too. This is a broad look at the myriad ways of using containers.

  • Introduction - 10 min
  • Module 0 - Workshop Setup - 20 min
  • Lab 1 - Containerising the Mythical Misfits Monolith - 45 min Break - 10:15 to 10:30
  • Module 1 - Intro to Containers - 20 min
  • Lab 2 - Deploying the Container using AWS Fargate - 45 min
  • Lab 3 - Scaling the Adoption platform monolith with and ALB and an ECS Service - 30 min Break - Noon til 12:30 Lunch
  • Lab 4 - Incrementally Building and deploying more microservices with AWS Fargate - 30min
  • Lab 5 - Launching and Amazon EKS cluster - 20 min
  • Lab 6 - Preparing EKS for the Mysfits - 30 min Break - 1:50 to 2:00
  • Lab 7 - Deploying the Monolith - 30 min
  • Lab 8 - EKS and AWS Load Balancer Controller - 30 min Finish 3pm (earliest)

Labs - AWS Containers Immersion Day

Further Reading

Other Container Lab Options

You can try these labs in your own accounts

Continue reading articles in my Amazon Web Services series