Have you ever experienced a moment of panic after receiving the first invoice for your new system that has been moved to the cloud? If you have, you’re not alone! Every day, organizations experience shock as a result of not accurately estimating what they will actually spend on cloud services vs. what they think they will be spending.
To compound the problem, cloud costs are rising at a staggering rate, over 20% year-over-year, and according to studies, two-thirds of CIOs agree that their cloud costs exceeded their budgets.
Additionally, about 30% of all cloud expenditures result in wasted costs due to underutilized or over provisioned resources. Obviously something is amiss with cloud migration processes. What are the reasons for the discrepancies? Type of migration method chosen plays a significant role in determining overall cost.
The process of migrating legacy applications to the cloud is one thing, whereas modernizing them specifically for the cloud can have a greater impact on ongoing operational expenses.
In this article, you will learn how implementing a comprehensive modernization strategy along with best-in-class FinOps practices will turn your cloud sticker shock into long-term cost efficiency.
Why Cloud Bill Prices Increase After Lift-and-Shift Migrations
When companies do a lift and shift migration to the cloud, they often believe that there will be a sudden decrease in costs. Didn’t they think the cloud would be cheaper? Unfortunately, simply moving their on-premise systems to the cloud without changing the way they consume services results in almost all of the same inefficiencies they’ve always had.
For example, anxious about performance, teams tend to provision large virtual machines, continue to use on-premise patterns, and duplicate their testing environments during the transition. This all leads to an immediate increase in the volume of usage (and thus the dollar amount) of their monthly bill.
Additionally, cloud providers bill by the minute and charge for all consumed resources at a fine-grained level. Unless the consuming organization employs proper governance (i.e. tagging all of their resources and regularly reviewing their consumption) the growth in their costs will be hard to predict and difficult to explain until their bill arrives at the end of the month. Therefore, the costs associated with the cloud are not actually greater than on-premise solutions, it’s just the amount of consumption is unstructured and there is no discipline around consumption that causes the companies to overspend.
You might recognize the following scene from real life: an organization is migrating many virtual machines to the cloud provider quickly to have everything up and running; as a result, they assume peak capacity will be greater than what it will actually be and leave a significant amount of “just-in-case” headroom. This essentially translates to “stacks of zombie servers” and idle resources consuming constant power and generating a bill each month.
At the same time, the company wasn’t shutting down its old on-premise equipment yet – so the company is now paying for both (old and new systems). No one notices until a few months down the line when the monthly bill arrives and there is a large amount of “overrun”. Does this sound familiar?
The above is an example of a typical lift-and-shift migration that, by not optimizing after migration, can lead to large cost overruns, which (in turn) have caused significant cases of “sticker shock” across many enterprises worldwide.
According to a recent report, 54% of organizations exhibit surprise cloud charges from migrating to a cloud provider due to a lack of visibility and governance. What we learned from these cases is; if organizations treat the cloud as a “data centre that belongs to someone else” and continue with the same business practices they used in their on-premise environment, they will continue to incur the same costs associated with their entire on-premise environment, plus many new costs due to the fact that they have migrated to a clouds environments, where pricing is based on usage.
Migration doesn’t equal cost savings when migrating to the cloud.
Migration vs Modernization: Key Differences
To address bill shock through an understanding of migration vs modernization as they have different methodologies and result in completely different results. The original function of migration was essentially to just re-host (to move applications “as-is” onto the cloud with the least amount of change).
It’s similar to moving an existing house (with existing furniture) to a new location, you are in the same place, but how you utilize the space has not changed; therefore this is not real transformation. Whereas, when you modernize, you completely change how the application is designed and the systems running that application would be redesigned or enhanced to utilize all the capabilities that are native to the cloud.
This could also be described as renovating the same house to include modern appliances, such as those built-in (i.e., smart appliances) or to include an efficient footprint while renovating the house. The modernization of the application could be described as “real transformation” of your architecture and operation to meet cloud best practice to gain agility, reduce waste, and become more resilient.
Below are a few key differences between a basic migration vs real modernization:
Lift-and-Shift Move:
Minimal or brief adjustments. You might just lift your VMs to AWS, AZURE etc. and retain your original configuration (using detailed evaluation). This allows you to quickly reach cloud, but you also bring all legacy inefficiencies with you to cloud, such as over-provisioning servers, and “chatty” monolith applications that are not optimized for scale in the cloud.
Cloud Modernization:
Reduced Redesign for Efficiency in a Cloud Native Manner. This includes refactoring or re-architecting the application to take advantage of various platform services and automation and other cloud-native tools. For example, a monolith could be broken into smaller services that are modular and then deployed into managed databases, or a monolith could be split into functional microservices, or a monolith could use serverless functions, e.g., both will utilize auto-scaling as the dynamic on-demand nature of using cloud-based infrastructure resources will create inefficiencies.
How modernization enables success with FinOps
Why would modernization improve the ease and effectiveness of FinOps? Let’s examine the reasons below:
Dynamic scale/size to meet demand:
Modernized applications can scale to what is required; they will do this automatically. They won’t be sitting idle using fixed oversized servers to run too high (you’ll be paying for what you use, not what you believe you may need). With use of auto-scaling groups, serverless functions, and/or containers, your cloud spend will follow your actual usage.
FinOps teams will be able to forecast and optimize expenses with substantially less waste in the system.
Automating the elimination of waste:
A modernized environment is more simplistic and has a higher rate of success when it comes to implementing automation capabilities. Are there any unused development instances currently in use? Automated scripts can shut down the instance after hours. There are old snapshots or unattached storage volumes? Those can all be flagged for deletion and/or removed. The greatest savings will come from safely removing unused resources. With modern governance (e.g., tag based policies), FinOps practices will enable continued optimization by identifying and removing/unlinking low-hanging fruit.
Cost-Effective Optioning in Architecture Decisions:
Modernization will result in selecting cloud-enabled services to provide a cost-optimized infrastructure solution. For instance, if you select a serverless database or managed big-data solution, such options will probably be less expensive than maintaining and running independent VMs, since your cloud service provider will be using multi-tenancy and scale advantages as part of their service offering. In addition, modernization includes leveraging the option of reserved or spot instances for consistent workloads, providing great discounts (30%-60% savings) for the cost of commitment and/or timing flexibility. FinOps provides recommendations for utilizing these options as resources to achieve the greatest savings possible and a modern architecture is designed with the cost-effective capabilities of cloud-based workloads and the ability to utilize dynamic instances.
Visibility and Accountability:
One of the most significant aspects of FinOps is providing clarity on the people who create expense and for what purpose. The modern cloud architecture and your use of resource tagging, grouping, and observability solutions allow you to enable this from day one. Instead of relying on mysterious line items, you use the tagging of resources by team or line of business to provide visibility in the costs of the different business units in your company. This provides clarity as to the engineering and financial management across a business. Modernization is a key enabler of providing these governance practices at the point of modernization and includes providing cost transparency as part of the overall architecture design versus as an afterthought.
Continuous Improvement Culture:
One of the keys to developing a culture of Continuous Improvement within the scope of FinOps (Financial Operations) is recognizing that Cloud Modernization occurs as an ongoing process rather than as a single event. Cloud Modernization is not an endpoint; rather, Cloud Modernization is an effort that requires constant thought into how technology can be leveraged more effectively with the passage of time. The FinOps model supports this philosophy because “FinOps isn’t just about one-off wins; rather FinOps is about building a collaborative and iterative process.” When IT teams collaborate with finance teams to continuously upgrade Cloud Architecture and tune the performance of Cloud Applications as well as make adjustments to the allocations of Cloud Resources, then cost optimization becomes part of the day-to-day operations of the organization. Eventually, this form of collaborative working relationships will become an automatic process within the organization – developers will consider Cost as part of creating systems while finance will consider Technical Limitations as part of budget planning. This is how an organization will mature to become proficient within the FinOps model; the ability to utilize flexible technology will give them the ability to make Cost Decisions based upon their Cost Information.
Practical Strategies to Modernize and Curb Cloud Costs
1. High-Cost Workloads:
You do not have to work from an on-premise architecture if it doesn’t make sense for your business. Identify your highest usage cost workloads, such as your monolithic applications that require excessive amounts of storage or memory, and then re-architect them for the cloud-native environment.
For example, breaking the monolith into separate microservices and allowing them to scale independently are two ways to modernize these high-cost workloads and reduce costs through eliminating unnecessary resource consumption.
2. Auto-Scaling and Scheduling:
The elastic nature of the cloud can help you benefit from the ability to automatically scale every aspect of your application that can. Use auto-scaling tools or other managed solutions that will automatically increase or decrease in size as required by your application (e.g., AWS Lambda, Azure Functions, Google Cloud Platform’s Cloud Run, etc.).
Additionally, schedule your non-production resources when they are not in use, avoiding incurring charges when they are not needed. By applying the discipline of turning off resources that you don’t need, you will change your billing model from a reactive “bill-shock” model to a proactive and optimized consumption model.
3. Making Use of Reservations and Right-Sizing:
Use existing tools to make the most of your cloud solution’s costs (cloud providers typically recommend tools that will optimize your instance/service sizes). If an instance is running at 10% CPU, downsize it to a smaller instance type; similarly, if a database is sitting idle most of the night, downsize or change it to a lower tier.
Over time, these types of adjustments will provide cumulative savings. Additionally, using reservations for predictable workloads and spot instances for unpredictable or fault-tolerant workloads could save up to 20%-40% or more, according to FinOps experts. It is best practice to utilize historical data when determining how much of a reservation you will need; thus you should refer back to usage in the last 3-6 months to determine how much capacity you should purchase to ensure you will save on overall costs without exceeding your capacity limits.
4. Assign Tags, Monitor Costs, and Provide Shared Accountability:
Streamline your organization’s operational processes by developing a standardized tagging system and monitoring costs immediately upon use of cloud resources. Each cloud resource (VMs, containers, volumes, etc.) should have tags associated with the owner, environment, and application associated with that resource.
Utilize a cloud cost monitoring tool or use the financial dashboards from your cloud provider; either option can help you view your organization’s total cloud spending through a “single pane of glass.” Use the data from these dashboards to distribute information about how much money each team spent their cloud use each month, provide each team with budgeting alerts and generate reports that correlate cloud usage with business metrics (such as cost per customer or cost per transaction).
When cost data is readily available, your organization will have a level of accountability that otherwise would not be present; it will be very difficult for teams to incur costs for resources that they do not use because they will have visibility into the costs associated with those unused resources in a real-time basis.
Establishing a FinOps organizational culture through this level of transparency in the data on cloud resources, will encourage your staff to utilize the cloud in a fiscally responsible manner.
5. Implement FinOps Across Teams:
Tools and technology alone cannot solve your problems; you need people and processes too. Build a FinOPS team or working group that has representation from IT operations, engineers, finance analysts, and product owners. Regularly review your cloud spend as part of a sprint planning or quarterly business review process rather than waiting until the end of the year. Have architects ask themselves how their designs could impact cloud costs (in addition to asking how they could affect security or performance). Finance should be able to identify which technology team to contact when they have questions about a specific invoice.
By establishing these connections you will ensure that your modernization efforts will remain aligned with your overall business goals and your budgetary realities. Lens Cap reports that over 75% of large enterprises have implemented FinOps practices to govern their cloud expenditures, and this process has proven successful at helping organizations identify and take advantage of additional cost savings over time. FinOps will provide a continuous feedback mechanism that will help you identify ongoing opportunities for additional optimization as your business continues to grow.
The bottom line is that it is entirely feasible to eliminate cloud bill shocks; however, this entails changing how we approach doing business. Rather than simply relocating your workloads from the data centre to the cloud and considering this a successful migration, you must also adapt how these workloads operate and are controlled. This is where modernising the cloud helps turn it into an adaptive cloud (consuming only what it requires) versus an excessive copy of your legacy systems (over-provisioned)-and in doing so, provides information on how to manage spending and continue to receive value from your cloud through consumption-based optimisation by creating a highly evolved system.
If you require assistance with creating a modernization road map and an artificial intelligence (AI) enabled cloud-based modernization plan, contact Kumaran Systems for an assessment.
