Many years ago, when cloud computing was gaining widespread adoption in enterprise settings, the received wisdom was that switching from on-premise to the cloud entailed security risks, but offered significant cost savings potential. Now, that wisdom is generally reversed: cloud deployments are (rightly) thought of as being more secure on balance than most on-premise data storage options, but with the potential to be extremely costly.
This new perspective on the pros and cons of cloud computing is all well and good, but it doesn’t change the fact that you need to manage your infrastructure on a budget. Industries that have been historically slow-to-change (whether that’s insurance, banking, or something similar) are now undergoing digital transformations en masse, and there’s no way around the changing IT requirements that make things like CI/CD (continuous integration/continuous deployment) and Agile development methodologies possible.
Luckily, cost effective cloud deployments do exist—they just require an element of active management, and usually a modicum of cloud expertise to back that management up. Hopefully this article can offer you a high-level rundown of how to make such a deployment possible.
Assessing Your Current Cloud Landscape
Okay, let’s say you already rely on a handful of cloud providers for various elements of your infrastructure and some of the applications that your internal users rely on. In order to pinpoint potential areas for cost savings, you first need to understand your various cloud systems (and any on-prem applications) as they exist right now—that way, you can start to figure out whether you’re getting your money’s worth.
- Application performance: Cloud-based applications are supposed to offer superior performance and reduced latency, but when it comes to applications in multi-tenant environments that isn’t always the case. That’s why it’s critical to perform an actual performance check to see if you’re getting the numbers you expect—if not, it can have a cascade effect that impacts productivity and ultimately time-to-market (if, for instance, internal users are spending significant time waiting for slow queries to get executed). Check on average execution times, especially for frequently-called queries. Check performance across internal networks crossing multiple cloud servers. Check virtual CPU performance. And while you’re at it, you can track your uptime to make sure you’re getting the four or five nines that you were promised.
- Open tickets/support: Whatever you’re currently using a particular cloud for, you’re inevitably going to need some support—and it’s important to track whether you’re actually getting it from your provider. When you file tickets, how quickly are they being resolved? Is there a serious backlog of tickets sitting undealt with? This could be a sign that you need a new provider.
- Provider consolidation opportunities: How many cloud providers or cloud environments are you currently working in? Since many modernization efforts happen piecemeal, rather than all at once, enterprises often wind up in situations where, for instance, the bulk of their applications run in Azure as part of the Office365 platform, but they have a few applications in AWS. Situations like these arise naturally when people move iteratively, but checking every once in a while to see if you can consolidate is always a wise move.
- Costs: And then there’s the elephant in the room. How much are you actually paying every month, and how does this compare to what you expected going in? ROI will be a factor of each of the questions we listed out above, but this number will obviously be a top concern.
Some of these questions will be pretty easy to answer, while others might be a little more technical. Tracking latency and other performance metrics, for instance, will probably require you to use an API of some kind. But once you’ve assessed your current cloud situation, you can identify how your current deployments are lining up with your financial expectations and begin to pinpoint areas where you can reduce costs without sacrificing performance.
Hurdles in Switching Cloud Providers
With the audit out of the way, you’re probably looking at one of three options: keep things as is, keep your cloud provider(s) but change the way you manage them, or perform a cloud migration of some size and scope. If you’re coming at this process from the perspective of an enterprise that still runs most of its infrastructure on-prem, that latter option may encompass a full cloud migration from your existing physical resources. Even when it’s just a case of switching from one cloud to another, decisionmakers tend to be understandably wary. In a recent survey, a large number of respondents said that switching between providers is just as difficult as migrating from on-prem to cloud.
So, does this mean that if you want to manage costs you need to avoid costly migrations no matter what? Absolutely not! It just means that you need to approach your cost management strategies—whether they’re as small as some configuration changes or as large as a full-blown modernization project—with an eye towards the potential pitfalls that can doom your ROI from the start. If, for instance, you set out to right-size your cloud instances to bring down your monthly computing costs, but the point person on the project isn’t a cloud expert, you run the risk of capacity issues down the road. By the same token, if you’re moving physical assets into a cloud environment and your team doesn’t have a leader with experience in managing this very specific workflow, you’ll likely experience slowdowns, delays, and other disruptions. And the list goes on. Because these technologies are so specialized and complex, having real, tried and true expertise supporting your efforts is non-negotiable.
Applying Cost Management Levers
Whether you’re doing a full migration or simply trying to take a more active hand in managing your monthly billing, you will have a few levers available to you for optimizing your available capacity relative to your budget.
- Right-size and triage instances: One of the most common reasons that cloud service costs can balloon out of control is that you’re paying for resources that you’re not using. For example, you might have instances spun up to support your development environment even on nights and weekends when there’s no one there to use them. By shutting these down when they’re not in use, you can bring down your total payments—the trick is to make sure you’re able to automatically rebuild the environments running in those instances when they spin back up. By the same token, you can keep costs under control by choosing the right type of instance (since this can account for significant price variations) for the needs of any given workload.
- Match your storage plan to your needs: The same general principle that we saw above also applies to object storage. For instance, Amazon S3 offers multiple different tiers with different billing structures. If you don’t know the ins and outs of those tiers coming in, you might wind up paying a higher per-GB rate than you need to on data that your team doesn’t access very frequently—or, on the other hand, you could find yourself paying a retrieval fee on data that you access frequently, cutting into the savings you hoped to achieved from the tier you chose. Matching your plans to the needs of individual workloads can be a somewhat nitpicky task, but it’s crucial to ensuring that you’re on a plan that will keep you under budget without inconveniencing users.
- Monitor usage and make adjustments: If it sounds like the two suggestions above require you to walk a tightrope between overpaying and hamstringing yourself from a capacity perspective… well, they do. But these also aren’t one-and-done tasks. Successfully leveraging cloud deployments into ongoing cost reductions is a matter of ongoing, active management, and right-sizing your instances and plans are both tasks that fall under that heading. After configuring everything as optimally as possible at the outset, it’s then time to actively monitor the way you’re using the applications, processes, platforms, and/or infrastructure powered by your cloud deployment. You’ll be checking on many of the items that we outlined above (things like latency and other performance metrics), but also whether you’re using particular instances in the ways that you intended, or if you might have to reconfigure them.
Again, this is a fairly high-level overview. In order to get into the weeds and actually make some of these adjustments, you’ll need a fairly comprehensive understanding of the technologies and systems involved—or the assistance of someone with that comprehensive understanding. With a little knowledge, however, you really can reduce your cloud computing costs and even leverage your deployments as a tool for further cost savings.
Do You Have the In-House Expertise to Manage Costs in the Cloud?
Now, it might seem like our overarching point is that cloud costs can easily spiral out of hand without an expert eye seeing to the details. And while that’s certainly true, there’s another layer of subtlety beneath it: when it comes to the cloud, cost management and cost reduction are both full-lifecycle activities that have to go well beyond the initial migration and setup. Indeed, reducing costs without jeopardizing time-to-market requires an expert touch in the initial migration, ongoing cloud usage and management, troubleshooting and maintenance, and even remote management of physical infrastructure (e.g. something like Microsoft Intune that helps you manage various connected endpoints).
Simply put, most businesses don’t have the in-house expertise or capacity for the entire modernization and cloud lifecycle. But that’s okay! A trusted IT services provider can help you fill in the gaps with flexible, expert teams who already know all of the pitfalls and quirks of the systems you plan to run. This is invariably less costly than hiring new staff to manage new technology—and it comes with the added benefit of letting you scale up to exactly the help you need, when you need it.
Learn More About Intertec's Cloud Solutions:
Intertec’s teams have hands-on experience in developing and migrating applications on leading cloud platforms. In addition to design and development, we provide a complete range of application testing, deployment and ongoing support services, including managing physical infrastructure and offering outsourced DevOps teams. Click here to learn more. Prefer a personal consultation? Go ahead and schedule a meeting with us here!