Mesosphere to Incorporate Kubernetes into DC/OS

The announcement that Mesosphere is going to incorporate Kubernetes into DC/OS has generated a fair amount of buzz in the industry, with the consensus landing largely on the side that this is a sign that Mesosphere is ceding to Google’s open source software. I have a different perspective – namely, that this move is a sign that Mesosphere is focusing on their end users, and committing to providing the most flexible options to best suit their needs. As more companies move to the cloud from on-premises, or from an individual cloud provider to a multi-cloud environment, containers remain the current best level of abstraction.

Containers run just about everywhere, which helps to avoid certain levels of lock-in, and as much as it’s possible, they future-proof applications. Once you master managing and deploying containers, your deployment process becomes the best thing it could ever be…boring! No engineer wants an unpredictable, possibly chaotic deployment. Boring deployments are the best deployments, which is why it’s crucial to use the best tools possible.

Before you can start deploying containers in production, you need a container orchestrator that meets your needs. Container orchestration is what makes running containers in production useful. Orchestration tools are responsible for managing various aspects of a container’s lifecycle, including scheduling, deployment, updates, failover, health checks, and beyond. This move to incorporate Kubernetes has potential implications for any enterprise using or planning to use containers in production.

Let’s look at the products in question. DC/OS has an existing container orchestrator called Marathon, and it offers support for both Mesos and Docker containers. Marathon supports Docker and Mesos containers. While you’re probably familiar with Docker containers, you might not know about Mesos containers. Mesos containers started out before Docker, and are based on some of the same underlying technologies.
They use control groups and namespaces to manage non-Docker based applications. They are a great choice for apps that aren’t already using Docker. An example of this might be some operations tools, shell scripts, Go based application binaries, etc. Even outside of Docker containers, Marathon is still a great orchestrator for running any legacy applications, ops tools, or any other non-Docker based process.

Like Marathon, Kubernetes supports Docker, however, it also supports other containers. Kubernetes supports containers based on the OCI (Open Container Initiative) model. This means there’s support for Docker, containerd, rkt, Windows containers, and anything else based on OCI. Besides all of the technical aspects that make Kubernetes a great option, it also has an ever-growing community. Part of that community comes in the form of developers contributing to the project, and continuously adding new features. And the other part are the operations engineers that work with it every day. Having such an active community is an important part of any open source project. The addition of Kubernetes makes DC/OS all that much more appealing from my perspective.

Right now you can deploy all kinds of different applications using the DC/OS Catalog, which was called the Universe before version 1.10. Being able to deploy applications such as Cassandra, Spark, MySQL, Elasticsearch and more with the push of a button is powerful. Once Kubernetes is added it will allow you to choose the best container orchestration system for the given task. All this flexibility, combined with the ease of use of DC/OS makes it a solid choice when selecting a container orchestrator.

One of the things I like best about DC/OS is that both the CLI and UI are simple and intuitive. I’m curious to see how Kubernetes will be integrated. If it becomes a first class citizen and gains the level of polish that the rest of DC/OS has, then it’ll add a lot of value to DC/OS.
However, full integration would mean that all of Kubernetes features are available, including Windows containers. As of 1.9 DC/OS doesn’t support Windows so it’ll be interesting to see if the integration of Kubernetes pushes DC/OS forward, or holds Kubernetes back. In addition, if this means that the developers at Mesosphere will start contributing to Kubernetes, it will serve both tools well.
There are already close to 1400 contributors according to Github. I’d imagine that the added expertise from the Mesosphere developers will not only add value to Kubernetes but also show Mesosphere’s commitment to using and enhancing the best technologies available.

It’s still too early to tell what this will actually look like when implemented, but if you’re currently looking into container orchestration tools, keep an eye on how this shapes up. Both DC/OS and Kubernetes are enterprise-ready systems, so the combination has the potential to serve the widest audience possible. I can’t wait to test it out for myself, and when I do, I’ll be back to share my thoughts.

Avatar

Written by

Ben Lambert

Ben is a software engineer with years of experience building web and mobile apps. He learned about DevOps some time ago, and hasn’t stopped talking about it since. In addition to DevOps, he’s passionate about information security, as well as virtual and augmented reality systems. When he’s not working he’s hiking, camping, or creating video games.


Related Posts

Alisha Reyes
Alisha Reyes
— July 2, 2020

New Content: AWS, Azure, Typescript, Java, Docker, 13 New Labs, and Much More

This month, our Content Team released a whopping 13 new labs in real cloud environments! If you haven't tried out our labs, you might not understand why we think that number is so impressive. Our labs are not “simulated” experiences — they are real cloud environments using accounts on A...

Read more
  • AWS
  • Azure
  • DevOps
  • Google Cloud Platform
  • Machine Learning
  • programming
Alisha Reyes
Alisha Reyes
— June 11, 2020

New Content: AZ-500 and AZ-400 Updates, 3 Google Professional Exam Preps, Practical ML Learning Path, C# Programming, and More

This month, our Content Team released tons of new content and labs in real cloud environments. Not only that, but we introduced our very first highly interactive "Office Hours" webinar. This webinar, Acing the AWS Solutions Architect Associate Certification, started with a quick overvie...

Read more
  • AWS
  • Azure
  • DevOps
  • Google Cloud Platform
  • Machine Learning
  • programming
Luca Casartelli
Luca Casartelli
— June 1, 2020

DevOps: Why Is It Important to Decouple Deployment From Release?

Deployment and release In enterprise organizations, releases are the final step of a long process that, historically, could take months — or even worse — years. Small companies and startups aren’t immune to this. Minimum viable product (MVP) over MVP and fast iterations could lead to t...

Read more
  • decoupling
  • Deployment
  • DevOps
  • engineering
  • Release
Luca Casartelli
Luca Casartelli
— May 14, 2020

DevOps Principles: My Journey as a Software Engineer

I spent the last month reading The DevOps Handbook, a great book regarding DevOps principles, and how tech organizations evolved and succeeded in applying them.As a software engineer, you may think that DevOps is a bunch of people that deploy your code on production, and who are alw...

Read more
  • DevOps
  • DevOps principles
Michael Dehoyos
Michael Dehoyos
— May 13, 2020

Linux and DevOps: The Most Suitable Distribution

Modern Linux and DevOps have much in common from a philosophy perspective. Both are focused on functionality, scalability, as well as on the constant possibility of growth and improvement. While Windows may still be the most widely used operating system, and by extension the most common...

Read more
  • DevOps
  • Linux
Avatar
Logan Rakai
— April 7, 2020

How to Effectively Use Azure DevOps

Azure DevOps is a suite of services that collaborate on software development following DevOps principles. The services in Azure DevOps are:Azure Repos for hosting Git repositories for source control of your code Azure Boards for planning and tracking your work using proven agil...

Read more
  • Azure
  • DevOps
Simran Arora
Simran Arora
— October 29, 2019

Docker vs. Virtual Machines: Differences You Should Know

What are the differences between Docker and virtual machines? In this article, we'll compare the differences and provide our insights to help you decide between the two. Before we get started discussing Docker vs. Virtual Machines comparisons, let us first explain the basics.  What is ...

Read more
  • Containers
  • DevOps
  • Docker
  • virtual machines
Avatar
Adam Hawkins
— October 24, 2019

DevOps: From Continuous Delivery to Continuous Experimentation

Imagine this scenario. Your team built a continuous delivery pipeline. Team members deploy multiple times a day. Telemetry warns the team about production issues before they become outages. Automated tests ensure known regressions don't enter production. Team velocity is consistent and ...

Read more
  • continuous delivery
  • continuous experimentation
  • DevOps
Avatar
Adam Hawkins
— September 13, 2019

How Google, HP, and Etsy Succeed with DevOps

DevOps is currently well developed, and there are many examples of companies adopting it to improve their existing practices and explore new frontiers. In this article, we'll take a look at case studies and use cases from Google, HP, and Etsy. These companies are having success with Dev...

Read more
  • Continuous Learning
  • DevOps
  • Velocity
Chris Gambino
Chris Gambino
— August 28, 2019

How to Accelerate Development in the Cloud

Understanding how to accelerate development in the cloud can prevent typical challenges that developers face in a traditional enterprise. While there are many benefits to switching to a cloud-first model, the most immediate one is accelerated development and testing. The road blocks tha...

Read more
  • deploy
  • deployment acceleration
  • development
  • DevOps
Avatar
Adam Hawkins
— August 9, 2019

DevSecOps: How to Secure DevOps Environments

Security has been a friction point when discussing DevOps. This stems from the assumption that DevOps teams move too fast to handle security concerns. This makes sense if Information Security (InfoSec) is separate from the DevOps value stream, or if development velocity exceeds the band...

Read more
  • AWS
  • cloud security
  • DevOps
  • DevSecOps
  • Security
Valery Calderón Briz
Valery Calderón Briz
— August 8, 2019

Understanding Python Datetime Handling

Communicating dates and times with another person is pretty simple... right?“See you at 6 o’clock on Monday” sounds understandable.But was it a.m. or p.m.? And was your friend in the same time zone as you when you said that? When we need to use and store dates and times on Pytho...

Read more
  • DevOps
  • Python
  • Python datetime
  • Unix timestamp