SlideShare a Scribd company logo
excella.com | @excellacoWyn Van Devanter | @wynv
Overview of
Container
Management
excella.com | @excellaco
Excella Announcements
NEW: Advanced Certified
ScrumMaster (A-CSM) Training
Upcoming Training
Certified ScrumMaster (CSM)
August 2 – 3 | Arlington, VA
Certified Scrum Product Owner (CSPO)
August 9 – 10 | Arlington, VA
Certified Kanban System Design (KMP I)
August 27 – 28 | Arlington, VA
Register for these upcoming classes at
www.excella.com/training
We’re hiring
DevOps Engineer
Senior DevOps Engineer
DevOps Manager
Cloud Architect
More…
www.excella.com/careers
excella.com | @excellaco
Agenda
Why Container Management?
Quick Container Overview
Clusters, Cloud Architecture & Containers
Container Orchestration
Tool Overview
Container Management Systems and Beyond
excella.com | @excellaco
Why container management?
Building using containers is becoming the standard. Integral part
of cloud architecture.
Creates new ways to package, deploy and manage software
Centralizes software management
Fosters standardized deployment platform
excella.com | @excellaco
Container-based Infrastructure
Container Management System
Orchestrator
Container Engine
Containerized Applications
Security controls, image security
scanning, centralized management
tools, app lifecycle management,
enterprise management
Scheduling, communication, service
discovery, load balancing, self-
healing, rolling updates, pipeline
management, federation, etc
Runs containers
Application packaged in a standard
way
Docker EE, OpenShift,
control plane
Cluster(s) managed by
Kubernetes, Swarm, Mesos,
Fleet
Docker on Azure/AWS/VM
App with React UI container,
ASP.NET Core API
container
excella.com | @excellaco
What are containers?
Isolate an application, its dependencies and resource use
into a standard unit of execution & deployment
Your application and everything it needs to run, with isolation
benefits without the OS overhead
More portable, less resource use, more shippable…
excella.com | @excellaco
What are containers?
ContainersVirtual Machines
excella.com | @excellaco
Deploying Containers
Must manage many pieces (containers)
Must be able to find each other
Immutable infrastructure, upgrading
Distributing workload
Scheduling scaling
Recovery
More…
excella.com | @excellaco
All these containers
• Apps in Linux Containers, running against a Linux kernel, on
a Linux server(s)
• Apps in Windows Containers, running against a Windows
kernel, on a Windows server(s)
• Servers in AWS, servers in Azure, in-house
All containers, so all the same in some respects. Manage them
all the same way, centrally.
excella.com | @excellaco
Clusters
• Backbone of container infrastructure. Typically for large
scale, now container-based software deployment too.
• Makes managing a pool of servers & their resources as
simple as managing a single system
• You don’t want to care much, about where containers run
• With multiple container-based apps, a cluster is a way to
standardized deployment
excella.com | @excellaco
Cloud architecture
• Immutable, identical infrastructure
• Distributed, decoupled
• APIs provide buffer between implementer and consumer
• Load balancers provide buffer between instances of each
service
• Self-healing
• Scalable
• Declarative state
• Self-service infrastructure for developers to consume over
cloud vendor-specific APIs
excella.com | @excellaco
What is Container Orchestration?
• Tooling that makes managing container-based applications
across a cluster(s) easier
• An abstraction that simplifies tasks of building, deploying,
and maintaining scalable distributed systems in the cloud
• Decouples development teams from machines they’re
using
• Single platform for application deployment across clouds
• Operationalized efficiency across the organization
• Various distributed container management functionality
excella.com | @excellaco
Container Orchestration
• Tools called orchestrators / schedulers manages containers
across cluster(s)
• Kubernetes, Swarm, Mesos/Marathon, Nomad
Managed: ECS, EKS, Fargate, AKS, GKS
• Automates the distribution of applications across a cluster of
machines, ensuring higher levels of utilization
excella.com | @excellaco
Container Management Systems
excella.com | @excellaco
Container Management needs
• We don't have a straightforward way to manage the scaling,
deployment and communication of multiple containers
across machines.
• If the server reboots or Docker restarts, the container and
app will shut down and not come back up.
• We also have to consider how we will monitor the health of
the service and its logs, among other services deployed.
excella.com | @excellaco
Container Orchestration
• Helps make the pieces in a distributed container system
work together
• Scheduling - placing a container on the right node
• Cross-node communication
• Service discovery
• Scaling
• Load balancing
• Self-healing (automatic restarts)
• Rolling updates
• Service/App management (organizing containers that comprise a
service, deployments), blue/green & canary deployments
• Storage management
excella.com | @excellaco
Orchestrators
Container Management System
Orchestrator
Container Engine
Containerized Applications
Security controls, image security
scanning, centralized management
tools, app lifecycle management,
enterprise management
Scheduling, communication, service
discovery, load balancing, self-
healing, rolling updates, pipeline
management, federation, etc
Runs containers
Application packaged in a standard
way
Docker EE, OpenShift,
control plane
Cluster(s) managed by
Kubernetes, Swarm, Mesos,
Fleet
Docker on Azure/AWS/VM
App with React UI container,
ASP.NET Core API
container
excella.com | @excellaco
excella.com | @excellaco
Container Orchestration
excella.com | @excellaco
Cluster of Nodes
• Nodes (hosts) pool resources to form cluster
• In a typical container-based environment, you would typically
define that specific containers run on specified nodes, but
that can be partially or fully managed.
• The containers that comprise an application can move from
node to node based on various conditions.
• Any node can direct traffic to where the container(s) is being
hosted.
excella.com | @excellaco
Setting up an orchestrator
• Number of nodes in a cluster
• Specification & settings of the containers comprise your
application or batch job
• Resource usage
• Other settings
• CLI tools, etc. to create custom clusters, to SaaS-based
cluster management
excella.com | @excellaco
Tool Overview
• Kubernetes
• Swarm - native Docker API, defaults easy to set up
• ECS – managed, AWS orchestrator (ACS)
• EKS – managed, Kubernetes orchestrator (AKS)
• Fargate – more infrastructure management
• Mesos with Marathon/etc
• Nomad: light; cluster management and scheduling only
provided; rest with add-ins like Consul, Vault; operationally
simple
excella.com | @excellaco
Choosing a Container Management
System
• What kinds components are going into containers?
• How do the components of the application talk to one
another?
• How is availability handled?
• How is access control handled?
• What sort of scalability is needed
• How many applications am I planning to support?
• Do I need to manage my own cluster(s)?
excella.com | @excellaco
How the tools work
• Create configuration file that specifies containers and other
settings that make up a service
• Tool places containers on nodes in cluster
• Makes sure they are healthy
• Can manage deployments from the tool
excella.com | @excellaco
Some Concepts (Kubernetes)
• Master - normally doesn't run containers, but the key Kubernetes
services; nodes
• Namespaces - logical grouping of cluster for use with multiple users or
projects
• Labels - K/V pair for categorizing objects such as pods
• Pods - wraps container(s)
• Deployments - manages the desired state, i.e. specify number of pods
• Services - allows external pod communication
• Volumes - share data between containers, persistent storage; beefier
than Docker volumes, tied to life of
excella.com | @excellaco
Kubernetes concepts
• Can group together container images developed by different
teams into a single deployable unit
• Kubernetes services provide load balancing, naming, and
discovery to isolate one microservice from another
• Ingress objects provide an easy-to-use frontend that can
combine multiple microservices into a single externalized API
surface area.
excella.com | @excellaco
Kubernetes for developers
• Application-oriented container APIs
• Separate developers from specific machines
• Increase portability since developers are consuming a
higher-level API that is implemented in terms of the specific
cloud infrastructure APIs
• Can abstract you from a particular cloud. For example,
Kubernetes services know how to create load balancers on
all major public clouds as well as several different private
and physical infrastructures.
• Minikube
excella.com | @excellaco
Kubernetes tidbits
• Google-spawned Kubernetes has quickly risen to dominate
the container orchestration space
• Heavyweights behind it including Red Hat, IBM
• 71% of major enterprises use Kubernetes
• More focused on applications so plumbing is more set up for
that
• It can be harder to set up for other cases. More configurable
but more complex.
• Composes applications via pods – i.e. 1-5 containers making
a service
excella.com | @excellaco
Kubernetes
Source: Red Hat
excella.com | @excellaco
Kubernetes
Capabilities:
• Scheduling
• Cross-node communication
• Service discovery
• Scaling, autoscaling
• Load balancing
• Self-healing (automatic restarts)
• Rolling updates
excella.com | @excellaco
Kubernetes
• Advanced networking makes multi-host clusters much
more easy to manage, at the expensive of slightly more
complexity
• Pods facilitates groups of containers that can communicate
with each other as though they are running within the same
system.
• Allow applications running within the pod to interact in the
same way they would as though they were not running in
containers but simply running on the same physical host.
excella.com | @excellaco
Swarm
• Swarm is more general purpose so setup decisions are left
more open. But easy to get running.
• Uses standard Docker API, so things like docker run work
as usual
• Tools like Compose can use Swarm without any changes.
excella.com | @excellaco
Swarm
Capabilities:
• Scheduling
• Cross-node communication
• Service discovery
• Scaling, autoscaling
• Load balancing
• Self-healing (automatic restarts)
• Rolling updates
excella.com | @excellaco
ECS
• Managed AWS service launched in 2014
• Composes applications using:
• Task definitions
• Tasks
• Services
• Works with other AWS services such as ELB, elastic block
storage, CloudWatch, VPC, CloudTrail
• No support for infrastructure outside of EC2
excella.com | @excellaco
ECS
Capabilities:
• Scheduling
• Load balancing
• Service Discovery
• Service management - task definitions, tasks, services
• Logging, Auditing
• Storage
excella.com | @excellaco
ECS
excella.com | @excellaco
ECS
excella.com | @excellaco
Control Plane Engineering
Sits on top of the server nodes to help better management,
uptime and performance across multiple clouds
Creates a deployment that’s easily scaled
Run the same system on multiple, hybrid clouds
excella.com | @excellaco
Control Plane in Kubernetes
excella.com | @excellaco
Container Management Systems
Container Management System
Orchestrator
Container Engine
Containerized Applications
Security controls, image security
scanning, centralized management
tools, app lifecycle management,
enterprise management
Scheduling, communication, service
discovery, load balancing, self-
healing, rolling updates, pipeline
management, federation, etc
Runs containers
Application packaged in a standard
way
Docker EE, OpenShift
Cluster(s) managed by
Kubernetes, Swarm, Mesos,
Fleet
Docker on Azure/AWS/VM
App with React UI container,
ASP.NET Core API
container
excella.com | @excellaco
Container Management Systems
• Enterprise-grade (Docker Enterprise, OpenShift)
• Additional functionality, enterprise features, etc
• More security scanning
• secured images
• centralized access control & management
• networking
• pipeline features (i.e. easy multiple environment setup),
standardization
• CaaS/PaaS functionality
• cloud-based services
• support
excella.com | @excellaco
Docker EE
excella.com | @excellaco
OpenShift
excella.com | @excellaco
Thank you!
@wynv | wyn.vandevanter@excella.com
• Getting Started with Docker, Self-Guided Workshop,
https://github.com/excellalabs/docker-workshop-1
• Getting Started Deploying with Docker via Kubernetes, Self-Guided
Workshop, https://github.com/excellalabs/docker-workshop-2
• Docker Swarm workshop, https://github.com/jpetazzo/container.training
• Deploy ASP.NET Core app to Kubernetes on Google Kubernetes Engine,
https://codelabs.developers.google.com/codelabs/cloud-kubernetes-aspnetcore

More Related Content

PPTX
Container Orchestration
PPTX
Lets talk about: Azure Kubernetes Service (AKS)
PDF
Aks pimarox from zero to hero
PPTX
Moving Applications into Azure Kubernetes
PDF
Cloud Native In-Depth
PPTX
Reusable, composable, battle-tested Terraform modules
PDF
KCD Italy 2022 - Application driven infrastructure with Crossplane
PDF
Getting Started on Amazon EKS
Container Orchestration
Lets talk about: Azure Kubernetes Service (AKS)
Aks pimarox from zero to hero
Moving Applications into Azure Kubernetes
Cloud Native In-Depth
Reusable, composable, battle-tested Terraform modules
KCD Italy 2022 - Application driven infrastructure with Crossplane
Getting Started on Amazon EKS

What's hot (20)

PDF
Kubernetes Basics
PDF
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
PDF
Kubernetes Introduction
PPTX
Kubernetes for Beginners: An Introductory Guide
PDF
Kubernetes Concepts And Architecture Powerpoint Presentation Slides
PPTX
Introduction to docker
PDF
Kubernetes 101
PPTX
Introduction to kubernetes
PPTX
Introduction to Docker - 2017
PPTX
Docker: From Zero to Hero
PPTX
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
PPTX
DevOps with Kubernetes
PDF
Devops - Microservice and Kubernetes
PDF
Introduction to kubernetes
PDF
DevOps - A Gentle Introduction
PDF
What Is Kubernetes | Kubernetes Introduction | Kubernetes Tutorial For Beginn...
PPTX
Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...
PDF
What Is Helm
PPTX
Docker Basic to Advance
PDF
Docker Swarm 0.2.0
Kubernetes Basics
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Kubernetes Introduction
Kubernetes for Beginners: An Introductory Guide
Kubernetes Concepts And Architecture Powerpoint Presentation Slides
Introduction to docker
Kubernetes 101
Introduction to kubernetes
Introduction to Docker - 2017
Docker: From Zero to Hero
DevOps Tutorial For Beginners | DevOps Tutorial | DevOps Tools | DevOps Train...
DevOps with Kubernetes
Devops - Microservice and Kubernetes
Introduction to kubernetes
DevOps - A Gentle Introduction
What Is Kubernetes | Kubernetes Introduction | Kubernetes Tutorial For Beginn...
Introduction To DevOps | Devops Tutorial For Beginners | DevOps Training For ...
What Is Helm
Docker Basic to Advance
Docker Swarm 0.2.0
Ad

Similar to Container orchestration overview (20)

PPTX
Containers-and-Orchestration-Docker-Basics.pptx
PPTX
Containers Orchestration using kubernates.pptx
PDF
Managing containers at scale
PPTX
Intro to kubernetes
PDF
Container Orchestration.pdf
ODP
The journey to container adoption in enterprise
PDF
Running and Managing Kubernetes on OpenStack
PDF
Kubernetes intro
PDF
Running Kubernetes Workloads on Oracle Cloud Infrastructure
PPTX
Jenkins_K8s (2).pptx
PDF
Azure meetup cloud native concepts - may 28th 2018
PPTX
Why Kubernetes as a container orchestrator is a right choice for running spar...
PDF
Build cloud native solution using open source
PDF
Kubernetes Basics - ICP Workshop Batch II
PDF
게임 고객사를 위한 ‘AWS 컨테이너 교육’ 자료 - 유재석 솔루션즈 아키텍트, AWS :: Gaming Immersion Day 201...
PDF
oci-container-engine-oke-100.pdf
PPTX
DevelOP Your Kubernetes Cluster wGitOps, Helm, Docker, Flux, Charts, Git!
PPTX
Centralizing Kubernetes and Container Operations
PDF
Introduction to containers, k8s, Microservices & Cloud Native
PDF
Navigating the Container Orchestration Maze
Containers-and-Orchestration-Docker-Basics.pptx
Containers Orchestration using kubernates.pptx
Managing containers at scale
Intro to kubernetes
Container Orchestration.pdf
The journey to container adoption in enterprise
Running and Managing Kubernetes on OpenStack
Kubernetes intro
Running Kubernetes Workloads on Oracle Cloud Infrastructure
Jenkins_K8s (2).pptx
Azure meetup cloud native concepts - may 28th 2018
Why Kubernetes as a container orchestrator is a right choice for running spar...
Build cloud native solution using open source
Kubernetes Basics - ICP Workshop Batch II
게임 고객사를 위한 ‘AWS 컨테이너 교육’ 자료 - 유재석 솔루션즈 아키텍트, AWS :: Gaming Immersion Day 201...
oci-container-engine-oke-100.pdf
DevelOP Your Kubernetes Cluster wGitOps, Helm, Docker, Flux, Charts, Git!
Centralizing Kubernetes and Container Operations
Introduction to containers, k8s, Microservices & Cloud Native
Navigating the Container Orchestration Maze
Ad

More from Wyn B. Van Devanter (9)

PPTX
Developer workflow with docker
PPTX
AWS Elastic Container Service (ECS) with a CI Pipeline Overview
PPTX
Benefits from AATs
PPTX
Developer workflow with docker
PPTX
.Net Core 1.0 vs .NET Framework
PPTX
Testable requirements
PPTX
Performance tuning an Object-Relational Mapper (ORM)
PPTX
Automated Acceptance Test Practices and Pitfalls
PPTX
Automated Acceptance Tests in .NET
Developer workflow with docker
AWS Elastic Container Service (ECS) with a CI Pipeline Overview
Benefits from AATs
Developer workflow with docker
.Net Core 1.0 vs .NET Framework
Testable requirements
Performance tuning an Object-Relational Mapper (ORM)
Automated Acceptance Test Practices and Pitfalls
Automated Acceptance Tests in .NET

Recently uploaded (20)

PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
KodekX | Application Modernization Development
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
[발표본] 너의 과제는 클라우드에 있어_KTDS_김동현_20250524.pdf
PPT
Teaching material agriculture food technology
PPTX
Big Data Technologies - Introduction.pptx
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Advanced Soft Computing BINUS July 2025.pdf
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Approach and Philosophy of On baking technology
PDF
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
PPTX
MYSQL Presentation for SQL database connectivity
PDF
GamePlan Trading System Review: Professional Trader's Honest Take
Unlocking AI with Model Context Protocol (MCP)
Advanced methodologies resolving dimensionality complications for autism neur...
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
KodekX | Application Modernization Development
Reach Out and Touch Someone: Haptics and Empathic Computing
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Diabetes mellitus diagnosis method based random forest with bat algorithm
[발표본] 너의 과제는 클라우드에 있어_KTDS_김동현_20250524.pdf
Teaching material agriculture food technology
Big Data Technologies - Introduction.pptx
The AUB Centre for AI in Media Proposal.docx
Advanced Soft Computing BINUS July 2025.pdf
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Network Security Unit 5.pdf for BCA BBA.
Dropbox Q2 2025 Financial Results & Investor Presentation
Approach and Philosophy of On baking technology
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
MYSQL Presentation for SQL database connectivity
GamePlan Trading System Review: Professional Trader's Honest Take

Container orchestration overview

  • 1. excella.com | @excellacoWyn Van Devanter | @wynv Overview of Container Management
  • 2. excella.com | @excellaco Excella Announcements NEW: Advanced Certified ScrumMaster (A-CSM) Training Upcoming Training Certified ScrumMaster (CSM) August 2 – 3 | Arlington, VA Certified Scrum Product Owner (CSPO) August 9 – 10 | Arlington, VA Certified Kanban System Design (KMP I) August 27 – 28 | Arlington, VA Register for these upcoming classes at www.excella.com/training We’re hiring DevOps Engineer Senior DevOps Engineer DevOps Manager Cloud Architect More… www.excella.com/careers
  • 3. excella.com | @excellaco Agenda Why Container Management? Quick Container Overview Clusters, Cloud Architecture & Containers Container Orchestration Tool Overview Container Management Systems and Beyond
  • 4. excella.com | @excellaco Why container management? Building using containers is becoming the standard. Integral part of cloud architecture. Creates new ways to package, deploy and manage software Centralizes software management Fosters standardized deployment platform
  • 5. excella.com | @excellaco Container-based Infrastructure Container Management System Orchestrator Container Engine Containerized Applications Security controls, image security scanning, centralized management tools, app lifecycle management, enterprise management Scheduling, communication, service discovery, load balancing, self- healing, rolling updates, pipeline management, federation, etc Runs containers Application packaged in a standard way Docker EE, OpenShift, control plane Cluster(s) managed by Kubernetes, Swarm, Mesos, Fleet Docker on Azure/AWS/VM App with React UI container, ASP.NET Core API container
  • 6. excella.com | @excellaco What are containers? Isolate an application, its dependencies and resource use into a standard unit of execution & deployment Your application and everything it needs to run, with isolation benefits without the OS overhead More portable, less resource use, more shippable…
  • 7. excella.com | @excellaco What are containers? ContainersVirtual Machines
  • 8. excella.com | @excellaco Deploying Containers Must manage many pieces (containers) Must be able to find each other Immutable infrastructure, upgrading Distributing workload Scheduling scaling Recovery More…
  • 9. excella.com | @excellaco All these containers • Apps in Linux Containers, running against a Linux kernel, on a Linux server(s) • Apps in Windows Containers, running against a Windows kernel, on a Windows server(s) • Servers in AWS, servers in Azure, in-house All containers, so all the same in some respects. Manage them all the same way, centrally.
  • 10. excella.com | @excellaco Clusters • Backbone of container infrastructure. Typically for large scale, now container-based software deployment too. • Makes managing a pool of servers & their resources as simple as managing a single system • You don’t want to care much, about where containers run • With multiple container-based apps, a cluster is a way to standardized deployment
  • 11. excella.com | @excellaco Cloud architecture • Immutable, identical infrastructure • Distributed, decoupled • APIs provide buffer between implementer and consumer • Load balancers provide buffer between instances of each service • Self-healing • Scalable • Declarative state • Self-service infrastructure for developers to consume over cloud vendor-specific APIs
  • 12. excella.com | @excellaco What is Container Orchestration? • Tooling that makes managing container-based applications across a cluster(s) easier • An abstraction that simplifies tasks of building, deploying, and maintaining scalable distributed systems in the cloud • Decouples development teams from machines they’re using • Single platform for application deployment across clouds • Operationalized efficiency across the organization • Various distributed container management functionality
  • 13. excella.com | @excellaco Container Orchestration • Tools called orchestrators / schedulers manages containers across cluster(s) • Kubernetes, Swarm, Mesos/Marathon, Nomad Managed: ECS, EKS, Fargate, AKS, GKS • Automates the distribution of applications across a cluster of machines, ensuring higher levels of utilization
  • 15. excella.com | @excellaco Container Management needs • We don't have a straightforward way to manage the scaling, deployment and communication of multiple containers across machines. • If the server reboots or Docker restarts, the container and app will shut down and not come back up. • We also have to consider how we will monitor the health of the service and its logs, among other services deployed.
  • 16. excella.com | @excellaco Container Orchestration • Helps make the pieces in a distributed container system work together • Scheduling - placing a container on the right node • Cross-node communication • Service discovery • Scaling • Load balancing • Self-healing (automatic restarts) • Rolling updates • Service/App management (organizing containers that comprise a service, deployments), blue/green & canary deployments • Storage management
  • 17. excella.com | @excellaco Orchestrators Container Management System Orchestrator Container Engine Containerized Applications Security controls, image security scanning, centralized management tools, app lifecycle management, enterprise management Scheduling, communication, service discovery, load balancing, self- healing, rolling updates, pipeline management, federation, etc Runs containers Application packaged in a standard way Docker EE, OpenShift, control plane Cluster(s) managed by Kubernetes, Swarm, Mesos, Fleet Docker on Azure/AWS/VM App with React UI container, ASP.NET Core API container
  • 20. excella.com | @excellaco Cluster of Nodes • Nodes (hosts) pool resources to form cluster • In a typical container-based environment, you would typically define that specific containers run on specified nodes, but that can be partially or fully managed. • The containers that comprise an application can move from node to node based on various conditions. • Any node can direct traffic to where the container(s) is being hosted.
  • 21. excella.com | @excellaco Setting up an orchestrator • Number of nodes in a cluster • Specification & settings of the containers comprise your application or batch job • Resource usage • Other settings • CLI tools, etc. to create custom clusters, to SaaS-based cluster management
  • 22. excella.com | @excellaco Tool Overview • Kubernetes • Swarm - native Docker API, defaults easy to set up • ECS – managed, AWS orchestrator (ACS) • EKS – managed, Kubernetes orchestrator (AKS) • Fargate – more infrastructure management • Mesos with Marathon/etc • Nomad: light; cluster management and scheduling only provided; rest with add-ins like Consul, Vault; operationally simple
  • 23. excella.com | @excellaco Choosing a Container Management System • What kinds components are going into containers? • How do the components of the application talk to one another? • How is availability handled? • How is access control handled? • What sort of scalability is needed • How many applications am I planning to support? • Do I need to manage my own cluster(s)?
  • 24. excella.com | @excellaco How the tools work • Create configuration file that specifies containers and other settings that make up a service • Tool places containers on nodes in cluster • Makes sure they are healthy • Can manage deployments from the tool
  • 25. excella.com | @excellaco Some Concepts (Kubernetes) • Master - normally doesn't run containers, but the key Kubernetes services; nodes • Namespaces - logical grouping of cluster for use with multiple users or projects • Labels - K/V pair for categorizing objects such as pods • Pods - wraps container(s) • Deployments - manages the desired state, i.e. specify number of pods • Services - allows external pod communication • Volumes - share data between containers, persistent storage; beefier than Docker volumes, tied to life of
  • 26. excella.com | @excellaco Kubernetes concepts • Can group together container images developed by different teams into a single deployable unit • Kubernetes services provide load balancing, naming, and discovery to isolate one microservice from another • Ingress objects provide an easy-to-use frontend that can combine multiple microservices into a single externalized API surface area.
  • 27. excella.com | @excellaco Kubernetes for developers • Application-oriented container APIs • Separate developers from specific machines • Increase portability since developers are consuming a higher-level API that is implemented in terms of the specific cloud infrastructure APIs • Can abstract you from a particular cloud. For example, Kubernetes services know how to create load balancers on all major public clouds as well as several different private and physical infrastructures. • Minikube
  • 28. excella.com | @excellaco Kubernetes tidbits • Google-spawned Kubernetes has quickly risen to dominate the container orchestration space • Heavyweights behind it including Red Hat, IBM • 71% of major enterprises use Kubernetes • More focused on applications so plumbing is more set up for that • It can be harder to set up for other cases. More configurable but more complex. • Composes applications via pods – i.e. 1-5 containers making a service
  • 30. excella.com | @excellaco Kubernetes Capabilities: • Scheduling • Cross-node communication • Service discovery • Scaling, autoscaling • Load balancing • Self-healing (automatic restarts) • Rolling updates
  • 31. excella.com | @excellaco Kubernetes • Advanced networking makes multi-host clusters much more easy to manage, at the expensive of slightly more complexity • Pods facilitates groups of containers that can communicate with each other as though they are running within the same system. • Allow applications running within the pod to interact in the same way they would as though they were not running in containers but simply running on the same physical host.
  • 32. excella.com | @excellaco Swarm • Swarm is more general purpose so setup decisions are left more open. But easy to get running. • Uses standard Docker API, so things like docker run work as usual • Tools like Compose can use Swarm without any changes.
  • 33. excella.com | @excellaco Swarm Capabilities: • Scheduling • Cross-node communication • Service discovery • Scaling, autoscaling • Load balancing • Self-healing (automatic restarts) • Rolling updates
  • 34. excella.com | @excellaco ECS • Managed AWS service launched in 2014 • Composes applications using: • Task definitions • Tasks • Services • Works with other AWS services such as ELB, elastic block storage, CloudWatch, VPC, CloudTrail • No support for infrastructure outside of EC2
  • 35. excella.com | @excellaco ECS Capabilities: • Scheduling • Load balancing • Service Discovery • Service management - task definitions, tasks, services • Logging, Auditing • Storage
  • 38. excella.com | @excellaco Control Plane Engineering Sits on top of the server nodes to help better management, uptime and performance across multiple clouds Creates a deployment that’s easily scaled Run the same system on multiple, hybrid clouds
  • 39. excella.com | @excellaco Control Plane in Kubernetes
  • 40. excella.com | @excellaco Container Management Systems Container Management System Orchestrator Container Engine Containerized Applications Security controls, image security scanning, centralized management tools, app lifecycle management, enterprise management Scheduling, communication, service discovery, load balancing, self- healing, rolling updates, pipeline management, federation, etc Runs containers Application packaged in a standard way Docker EE, OpenShift Cluster(s) managed by Kubernetes, Swarm, Mesos, Fleet Docker on Azure/AWS/VM App with React UI container, ASP.NET Core API container
  • 41. excella.com | @excellaco Container Management Systems • Enterprise-grade (Docker Enterprise, OpenShift) • Additional functionality, enterprise features, etc • More security scanning • secured images • centralized access control & management • networking • pipeline features (i.e. easy multiple environment setup), standardization • CaaS/PaaS functionality • cloud-based services • support
  • 44. excella.com | @excellaco Thank you! @wynv | wyn.vandevanter@excella.com • Getting Started with Docker, Self-Guided Workshop, https://github.com/excellalabs/docker-workshop-1 • Getting Started Deploying with Docker via Kubernetes, Self-Guided Workshop, https://github.com/excellalabs/docker-workshop-2 • Docker Swarm workshop, https://github.com/jpetazzo/container.training • Deploy ASP.NET Core app to Kubernetes on Google Kubernetes Engine, https://codelabs.developers.google.com/codelabs/cloud-kubernetes-aspnetcore

Editor's Notes

  • #2: - Intro, experience
  • #5: - What is container management – start building using containers, new way of managing