Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Containers State of the Union (Builder's Days 2018)

Abby Fuller
April 27, 2018
37

Containers State of the Union (Builder's Days 2018)

Abby Fuller

April 27, 2018
Tweet

Transcript

  1. What are containers? A container is an atomic, self-contained package

    of software that includes everything it needs to run (code, runtime, libraries, packages, etc.). A popular, widely-used container platform is Docker. More on that here: https://www.docker.com
  2. Why are containers so popular? • Portable • Lightweight •

    Standardized • Easy to deploy • Along with containers, comes the “monolith to microservices” story: containers and microservices go hand in hand (more on that in a second)
  3. OK, so what are microservices? ”Service oriented architecture composed of

    loosely coupled elements that have bounded contexts.” - Adrian Cockroft
  4. webserver .package Order UI Order Service Inventory Service Shipping Service

    OrderUI Shipping Service Order Service Inventory Service
  5. Managing many containers is hard Server Guest OS Server Guest

    OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS Server Guest OS
  6. But there were pain points. Things like scheduling, placing, managing

    and deploying containers were difficult. They wanted something to make those pain points better.
  7. So we built ECS Highly scalable, high performance container management

    system A managed platform ECS Cluster management Container orchestration Deep AWS integration
  8. 160 billion analytics events per month Up to 270,000 events

    per second Autoscaling allows them to burst to thousands of containers to seamlessly handle demand ECS
  9. But ECS isn’t the only way to run containers in

    production More customers running Kubernetes on AWS than anywhere else.
  10. “Deploying Kubernetes in a highly available configuration on AWS is

    not for the faint of heart and requires you to get familiar with its internals, but we are very pleased with the results”
  11. So we built EKS Platform for enterprises to run production-grade

    Kubernetes-grade installations EKS Managed and upstream experience Seamless, native integration with AWS services Contributes back to open source community
  12. AWS Fargate No cluster or infrastructure to manage or scale

    Everything is handled at the container level Scale seamlessly on demand Underlying technology for container management
  13. What does Fargate mean? No worrying about scaling, service mesh,

    underlying infrastructure, cluster resources, capacity, setup. Just give it a task definition or pod (in 2018), set some resource limits, and away you go.
  14. How does this work in practice? • Two launch types

    for ECS and EKS: • EC2 (traditional, manage your cluster infrastructure) • Fargate
  15. This all enable you to focus on your workload first,

    at a really granular level. Your infrastructure supports that.
  16. OK, so why do you want options? • Options are

    good! They make the community stronger. • Use what works for you and your workload -> all choices are good! Use what you can manage. • You don’t have to pick just one- benefits of containers are that they support polyglot architectures, many tools, and portability. Build in the language, choose the tool/orchestration platform that works for YOU. • With Fargate, run hybrid clusters! We want AWS to be the best place for you to run your container workloads, however you want to run them.
  17. What does the landscape look like all together? Amazon ECS

    (available now) Amazon EKS (preview) Fargate mode for ECS (available now) Fargate mode for EKS (available 2018)
  18. ECS Easiest way to deploy and manage containers Integration with

    entire AWS platform ALB, Auto Scaling, Batch, Elastic Beanstalk, CloudFormation, CloudTrail, CloudWatch Events, CloudWatch Logs, CloudWatch Metrics, ECR, EC2 Spot, IAM, NLB, Parameter Store, and VPC Scales to support clusters of any size Service integrations (like ALB and NLB) are at container level 1 2 3
  19. What we did with ECS in 2017 Container access to

    environmental metadata Network Load Balancer support Console support for SpotFleet Override parameters for RunTask and StartTask APIs Task Elastic Network Interface Application Load Balancer Support HIPAA eligibility Console UX improvements CLI V1.0 Container instance draining Windows containers Cron and Cloudwatch Event Task scheduling Support for Docker Privileged Mode Lifecycle Policies for container images Beijing Region Support for Device and Init flags Add attributes during boot Seoul Region Linux capabilities
  20. EKS Managed Kubernetes on AWS Highly available Automated version upgrades

    Integration with other AWS services Etcd Master Managed Kubernetes control plane CloudTrail, CloudWatch, ELB, IAM, VPC, PrivateLink
  21. Fargate Launch quickly Scale easily No infrastructure Resource based pricing

    Containers on demand Manage everything at container level
  22. See a common thread here? • As we advance, more

    and more of the ECS features support a couple of things: • More control at the task level (new primitive!). That’s things like support for Application and Network Load Balancers, or Task ENIs • More “management” à remove more and more undifferentiated heavy lifting, so you can focus on your application. That’s things like Fargate mode for ECS.
  23. ECS: can be totally managed, or can customize resource usage,

    networking, task placement etc. to fit your application needs. Shared responsibility with AWS (because managed service). ecs-agent is open source. Easy integration with other AWS services. EKS: managed, upstream Kubernetes. Can connect to clusters through kubectl and use existing tooling. Can opt in to managed version upgrades. Add resources to your cluster through EC2 (now), or with Fargate mode (2018). Fargate: underlying technology for containers on demand. Pass a Task Definition or Kubernetes Pod, set resource limits, and Fargate manages everything else. NO access to underlying host, no managing of resources. Great if you don’t want to handle scaling, orchestration, deployments, upgrades yourself. Not for those of you that are making changes to your infrastructure (i.e., bringing custom AMIs, or installing things through EC2 user-data) tl;dr
  24. We want to hear from all of you! • More

    focus on supporting Tasks as compute primitive, more focus on removing undifferentiated heavy lifting. • Our roadmap is driven by feedback:
  25. But first up- today! Great container sessions planned. 11:30-12:30: Deep

    Dive on ECS (Ric Harvey) 13:30-14:30: Running Kubernetes on AWS (Paul Maddox) 14:30-15:30: Deep Dive on Fargate (Abby Fuller) 15:45-14:45: Advanced container management and scheduling (Abby Fuller)
  26. How can I get started? • To join the EKS

    preview: https://aws.amazon.com/eks/ • To get started with Fargate: https://aws.amazon.com/fargate/ • Blogs: https://aws.amazon.com/blogs/aws/aws-fargate/ • https://aws.amazon.com/blogs/aws/amazon-elastic-container-service-for-kubernetes/ • Liz Rice from Aquasec on Fargate: https://blog.aquasec.com/securing-struts-in-aws-fargate • Nathan Peck from AWS: https://medium.com/containers-on-aws/choosing-your-container-environment-on- aws-with-ecs-eks-and-fargate-cfbe416ab1a • Deepak Singh (containers GM at AWS): https://www.slideshare.net/AmazonWebServices/containers-on-aws- state-of-the-union-con201-reinvent-2017
  27. Need a little help? Community Slack channels: awsdevelopers.slack.com amazon-ecs.slack.com Or

    reach out to one of us directly: @abbyfuller or [email protected] @nathankpeck @brentcontained @paulmaddox @ric_harvey
  28. Exciting announcements! AWS Pop-Up Loft is coming to Dublin! 9-14

    April Register here: awsloft-dublin.com Amazon offices, One Burlington Plaza, Burlington Road, Dublin 4