---
# System prepended metadata

title: Containers Immersion Day

---

# 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
- https://catalog.us-east-1.prod.workshops.aws/workshops/ed1a8610-c721-43be-b8e7-0f300f74684e/en-US

# Further Reading
- Docker is free right? Well yes and no. See https://www.docker.com/pricing/faq/
- Are there alternatives to Docker https://www.techtarget.com/searchitoperations/opinion/Need-a-replacement-Try-these-5-Docker-alternatives

# Other Container Lab Options
You can try these labs in your own accounts
- Amazon ECS Workshop https://ecsworkshop.com/
- Amazon EKS Workshop https://www.eksworkshop.com/




