In a move with serious implications for the lowest software layers of data center infrastructure, commercial OpenStack producer Mirantis this morning announced it is partnering with the two most important players in the infrastructure space — Google and Intel — to produce a new version of the OpenStack platform designed to run inside Linux containers (such as Docker), for deployment through Google’s Kubernetes orchestrator platform.
“We are containerizing all of the OpenStack services,” explained Boris Renski, Mirantis’ co-founder and CMO, in an interview with Datacenter Knowledge, “and making it possible to natively run OpenStack on top of Kubernetes — to make it be orchestrated by Kubernetes.”
In a world where the components of the stack are so loose, and the preposition “on” is sometimes used interchangeably with “in” or “under,” it’s often difficult to miss the meaning of what should otherwise be a simple statement. What Renski is telling us is that Mirantis’ commercial OpenStack is itself will be deployed within containers, whose coordination with one another will be maintained using Kubernetes.
Google Leads the Way
As a result, OpenStack itself could become highly scalable on a per-component basis, like a microservices architecture. Currently, OpenStack’s contributors acknowledge the platform’s capability of being stretched to its limits to support massively scalable infrastructures. But in a containerized system managed by Kubernetes, as opposed to bare metal or a virtual machine managed by its own native Fuel component, OpenStack could become not only more elastic but much, much easier to maintain natively.
That’s a very different thing than running Kubernetes, and staging a self-contained, scalable, containerized environment within Kubernetes, on top of an OpenStack infrastructure.
“Most commonly, folks run container orchestration frameworks on top of a VM orchestration fabric,” explained Renski [pictured above]. “We are reversing the paradigm indeed. . . We’re trying to follow the established Google design pattern.”
Renski reminded us that it was Google that first introduced control groups (cgroup) into Linux, creating an effectively partitioned architecture that could be much more easily managed. While Docker Inc. was the first to popularize containers, especially on developers’ sandbox platforms, Google was deploying a primordial form of Kubernetes in-house, called “Borg.”
Now, the wish of data center operators has become to run their data centers the way Google runs its own. Kubernetes does bring that goal somewhat closer. But for data centers that are in the process of migrating to OpenStack, and trying to integrate their old, VM-based workloads with newer, containerized ones, the process has been (as this publication has explained not once but twice) “notoriously difficult.”
“We’re taking this established design pattern that is known to scale very well, and that is known to be the easiest to manage and operate design pattern for distributed cloud systems, and introduce them to OpenStack,” said Renski. “In terms of tangible benefits to end users, it makes it much simpler to patch and upgrade OpenStack, and makes the whole fabric much more stable.”
The CMO admitted to Datacenter Knowledge that his company’s working relationship with Google is not exclusive, although he did characterize their collaboration as tight.
Intel will also be involved with this project, Mirantis announced. The CPU maker is expected to grant Mirantis early access to its rack scale architecture projects, along with Intel’s next-generation monitoring libraries and tools, which involve new on-chip technologies being built into Xeon processors. Intel previewed some of those features last April, during its Cloud Day event in San Francisco.
As Renski understands things, some Intel engineers who work on OpenStack, along with others who contribute to Kubernetes, will be delegated responsibilities for driving the merged architecture going forward.
According to the current schedule, the three companies’ joint work, said Renski, should culminate in Mirantis OpenStack 10, scheduled for release in Q1 2017.
Mirantis itself will try to be first to take advantage of some of these architectural gains by implementing a CI/CD-based deployment scheme where the company implements patches and improvements to OpenStack on a more frequent, incremental basis. By letting the many services that jointly comprise OpenStack inhabit their own respective apartments, it becomes feasible for a managed service provider to maintain each OpenStack service independently.
“For us, this solves the problem of finally making OpenStack into a true microservices application,” remarked Renski, “that we can continuously patch and update following CI/CD principles — by effectively shipping containers to the customers, dropping them onto the Kubernetes substrate, and to some extent, solving the very acute problem of OpenStack lifecycle management and operation.”
But whether this solves an existing problem or creates new ones entirely, may depend on whether admins and DevOps professionals have changed their minds about rigorous deployment since Microsoft began its policy of rolling out Windows updates more aggressively than once per month. If continuous delivery hasn’t exactly been warmly embraced by enterprises, it has been begrudgingly accepted, at least insofar as applications are concerned.
Continuous deployment of infrastructure may be another matter. Mirantis’ Renski acknowledged during our conversation that adopting this principle, at this level, will require customers to undergo a degree of cultural change. But to the extent that some customers and prospective customers are unwilling to consider the need for such a change, Renski says he can actually do just fine without them.
“This has actually been a big point of contention for us, in trying to push OpenStack into the enterprise in general,” said Renski. Although most enterprises tell him they’re making investments in cloud infrastructure to improve their speed and agility, he acknowledged that infrastructure management patterns today prohibit them from implementing any changes whatsoever, to any layer in the stack, without significant testing in sandbox environments first.
“Our approach from day one with the customer has been to educate them, and explain to them, that OpenStack and cloud are basically means to an end,” he continued. “There is a very particular way in which we do cloud, and that way involves adopting CI/CD mechanisms, and this notion of continuously updating the fabric. . . All of that education has to be done for an organization, an enterprise, to really succeed with cloud.”
The reason Renski perceives that OpenStack deployments tend to fail in enterprises, is because they expect it to be a drop-in replacement for VMware. If that’s all a customer expects, he asserted, there’s no point in continuing with moving them toward cloud-native architectures where applications are built for scalability within the cloud.
“The short, brutal answer to your question is that enterprises are choosing consciously to stick with the approach of testing everything and updating once a year,” said Mirantis’ Renski. “They will fail regardless of whether they want cloud, and we are very up-front with them about it. And they’re just not a target customer for Mirantis specifically, or for cloud in general.”
Is This a Fork?
Does Mirantis’ move mean that Kubernetes effectively becomes the de facto orchestration layer for OpenStack? Renski told us that Kubernetes will become, starting with version 10, the orchestration layer for Mirantis’ own distribution. Its contribution to the product will be open source, and thus will be available for others to incorporate into their distributions.
“But we’re not going to do anything in the community that will effectively preclude anybody who doesn’t want to use Kubernetes, from not using it,” he added. “That’s simply not possible to do.”
Renski has a reputation in the OpenStack community for outspokenness. During a keynote appearance at OpenStack Summit in Austin, Texas, last April, he called out a Gartner analyst who spoke before him for daring to appear at a conference supporting a product three years after declaring, in his words, “OpenStack is crap.” From there, he laid into Gartner’s celebrated “bimodal IT” metaphor, receiving some cheers from the DevOps crowd for doing so.
“Mode 1 / Mode 2 is a pretty disastrous concept for me,” Renski reiterated.
“Success with OpenStack is one part technology and nine parts people and process,” the CMO told OpenStack Summit last April 25. “If you're trying to succeed with OpenStack in your organization, and you're embracing OpenStack just as technology, then you will most likely fail.”