CoreOS has announced that its rkt (pronounced: rocket) container technology will be integrated with Google’s Kubernetes container management framework. The integration of CoreOS rocket technology with Kubernetes means that the Kubernetes framework need not leverage Docker containers, but can instead rely solely on CoreOS Linux container technology. CoreOS’s rkt technology consists of container runtime software that implements appc, the App container specification designed to provide a standard for containers based around requirements related to composability, security, image distribution and openness. CoreOS launched rocket on the premise that Docker containers had strayed from its original manifesto of developing “a simple component, a composable unit, that could be used in a variety of systems” as noted by CoreOS CEO Alex Polvi in a December 2014 blog post:
Unfortunately, a simple re-usable component is not how things are playing out. Docker now is building tools for launching cloud servers, systems for clustering, and a wide range of functions: building images, running images, uploading, downloading, and eventually even overlay networking, all compiled into one monolithic binary running primarily as root on your server. The standard container manifesto was removed. We should stop talking about Docker containers, and start talking about the Docker Platform. It is not becoming the simple composable building block we had envisioned.
Here, Polvi notes how Docker has transitioned from an initiative focused around creating reusable components to a platform whose mission has deviated from its original manifesto. Today’s announcement of the integration of CoreOS with Kubernetes represents a deepening of the relationship between CoreOS and Google that recently included a $12M funding round led by Google Ventures. While CoreOS previously supported Kubernetes, today’s announcement of its integration into Google’s container management framework represents a clear sign that the battle for container supremacy is now likely to begin in earnest, particularly given that CoreOS brands itself as enabling other technology companies to build Google-like infrastructures. With Google’s wind behind its sails, and executives from Google, Red Hat and Twitter having joined the App container specification community management team, Docker now confronts a real challenger to its supremacy within the container space. Moreover, Google, VMware, Red Hat and Apcera have all pledged support for appc in ways that suggest an alternative standard that defines “how applications can be packaged, distributed, and executed in a portable and self-contained way” may well be emerging.
Microsoft recently announced the release of Microsoft Azure Service Fabric, a platform that supports the development of applications created using an assemblage of independent microservices as exemplified by the concept of Docker containers, for example. While Azure will be supporting Docker in a subsequent release of Windows Server, its support for microservices by means of the Microsoft Azure Service Fabric allows developers to enjoy the benefits of an architecture that uses Microsoft Azure’s indigenous microservices technology to create discrete application components that collectively enable enhanced scalability and the design of low latency, computationally intensive applications. Not surprisingly, Microsoft Azure Service Fabric features the ability to orchestrate and automate microservices in conjunction with application lifecycle management functionality for the distributed systems that are typically characteristic of applications composed of microservices. The platform also supports Visual Studio tools such as designers, editors and debuggers that facilitate the development, deployment and ongoing management of applications across a variety of operating systems, environments and devices. In the same way that Amazon Web Services recently rendered available the same machine learning and data science platform used by its own data scientists in the form of Amazon Machine Learning, the Microsoft Azure Service Fabric delivers the same core technology that Microsoft Azure has thus far used for Skype for Business, DocumentDB and Bing Cortana.
The platform’s deep experience with enterprise-grade applications that serve millions of users and files means that it “intrinsically understands the available infrastructure resources and needs of applications, enabling automatically updating, self-healing behavior that is essential to delivering highly available and durable services at hyper-scale.” As a result of its ability to understand the interplay between infrastructure, applications and distributed systems, the Microsoft Azure Service Fabric delivers a platform for development based on microservices designed to accommodate the needs of hyperscale applications. As such, Microsoft Azure Service Fabric constitutes a pre-packaged response and counterweight to the increasing traction of Docker technology by presenting Azure customers with a production-grade platform that supports stateless and stateful microservices while additionally featuring micro-services orchestration and automation, even though Microsoft plans to support Docker containers on its Azure platform in the future. In a nutshell, the Microsoft Azure Service Fabric gives developers much of the functionality of Docker and an attendant Docker management platform with the added feather in its cap that the platform has been used for years in production-grade environments for household name products such as Skype and Bing, while concurrently paving the way for streamlined usage of Docker containers on the Azure platform as well.