By Andrew Frith, Principal Architect, Enterprise Blueprints
The cloud has been heavily popularised over the years and represents different things to different people. Some see it as the answer to everything, fast, cheap, resilient, and scalable. Put something in the cloud and will always be better!
Others have a more cynical view, you’re just paying to use someone else’s computer in a data centre that removes control and introduces risks. As with many things, the answer is more nuanced and lies somewhere in the middle.
Is the cloud a silver bullet for your applications, legacy infrastructure, and speed of change? In short, No.
It can allow you to tackle those challenges, but it will require a lot of effort on your part to effectively make use of its capabilities. The assorted cloud providers can offer you a dazzling array of capabilities, but is your organisation able to utilise them effectively?
Cloud offers great capabilities to rapidly scale your workloads up as demand increases, and down to save costs in the quiet hours. Yet some organisations struggle with this. Using legacy approaches and hand built environments means they are unable to dynamically scale up without significant operator intervention, manual activities that increase the risk of human error. Conversely, they are unable to easily scale down environments to save costs and pay for more than they need. It can get expensive having a pile of build servers running 24/7 when your developers work 8/5.
Speed of change with cloud platforms is also often cited as a large pro. Cloud providers rapidly iterate their product offerings and management. Can your organisation keep pace with these changes to take advantage of them? Do you regularly run your on-premise kit down to the support wire, or beyond, because it’s too hard to change?
Again, this can cut two ways. Many organisations look to move to the cloud to increase agility and speed of change, but many don’t consider what is really holding them back. Is it your on-premise platform, your change culture, or both? I have worked with organisations that struggle to tackle hard problems head-on and keep avoiding them while complexity and technical debt pile up around them. This makes the overall problem harder when they do need to solve it. Others had an extremely low-risk appetite and were afraid to make big sweeping changes, or turn things off. Yet others it can be general organisational inefficiency. Changing platforms won’t address cultural challenges, so consider what non-technical changes you require to improve delivery alongside platform changes.
Older organisations will have their own on-premise systems, staff, and processes already deeply embedded. Unless these have serious issues is it worth the effort to move away from them? Talking to one organisation about their cloud strategy recently and they had started moving some systems back to on-premise. They were not getting the cost benefits they wanted and had a good internal platform with robust developer tooling which was a better fit for some of their systems.
Both the cloud and on-premise hosting offer a variety of capabilities and potential challenges. The important part is to understand how each fits your requirements, use cases, and ability to execute on that platform. Changing a platform won’t fix a badly architected system without a wider view to build the right architecture for your target platform. Whatever you choose to build on, architect and design it well for that platform. The cloud isn’t magic, implementing a system on it will only have the potential benefits if you can effectively utilise the cloud capabilities. There are many organisations building great systems on the cloud. Is your organisation ready to use it to its full potential?