Many companies are motivated to migrate to the cloud in order to improve the efficiency of their IT and reduce costs. However, the ‘lift and shift’ approach alone often fails to deliver the desired results. Instead, many find that the promised savings fail to materialise and costs actually rise. Using three examples, we demonstrate how we have been able to significantly optimise costs in our client projects.
Cloud-Native Transformation: The Key to Cost Efficiency
To optimise costs in the cloud, it is important to transform existing applications into cloud-native architectures. This means moving away from traditional, monolithic architectures and instead relying on flexible, scalable and efficiently manageable micro- and macro-services. By consistently utilising managed services and serverless technologies, organisations can significantly reduce their operating costs.
Careful selection of cloud services can lead to substantial savings. It is important to choose the right cloud services to optimise costs. For example, switching from more specialised database solutions to more universal and cost-effective options can reduce operating costs by more than 50% when an application is migrated from an Oracle database to an open-source database on AWS.
Many customers require a relational database but do not need Oracle’s specialised features. A PostgreSQL database is sufficient.
Monitoring for deeper insights and cost reductions
Another critical factor is the implementation of a monitoring system. In a cloud environment, traditional hardware monitoring is insufficient, as it overlooks key aspects of application performance and user behaviour. To take these aspects into account, it is advisable to implement a comprehensive monitoring system that collects and analyses all relevant data. Azure Application Insights enables a precise analysis of application performance. This not only improves the user experience but also identifies inefficient use of resources, leading to cost savings.
Following the introduction of Application Insights, we were able to significantly reduce the scaling of the database for a client’s core application. Whilst monitoring, we noticed a business function that was being called very frequently. It uses a dynamic query to retrieve data from the database. Although each individual query was answered relatively quickly and did not stand out in the database’s hardware monitoring, this business function accounted for a large proportion of the overall database load. By making a few adjustments to the code and the database structure, we were able to reduce the load on the database server from 90 per cent to under 20 per cent. This significantly reduced the required server sizing, and we no longer had to worry about managing read replicas.
Nevertheless, we would strongly advise against hastily adding the Application Insights agent to your application and commencing monitoring without comprehensive planning. Our experience shows that the default configuration can lead to a significant increase in costs.
Intelligent use of sizing options
Cloud resources can be scaled flexibly and dynamically to optimise costs. For non-critical or development-related workloads, spot instances and automatic ‘scale-to-zero’ functions can be utilised to reduce costs without compromising service quality. Our experience shows that substantial savings can be achieved through intelligent sizing and the use of cloud-specific pricing options.
In his blog post ‘7 Ways to Save Costs and Energy in the Cloud’, Guido Zockoll has already demonstrated how this can be implemented for Kubernetes. From our own experience, we can report that we set up the development environment on Spot Instances for one project. This carries the risk that the cloud provider may shut down the instance if it needs to meet another customer’s demand. However, this only happened once a year for three hours. Overall, the developers enjoyed better uptime than they had previously in their internal data centre. We were able to benefit consistently from spot instances, which were up to 75 per cent cheaper.
A successful cloud migration requires more than just the physical relocation of applications and data. Organisations must rethink their strategy and adapt their applications and operating models to the cloud. This process requires careful planning and optimisation that goes beyond the ‘lift and shift’ approach. It is important to go through the migration process in its entirety to reap the benefits of the cloud!
Do you have any questions or need assistance?
Feel free to get in touch with us.