21st Century Products: The Era of Service Enabled Goods
Posted on November 3, 2014
We’ve seen a variety of interesting developments in computing, the astounding success of Docker being the most recent. When I look back across the successes and failures an interesting realization pops out at me: the difference between a good product and a great one is whether or not it service enabled.
Lets use Docker as an example. What makes Docker great? Is it about virtualization (LXC)? That’s certainly an enabling technology, but LXC has been around awhile and Solaris Zones have been around for nearly 10 years. Is it about the containerized application deployment? Sure, thats really important too, but the “golden image” or “immutable instances” concept has been a popular one in IaaS cloud deployment for at least 4 years. Its my firm belief that the thing that really makes Docker great is the Docker Registry and the included “push/pull” commands that interact with the Registry.
Docker is “service enabled”. And that service brings with it a variety of powerful capabilities, but chief among them are two really important ones:
- It provides s a built-in workflow that seamlessly extends our effort beyond the local host
- It enables collaboration which facilitates community
Vagrant has taken this aspect seriously and Hashicorp has created the Vagrant Cloud, which I think will add a whole new dimension to the capabilities of an already amazing product.
Now, the idea of service enabled goods isn’t a new one. Whats remarkable about these products is that as free and open source software they include the capabilities at no cost and not as a separate add-on enhancement. If Docker had a separate version which added these capabilities I seriously doubt it would have had the same kind of traction it has.
Some serious challenges exist, however. While no-cost service enabled capabilities are great for hackers and tinkers, the professional and paranoid users want security, privacy, and desires to avoid external dependencies outside of their control. This is the problem of cloud in general, some people see turning over operational control to a provider as liberating and enabling while others interpret it as a threat or risk. And to be sure, many companies are happy to have you hooked or repelled by these offerings to either sell you more or sell you an expensive on-prem solution.
The en-mass transition to cloud is slowing changing these hang ups, I think. More and more often, an “on-prem” solution isn’t actually installed on your premises, rather its being installed onto instances at your cloud provider… in which case, whats the difference really between whether I install the software on cloud instance which I’m managing or which someone else is managing for me? Its in the cloud either way.
Docker, NPM and Chef are examples of products that are interesting because most of us started using and loving the products as free open source software before we even realized there was a commercial entity behind them. This has a profound impact on the sentiment towards these products versus buying a traditional product which uses service the enhance and up-sell existing products. Consider server and networking manufacturers who sell you a box and then tell you that to get all the nifty management capabilities already present in the equipment you have to attach it to an external product outside of your control and then you have to pay ongoing fees to use it… you feel cheated that your being milked for capabilities of something you’ve already paid good money to have in the first place.
This is a concept I’ll continue watching with great interest. Its everywhere, but our personal opinions about it are mixed and its largely about trust, not technology. Consider iCloud. All our Apple devices are iCloud enabled, but many of us struggle to trust it. And I think the reason we struggle to trust it is because we already pay good money for our iPhones and MacBooks and we’re asked to pony up cash for a service behind it which we may or may not trust Apple to provide for us.