Every five to 10 years there is a monumental shift in IT architecture. In the early 2000s, enterprises began seeing the benefits of virtualising physical servers. Cloud computing offered enterprise architects yet another concept to juggle. These days, cloud native is de rigueur and organisations are being encouraged to move towards server-less computing.
Over the last few weeks Computer Weekly has been exploring the subject of containerisation in the enterprise. Containers offer businesses a lightweight approach to virtualisation. But they are not the same thing. While some workloads can indeed be deployed in containers with no change, this is not what containers are designed to do. Migrating a complex monolithic application into a container, still results in a monolithic application and does little to tackle its cost and complexity.
The experts Computer Weekly spoke to recommend starting with simply rehosting the application in a container. But over time, parts of the application needs to be refactored into microservices that run in their own containers. In the world of containerisation, ultimately, enterprises will aim to have the whole monolithic application rebuilt to run cloud natively.
The conversations with the IT experts also revealed a few hard truths about containerisation. It may well offer an elegant approach to developing composable applications going forward, but how does it handle persistence? This is particularly relevant when trying to containerise legacy code that relies on databases.
Avoid unnecessary cost
Then there’s the hidden cost of cloud native computing. A single container is easy peasey. It’s equivalent to a virtual machine. But where’s the fun in that. The benefit of containerisation is having a multitude of containers that scale automatically, thanks to Kubernetes. There is not only the significant learning curve with getting this to work and associated costs, but also cost implications of container sprawl. If each is given a little bit of extra headroom, that can quickly add up to an awful lot of underutilised cloud computing cost.
In the current economic climate, no one is in a position to write a blank cheque to have an existing, functioning application rebuilt, even if, architecturally, it puts the organisation in a far stronger position. No one will knowingly write a blank cheque to a cloud provider, when container sprawl inevitably leads to inefficient cloud spend.
So while containerisation may be the next evolutionary step in IT architecture, let’s stop and fully assess the implications before jumping in.