This past week has been turbulent for Docker, to put it mildly.
The pioneers in app-container technology announced new products for orchestration, devops, and enterprise-grade container management. It hosted the first European DockerCon, with a slew of A-list sponsors. But it also faced down a serious challenge from one of its own big adopters, CoreOS, which proposed an alternate container system and a redesigned, modular tool set. Also, arguments still fly over the right way -- if one exists -- to deal with such issues as networking and permissions.
Here are four insights into the future of Docker for 2015 and beyond, as illuminated by the events of the past few weeks and months.
1. Many will try to "fix" Docker; few will truly succeed
Any adopter of a new and fast-moving technology experiences headaches, and Docker has hit more than its fair share. Some of those are by-products of the original application container paradigm's expansion into networking and orchestration, often with multiple (competing, conflicting) solutions available. CoreOS's competing container proposal even suggests that a bottom-up rewrite may be in order.
Docker's own people and some supporters are telling adopters to expect rough roads ahead -- the kind of challenges, they claim, any resourceful company willing to adopt Docker can't tough its way through. Those who have committed to Docker are in for the long haul, even if some bumps await. But the process is likely to generate false starts and dead ends.
To that end, if a competitor offers an elegant, high-level solution to Docker's outstanding (and future) issues, Docker's liable to be caught unaware. CoreOS's shot may be the first of many.
2. Docker isn't the only container technology
At its core, Docker is one of several ways to make use of the Linux kernel and allow applications to be isolated. Docker is arguably the most widely adopted, broadly leveraged, and familiar solution, but others exist. Canonical's LXD, for instance, works with containers based on LXC -- the same technology underpinning Docker -- but is theoretically not limited to Docker. CoreOS's Rocket leverages the same system-level foundation.
The real danger to Docker doesn't come from a developer creating a better container. Rather, it's from a developer who does so in a way that allows the seamless reuse of existing Docker containers in a new context. Given Docker's open source nature, this seems more a question of time and effort than probability.
Docker has a few factors going for it in this context: its breadth of adoption, its rich third-party ecosystem, and the deep investment around it. But none of them guarantee immunity from a resourceful, organized rival that can pick up where Docker leaves off.
3. Expect everyone to stay container-happy for a while
Let's face it: Any cool new technology is intoxicating. Docker and containers are giving IT people the kind of high that VMs and virtualization originally did. Eventually, folks settled down and saw VMs as a specific solution to a specific problem rather than a cure-all to be leveraged anywhere and everywhere.
Docker is producing that kind of giddiness right now, at least partly due to companies sensing a new market and revenue stream. Some of that is obvious. The once-staid IBM, currently in a frenzy of cloud-powered reinvention, has set up a Docker service on Bluemix as competition for similar services now offered by Google, Amazon, and Microsoft.
Other times, the motives are less obvious. Consider Joyent, best known as the steward of Node.js (where the company faces a schism). More of Joyent's work of late has involved containers and its SmartOS and SmartDataCenter products, the latter benefiting from direct collaboration with Docker. Perhaps Joyent senses better monetization opportunities for those products and its Joyent Public Cloud service. After all, Docker and containers offer solutions to a broader set of problems than Node.js alone does.
In time, the mania will level off, not because Docker is a fad, but because its use will become a better-known and better-understood quantity, rather than magic fairy dust. Between then and now, expect almost everyone that deals in cloud or data center solutions to get Docker-happy.
4. The port to Windows may change (or break) everything again
It's easy to forget that one of the more momentous developments in Docker's short history came not long ago -- when Microsoft announced plans to add support for container technology, Docker included, into future version of Windows. There's no timetable yet, and nobody can say how the bits needed for containers on Windows will be added to the OS. (If Microsoft knows, it isn't talking.)
Docker on Windows will potentially shake up both sides of the equation. On the Windows side, it means one of the long-standing problems of application delivery on Windows now has a single, consistent, potentially cross-platform implementation. On the Docker side, it means a new class of Docker users coming from an enterprise Windows environment, whose demands and expectations are markedly different from those of their Linux-reared brethren. These users may have as much to contribute to Docker's evolution as anyone.
The tough part is ensuring such contributions don't end up splitting Docker along platform lines, resulting in Docker for Windows and Docker for Linux with only the most superficial features shared between them. That would be a tragedy for an initiative that's prided itself on the openness and portability of its solutions.