SlideShare una empresa de Scribd logo
1 de 45
Docker Orchestrators:
Swarm vs. Kubernetes
Jelastic, PaaS & CaaS solution for
Hosting companies
Microservices
Microservices vs. Monolith
Container orchestrator
Containers might be a real salvation
for the developers
But this is not so simple
Yet now to simple
How would you build 1000 Node application
being not able to login to its admin panel at all?
Kubernetes
Kubernetes ideology
Any component can fail at any
moment:
• Server
• Hard Drive
• Network
• VM
• Container
• Application
What opportunities Kubernetes gives to you?
1. You can declaratively describe the application configuration(YAML)
2. Each group of components (Pod) can be named by (Label)
3. You describe how groups of components have to be duplicated, for
example a service should be running in 5 copies
4. Kubernetes deploys specified configuration on the available
infrastructure (Nodes)
5. Kubernetes ensures that the current configuration of the application is
always consistent with the reference
6. There are built-in health checks, on the basis of assessment of
applications health and replacement of corrupted Pod with new one
7. As a result, your application always has needed amount of running
instances
Kubernetes architecture
1. Master – Orchestrator
2. Nodes – Servers, used for
users’ workloads
Kubernetes architecture
Nodes
1. Each node consists of a set of
Pods
2. Each Pod consists of a set of
linked containers.
3. Pod is a scaling unit in
Kubernetes instead of the
container
4. Kubernetes includes built-in
algorithms for Anti-affinity
Volumes
1. Empty Dir
2. NFS
3. GCEPersistentDisk
4. awsElasticBlockStore
5. Glusterfs
6. Iscsi
7. Rbd
8. Secrets
Labels
1. Your configuration layout. KEY/VALUE
2. “labels”: {
“tier”: “frontend”
“application.awesome-game/environment”: “production”
}
Label selector
1. Query mechanism to Labels
2. tier != frontend, game = super-shooter-2
3. environment in (production, qa)
tier notin (frontend, backend)
partition
Replication controller
1. Copies of single Pod are called “the replicas”
2. Replication Controller monitors the keeping of the needed level of the
Pod replication
3. Replication Controller provides automatic failover
4. RP allows label changing for specified Pod thus eliminating it from
replicating or implementing ZDT Rolling Updates
5. Scaling of the application may be done only manually via shift for a
specific number of specific Pod replicas
Services
1. Reverse-proxy
2. Services have external IP
3. Simple Round-Robin
balancing
Services
Service discovery
• Pod environment variables appear on Node
• Cluster DNS- Special Pod type
 Etcd –Configuration storage
 SkyDns – DNS-server reads data from Etcd
 Kube2sky –pushes the latest information from
Kubernetes Master to Etcd
Health checks
▪ TCP Socket
▪ HTTP GET
▪ Container Exec
livenessProbe:
enabled: true
type: http
initialDelaySeconds: 30
httpGet:
path: /_status/healthz
port: 8080
System Dashboards
How to deploy?
▪ Local (Docker-based)
▪ Vagrant
▪ Local (No VM)
▪ Hosted Solution:
▪ Google Container Engine
▪ AWS
▪ Azure
▪ Mesosphere
▪ OpenStack Magnum/Murano
Kubernetes advantages
1. Kubernetes ensures that your application will always have the
required number of running instances
2. Perfect for Rolling updates
3. Not so good for Stateful applications
4. There are some issues with the application auto scalability
Kubernetes limitations
1. Complicated manual cluster deployment
2. Complicated automatic horizontal scaling set up
3. Most of the actions have to be performed in CLI
4. Orchestration logic is hidden deep in the Kubernetes
5. Container is not a control unit
Docker Swarm
Docker Swarm
• Manages the Nodes in the cluster
• Uses Docker APls to communicate with Docker Daemon on
each node
• May be clustered
Swarm Manager
• Provides containers placing on the Nodes
• Pluggable architecture - Bring your own scheduler
• Each Scheduler contains of:
• Placement strategy
• Filter list
Scheduler
Scheduler – Bin Packaging
• Bin Packaging
• Archive Nodes as compact as possible
• Spread
• Distributes Nodes evenly
• Random
• Only for debugging as a rule
Scheduler - strategies
• Affinity Filter
• Constraint Filter
• Health Filter – selects only healthy Nodes
• Port Filter
Scheduler - Filters
1. Each Docker-host may have various list of tags
• OS, Storage (ssd, disk), kernel, env
2. You may choose host by selecting criteria of tags
• storage=ssd
• region=us-east
• environment=production
• Standard tags:
• node ID or node Name (using key “node”)
• storagedriver
• executiondriver
• kernelversion
• operatingsystem
Constraint Filter
1. Affinity and anti-affinity rules
• Locate db with nginx
• Locate db with selected image
• Don’t locate container if label==frontend
2. Restrictions may be strict and soft
Affinity filters
1. Place the container only if certain public port is free
on the Node . For instance 80 or 443
Port filters
1. You can apply dependency on the existing
containers
2. Shared volumes
1. Links
2. Shared network stacks
Dependency if filters
• RAM
• docker run -m 1g
• CPU
• docker run -c 1
• Ports
• docker run -p 80:80
Resource Management
• Token Based
• etcd based
• Zookeeper based
• Consul Based
• File Based
• Bring your own?
Service Discovery
High Availability
• Multiple Swarm Managers
• Similar to Master-Master replication
• Chooses new Master If Master Manager goes offline
• Works only with
• Consul
• Etcd
• Zookeeper
• For the correct selection of a new Master consensus is
required
Requests Routing
• There are no standard patterns
• DIY
How to deploy?
▪ Manually with Docker
▪ Docker machine
▪ OpenStack Magnum
Swarm Advantages
1. Allows you to describe your application lifecycle in details
2. Easy to manage extensibility in affinity & anti-affinity part
instead of Kubernetes
3. Default Docker orchestrator
Swarm limitations
1. Complicated manual cluster deployment
2. Complicated automatic horizontal scaling set up
3. All the actions have to be performed in CLI
4. There is no functionality that allows application deployment
declarative description.
5. No support of health-checks
6. No automatic rescheduling of inactive Nodes
7. Relatively fresh release with some issues
Want the same,
even better?
Contact us
info@Jelastic.com
www.jelastic.com

Más contenido relacionado

La actualidad más candente

Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...
Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...
Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...
Simplilearn
 

La actualidad más candente (20)

Helm intro
Helm introHelm intro
Helm intro
 
Stateful set in kubernetes implementation & usecases
Stateful set in kubernetes implementation & usecases Stateful set in kubernetes implementation & usecases
Stateful set in kubernetes implementation & usecases
 
Introduction to Kubernetes with demo
Introduction to Kubernetes with demoIntroduction to Kubernetes with demo
Introduction to Kubernetes with demo
 
Container based CI/CD on GitHub Actions
Container based CI/CD on GitHub ActionsContainer based CI/CD on GitHub Actions
Container based CI/CD on GitHub Actions
 
Kubernetes Deployment Tutorial | Kubernetes Tutorial For Beginners | Kubernet...
Kubernetes Deployment Tutorial | Kubernetes Tutorial For Beginners | Kubernet...Kubernetes Deployment Tutorial | Kubernetes Tutorial For Beginners | Kubernet...
Kubernetes Deployment Tutorial | Kubernetes Tutorial For Beginners | Kubernet...
 
Kubernetes workshop
Kubernetes workshopKubernetes workshop
Kubernetes workshop
 
Velero search & practice 20210609
Velero search & practice 20210609Velero search & practice 20210609
Velero search & practice 20210609
 
[KubeCon EU 2020] containerd Deep Dive
[KubeCon EU 2020] containerd Deep Dive[KubeCon EU 2020] containerd Deep Dive
[KubeCon EU 2020] containerd Deep Dive
 
Continuous integration using Jenkins and Sonar
Continuous integration using Jenkins and SonarContinuous integration using Jenkins and Sonar
Continuous integration using Jenkins and Sonar
 
Kubernetes
KubernetesKubernetes
Kubernetes
 
Introduction to KubeSphere and its open source ecosystem
Introduction to KubeSphere and its open source ecosystemIntroduction to KubeSphere and its open source ecosystem
Introduction to KubeSphere and its open source ecosystem
 
DevOps Sonatype Nexus Demo_2023.pdf
DevOps Sonatype Nexus Demo_2023.pdfDevOps Sonatype Nexus Demo_2023.pdf
DevOps Sonatype Nexus Demo_2023.pdf
 
Hands-on Helm
Hands-on Helm Hands-on Helm
Hands-on Helm
 
Kubernates vs Openshift: What is the difference and comparison between Opensh...
Kubernates vs Openshift: What is the difference and comparison between Opensh...Kubernates vs Openshift: What is the difference and comparison between Opensh...
Kubernates vs Openshift: What is the difference and comparison between Opensh...
 
CI and CD with Jenkins
CI and CD with JenkinsCI and CD with Jenkins
CI and CD with Jenkins
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
Infrastructure Deployment with Docker & Ansible
Infrastructure Deployment with Docker & AnsibleInfrastructure Deployment with Docker & Ansible
Infrastructure Deployment with Docker & Ansible
 
Let's build Developer Portal with Backstage
Let's build Developer Portal with BackstageLet's build Developer Portal with Backstage
Let's build Developer Portal with Backstage
 
Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...
Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...
Docker Compose | Docker Compose Tutorial | Docker Tutorial For Beginners | De...
 
Testing Ansible
Testing AnsibleTesting Ansible
Testing Ansible
 

Similar a Containers orchestrators: Docker vs. Kubernetes

Why Kubernetes as a container orchestrator is a right choice for running spar...
Why Kubernetes as a container orchestrator is a right choice for running spar...Why Kubernetes as a container orchestrator is a right choice for running spar...
Why Kubernetes as a container orchestrator is a right choice for running spar...
DataWorks Summit
 
Containerization - The DevOps Revolution
Containerization - The DevOps RevolutionContainerization - The DevOps Revolution
Containerization - The DevOps Revolution
Yulian Slobodyan
 

Similar a Containers orchestrators: Docker vs. Kubernetes (20)

stackconf 2020 | Replace your Docker based Containers with Cri-o Kata Contain...
stackconf 2020 | Replace your Docker based Containers with Cri-o Kata Contain...stackconf 2020 | Replace your Docker based Containers with Cri-o Kata Contain...
stackconf 2020 | Replace your Docker based Containers with Cri-o Kata Contain...
 
Orchestrating Linux Containers while tolerating failures
Orchestrating Linux Containers while tolerating failuresOrchestrating Linux Containers while tolerating failures
Orchestrating Linux Containers while tolerating failures
 
Kubernetes in Docker
Kubernetes in DockerKubernetes in Docker
Kubernetes in Docker
 
To Build My Own Cloud with Blackjack…
To Build My Own Cloud with Blackjack…To Build My Own Cloud with Blackjack…
To Build My Own Cloud with Blackjack…
 
Why Kubernetes as a container orchestrator is a right choice for running spar...
Why Kubernetes as a container orchestrator is a right choice for running spar...Why Kubernetes as a container orchestrator is a right choice for running spar...
Why Kubernetes as a container orchestrator is a right choice for running spar...
 
WSO2Con USA 2015: Revolutionizing WSO2 PaaS with Kubernetes & App Factory
WSO2Con USA 2015: Revolutionizing WSO2 PaaS with Kubernetes & App FactoryWSO2Con USA 2015: Revolutionizing WSO2 PaaS with Kubernetes & App Factory
WSO2Con USA 2015: Revolutionizing WSO2 PaaS with Kubernetes & App Factory
 
Containers 101
Containers 101Containers 101
Containers 101
 
Docker and kubernetes
Docker and kubernetesDocker and kubernetes
Docker and kubernetes
 
Containers kuberenetes
Containers kuberenetesContainers kuberenetes
Containers kuberenetes
 
ECS and Docker at Okta
ECS and Docker at OktaECS and Docker at Okta
ECS and Docker at Okta
 
Revolutionizing WSO2 PaaS with Kubernetes & App Factory
Revolutionizing WSO2 PaaS with Kubernetes & App FactoryRevolutionizing WSO2 PaaS with Kubernetes & App Factory
Revolutionizing WSO2 PaaS with Kubernetes & App Factory
 
Containers kuberenetes
Containers kuberenetesContainers kuberenetes
Containers kuberenetes
 
Containers kuberenetes
Containers kuberenetesContainers kuberenetes
Containers kuberenetes
 
Getting started with Kubernetes and Azure DevOps
Getting started with Kubernetes and Azure DevOpsGetting started with Kubernetes and Azure DevOps
Getting started with Kubernetes and Azure DevOps
 
Containerization - The DevOps Revolution
Containerization - The DevOps RevolutionContainerization - The DevOps Revolution
Containerization - The DevOps Revolution
 
iland Internet Solutions: Leveraging Cassandra for real-time multi-datacenter...
iland Internet Solutions: Leveraging Cassandra for real-time multi-datacenter...iland Internet Solutions: Leveraging Cassandra for real-time multi-datacenter...
iland Internet Solutions: Leveraging Cassandra for real-time multi-datacenter...
 
Leveraging Cassandra for real-time multi-datacenter public cloud analytics
Leveraging Cassandra for real-time multi-datacenter public cloud analyticsLeveraging Cassandra for real-time multi-datacenter public cloud analytics
Leveraging Cassandra for real-time multi-datacenter public cloud analytics
 
Docker and kubernetes_introduction
Docker and kubernetes_introductionDocker and kubernetes_introduction
Docker and kubernetes_introduction
 
Docker Swarm and Traefik 2.0
Docker Swarm and Traefik 2.0Docker Swarm and Traefik 2.0
Docker Swarm and Traefik 2.0
 
Kubernetes Internals
Kubernetes InternalsKubernetes Internals
Kubernetes Internals
 

Más de Dmitry Lazarenko

Высокая доступность приложений в гибридном облаке на базе Jelastic и Azure Tr...
Высокая доступность приложений в гибридном облаке на базе Jelastic и Azure Tr...Высокая доступность приложений в гибридном облаке на базе Jelastic и Azure Tr...
Высокая доступность приложений в гибридном облаке на базе Jelastic и Azure Tr...
Dmitry Lazarenko
 

Más de Dmitry Lazarenko (7)

Kubernetes security best practice
Kubernetes security best practiceKubernetes security best practice
Kubernetes security best practice
 
Private PaaS & Container-as-a-Service for ISVs and Enterprise - Use Cases and...
Private PaaS & Container-as-a-Service for ISVs and Enterprise - Use Cases and...Private PaaS & Container-as-a-Service for ISVs and Enterprise - Use Cases and...
Private PaaS & Container-as-a-Service for ISVs and Enterprise - Use Cases and...
 
Docker Containers orchestrators: Kubernetes vs. Swarm
Docker Containers orchestrators: Kubernetes vs. SwarmDocker Containers orchestrators: Kubernetes vs. Swarm
Docker Containers orchestrators: Kubernetes vs. Swarm
 
Высокая доступность приложений в гибридном облаке на базе Jelastic и Azure Tr...
Высокая доступность приложений в гибридном облаке на базе Jelastic и Azure Tr...Высокая доступность приложений в гибридном облаке на базе Jelastic и Azure Tr...
Высокая доступность приложений в гибридном облаке на базе Jelastic и Azure Tr...
 
Jelastic для разработчиков ПО
Jelastic для разработчиков ПОJelastic для разработчиков ПО
Jelastic для разработчиков ПО
 
Jelastic for Hosting & MSP
Jelastic for Hosting & MSPJelastic for Hosting & MSP
Jelastic for Hosting & MSP
 
Jelastic PaaS for DevOps: Hybrid Cloud based on Microsoft Azure
Jelastic PaaS for DevOps: Hybrid Cloud based on Microsoft AzureJelastic PaaS for DevOps: Hybrid Cloud based on Microsoft Azure
Jelastic PaaS for DevOps: Hybrid Cloud based on Microsoft Azure
 

Último

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Último (20)

Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 

Containers orchestrators: Docker vs. Kubernetes

  • 1. Docker Orchestrators: Swarm vs. Kubernetes Jelastic, PaaS & CaaS solution for Hosting companies
  • 5. Containers might be a real salvation for the developers
  • 6. But this is not so simple
  • 7. Yet now to simple
  • 8. How would you build 1000 Node application being not able to login to its admin panel at all?
  • 10. Kubernetes ideology Any component can fail at any moment: • Server • Hard Drive • Network • VM • Container • Application
  • 11. What opportunities Kubernetes gives to you? 1. You can declaratively describe the application configuration(YAML) 2. Each group of components (Pod) can be named by (Label) 3. You describe how groups of components have to be duplicated, for example a service should be running in 5 copies 4. Kubernetes deploys specified configuration on the available infrastructure (Nodes) 5. Kubernetes ensures that the current configuration of the application is always consistent with the reference 6. There are built-in health checks, on the basis of assessment of applications health and replacement of corrupted Pod with new one 7. As a result, your application always has needed amount of running instances
  • 12. Kubernetes architecture 1. Master – Orchestrator 2. Nodes – Servers, used for users’ workloads
  • 14. Nodes 1. Each node consists of a set of Pods 2. Each Pod consists of a set of linked containers. 3. Pod is a scaling unit in Kubernetes instead of the container 4. Kubernetes includes built-in algorithms for Anti-affinity
  • 15. Volumes 1. Empty Dir 2. NFS 3. GCEPersistentDisk 4. awsElasticBlockStore 5. Glusterfs 6. Iscsi 7. Rbd 8. Secrets
  • 16. Labels 1. Your configuration layout. KEY/VALUE 2. “labels”: { “tier”: “frontend” “application.awesome-game/environment”: “production” }
  • 17. Label selector 1. Query mechanism to Labels 2. tier != frontend, game = super-shooter-2 3. environment in (production, qa) tier notin (frontend, backend) partition
  • 18. Replication controller 1. Copies of single Pod are called “the replicas” 2. Replication Controller monitors the keeping of the needed level of the Pod replication 3. Replication Controller provides automatic failover 4. RP allows label changing for specified Pod thus eliminating it from replicating or implementing ZDT Rolling Updates 5. Scaling of the application may be done only manually via shift for a specific number of specific Pod replicas
  • 19. Services 1. Reverse-proxy 2. Services have external IP 3. Simple Round-Robin balancing
  • 21. Service discovery • Pod environment variables appear on Node • Cluster DNS- Special Pod type  Etcd –Configuration storage  SkyDns – DNS-server reads data from Etcd  Kube2sky –pushes the latest information from Kubernetes Master to Etcd
  • 22. Health checks ▪ TCP Socket ▪ HTTP GET ▪ Container Exec livenessProbe: enabled: true type: http initialDelaySeconds: 30 httpGet: path: /_status/healthz port: 8080
  • 24. How to deploy? ▪ Local (Docker-based) ▪ Vagrant ▪ Local (No VM) ▪ Hosted Solution: ▪ Google Container Engine ▪ AWS ▪ Azure ▪ Mesosphere ▪ OpenStack Magnum/Murano
  • 25. Kubernetes advantages 1. Kubernetes ensures that your application will always have the required number of running instances 2. Perfect for Rolling updates 3. Not so good for Stateful applications 4. There are some issues with the application auto scalability
  • 26. Kubernetes limitations 1. Complicated manual cluster deployment 2. Complicated automatic horizontal scaling set up 3. Most of the actions have to be performed in CLI 4. Orchestration logic is hidden deep in the Kubernetes 5. Container is not a control unit
  • 29. • Manages the Nodes in the cluster • Uses Docker APls to communicate with Docker Daemon on each node • May be clustered Swarm Manager
  • 30. • Provides containers placing on the Nodes • Pluggable architecture - Bring your own scheduler • Each Scheduler contains of: • Placement strategy • Filter list Scheduler
  • 31. Scheduler – Bin Packaging
  • 32. • Bin Packaging • Archive Nodes as compact as possible • Spread • Distributes Nodes evenly • Random • Only for debugging as a rule Scheduler - strategies
  • 33. • Affinity Filter • Constraint Filter • Health Filter – selects only healthy Nodes • Port Filter Scheduler - Filters
  • 34. 1. Each Docker-host may have various list of tags • OS, Storage (ssd, disk), kernel, env 2. You may choose host by selecting criteria of tags • storage=ssd • region=us-east • environment=production • Standard tags: • node ID or node Name (using key “node”) • storagedriver • executiondriver • kernelversion • operatingsystem Constraint Filter
  • 35. 1. Affinity and anti-affinity rules • Locate db with nginx • Locate db with selected image • Don’t locate container if label==frontend 2. Restrictions may be strict and soft Affinity filters
  • 36. 1. Place the container only if certain public port is free on the Node . For instance 80 or 443 Port filters
  • 37. 1. You can apply dependency on the existing containers 2. Shared volumes 1. Links 2. Shared network stacks Dependency if filters
  • 38. • RAM • docker run -m 1g • CPU • docker run -c 1 • Ports • docker run -p 80:80 Resource Management
  • 39. • Token Based • etcd based • Zookeeper based • Consul Based • File Based • Bring your own? Service Discovery
  • 40. High Availability • Multiple Swarm Managers • Similar to Master-Master replication • Chooses new Master If Master Manager goes offline • Works only with • Consul • Etcd • Zookeeper • For the correct selection of a new Master consensus is required
  • 41. Requests Routing • There are no standard patterns • DIY
  • 42. How to deploy? ▪ Manually with Docker ▪ Docker machine ▪ OpenStack Magnum
  • 43. Swarm Advantages 1. Allows you to describe your application lifecycle in details 2. Easy to manage extensibility in affinity & anti-affinity part instead of Kubernetes 3. Default Docker orchestrator
  • 44. Swarm limitations 1. Complicated manual cluster deployment 2. Complicated automatic horizontal scaling set up 3. All the actions have to be performed in CLI 4. There is no functionality that allows application deployment declarative description. 5. No support of health-checks 6. No automatic rescheduling of inactive Nodes 7. Relatively fresh release with some issues
  • 45. Want the same, even better? Contact us info@Jelastic.com www.jelastic.com