Microsoft and Docker’s recent partnership reminded me of how the world has changed. I’m thinking about the introduction of Java back in the 1990s. Back then I was extremely skeptical of Microsoft’s motivations for their “support” of Java. This time I am not skeptical of their motivations with Docker.
The more I think about it the more similarities I see between what was going on then and now, it seems to me that Docker is the New Java (an analogy – yes I know they are very different technologies – I’m comparing the similarities and the roles they are playing in the industry)
– Both came on the scene extremely quickly, going from obscure to deafening hype in 12-18 months
– the main value proposition and hype for both is portability (and they will both not deliver on 100% portability)
– the first excitement was in the development community
– in their early days, people are trying to find production implementations, not finding them, and saying that the technology is not ready or just for internet or consumer use – not for real enterprise use
– both were touting “open” (even though originally Java was not open source)
– both were talking about containers – in the case of Java it was the Java virtual machine and bytecode
– vendor dynamics were playing a huge role in the hype and the alignments
– vendors walk a fine line in supporting an open technology with the value add and differentiation they need
– There are higher-level areas where disagreements, complexity, and nuance will thrive. In the case of Docker, that level is orchestration (e.g., Kubernetes). In the case of Java there were attempts to position it as “just a language” when it was much more.
Some things never change though. Vendors support things because it is in their interest, not those of developers and users. If those interests coincide, fine. But that’s not what drives them. Certainly there is usefulness to developers and that is driving excitement. But as for broad support by vendors, it is driven not just by usefulness to developers but usefulness to vendors. Which means competition, FUD, etc.
The potential to vendors of Docker and other OSS and portability enablers (e.g., CloudFoundry and OpenStack to some extent) is to change the competitive dynamics of the market. Those leading markets (like Microsoft did in the 1990s) don’t want to see change while those challenging (Sun in the 1990s) look to leverage the new into the change they want.
The announcement from Docker and Microsoft highlights how the market has changed. Back when Microsoft ‘supported’ Java shortly after its announcement, they were the market leader and they fooled lots of people. Today Microsoft really does support Docker. Because they are (along with Google and others) trying to wrest workloads, leadership, etc. away from Amazon (the public cloud leader) and WMware (the private whatever leader).
When I hear that VMware and Amazon also ‘support’ Docker, I need convincing. I also think, like Java, Docker will play out over several years. Many are overerestimating its impact today, but longterm likely to be underestimating it.