This session will walk us through the concept of orchestration and then it will explore orchestration solutions like Docker Swarm, K8 and Mesos + Marathon by helpful examples.
Diamond Application Development Crafting Solutions with Precision
Comparing Orchestration
1. GIT: Under the Hood
By:
Vinay Kumar
(Knoldus Inc.)
By: Vinay Kumar
Comparing
Orchestration
2. Agenda
● Concept of Orchestration.
● Tools:
○ Docker and Swarm
○ Mesos + Marathon
○ Kubernetes
● Putting it all together.
3. Concept of Orchestration.
● Fluctuating user demand requires efficient
system.
● Near Zero failover requires preprovisioned hosts.
4. Concept of Orchestration.
● AIM
○ When using multiple resources, make sure:
■ they are efficiently used (not Idle).
● CPU and Mem intensive loads.
■ cope with spikes in demand.
5. Concept of Orchestration.
● Challenges
○ a nontrivial system is full of administrative
tasks and challenges.
■ impossible to look after machines on an
individual level.
■ patching and updating machines one by one,
they must be treated identically (less
desired).
■ destroyed and replaced (much better).
6. Tools
● Challenge is broken down into three segments:
○ Clustering.
○ Orchestration.
○ Management.
● Swarm: clustering solution + (Docker-level)
orchestration.
● Kubernetes: higher-level opinionated
orchestration.
● Mesos: (low-level) clustering + orchestration.
7. Tools: Swarm
● native clustering tool for Docker.
● selects an appropriate host to run the container.
● uses the standard Docker API.
10. Tools: Swarm
● STRATEGIES:
○ spread: Places the container on the least loaded
host. (HA setup)
○ binpack: Places the container on the most
loaded host that still has capacity. (Optimize
machine usage)
○ random: Places the container on a random host.
(Well…)
15. Tools: Mesos and Marathon
● Mesos:
○ open source cluster manager.
○ designed to scale to very large clusters (~1000
hosts)
○ supports diverse workloads (Framework)
■ user’s Docker containers may be running
next to another user’s Hadoop tasks.
■ designed around high availability and
resilience
17. Tools: Mesos and Marathon
● Marathon:
○ Manages long-running applications.
○ Features application group to ensure correct
order of deployment of an application.
With Mesos & Marathon: CPU intensive, Memory
intensive and hybrid tasks are better handled.
19. Tools: Mesos and Marathon
● Demo:
○ Interacting with the UI and deploying a service.
20. Putting It All Together
● Swarm has the advantage (and disadvantage) of
using the standard Docker interface.
● Kubernetes comes with service discovery and
replication baked in. It may require some
redesigning of existing applications, but used
correctly, will result in a fault-tolerant and scalable
system.
● Mesos is a low-level, battle-hardened scheduler
that supports several frameworks for container
orchestration, including Marathon, Kubernetes,
and Swarm.