Recently I attended DockerCon in Austin, Texas. Docker has been gaining an increased amount of interest in the enterprise for both building new greenfield applications and migrating legacy applications. Docker has become synonymous with microservices-based architectures, but enterprises are mired in legacy applications. In my experience, well over 90% of all workloads in enterprises are not microservices-based architectures, so I was interested in hearing how Docker would address this issue.
Last year at DockerCon 2016, Docker announced that legacy application migration had become its top use case. Docker was shifting its focus to meet the needs of the enterprise. This year, Docker dedicated the entire day-two keynote to enterprise solutions and had customer testimonies from large enterprises such as MetLife and Visa.
On the first day, Docker announced two new open-source projects: the Moby Project and LinuxKit. I expect the Moby Project will be a game changer. Docker has built what it calls a pluggable architecture, with which its customers can mix and match Docker and non-Docker components to build platforms to their specifications. The openness and flexibility of this architecture come with their own challenges. Plugging all these disparate components together can become a cumbersome and complex undertaking. The Moby Project was launched to combat this issue.
The Moby Project
The Moby Project is a container framework that simplifies the process of assembling technology stacks made up of different containers. Customers can bring their own components or pull from a library of eighty-plus ready-to-go components. At the conference, Docker gave a demo of how easy it can be to mix and match various technology components and cloud endpoints with minimal effort. The image below shows the different stacks and endpoints that were demoed using the container framework. Deploying these stacks was performed in minutes with a minimal amount of configuration required. The Moby framework provides a level of abstraction that allows operations to quickly swap in and out various technology components without the need to change application code.
LinuxKit is another important open-source project announced by Docker. One of the reasons why PaaS adoption has not met our expectations yet is because developers often feel that these platforms are too prescriptive (and often too expensive). Docker introduced the concept of Containers as a Service (CaaS) two years ago. With CaaS, enterprises can plug in their own technology stack components to build their own platforms tailored to their needs. One of the complaints from customers was the size of the images. Docker introduced LinuxKit to alleviate that issue.
When Docker purchased Unikernel Systems in January of 2016 and introduced us all to the concept of a unikernel, a highly specialized minimal operating system, many of us wondered if customers would be able to understand and leverage this concept. Instead of trying to sell this complex concept to customers, Docker leverages unikernels under the covers within its own platform to bring us products like LinuxKit.
With LinuxKit, customers can customize their operating system to include only the bare minimum number of components, resulting in a much smaller image. The advantages of this approach are many.
- Smaller image size
- Simpler to patch, patching required less frequently
- Smaller attack surface increases security
- Highly portable
- Tailored for customer’s needs
- Lightweight solution for edge devices
LinuxKit lets customers take advantage of unikernels without having to have deep knowledge of operating systems and kernel technology. This is just another example of abstracting complex technologies to empower customers to become more productive.
Docker in the Enterprise
Day two was all about the enterprise. Docker introduced its application migration service called MTA (Modernize Traditional Applications), which comes with a guarantee to migrate an application in five days or less. Currently, this guarantee is offered only if certified system integrators and cloud providers are used. Only Microsoft and HPE are certified cloud endpoints at this time. Expect AWS and Google to be certified in the future.
If MTA is successful, Docker will tap into huge enterprise IT budgets that were not available to it when targeting microservices-based architectures. Most large enterprises are either trying to reduce their data center footprint or trying to get out of the data center business entirely and go all in the cloud. I believe application migration will create the lion’s share of cloud revenue generation for cloud providers, system integrators, and cloud vendor products for the next several years. This is a very smart move by Docker.
Docker also announced that six Oracle products are now certified and available on the Docker Store. Enterprises with legacy Oracle components can now go to the Docker Store to pull down certified images of the following Oracle products:
- Oracle Database
- Oracle Java Development Kit
- Oracle Weblogic Server
- Oracle HTTP Server
- Oracle Coherence
- Oracle Instant Client
Migrating Oracle products to the cloud has been a sticking point for many enterprises. Having certified Oracle images in the Docker Store will help companies move to the cloud more seamlessly.
Docker started as the technology of choice for microservices-based architectures but is quickly morphing into an enterprise-ready solution for migrating legacy applications. Although most people associate Docker with containers, Docker is really a platform company. Containers are simply the underlying technology that Docker uses to build the platform, just like every PaaS company leverages containers under the covers.
One of the reasons for Docker’s valuation of over $1B is that investors understand the value of platforms. VMware took the world by storm back in the day when it built a platform for virtualizing hardware. Docker is building the next generation of platforms and is becoming what PaaS players had always aspired to be.
Some analysts believe that orchestration tools like Kubernetes, Mesos, and Docker Swarm are where the value is, but the Docker platform will commoditize orchestration engines, as they are just another layer of the platform. Docker is now embracing Kubernetes, whereas Swarm is just another choice for developers, not a competing product to the other orchestration engines.
Docker still has a gap in the data layer. The three customer use cases I attended all mentioned feature gaps when dealing with the data layer. The data layer consists of persistent data (e.g. databases) that are stateful. Containers are best suited for stateless apps. Docker is working on this issue, as are a number of startups. I would not be surprised if Docker’s next acquisition is a company that addresses some of these gaps.
Board members and investors are putting a lot of pressure on CIOs to get out of the data center business. CIOs are tasked with consolidating or even eliminating data centers over the next few years. With thousands of legacy apps in their portfolios, CIOs need to be able to move quickly and handle all of the baggage that comes with legacy applications. Wrapping legacy apps in containers and quickly porting them to the cloud is a very attractive proposition for CIOs. Now that Docker has released its MTA program complete with guarantees, expect enterprises to give Docker a serious look for their application migration initiatives.
Finally, enterprises are very demanding and require a robust feature set that can accommodate all of the legacy baggage found in enterprises. Expect Docker to raise another round in the near future to accelerate investments in the enterprise space. There is a huge land grab going on as enterprises shift to the cloud. Docker is in the right place at the right time and simply needs to continue to execute to reward its investors.