SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Was ist angesagt?

Kubernetes design principles, patterns and ecosystem
Kubernetes design principles, patterns and ecosystemKubernetes design principles, patterns and ecosystem
Kubernetes design principles, patterns and ecosystemSreenivas Makam
 
Everything You Need To Know About Persistent Storage in Kubernetes
Everything You Need To Know About Persistent Storage in KubernetesEverything You Need To Know About Persistent Storage in Kubernetes
Everything You Need To Know About Persistent Storage in KubernetesThe {code} Team
 
Deep Dive into Kubernetes - Part 1
Deep Dive into Kubernetes - Part 1Deep Dive into Kubernetes - Part 1
Deep Dive into Kubernetes - Part 1Imesh Gunaratne
 
왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요
왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요
왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요Jo Hoon
 
Kubernetes Networking
Kubernetes NetworkingKubernetes Networking
Kubernetes NetworkingCJ Cullen
 
An overview of the Kubernetes architecture
An overview of the Kubernetes architectureAn overview of the Kubernetes architecture
An overview of the Kubernetes architectureIgor Sfiligoi
 
Kubernetes - introduction
Kubernetes - introductionKubernetes - introduction
Kubernetes - introductionSparkbit
 
Kubernetes for Beginners: An Introductory Guide
Kubernetes for Beginners: An Introductory GuideKubernetes for Beginners: An Introductory Guide
Kubernetes for Beginners: An Introductory GuideBytemark
 
An Introduction to Kubernetes
An Introduction to KubernetesAn Introduction to Kubernetes
An Introduction to KubernetesImesh Gunaratne
 
Kubernetes
KubernetesKubernetes
KubernetesHenry He
 
Kubernetes dealing with storage and persistence
Kubernetes  dealing with storage and persistenceKubernetes  dealing with storage and persistence
Kubernetes dealing with storage and persistenceJanakiram MSV
 
Kubernetes training
Kubernetes trainingKubernetes training
Kubernetes trainingDes Drury
 
Kubernetes fundamentals
Kubernetes fundamentalsKubernetes fundamentals
Kubernetes fundamentalsVictor Morales
 
The Container Storage Interface (CSI)
The Container Storage Interface (CSI)The Container Storage Interface (CSI)
The Container Storage Interface (CSI)Masiar Ighani
 
Tìm hiểu và triển khai ứng dụng Web với Kubernetes
Tìm hiểu và triển khai ứng dụng Web với KubernetesTìm hiểu và triển khai ứng dụng Web với Kubernetes
Tìm hiểu và triển khai ứng dụng Web với KubernetesGMO-Z.com Vietnam Lab Center
 
Container Orchestration with Docker Swarm and Kubernetes
Container Orchestration with Docker Swarm and KubernetesContainer Orchestration with Docker Swarm and Kubernetes
Container Orchestration with Docker Swarm and KubernetesWill Hall
 

Was ist angesagt? (20)

Kubernetes design principles, patterns and ecosystem
Kubernetes design principles, patterns and ecosystemKubernetes design principles, patterns and ecosystem
Kubernetes design principles, patterns and ecosystem
 
Kubernetes 101
Kubernetes 101Kubernetes 101
Kubernetes 101
 
DevOps with Kubernetes
DevOps with KubernetesDevOps with Kubernetes
DevOps with Kubernetes
 
Everything You Need To Know About Persistent Storage in Kubernetes
Everything You Need To Know About Persistent Storage in KubernetesEverything You Need To Know About Persistent Storage in Kubernetes
Everything You Need To Know About Persistent Storage in Kubernetes
 
Deep Dive into Kubernetes - Part 1
Deep Dive into Kubernetes - Part 1Deep Dive into Kubernetes - Part 1
Deep Dive into Kubernetes - Part 1
 
왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요
왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요
왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요
 
Kubernetes Networking
Kubernetes NetworkingKubernetes Networking
Kubernetes Networking
 
An overview of the Kubernetes architecture
An overview of the Kubernetes architectureAn overview of the Kubernetes architecture
An overview of the Kubernetes architecture
 
Kubernetes 101
Kubernetes 101Kubernetes 101
Kubernetes 101
 
Kubernetes
KubernetesKubernetes
Kubernetes
 
Kubernetes - introduction
Kubernetes - introductionKubernetes - introduction
Kubernetes - introduction
 
Kubernetes for Beginners: An Introductory Guide
Kubernetes for Beginners: An Introductory GuideKubernetes for Beginners: An Introductory Guide
Kubernetes for Beginners: An Introductory Guide
 
An Introduction to Kubernetes
An Introduction to KubernetesAn Introduction to Kubernetes
An Introduction to Kubernetes
 
Kubernetes
KubernetesKubernetes
Kubernetes
 
Kubernetes dealing with storage and persistence
Kubernetes  dealing with storage and persistenceKubernetes  dealing with storage and persistence
Kubernetes dealing with storage and persistence
 
Kubernetes training
Kubernetes trainingKubernetes training
Kubernetes training
 
Kubernetes fundamentals
Kubernetes fundamentalsKubernetes fundamentals
Kubernetes fundamentals
 
The Container Storage Interface (CSI)
The Container Storage Interface (CSI)The Container Storage Interface (CSI)
The Container Storage Interface (CSI)
 
Tìm hiểu và triển khai ứng dụng Web với Kubernetes
Tìm hiểu và triển khai ứng dụng Web với KubernetesTìm hiểu và triển khai ứng dụng Web với Kubernetes
Tìm hiểu và triển khai ứng dụng Web với Kubernetes
 
Container Orchestration with Docker Swarm and Kubernetes
Container Orchestration with Docker Swarm and KubernetesContainer Orchestration with Docker Swarm and Kubernetes
Container Orchestration with Docker Swarm and Kubernetes
 

Ähnlich wie Docker Orchestrators: Comparing Swarm vs. Kubernetes for Microservices Deployment

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...NETWAYS
 
Orchestrating Linux Containers while tolerating failures
Orchestrating Linux Containers while tolerating failuresOrchestrating Linux Containers while tolerating failures
Orchestrating Linux Containers while tolerating failuresDocker, Inc.
 
Kubernetes in Docker
Kubernetes in DockerKubernetes in Docker
Kubernetes in Dockerdocker-athens
 
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…Sergey Dzyuban
 
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
 
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 FactoryWSO2
 
Docker and kubernetes
Docker and kubernetesDocker and kubernetes
Docker and kubernetesDongwon Kim
 
Containers kuberenetes
Containers kuberenetesContainers kuberenetes
Containers kuberenetescsegayan
 
ECS and Docker at Okta
ECS and Docker at OktaECS and Docker at Okta
ECS and Docker at OktaJon Todd
 
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 FactoryImesh Gunaratne
 
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 DevOpsRaTul Basak
 
Containerization - The DevOps Revolution
Containerization - The DevOps RevolutionContainerization - The DevOps Revolution
Containerization - The DevOps RevolutionYulian Slobodyan
 
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...DataStax Academy
 
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 analyticsJulien Anguenot
 
Docker and kubernetes_introduction
Docker and kubernetes_introductionDocker and kubernetes_introduction
Docker and kubernetes_introductionJason Hu
 
Docker Swarm and Traefik 2.0
Docker Swarm and Traefik 2.0Docker Swarm and Traefik 2.0
Docker Swarm and Traefik 2.0Jakub Hajek
 
Kubernetes Internals
Kubernetes InternalsKubernetes Internals
Kubernetes InternalsShimi Bandiel
 

Ähnlich wie Docker Orchestrators: Comparing Swarm vs. Kubernetes for Microservices Deployment (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
 

Mehr von Dmitry Lazarenko

Kubernetes security best practice
Kubernetes security best practiceKubernetes security best practice
Kubernetes security best practiceDmitry Lazarenko
 
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...Dmitry Lazarenko
 
Docker Containers orchestrators: Kubernetes vs. Swarm
Docker Containers orchestrators: Kubernetes vs. SwarmDocker Containers orchestrators: Kubernetes vs. Swarm
Docker Containers orchestrators: Kubernetes vs. SwarmDmitry Lazarenko
 
Высокая доступность приложений в гибридном облаке на базе Jelastic и Azure Tr...
Высокая доступность приложений в гибридном облаке на базе Jelastic и Azure Tr...Высокая доступность приложений в гибридном облаке на базе Jelastic и Azure Tr...
Высокая доступность приложений в гибридном облаке на базе Jelastic и Azure Tr...Dmitry Lazarenko
 
Jelastic для разработчиков ПО
Jelastic для разработчиков ПОJelastic для разработчиков ПО
Jelastic для разработчиков ПОDmitry Lazarenko
 
Jelastic for Hosting & MSP
Jelastic for Hosting & MSPJelastic for Hosting & MSP
Jelastic for Hosting & MSPDmitry Lazarenko
 
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 AzureDmitry Lazarenko
 

Mehr von 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
 

Kürzlich hochgeladen

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 

Kürzlich hochgeladen (20)

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 

Docker Orchestrators: Comparing Swarm vs. Kubernetes for Microservices Deployment

  • 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