One of the common concerns around using public cloud is supplier lock-in. There is a worry about being trapped with a cloud vendor once you move your services to the cloud due to the time and money invested during the migration, which would be lost if you had to re-architect and migrate your infrastructure onto a new platform.
However, if you decide to use containers, cloud-hosted data and applications can become significantly more portable, helping to elevate some of these concerns.
What are containers?
A container is a way of packaging up code and all its dependencies so that an application runs quickly and reliably from one computing environment to another. In short, a container allows an application to be packaged and isolated from the IT environment it is stored in.
A good way to picture this is by analogy to physical shipping containers: the items inside the containers are isolated from where they are stored (the ship), and from the items in other containers, and the container itself follows a set of standardised sizes, enabling them to be used on any other shipping container across the world.
Container platforms are provided by third-party companies who are agnostic to the cloud platforms, so your developers will need to become familiar with deploying to your chosen container platform.
Key benefits of containers
1.Portability of information
The major benefit of using containers is the portability they enable. Since the application in the container is isolated from the environment it is stored in, you are able to move the container to other locations knowing that your applications will work in the same way without modification. In effect, this helps mitigate the worry of supplier lock-in for many, giving users the option to switch cloud providers without having to worry about losing all the work done to build and migrate your IT infrastructure.
Let us say you deploy your applications using containers on a public cloud platform, such as AWS, and you decide to make the switch to Azure. The only work needed from you is moving the containers, as there will be no need to reconfigure what is inside them.
2.A new approach to storing data
A second benefit is how containers encourage microservice architectures. When hosting monolithic applications, the method in the past has been to store it the whole application on one or two larger VMs. With a microservice approach, these big applications are unbundled into component pieces, which can then be deployed individually as containers, allowing the different pieces to talk to each other, typically using HTTP.
This approach allows you to be more agile because of the ability to update each component part separately. It also allows you to get much more reuse of the individual components for other services. For example, a component as part of your revenue and benefits application can be reused as part of your social care management platform. This reuse can lead to you having to pay less and do less development.
One thing to bear in mind is that this microservice approach works well when you are building and developing your own applications, as you can make the choice to use this microservice architecture. However, where you are buying pre-built applications from a third-party vendor, it will depend on if they have adopted a container approach for that application.
What to do next
As you can see, containers offer a wide variety of benefits that are more than likely to be relevant to your organisation. Where you are developing applications in-house using your own development team, it is worth considering the container approach going forward.
You might also consider taking the following actions:
Look where your application vendors are in terms of supporting containers
Review what skills you have in-house to use and deploy to containers and begin to upskill in your chosen container platform
Find out where different cloud providers are with their container platforms
There are tools starting to appear that look at your legacy estate and attempt to convert them to a container approach. It is still fairly early days for these tools, but they are worth keeping an eye on.
Posted by Andy Powell.
Andy has over 30 years IT experience in a wide range of roles including networking, system administration, software development, website/digital delivery, IT strategy, solutions architecture and national & international policy advice. He is a strong technical writer and experienced communicator and has spoken at conferences and events all over the world.
Andy is CTO at Jisc.