I like Docker. It's easy to use and fast. Simply brilliant. So brilliant that every day we find new possible applications. But what actually is the real problem it solves? Stable environments? Configuration management? Effective virtualization?
I think it is something else.
In the past I used to work for a company providing (and buying) business-to-business (B2B) services. Looking from that perspective, it was always surprising to me that B2B services did not move far beyond simple content syndication in times when technology changed so much: ultra-fast broadband networks, expanding clouds, distributed databases, etc.
There are some exceptions: a few B2B services mostly in areas of advertising (Google AdWords, Facebook Ads), analytics (Google Analytics), and streaming (Netflix). The vast majority of the B2B market, however, still revolves around slow, asynchronous data transfers.
Why is it so? I think that businesses expect a much higher quality of service than end users do. So it is harder for the market of B2B services to grow. Only a handful of companies were actually able to win customers' trust. I've just mentioned a few, namely Google, Facebook and Netflix.
Yet, if you were a customer, there is somebody else you would trust - yourself. So what if you could get the service you need delivered in a black box, which you could deploy wherever you want - to your data center or a cloud? You decide on network latency and how much resources (computing power, memory etc.) it is given. Even if you don't know how the service actually works, you already trust it more, don't you?
Docker is a technology, which perfectly solves the problem about how to package services. Using Docker, business customers could deploy their services very closely to the applications that need them. Same model as in high frequency trading, where network latency has been brought to minimum.
Technologically-wise, the time is just right. The family of aaS (IaaS, PaaS, SaaS) solutions is mature enough; Docker enables the next step: Service as a Product. But we are still missing a few things.
- Marketplace - where buyers can find containers with services they need.
- Property protection mechanisms:
- Licensing infrastructure - allowing providers to benefit when the demand for their services in customer's cloud grows (federated license servers?).
- Intellectual property protection (encrypted containers?).
- Container orchestration - to manage complex multi-container services.
However, I am optimistic. The B2B space, I think, is going to change, as Docker opens a new market of standard, easily deployable B2B services. And I hope that soon we will see that happening.