Containers: business benefits
In this one we will look at the potential business benefits that could be achieved.
Application modernisation / creation
Let’s start with looking at the typical benefits of application modernisation.
Agility is a baseline tenant of any successful application modernisation process or indeed the creation of new, modern applications. The use of container based platforms support the delivery of this agility.
Containers alone do not provide any direct business benefit, at the end of the day they are just simply a technical vehicle for running applications and services.
When incorporated into an evolved operating model that encapsulates the introduction of agile development methodologies, DevOps principles and an abstract application platform then actual business benefits can be observed and realised.
Infrastructure cost can be improved, due to their highly optimised nature containers are often more densely packed into the infrastructure they consume. This results in a more for less benefit.
Ongoing maintenance, platforms built around container orchestrators are highly autonomous. They automate the deployment, monitoring, configuration, lifecycle and scaling of the containers. This results in significantly reduced operational manpower costs.
Application development efficiency, utilisation of an application platform removes many if not all the historic burden and delay associated with waiting for infrastructure, for application builds throughout the software development lifecycle. In addition, by integrating CI/CD with the application platform it is possible to introduce high levels of build, test and release automation further freeing up developers to focus on feature development. The result being that features and releases are produced more quickly with less developers’ due to the removal of tasks detracting from value creation.
Migrating to cloud
The picture above depicts the typical approaches / options available when migrating applications to the cloud.
Lift and Shift is the simplest model, as its name suggests you simply pick up the application and deposit it, unchanged from a codebase or architecture perspective, in your cloud of choice. Traditionally this would have used virtual machines, it is becoming increasingly popular to use containers for the same purpose. The benefits of this approach are the lowest of all options as nothing has really been done to the application to benefit from the advanced features available in the cloud. However, by using containers you gain the advantage of tighter packing on the infrastructure and by association the cost savings, further given that your application now runs in containers and should your application support it, then the container orchestrator can provide its benefits around availability, scaling, portability, etc.
Cloud optimisation, is where you consider the current architecture of your application architecture and codebase and look to see if it is possible / practical to replace elements of this architecture with services provided by the cloud provider. This should be considered additive to the Lift and Shift approach. An example would be where the current application architecture requires a messaging and a database service. Currently these are services that need to be built and maintained by yourself, even if running in containers. These could be swapped out with minimal code change to use the managed messaging and database services from the cloud provider, the result would be a simplified operating model with less containerised application components to manage.
Modernised applications have had the codebase and architecture adjusted to maximise the benefits of modern techniques, frameworks and cloud services. Their functions are distributed by nature with configuration, logic and data separated. They are optimised to run on a container based application platform, they contain very little, if any, non-functional logic and expect the application platform to deal with this. These applications are designed to be tolerable of infrastructure downtime with an expectation that the application platform will resurrect failed components. The result is a highly streamlined application codebase focused principally of the value delivered, this ensures a high level of developer productivity and the ability to deliver value to your customers more quickly.
Ultimately the benefits of containerisation are most evident when incorporated in to a holistic digital transformation programme which includes both an encompassing migration model and evolved operating model.