Container based Architectures II/III: Business benefits
This is the second part about business benefits.
In the first article, we covered the technical advantages of a container-based architecture from development, testing and production environments point of view. However, in order to get things moving we must be able to comprehensibly describe benefits in a business case.
What are the quantifiable business benefits of starting with or migrating to a container based architecture?
Reduce hardware costs
Unlike virtualization technology (Virtual Machines), in container based architectures there is no need for Guest OS or Hypervisors. It reduces or eliminates the number of virtual machines hardware required (e.g. physical blades, VMs), depending if you run your containers in bare-metal or not. More efficient use of resources will decrease the total cost of ownership.
Reduce licensing and maintenance costs
No need for license neither on Guest OS nor Hypervisors plus reduced maintenance on upgrading Guest OS and Hypervisors.
Simplify deployments and upgrades, improving productivity, and even improving efficiency by allowing operations to deliver more applications with the same amount of resources.
No vendor lock-in. Hybrid cloud enabled
Containers are portable, meaning there is no lock-in with a specific vendor. A Docker container can run the same way on private cloud or public cloud services such as Google Container Engine, Amazon EC2 Container Service (ECS) or Microsoft Azure Container Service. In the third section, I will compare these services.
Reduce time to market due to an increase in productivity
Speed up development and deployment time by adopting DevOps best practices.
Docker easily integrates into all the popular Continuous Integration / Continuous Delivery pipelines enabling Development and Testing to deliver seamless updates to production much more efficient. However, in the event of a problem you can now easily roll back to the previous version as quick as as it was installed initially. Even in failure situations it is easy and quick to rollback.
Creating new environments for testing, pre-production or training can be achieved without great effort. This allows parallel streams of work reducing project total elapsed time.
Standardization. Regardless if a container is running in a Cloud or on a laptop, Docker makes it easy to standardize your environments from Development to Production. Package your application and all it’s dependencies into a single container removes common inconsistencies that are present between Development and Production and allows you to run the same container in any environment.
Improving the mean time to repair/restore (MTTR)
Containers become visual in the pipeline. This increased visibility can help an organization isolate, discover, and determine proper ownership faster.
Hire and retain top talent
There are many factors that will favor retention and hiring of the best Software Engineers. However, top performing Software Engineers usually want to work with best and latest technologies.
Developers, architects, and operations people who are top performers are compelled to use technology to address the business and technical problems that they see. To do this, they need cutting-edge tools, processes, and culture.
References
[ I. Technical advantages ] [ II. Business benefits ] [ III. Public cloud providers comparison ]