Business adoption of cloud services is often analyzed with reference to the benefits this offers, such as agility, proportional growth, the transition to a pay-by-use model, reduced hardware investment (Capex), or even a reduction in operating costs. These studies show how businesses can generate an ROI by either cutting infrastructure or management costs, or by boosting their IT teams’ productivity. The likes of the IDC, Mission Critical Magazine and the IDG have produced good examples of these studies.
But the business case for cloud begins before the benefits stage. It relies on understanding the different applications of cloud services, what the migration strategy will be, what is ready to be migrated and what the business is ready to transform digitally. This journey – as well as the decision-making involved – requires a smart approach. One of the most interesting of these is based on the 6 Rs, which are:
- Rehost: application migration to the cloud with a focus on infrastructure- as-a-service (IaaS). Well known as lift-and-shift, this maintains the original architecture and normally offers a high degree of automation.
- Replatform: application migration to platform-as-a-service (PaaS), maintaining its current architecture or version. This also offers a high degree of automation, but takes advantage of optimization on managed services.
- Repurchase: replacing applications with their software-as-a-service (SaaS) or cloud-compatible versions.
- Refactor/rearchitect: application modernization, usually with a cloud-native approach, but also modernizing the development process and observability strategy.
- Retain: applications to be kept on premises, with the likelihood they will be covered in a future plan.
- Retire: application dismissed before its migration. Probably the application is no longer in use (discovered during the migration planning), or it’s being deprecated due to the new cloud strategy introducing a new way of working, which is more common in IT management systems.
This approach enables decisions to be taken towards the end of the process, defining the migration strategy for each application, but there are other factors that need to be considered first. These include the level of urgency for the business, digital transformation, effort, application coupling, technical skills, impact on the business – both in terms of continuity and risk – as well as the one that has a direct impact on the company’s results, costs.
According to CIO from IDG, managing and controlling cloud costs is among the top two priorities of decision makers in IT, which reinforces this pillar in the migration decision. And in this same article, a cost reduction strategy is designed in four main ways, where we have a cloud-native approach to modernizing applications, which is exactly the strategy that forms the Refactor/Rearchitect approach.
It’s worth reflecting on this, because in many instances it might be counter-intuitive to make the decision to invest time, effort and money in redoing an application in a cloud-native approach, modernizing its technological layer as a cost optimization strategy. But this intuition is immediately revised if the gains of a modernized application are understood and the methodology for an application modernization process is also part of this analysis.
A modernized application with a cloud-native approach is an application fundamentally designed on four pillars: DevOps, CI/CD, containers and microservices. These are already well-known pillars, but there’s a challenge when it comes to working with them in practice, building the right process and integrating with the cloud provider’s services, which requires the right skills and experience. Looking at this approach and oriented to cloud efficiency and process efficiency, Stefanini established its own application modernization methodology, which we call the Infinity Deploy platform. This agile process is based on expertise in strangler pattern modernization – which involves migrating a legacy system incrementally. This is extremely accelerated by a technology layer for DevSecOps, provided as a service and integrated to the main cloud providers (AWS, Azure and GCP).
This technology acceleration reuses well-validated processes and optimizes costs through team productivity, native microservices orchestration and high spot usages. And it is with this vision of having the right method and technology at hand that we can rethink the modernization of applications for the cloud as a strategy not only of digital transformation, but of optimization and improvement from a cost perspective. We might describe this as a FinOps optimization strategy, which is an important and interesting topic for an upcoming article.