Authored by Kit Colbert, CTO, Cloud Platform BU
Another great DockerCon was just wrapped up. The conference continues to grow, with 5,500 attendees this year. The conference itself also feels more mature. Customers are doing more interesting things with containers, the expo is filled with a broader variety of vendors, and there’s just a ton of content. Yet DockerCon is able to maintain its nerdy-fun hacker ethos. And, of course, the quality of the food continues to beat out all other conferences!
DockerCon had a simple message this year: containers are going mainstream. They focused on two areas to back that up: first is the staggering growth and increasing maturity of the Docker open source projects and second is that containers are ready for the enterprise. But are containers really mainstream? Let us see…
Starting with the open source Docker project, the hero numbers are striking:
- 14M Docker hosts
- 900K Docker apps
- 12B image pulls
- 3,300 project contributors
Open source Docker is used across every industry and has a thriving ecosystem. Docker Engine is getting important usability improvements, such as multi-stage builds. Docker Swarm continues to mature, getting more features around security and orchestration. Certainly many of these data points indicate containers are very much going mainstream!
But in order for containers to be mainstream, they need to be adopted by enterprises. A key element of enterprise adoption is the requirement that containers support all applications, not just “cloud-native apps”, or modern, distributed, and usually greenfield applications. While companies are building new cloud-native apps, the reality is that businesses have tons of existing traditional, monolithically architected applications. By containerizing those applications, businesses can reap some of the benefits of containers, such as better CI/CD tooling and automation and greater runtime efficiency, without the need for the expensive and resource-intensive task of rewriting, rearchitecting, or in general, changing any code in the application. Certainly this is mainstream activity!
Indeed many customers presented both on the keynote stage as well as in breakouts about how they were containerizing traditional applications, including Visa, Metlife, Cornell, Northern Trust, Microsoft IT, Societe General, and PayPal. There were discussions about which applications make good candidates for containerization, intros to Image2Docker, and best practices for making the transition.
While “day 1” containerization and provisioning activities were covered, I didn’t see much about “day 2” activities, specifically how folks actually operated those containerized applications in production. For instance, how does one deal with availability issues for a monolithic app? E.g. what if the host has to go down for maintenance? Can the app be restarted on another host? How long does the app take to restart? What if the app takes dozens of minutes or hours to get back up to full speed? What about performance monitoring? Or logging? Or compliance assessments? What about backup? DR? These are the questions that didn’t seem to be addressed.
Quite the opposite, in one session, Metlife even explicitly ruled out discussing these items:
To some degree, this is a maturity question. You’ve got to get the basics of packaging and provisioning solved before you can move on to the meatier topics of day 2 operations. And the reality is that many of those day 2 operations capabilities aren’t well-solved yet in container environments. When talking to one customer, he mentioned that he is running a couple of containerized traditional apps in production but quickly admitted that they’re “not the important ones.” Indeed he did not have solutions for monitoring, back up, or any of the other items I mentioned above. Even Northern Trust, who gave a fairly impassioned talk in support of containerizing traditional apps, mentioned at the end of the session that they had only containerized one Tomcat app and a single Weblogic cluster.
This is exactly where we at VMware want to help! With vSphere Integrated Containers (VIC), we can leverage the high availability features of vSphere as well as its robust ecosystem to solve some of the shortcomings in the container space today. VIC allows you to run a containerized traditional app in production, because it’s leveraging all the production capabilities of vSphere. This means that businesses don’t need to reinvent the wheel for monitoring, compliance, DR, etc – they can leverage the solutions they already have for vSphere! In addition, we’re working closely with Docker, Inc on many different projects, from containerd to LinuxKit to Docker Enterprise Edition. So if you haven’t checked out what we’re doing with VIC, you definitely should!
In the end, have containers gone mainstream? I think we’re oh-so-close, on the precipice. To date, the industry has lacked mature solutions in the container space for all the operational requirements businesses have for any application they want to run in production. But those solutions are coming fast, from the improvements in the open source Docker projects to the growing container ecosystem to what we’re doing with VIC. So if containers aren’t mainstream now, they will be very soon! What do you think – are we there yet?
You can follow Kit on Twitter: @kitcolbert