Once you’ve implemented your cloud migration strategy, you’ll want to ensure that you’re taking full advantage of the cloud’s performance, scalability, and cost-saving benefits.
This will enable you to pay only for the services and resources you use, achieve a greater ROI, and receive additional savings by using the latest cloud capabilities. This is also the best time to start looking at new services for modernizing your application – migrating to PaaS and even SaaS, where applicable. On-premises tools are not built for cloud scale and agility. Plus, they’re simply not aligned with the new usage models enabled by the cloud. Continual optimization is a critical third piece of your migration journey. Optimization targets two main areas – ensuring peak performance and driving continual cost efficiency.
Ensure continual cost efficiency and optimization
Performance monitoring can help you achieve cost optimization. During the Assess step, you performed rightsizing for on-premises workloads based on a point in time. Once those workloads are moved to Azure, their usage could change. For example, if you move a moderately used app from on-premises to Azure, initially a middle-tier VM and D2 v3 instance (2 vCPU and 8 GB RAM) might be recommended. However, after six months, if the use of that application has declined, you’d want to downsize to a lower VM instance to reduce costs.
Azure Cost Management shows you usage and costs so you can track trends, detect inefficiencies, and create alerts. All usage statistics and cost data are displayed in intuitive dashboards and reports. With Azure built-in cost management services, you can continually monitor for CPU and memory usage. This enables recommendations for VM instances that can be further rightsized. These services can help you detect over-utilized VMs and upsize, as needed, to ensure performance SLAs.
These services can also help you discover underutilized VMs for potential downsizing. For example, Azure cost optimization can provide a regular view of your current total VM utilization. At a glance, you can determine the number of VMs that are consistently underutilized (that is, running below 90 percent). Then, with Azure cost 22 optimization sizing, you can find recommendations for which VMs should be resized, as well as the suggested instance change (including potential annual savings).
As you continue to use your new IaaS environment, targeting maximum cost savings through Azure Reserved VM Instances becomes attractive. Reporting available in Azure Cost Management can point out the workloads that would benefit from Reserved VM Instances, maximizing your TCO.
Drive application innovation
While you’re migrating existing VMs to Azure, it’s also the perfect time to look toward application modernization. This allows you to take advantage of your cloud provider to deliver additional cost savings and flexibility. Cloud optimization is the next logical strategy after lift and shift (or rehosting) for your workloads because many of them will be able to take advantage of other cloud migration strategies. The PaaS services of immediate interest are containers, app services, and database services. Why look at cloud optimization so soon after migrating? The answer is simple. Now that you’ve done all the hard work of assessing your workloads, analyzing them, and migrating them to the cloud, you’ve made it easier to take the step to PaaS. Plus, you can get more cost benefits through reduced management and operating expenses.
A clear place to start is containerization. Containerization is an OS-level virtualization method used to deploy and run distributed applications without launching an entire VM for each app. With containerization, you get immediate savings on operational expenses because of a reduced footprint in the cloud. Remember that the smaller your footprint, the more economical it is. Containerization rapidly moves compatible apps to containers (and out of large VMs) with no code changes. It immediately provides the benefit of running multiple apps with no affect on the end user experience
The next consideration in optimization is moving to specific PaaS services. There are many options to choose from, but App Service and Azure SQL Database are good ones to start with because of the ease of the migration activity. In many cases, web and mobile applications can migrate to App Service with little refactoring effort. By moving from rehost to other cloud migration strategies, you can significantly lower TCO by reducing your footprint and management needs.
It’s important to note that there will be an initial investment of time, effort, and budget to move to more advanced PaaS services. In some cases, if the application is cloud ready, the migration will be simple, but in others, configuration changes and code updates might be required. Fortunately, there are tools available that enable you to analyze your code and determine the effort required to move to app services.
For your databases, the process is straightforward. Azure provides options for database PaaS services, including Azure SQL Database, where you host the data on a full DBaaS platform. Azure SQL Database enables you to host database data in a service, reducing your database management costs, but it has some limitations compared to a full SQL Server deployment. If your applications need functionality that might not be available in Azure SQL Database, Azure SQL Database Managed Instance is the recommend choice. Azure SQL Database Managed Instance enables the full platform experience of SQL Server; however, the underlying OS and SQL services are fully managed by Azure.