Anusha Ragunathan
Senior Software Engineer, Docker
Women Of Silicon Valley, May 3,
2019
Container Landscape in
2019
● Sr Software Engineer at Docker
● open source maintainer of docker/moby
● Mom of 2 girls
>whoami
● Containers: Today and Beyond
● Container Day 2 operations
● Importance of open APIs
Agenda
Containers: Today
and Beyond
● Mechanism to run software.
● Provides repeatability
● Provides isolation
● Distributed using a registry
What are containers?
What are containers?
● Traditional Use cases:
○ Consolidation
○ Cloud Native Applications
● Emerging Use cases:
○ Edge
○ Serverless
Motivation: Why move to containers
● Containers reduce your infra cost
○ Under utilization of VM instances. You get higher cloud bills, but
paying for infrastructure costs that are not being used.
● When you move to containers, this is a common denominator across
cloud providers.
Traditional use-case: Consolidation
Efficiency. 5X over VMs
8 VMs
40 containers
● New wave of applications that are rooted in containerization and are
built as microservices. For these, containers are a given
● Cloud Native Computing Foundation (CNCF) Landscape is rich
● Ecosystem has everything needed to have a working production grade
solution for your problems
● Microservices offer rapid deployment and scalability
Traditional use-case: Cloud Native
CNCF Landscape
source: https://landscape.cncf.io
● Categories that are worth pointing out:
➢ App definition and development - Developer
➢ Container Orchestration and Management - Enterprise
➢ Container Runtime: Runtimes, Storage and Network -
Enterprise
➢ Container Provisioning - Enterprise
➢ Monitoring, logging and tracing - Developer + Enterprise
Cloud Native Landscape
● Edge devices and IoT world are adopting containers and COs
● Containers are well suited for the small-footprint, low-latency
environments
● Example:
○ Docker can build, ship and run on arm64
○ AWS EC2 A1 instances on the cloud
○ Lightweight Kubernetes distribution such as Rancher’s k3s for the
edge
Emerging use-case : Edge
● Serverless technologies being built on containers.
● Easier to deploy and no vendor lock-in.
● Example:
○ OpenFaas
○ Apache OpenWhisk
Emerging use-case : Serverless
Microservice demo
Sock shop setup
○ Sockshop is a demo e-commerce application designed as
microservices.
○ Written using
■ Spring Boot
■ Go Kit
■ Node.js
○ Packaged in Docker containers
○ Deployed on Kubernetes
Container - Day 2 ops
Orchestration, Storage and
Observability
Container Orchestration
➢ Container lifecycle management
➢ Placement across cluster
➢ Elasticity and scale
➢ Service discovery, load balancing and HA proxy
➢ Standardized on Kubernetes
Container Orchestration
➢ Dev and test
○ Docker Desktop with k8s integration
○ Ubuntu microk8s
➢ Managed Kubernetes in the cloud
○ AKS, EKS, GKE
➢ Kubernetes on Edge
○ Docker Edge, k3s
➢ Several K8s distros
Container Storage
Containers started out to be stateless. Microservices:
➢ Are short-lived on a host and orchestrator tends to move apps
across the cluster.
➢ Have containers that require
○ fast-provisioning of storage volumes
○ repeat attach detach of provisioning volumes to cluster nodes
○ mounting these volumes into the microservice.
➢ Hyper scale and different on-premises and cloud environments that
containers can live in make this even harder
Container Storage
Solutions:
➢ Open standard spec in Container Orchestrator for Storage
➢ Container Storage Interface (CSI) is a standard to provide
a pluggable framework for storage providers. This helps
with seamless and consistent deployment of storage
solutions.
Challenges:
➢ Container-based microservices create flexible environments to
develop, distribute and deploy
➢ However, once the services are deployed, visibility of interactions
between services, as well as insights into cluster infrastructure,
becomes increasingly complex.
Container Observability
Solutions:
➢ DevOps teams use Application Performance Management (APM)
tools to view dashboards to debug complex microservice-based
interactions
➢ Open specification around distributed tracing called OpenTracing.
Here applications instrument their code to spew out traces while
running. These traces can be collected by analytics software,
which helps derive inferences from the collected traces
➢ APM tools are becoming quintessential to DevOps
Container Observability
Why open APIs?
Why open APIs?
● Build-Ship-Run lifecycle of containers is OPEN
○ Build : App building specifications are open
○ Ship: Container distribution specifications are open
○ Run: Container Runtimes and specifications are open
○ Orchestrators: Cloud providers, Kubernetes, Mesos, etc
○ Avoid vendor lock-ins. Can move from one provider to another
easily.
Takeaways
➢ Containers are here to stay
➢ CNCF Landscape is huge and expanding
➢ Open source and open APIs for the win!
Thank you!

Container Landscape in 2019

  • 1.
    Anusha Ragunathan Senior SoftwareEngineer, Docker Women Of Silicon Valley, May 3, 2019 Container Landscape in 2019
  • 2.
    ● Sr SoftwareEngineer at Docker ● open source maintainer of docker/moby ● Mom of 2 girls >whoami
  • 3.
    ● Containers: Todayand Beyond ● Container Day 2 operations ● Importance of open APIs Agenda
  • 4.
  • 5.
    ● Mechanism torun software. ● Provides repeatability ● Provides isolation ● Distributed using a registry What are containers?
  • 6.
  • 7.
    ● Traditional Usecases: ○ Consolidation ○ Cloud Native Applications ● Emerging Use cases: ○ Edge ○ Serverless Motivation: Why move to containers
  • 8.
    ● Containers reduceyour infra cost ○ Under utilization of VM instances. You get higher cloud bills, but paying for infrastructure costs that are not being used. ● When you move to containers, this is a common denominator across cloud providers. Traditional use-case: Consolidation
  • 9.
    Efficiency. 5X overVMs 8 VMs 40 containers
  • 10.
    ● New waveof applications that are rooted in containerization and are built as microservices. For these, containers are a given ● Cloud Native Computing Foundation (CNCF) Landscape is rich ● Ecosystem has everything needed to have a working production grade solution for your problems ● Microservices offer rapid deployment and scalability Traditional use-case: Cloud Native
  • 11.
  • 12.
    ● Categories thatare worth pointing out: ➢ App definition and development - Developer ➢ Container Orchestration and Management - Enterprise ➢ Container Runtime: Runtimes, Storage and Network - Enterprise ➢ Container Provisioning - Enterprise ➢ Monitoring, logging and tracing - Developer + Enterprise Cloud Native Landscape
  • 13.
    ● Edge devicesand IoT world are adopting containers and COs ● Containers are well suited for the small-footprint, low-latency environments ● Example: ○ Docker can build, ship and run on arm64 ○ AWS EC2 A1 instances on the cloud ○ Lightweight Kubernetes distribution such as Rancher’s k3s for the edge Emerging use-case : Edge
  • 14.
    ● Serverless technologiesbeing built on containers. ● Easier to deploy and no vendor lock-in. ● Example: ○ OpenFaas ○ Apache OpenWhisk Emerging use-case : Serverless
  • 15.
  • 16.
    Sock shop setup ○Sockshop is a demo e-commerce application designed as microservices. ○ Written using ■ Spring Boot ■ Go Kit ■ Node.js ○ Packaged in Docker containers ○ Deployed on Kubernetes
  • 18.
    Container - Day2 ops Orchestration, Storage and Observability
  • 19.
    Container Orchestration ➢ Containerlifecycle management ➢ Placement across cluster ➢ Elasticity and scale ➢ Service discovery, load balancing and HA proxy ➢ Standardized on Kubernetes
  • 20.
    Container Orchestration ➢ Devand test ○ Docker Desktop with k8s integration ○ Ubuntu microk8s ➢ Managed Kubernetes in the cloud ○ AKS, EKS, GKE ➢ Kubernetes on Edge ○ Docker Edge, k3s ➢ Several K8s distros
  • 21.
    Container Storage Containers startedout to be stateless. Microservices: ➢ Are short-lived on a host and orchestrator tends to move apps across the cluster. ➢ Have containers that require ○ fast-provisioning of storage volumes ○ repeat attach detach of provisioning volumes to cluster nodes ○ mounting these volumes into the microservice. ➢ Hyper scale and different on-premises and cloud environments that containers can live in make this even harder
  • 22.
    Container Storage Solutions: ➢ Openstandard spec in Container Orchestrator for Storage ➢ Container Storage Interface (CSI) is a standard to provide a pluggable framework for storage providers. This helps with seamless and consistent deployment of storage solutions.
  • 23.
    Challenges: ➢ Container-based microservicescreate flexible environments to develop, distribute and deploy ➢ However, once the services are deployed, visibility of interactions between services, as well as insights into cluster infrastructure, becomes increasingly complex. Container Observability
  • 24.
    Solutions: ➢ DevOps teamsuse Application Performance Management (APM) tools to view dashboards to debug complex microservice-based interactions ➢ Open specification around distributed tracing called OpenTracing. Here applications instrument their code to spew out traces while running. These traces can be collected by analytics software, which helps derive inferences from the collected traces ➢ APM tools are becoming quintessential to DevOps Container Observability
  • 25.
  • 26.
    Why open APIs? ●Build-Ship-Run lifecycle of containers is OPEN ○ Build : App building specifications are open ○ Ship: Container distribution specifications are open ○ Run: Container Runtimes and specifications are open ○ Orchestrators: Cloud providers, Kubernetes, Mesos, etc ○ Avoid vendor lock-ins. Can move from one provider to another easily.
  • 27.
    Takeaways ➢ Containers arehere to stay ➢ CNCF Landscape is huge and expanding ➢ Open source and open APIs for the win!
  • 28.