Many people working in IT have probably already heard about Docker. Docker is the next stage of virtualisation enabling applications to be run in virtualised containers. The use of Docker is especially beneficial to application developers who no longer have to worry about the underlying infrastructure and application dependencies when moving from one environment to another. Let’s say I build an application in a Docker container and I share that Docker image with you, you almost certainly will have no issues running the same application in your Docker environment.
The easy way of thinking about Docker is to draw an analogy to Apple App Store. Whatever has been uploaded to App Store can be pulled down to a users iPhone and the apps just work. Similarly Docker images can be pulled down to servers and they just work. But better than in the App Store, users can make changes to these images (or build their own), upload them and someone else can pull down the changed version for their own use.
But Docker is becoming quickly much more than that. It allows to pave the way for true utility-based cloud computing. These days most Infrastructure as a Service providers still charge based on predefined server configurations build on available virtual CPUs or memory specifications. Often these servers are not being used to their maximum capabilities (neither should they be) but the users still end up paying for it.
With Docker it would be possible to further break down the usage of those servers to much more smaller units and come very close to true, utility-based, cloud computing and pricing models.
Even more interestingly this approach could be taken further to enterprise applications. Today most of these applications are still monolithic and when an enterprise software company sells a perpetual license customers end up paying for all the functionality covered in that license regardless whether it will be used or not. This is true for the SaaS licensing models as well.
Furthermore, many of these enterprise applications need a lot of computing power. Therefore customers end up paying not just for the unused functionality but also for the computing power needed to run that unused functionality.
Let’s take an example where company A wants to have a procurement process where they go from purchase requisition to purchase order to confirmation to goods receipt and all the way to invoicing. Company B might want to keep things simpler: PO first and then straight to invoicing. Now both companies probably end up paying the same amount in license fees and probably very similar amount in computing power.
In the future enterprise applications with the help of Docker could be built like Legos. In the case of our two companies each transactional functionality could be provisioned in Docker containers and each container could be charged separately based on the functionality and as well as the respective underlying computing power needed.
Docker, and more certainly these enterprise applications companies are not ready for this approach quite yet but it won’t be much longer when business savvy CIOs and technology savvy CFOs start requesting this type of functionality and pricing models. Previously it was not technically feasible to build enterprise application this way but now thanks to cloud and Docker a new way of developing and pricing enterprise applications should become the new reality.
Speak to the cloud computing experts at Cloud Comrade
At Cloud Comrade, we specialise in providing our clients in Singapore and South East Asia with best in class cloud technology solutions that put them ahead of their competitors and which keep their critical data highly accessible and secure. Ready to take your business forward? So are we: www.cloudcomrade.com/