I often get asked why Red Hat chose to standardize on Kubernetes for OpenShift, instead of going with a competing container orchestration solution. OpenShift is Red Hat’s enterprise Kubernetes distribution, available as both a commercial software solution (OpenShift Container Platform, available to run on OpenStack, VMware, AWS, GCP, Azure and any platform that delivers RHEL 7) and a public cloud service (OpenShift Dedicated and OpenShift Online). There are a number of open source container orchestration solutions available today. The OpenShift product team explored many of them, and we even explored building our own. In this blog, I will explain why we chose Kubernetes and why more than two years later, we couldn’t be happier with our decision!
Background
OpenShift was first launched in 2011 and always relied on Linux containers to deploy and run user applications. In OpenShift v1 & v2 we used our own platform-specific container runtime and container orchestration engine, like many PaaS solutions that relied on containers. In mid-2013, Red Hat made an early decision to support the docker open source project and help drive industry standards for the container runtime and packaging format. We brought full docker support to Red Hat Enterprise Linux 7 (as well as Fedora and CentOS) and this became the foundation for OpenShift 3.
However, we always knew that OpenShift would need more than a container runtime. As I often like to say, real applications don’t run in a single container and real production applications can’t be deployed on a single host. The ability to orchestrate multiple containers across multiple hosts was a critical requirement for OpenShift. In late 2013 and early 2014 we explored a number of options, including nascent orchestration efforts in the docker community, a thorough evaluation of Mesos and we even experimented with building our own OpenShift-specific orchestration solution. We even heard calls from the Twitterati that Red Hat should embrace other projects instead of OpenShift.
Ultimately our investigation led us to Kubernetes and looking back on it now there are three main reasons why - great technology, a great partner and a truly great community.
Great Technology
What we first saw and still love about Kubernetes were powerful primitives for container orchestration and management. These included:
- Kubernetes pods that allowed developers to deploy one or multiple containers as a single atomic unit.
- Services to access a group of pods at a fixed address and integrated IP and DNS-based service discovery to link those services together.
- Replication controllers to ensure that the desired number of pods is always running and labels to identify pods and other Kubernetes objects.
- A powerful networking model to manage containers across multiple hosts
- The ability to orchestrate storage, allowing you to run both stateless and stateful services in containers.
- Simplified orchestration models that quickly allowed applications to get running without the need for complex two-tier schedulers.
- An architecture that understood that the needs of developers and operators were different and took both of those requirements into considerations, eliminating the need to compromise both important functions.
We also liked that Kubernetes was written from the ground up in the Go language and was specifically designed for container orchestration. Nothing we saw in the docker community or in our own homegrown efforts even came close. While Mesos already had an established track record in big data, it was focused more on cluster management and relied on plugins like Marathon or Aurora to orchestrate containerized application services. These plugins were less capable than what we saw in Kubernetes, and Mesos itself was a more complex C++ code base, that we felt would be more difficult to extend and maintain. Even today we see solutions like Docker Swarm and Mesos copying many of the container orchestration primitives that Kubernetes pioneered. But the Kubernetes community has not stood still, and innovation in Kubernetes continues marching forward at an amazing pace with each release.
A Great Partner
Looking back through my old emails, I discovered that our first meeting with Google on the containers topic was in early March 2014. That meeting included folks like Craig McLuckie, Joe Beda, Brendan Burns, Martin Buhr, Ville Aikas and other pioneers of the Kubernetes project at Google. Of course at that time, we didn’t know that Kubernetes existed. Our goal was just to discuss the work that both companies had been doing in the docker community and explore areas of alignment.
Both Google and Red Hat have a long history of contributions to Linux and containers technology. It was Google’s work on Linux Control groups (Cgroups) back in 2006 that formed the foundation for containers in Linux and enabled projects like docker to exist. Red Hat has also contributed extensively to containers technology in Linux and, along with Google, quickly became top contributors to the docker project.
At that meeting, we learned that not only was Google committed to docker and bringing it to the Google Cloud Platform, but that they also had a new project in the works for container orchestration. This project, code named “Seven of Nine” at the time, was subsequently demonstrated to Red Hat Engineering leads Matt Hicks, Clayton Coleman, Daniel Riek and others and suffice it to say, it was love at first sight! ;) Many of the orchestration capabilities were drawn from Google’s own experience running legendary systems like Borg and orchestrating containers at scale over many years. It’s an overused line at this point, but at Google everything runs in a container and when you deploy billions of containers every single week, you quickly learn what works and what doesn’t.
Project “Seven of Nine” ultimately became Kubernetes and launched in July of that year, reaching 1.0 status just a year later in July 2015. I’ve often heard it said that when evaluating a company, you should focus on the people, not the products. In that regard, the Google Cloud team was hard to beat and their knowledge and experience with containers and managing them at scale was second to none.
A Truly Great Community
A mistake people make when evaluating open source software is to spend too much time looking at the technology and not enough time evaluating the community around it. This is one of the first lessons I learned as a Product Manager at Red Hat. The current state of any open source technology is just a snapshot in time. The state of the community around it is what determines the pace of innovation and how quickly that technology will evolve over time. In just over a year, the Kubernetes community has grown to nearly 4x the number of contributors as any other container orchestration project and has become one of the fastest growing open source projects on Github. And now under the governance of the Cloud Native Computing Foundation (CNCF), we’ve seen outstanding collaboration and innovation from a broad set of companies and individual contributors.
From our earliest discussions with Google, we saw their commitment to build a completely open community that was based on meritocracy. They invited Red Hat to join that community and asked for our input on how to shape it. When Kubernetes was finally released as open source in July 2014, Red Hat joined in the launch and today we are #2 only to Google in contributions. With Google’s support, we’ve worked to help enable Kubernetes for enterprise customer use cases and we deliver that through OpenShift.
The vibrancy of the Kubernetes community is reflected in the growth of the project and new features being introduced with every release. Today we see Kubernetes expanding to run at new levels of scale, enabling new workloads, driving cluster federation and addressing enterprise requirements around security and manageability, while enhancing ease of use.
That vibrancy is also reflected in events like Kubecon 2016, happening this week in Seattle. The event is sold out, and is expecting twice as many attendees as the last years event, with hundreds more on the waiting list.
And once again, I and the entire Red Hat team are excited to be part of it.
Sull'autore
Joe Fernandes is Vice President and General Manager of the Artificial Intelligence (AI) Business Unit at Red Hat, where he leads product management, product marketing, and technical marketing for Red Hat's AI platforms, including Red Hat Enterprise Linux AI (RHEL AI) and Red Hat OpenShift AI.
Ricerca per canale
Automazione
Novità sull'automazione IT di tecnologie, team e ambienti
Intelligenza artificiale
Aggiornamenti sulle piattaforme che consentono alle aziende di eseguire carichi di lavoro IA ovunque
Hybrid cloud open source
Scopri come affrontare il futuro in modo più agile grazie al cloud ibrido
Sicurezza
Le ultime novità sulle nostre soluzioni per ridurre i rischi nelle tecnologie e negli ambienti
Edge computing
Aggiornamenti sulle piattaforme che semplificano l'operatività edge
Infrastruttura
Le ultime novità sulla piattaforma Linux aziendale leader a livello mondiale
Applicazioni
Approfondimenti sulle nostre soluzioni alle sfide applicative più difficili
Serie originali
Raccontiamo le interessanti storie di leader e creatori di tecnologie pensate per le aziende
Prodotti
- Red Hat Enterprise Linux
- Red Hat OpenShift
- Red Hat Ansible Automation Platform
- Servizi cloud
- Scopri tutti i prodotti
Strumenti
- Formazione e certificazioni
- Il mio account
- Supporto clienti
- Risorse per sviluppatori
- Trova un partner
- Red Hat Ecosystem Catalog
- Calcola il valore delle soluzioni Red Hat
- Documentazione
Prova, acquista, vendi
Comunica
- Contatta l'ufficio vendite
- Contatta l'assistenza clienti
- Contatta un esperto della formazione
- Social media
Informazioni su Red Hat
Red Hat è leader mondiale nella fornitura di soluzioni open source per le aziende, tra cui Linux, Kubernetes, container e soluzioni cloud. Le nostre soluzioni open source, rese sicure per un uso aziendale, consentono di operare su più piattaforme e ambienti, dal datacenter centrale all'edge della rete.
Seleziona la tua lingua
Red Hat legal and privacy links
- Informazioni su Red Hat
- Opportunità di lavoro
- Eventi
- Sedi
- Contattaci
- Blog di Red Hat
- Diversità, equità e inclusione
- Cool Stuff Store
- Red Hat Summit