Welcome!

Microservices Expo Authors: Zakia Bouachraoui, Elizabeth White, Pat Romanski, Liz McMillan, Yeshim Deniz

Related Topics: @DevOpsSummit, Microservices Expo, Containers Expo Blog

@DevOpsSummit: Blog Post

Characterizing and Contrasting Container Orchestrators | @DevOpsSummit #DevOps #Containers

There is no one perfect solution

Admiral Calcote - also known as Lee Calcote (@lcalcote) or the Ginger Geek to his friends - gave a presentation entitled Characterizing and Contrasting Container Orchestrators at the 2016 All Day DevOps conference.

Okay, he isn't really an admiral - nor does anyone call him that - but he used the title admiral to describe what container orchestrators do, relating it to an admiral directing a fleet of container ships. You could also say that they are like the conductor of an orchestra, directing the individuals to work together as a group toward a common goal while each musician is still able to play their own instrument.

lee1.png

Lee is the Head of Technology Strategy at SolarWinds, and for his talk, he walked through four open-source container orchestrators: Nomad, Swarm, Kubernetes, and Mesos-Marathon.

He emphasized the obvious - there is no one perfect solution. Each organization is different, so for each solution, he looked at:

  • Genesis and purpose
  • Support and momentum
  • Host and service discovery
  • Scheduling
  • Modularity and extensibility
  • Updates and maintenance
  • Health monitoring
  • Networking and load balancing
  • Secrets management
  • High availability and scale

Lee noted that while there are many core capabilities, any orchestrator must have cluster management and scheduling.

lee2.png

He then dove deeper into the four solutions. Below are summaries (the full talk is chalked full of information and is online here):

Nomad

  • Designed for both long-lived and short-lived batch processing workloads
  • Cluster manager with declarative job specifications
  • Ensures constraints are satisfied and resource utilization is optimized by efficient task packing
  • Supports all major OSs and workloads
  • Written in Go and with a Unix philosophy
  • Host discovery: Gossip protocol - Serf is used; servers advertise full set of Nomad servers to clients; creating federated clusters is simple
  • Service discovery: Integrates with Consul
  • Scheduling: two distinct phases - feasibility checking and ranking; optimistically concurrent; three scheduler types when creating jobs
  • Uses task drivers to execute a task and provide resource isolation, but it does not support pluggable task drivers
  • Built for managing multiple clusters/cluster federation

lee3.png

Docker Swarm 1.12

  • Simple and easy to setup
  • Architecture is not as complex as Kubernetes and Mesos
  • Written in Go - lightweight, modular, and extensible
  • Strong community support
  • Host discovery: used in the formation of clusters by the Manager to discover Nodes (hosts); pull model - worker checks-in with the Manager
  • Service discovery: Embedded DNS and round robin load-balancing
  • Scheduler is pluggable and is a combination of strategies and filters/constraints
  • Ability to remove "batteries"
  • Rolling updates are supported
  • Managers may be deployed in a highly-available configuration, but does not support multiple failure isolation regions or federation

lee4.png

Kubernetes

  • An opinionated framework for building distributed systems
  • Written in Go and is lightweight, modular, and extensible
  • Led by Google, Red Hat, and others
  • Young - about two-years-old
  • Robust documentation and community
  • Scheduling is handled by kube-scheduler
  • Pluggable architecture and an extensible platform
  • Choice of: database for service discovery or network driver and container runtime
  • Supports rolling back deployments, automating deployments and rolling updating applications
  • Inherent load balancing
  • Uses Pods, an atomic unit of scheduling. Each pod has its own IP address, no NAT required, and intra-pod communication via localhost

lee5.png

Mesos-Marathon

  • Mesos is a distributed systems kernel
  • Mesos has been around the longest (since 2009)
  • Mesos is written in C++
  • Marathon is a framework that runs on top of Mesos
  • Mesos is used by Twitter, AirBnB, eBay, Apple, Cisco, and Yodle
  • Marathon is used by Verizon and Samsung
  • Mesos-DNS generates an SRV record for each Mesos task
  • Marathon ensures that all dynamically assigned ports are unique

lee6.png

Wrapping up, Lee provided the following overview comparing the different container orchestration solutions.

lee7.png

Lee packed a tremendous amount of information into his talk. If you use containers, his talk is worth your time and is available online here. If you missed any of the other 30-minute long presentations from All Day DevOps, they are easy to find and available free-of-charge here.  Finally, be sure to register you and the rest of your team for the 2017 All Day DevOps conference here.  This year's event will offer 96 practitioner-led sessions (no vendor pitches allowed).  It's all free and online on October 24th.

More Stories By Derek Weeks

In 2015, Derek Weeks led the largest and most comprehensive analysis of software supply chain practices to date across 160,000 development organizations. He is a huge advocate of applying proven supply chain management principles into DevOps practices to improve efficiencies, reduce costs, and sustain long-lasting competitive advantages.

As a 20+ year veteran of the software industry, he has advised leading businesses on IT performance improvement practices covering continuous delivery, business process management, systems and network operations, service management, capacity planning and storage management. As the VP and DevOps Advocate for Sonatype, he is passionate about changing the way people think about software supply chains and improving public safety through improved software integrity. Follow him here @weekstweets, find me here www.linkedin.com/in/derekeweeks, and read me here http://blog.sonatype.com/author/weeks/.

Microservices Articles
When building large, cloud-based applications that operate at a high scale, it’s important to maintain a high availability and resilience to failures. In order to do that, you must be tolerant of failures, even in light of failures in other areas of your application. “Fly two mistakes high” is an old adage in the radio control airplane hobby. It means, fly high enough so that if you make a mistake, you can continue flying with room to still make mistakes. In his session at 18th Cloud Expo, Lee A...
In his general session at 19th Cloud Expo, Manish Dixit, VP of Product and Engineering at Dice, discussed how Dice leverages data insights and tools to help both tech professionals and recruiters better understand how skills relate to each other and which skills are in high demand using interactive visualizations and salary indicator tools to maximize earning potential. Manish Dixit is VP of Product and Engineering at Dice. As the leader of the Product, Engineering and Data Sciences team at D...
Lori MacVittie is a subject matter expert on emerging technology responsible for outbound evangelism across F5's entire product suite. MacVittie has extensive development and technical architecture experience in both high-tech and enterprise organizations, in addition to network and systems administration expertise. Prior to joining F5, MacVittie was an award-winning technology editor at Network Computing Magazine where she evaluated and tested application-focused technologies including app secu...
Containers and Kubernetes allow for code portability across on-premise VMs, bare metal, or multiple cloud provider environments. Yet, despite this portability promise, developers may include configuration and application definitions that constrain or even eliminate application portability. In this session we'll describe best practices for "configuration as code" in a Kubernetes environment. We will demonstrate how a properly constructed containerized app can be deployed to both Amazon and Azure ...
Modern software design has fundamentally changed how we manage applications, causing many to turn to containers as the new virtual machine for resource management. As container adoption grows beyond stateless applications to stateful workloads, the need for persistent storage is foundational - something customers routinely cite as a top pain point. In his session at @DevOpsSummit at 21st Cloud Expo, Bill Borsari, Head of Systems Engineering at Datera, explored how organizations can reap the bene...
Using new techniques of information modeling, indexing, and processing, new cloud-based systems can support cloud-based workloads previously not possible for high-throughput insurance, banking, and case-based applications. In his session at 18th Cloud Expo, John Newton, CTO, Founder and Chairman of Alfresco, described how to scale cloud-based content management repositories to store, manage, and retrieve billions of documents and related information with fast and linear scalability. He addresse...
The now mainstream platform changes stemming from the first Internet boom brought many changes but didn’t really change the basic relationship between servers and the applications running on them. In fact, that was sort of the point. In his session at 18th Cloud Expo, Gordon Haff, senior cloud strategy marketing and evangelism manager at Red Hat, will discuss how today’s workloads require a new model and a new platform for development and execution. The platform must handle a wide range of rec...
SYS-CON Events announced today that DatacenterDynamics has been named “Media Sponsor” of SYS-CON's 18th International Cloud Expo, which will take place on June 7–9, 2016, at the Javits Center in New York City, NY. DatacenterDynamics is a brand of DCD Group, a global B2B media and publishing company that develops products to help senior professionals in the world's most ICT dependent organizations make risk-based infrastructure and capacity decisions.
Discussions of cloud computing have evolved in recent years from a focus on specific types of cloud, to a world of hybrid cloud, and to a world dominated by the APIs that make today's multi-cloud environments and hybrid clouds possible. In this Power Panel at 17th Cloud Expo, moderated by Conference Chair Roger Strukhoff, panelists addressed the importance of customers being able to use the specific technologies they need, through environments and ecosystems that expose their APIs to make true ...
In his keynote at 19th Cloud Expo, Sheng Liang, co-founder and CEO of Rancher Labs, discussed the technological advances and new business opportunities created by the rapid adoption of containers. With the success of Amazon Web Services (AWS) and various open source technologies used to build private clouds, cloud computing has become an essential component of IT strategy. However, users continue to face challenges in implementing clouds, as older technologies evolve and newer ones like Docker c...