{"id":19686,"date":"2021-08-19T20:07:41","date_gmt":"2021-08-19T13:07:41","guid":{"rendered":"https:\/\/renovacloud.com\/?p=19686"},"modified":"2024-12-02T17:26:12","modified_gmt":"2024-12-02T10:26:12","slug":"how-to-define-and-create-a-realistic-cloud-budget","status":"publish","type":"post","link":"https:\/\/renovacloud.com\/en\/how-to-define-and-create-a-realistic-cloud-budget\/","title":{"rendered":"How to Define and Create a Realistic Cloud Budget"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">All large projects need clear and thoughtful planning. And a big part of planning involves figuring out how much you\u2019ll need to spend and where your money will go, i.e. a budget. When it comes to creating a realistic cloud budget, things get complex very fast!<\/span><\/p>\n<h5><span style=\"font-weight: 400;\">In the good old days, <\/span><\/h5>\n<p><span style=\"font-weight: 400;\">IT projects involved a relatively small number of moving parts. The big-ticket items included the purchase and maintenance of servers and networking equipment along with ongoing costs like power, cooling, and facilities security. Building reliable budgets certainly may not have been easy, but there wasn\u2019t a lot of mystery involved.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u00a0All that\u2019s changed with the shift to cloud platform hosting. You won\u2019t be purchasing and installing $100,000 server room racks any more, but working with the virtual tools that have replaced them.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Deploying a complex, multi-tiered application in the cloud could leave you with ongoing charges for virtual servers, containers, serverless functions, managed databases, network bandwidth, firewall appliances, data storage, and monitoring software. Consider how this is also configured to scale up or down in response to fluctuating demand or system failure, all while being securely replicated for high availability.<\/span><\/p>\n<h5><span style=\"font-weight: 400;\">To top it all, <\/span><\/h5>\n<p><span style=\"font-weight: 400;\">AWS is constantly updating both the features and pricing for their existing services. They introduce dozens of new services each year, affecting not only what you\u2019ll pay over time (often to your advantage), but how you do things, too.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">With so many moving parts in play, the clarity of a solid budget is absolutely critical. Read on to see what\u2019s involved in this process.<\/span><\/p>\n<h3><b>The Challenges of Building a Realistic Cloud Budget<\/b><span style=\"font-weight: 400;\">\u00a0<\/span><\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-19677\" src=\"http:\/\/renovacloud.com\/wp-content\/uploads\/2021\/08\/budgeting.gif\" alt=\"\" width=\"500\" height=\"281\" \/><\/p>\n<p><span style=\"font-weight: 400;\">So, just what is it that makes the cloud so complicated? A generation ago, an average mid-sized company might have maintained data centers with fleets of servers built with a small handful of hardware architectures. Database servers might have larger drives, while application servers would be given more memory. But for all practical purposes, the available options were few, and the mix would remain largely stable for years at a time.<\/span><\/p>\n<h5><span style=\"font-weight: 400;\">How does that work in the AWS cloud? <\/span><\/h5>\n<p><span style=\"font-weight: 400;\">There are currently more than 200 distinct services, each offering a unique set of capabilities that can be consumed on their own or, more often, as part of a larger deployment stack. And each service uses its own unique billing model.<\/span><\/p>\n<h5><span style=\"font-weight: 400;\">Virtual server types? <\/span><\/h5>\n<p><span style=\"font-weight: 400;\">There are, at the moment, more than 40 instance type <\/span><i><span style=\"font-weight: 400;\">families<\/span><\/i><span style=\"font-weight: 400;\"> available for the EC2 service, each one optimized for different use cases. And most of these families include at least a dozen specific instance <\/span><i><span style=\"font-weight: 400;\">types,<\/span><\/i><span style=\"font-weight: 400;\"> with more being added each month. And if that\u2019s not enough, their costs change frequently, like the rest of AWS services\u2014they become cheaper for existing instance classes. Meanwhile newer, better instance classes are introduced with higher price ranges.<\/span><\/p>\n<h5><span style=\"font-weight: 400;\">Also, applications need to change all the time. <\/span><\/h5>\n<p><span style=\"font-weight: 400;\">New products, new features, customer on-boarding, customer churn\u2014all affect the size of your cloud infrastructure. For example, adding a new microservice to your application stack may look simple from a solution architecture perspective, but it may translate into creating another node for the Kubernetes cluster. How do you define a budget if needs constantly change?<\/span><\/p>\n<h5><span style=\"font-weight: 400;\">To maintain high service availability, <\/span><\/h5>\n<p><span style=\"font-weight: 400;\">you\u2019ll often configure your services to automatically scale up and down to meet changing demand. But even normal utilization changes due to, say, your customers\u2019 seasonal shopping patterns, can dramatically impact your billing rates for multiple services.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Cloud budgets are clearly not for the faint of heart.<\/span><\/p>\n<h3><b>Cloud Budgets: What to Consider First<\/b><\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-19675\" src=\"http:\/\/renovacloud.com\/wp-content\/uploads\/2021\/08\/budgeting-budgeting-season.jpg\" alt=\"\" width=\"666\" height=\"500\" \/><\/p>\n<p><span style=\"font-weight: 400;\">In order to get started, one thing you need to have handy from the get-go is the organization\u2019s revenue projections or goals. <\/span><span style=\"font-weight: 400;\">This is to ensure your budgeted infrastructure costs are realistic. You can have a budget of any figure, but it needs to be realistic in the sense that it should fit within the overall IT budget, and it should be less than the projected revenue to ensure the company makes a profit.<\/span><\/p>\n<h5><span style=\"font-weight: 400;\">If you are starting with your cloud journey, understanding your deployment strategy can help in having a high-level understanding of costs involved. <\/span><\/h5>\n<p><span style=\"font-weight: 400;\">For example, if you are doing a lift-and-shift of an application from your on-premise environment, the architecture would most probably be simpler in the cloud, and be less costly. If you are doing a complete re-architecture, it will probably need more services, which will cost more.<\/span><\/p>\n<h5><span style=\"font-weight: 400;\">When moving an existing on-premises stack to the cloud\u2014or even when you\u2019re just comparing your options\u2014it can be helpful to create parallel budgets that can be viewed side-by-side. <\/span><\/h5>\n<p><span style=\"font-weight: 400;\">The concept of \u201cparallel budgets\u201d will also apply to the multiple infrastructure environments that are often used for larger projects: one for the development team, a <\/span><i><span style=\"font-weight: 400;\">staging<\/span><\/i><span style=\"font-weight: 400;\"> environment for final testing, and then the actual production environment. Each one comes with its own costs as these environments are naturally different in size.<\/span><\/p>\n<h5><span style=\"font-weight: 400;\">Similarly, when you are starting out with cloud, whether the on-premise network will remain in operation for the foreseeable future is another factor to consider.\u00a0 <\/span><\/h5>\n<p><span style=\"font-weight: 400;\">Having footprints in both environments will increase the total cost of ownership (TCO), and your budget will need to minimize that as much as possible.\u00a0<\/span><\/p>\n<h5><span style=\"font-weight: 400;\">It\u2019s also important to differentiate between your capital expenses (capex) and operating expenses (opex). <\/span><\/h5>\n<p><span style=\"font-weight: 400;\">Capex is the money you spend up front on compute equipment and physical infrastructure. Opex, by contrast, represents ongoing month-by-month expenses. Pure cloud deployments, since they\u2019re billed incrementally for actual resource use, will qualify as opex. But the infrastructure you might run in your own data center, perhaps as part of a hybrid deployment, will require up-front capex investments. Both, however, are key elements for calculating the TCO of your application. And neither can be ignored.<\/span><\/p>\n<h5><span style=\"font-weight: 400;\">You should also understand the difference between managed and unmanaged services. <\/span><\/h5>\n<p><span style=\"font-weight: 400;\">Managed services include the AWS Relational Database Service (RDS) and Elastic Beanstalk. They\u2019re <\/span><i><span style=\"font-weight: 400;\">managed<\/span><\/i><span style=\"font-weight: 400;\"> in the sense that you only need to configure some settings and then add your code or data. AWS manages the underlying infrastructure invisibly. Unmanaged services include EC2 instances, where you handle all the update and configuration, at least on the software level.<\/span><\/p>\n<h5><span style=\"font-weight: 400;\">Finally, a complete budget will also take into account any cost-saving elements you may already have in place like Reserved Instances and Savings Plans. <\/span><\/h5>\n<p><span style=\"font-weight: 400;\">Will you need servers running at full capacity 24 hours each day? Then you\u2019ll probably get the most bang for your buck by purchasing EC2 Reserved Instances. Demand that\u2019s intermittent and rarely stretches for more than a few hours at a time, though, might be best met using On-Demand Instances in order to avoid underutilizing commitments. In-house data processing that\u2019s loosely coupled enough to withstand sudden outages is a good match for Spot Instances. And brief bursts of programming code can often be served most efficiently from Amazon\u2019s \u201cserverless\u201d service, Lambda.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The big thing, as we\u2019ve already seen, is understanding what the best practice is for running your workloads and what they are supposed to accomplish. And the bottom line is that the amount of money you spend should accurately and predictably make sense in the context of your organization\u2019s larger goals.<\/span><\/p>\n<h5><span style=\"font-weight: 400;\">To create a useful budget you\u2019ll, therefore, need to understand:<\/span><\/h5>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Your application and the larger business model that\u2019s behind it.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">What is the total cost of a customer? How many cloud resources is one customer consuming?\u00a0<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">How the \u201ccloud approach to IT\u201d will work for your specific application.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Whether you\u2019ll be integrating third-party cloud or on-premises resources into your infrastructure and whether that means you\u2019ll need to purchase premium network connectivity.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Which compute, data storage, database, networking, firewall, and serverless services you\u2019ll use for your specific application.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">How each of those services is billed.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">How much of each service you\u2019ll consume over time.<\/span><\/li>\n<\/ul>\n<h3><b>Cloud Budgets: General Guidelines to Know<\/b><\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-19673\" src=\"http:\/\/renovacloud.com\/wp-content\/uploads\/2021\/08\/60115843.jpg\" alt=\"\" width=\"409\" height=\"310\" \/><\/p>\n<p><span style=\"font-weight: 400;\">Once you have done the groundwork, developing a realistic cloud budget will still take some upfront preparation.<\/span><\/p>\n<h5><span style=\"font-weight: 400;\">First of all, <\/span><\/h5>\n<p><span style=\"font-weight: 400;\">involve the teams that will be directly affected by the budget. This includes application, <\/span><a href=\"https:\/\/renovacloud.com\/finance-vs-devops-co-the-bat-tay-lam-ban\/\"><span style=\"font-weight: 400;\">DevOps<\/span><\/a><span style=\"font-weight: 400;\">, SecOps, operations, and finance. Try to make it a team effort, because budgeting is not a one-man, nor even a one-team, effort.<\/span><\/p>\n<h5><span style=\"font-weight: 400;\">Second, <\/span><\/h5>\n<p><span style=\"font-weight: 400;\">devise and implement a solid tagging strategy for all your resources. An inch in this case will take you a few miles. Anyone can tag their resources, but what needs to be done here is to agree upon a tagging style and implement that as part of your infrastructure provisioning automation.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Tagging resources effectively will provide you with granular visibility into how much each application\\service costs.\u00a0<\/span><\/p>\n<h5><span style=\"font-weight: 400;\">Third, <\/span><\/h5>\n<p><span style=\"font-weight: 400;\">you may want to break down the AWS accounts into more manageable \u201cchunks\u201d using a multi-account strategy. For example, using an account for the development workload and an account for production will help you separate the development budget from the operational budget and plan ahead.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">For AWS cloud platform, there are many powerful financial tools already available out of the box. As complicated as AWS billing can get, the company works hard to help you visualize the charges that are coming.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The <\/span><a href=\"https:\/\/calculator.aws\/#\/\" rel=\"noopener\"><span style=\"font-weight: 400;\">AWS Pricing Calculator<\/span><\/a><span style=\"font-weight: 400;\">, for instance, lets you enter precise details of the AWS resources you\u2019re actually planning to use. The calculator is designed to be deeply integrated with all the major AWS services. This way, the estimates you get will closely reflect real-world billing conditions. There\u2019s also the <\/span><a href=\"https:\/\/calculator.s3.amazonaws.com\/index.html\" rel=\"noopener\"><span style=\"font-weight: 400;\">Simple Monthly Calculator<\/span><\/a><span style=\"font-weight: 400;\"> which the Pricing Calculator is supposed to replace.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Once you begin consuming AWS services, there\u2019s a full range of tools to help you visualize what you\u2019re running and how much it will cost you. Descriptions of the full set of Amazon\u2019s cost management services are nicely collected<\/span><a href=\"https:\/\/aws.amazon.com\/aws-cost-management\/\" rel=\"noopener\"><span style=\"font-weight: 400;\"> on this page<\/span><\/a><span style=\"font-weight: 400;\">. <\/span><\/p>\n<h5><span style=\"font-weight: 400;\">Those tools include:<\/span><\/h5>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>AWS Cost and Usage Report<\/b><span style=\"font-weight: 400;\"> to view detailed ongoing and historical reports of your spending.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Billing &amp; Cost Management Dashboard<\/b><span style=\"font-weight: 400;\">, a central hub for creating and managing budgets, spend history, and usage reports.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>AWS Cost Categories<\/b><span style=\"font-weight: 400;\">, which lets you organize your active resources by account, service, charge type or, in conjunction with a configured resource tagging strategy, by tag.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>AWS Application Cost Profiler<\/b><span style=\"font-weight: 400;\"> for breaking down your spending on resources by individual users. Organizations large enough to have multiple teams independently deploying resources will be better positioned to watch what\u2019s going on.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">AWS Control Tower is designed to let you view and control permissions and access for those with multiple AWS accounts (via AWS Organizations) from a single browser-based page.<\/span><\/p>\n<h5><span style=\"font-weight: 400;\">And don\u2019t forget to leverage your own internal tools. <\/span><\/h5>\n<p><span style=\"font-weight: 400;\">As popular wisdom would have it, you can never have too many spreadsheets. Create a parameterized plan in a spreadsheet describing multiple usage scenarios and share it with all the project stakeholders, including representatives from your operations, security, development, management and finance teams. This again ties with your approach of involving different teams from the beginning.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Above all\u2014keep an open mind, incorporate relevant data from anywhere, and keep refining your plans until you hit perfection.<\/span><\/p>\n<h3><b>Implementing Governance\u00a0<\/b><\/h3>\n<p><span style=\"font-weight: 400;\"> <img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-19671\" src=\"http:\/\/renovacloud.com\/wp-content\/uploads\/2021\/08\/governance.gif\" alt=\"\" width=\"480\" height=\"270\" \/><\/span><\/p>\n<p><span style=\"font-weight: 400;\">One way or another, any decision connected to a cloud deployment is going to impact spending. To make sure that your project never spins out of control, everything that happens has to be noticed by someone with responsibility. In other words, there needs to be a governance element to monitor and enforce the budget, which should incorporate administration oversight through both automated and manual audits.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">AWS CloudWatch can be set to monitor an account for unexpected billing events. Billing alarms can be triggered when resources begin generating costs at rates above preset limits.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">You can limit your risk of rogue, <\/span><i><span style=\"font-weight: 400;\">shadow IT<\/span><\/i><span style=\"font-weight: 400;\"> deployments\u2014where individuals or even teams in your organization bypass management to quietly launch their own resources\u2014using IAM users and groups. Users and groups can also be configured with roles and policies to permit individuals or teams just enough access to do their work.<\/span><\/p>\n<h3><b>Final Words<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Complete and reliable budgets for cloud deployments don\u2019t happen overnight. You need to ensure you\u2019re getting all the technical details right in a way that supports your organization\u2019s goals rather than confounds them. That\u2019s a process that requires time, careful thought, and input from all the experts you can reach.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Start small, perhaps budgeting for a single environment, application, or cost-centre. Then use the knowledge and experience you gain to build the overall budget.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Once you create your cloud budget, you\u2019ll need to put together the right processes and procedures that will enable you to stick to it in the long term.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Luckily, <\/span><a href=\"https:\/\/renovisor.io\" rel=\"noopener\"><span style=\"font-weight: 400;\">Renovisor<\/span><\/a><span style=\"font-weight: 400;\"> can help with that. <\/span><a href=\"https:\/\/renovacloud.com\/contact\/\"><span style=\"font-weight: 400;\">Chat with one of our cloud experts<\/span><\/a><span style=\"font-weight: 400;\"> to learn how Renovisor automates cloud savings with zero engineering effort.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>All large projects need clear and thoughtful planning. And a big part of planning involves figuring out how much you\u2019ll need to spend and where your money will go, i.e. a budget. When it comes to creating a realistic cloud budget, things get complex very fast! In the good old days, IT projects involved a [&#8230;]\n","protected":false},"author":22,"featured_media":19669,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[860],"tags":[35],"class_list":["post-19686","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cost-optimization","tag-aws"],"_links":{"self":[{"href":"https:\/\/renovacloud.com\/en\/wp-json\/wp\/v2\/posts\/19686","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/renovacloud.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/renovacloud.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/renovacloud.com\/en\/wp-json\/wp\/v2\/users\/22"}],"replies":[{"embeddable":true,"href":"https:\/\/renovacloud.com\/en\/wp-json\/wp\/v2\/comments?post=19686"}],"version-history":[{"count":3,"href":"https:\/\/renovacloud.com\/en\/wp-json\/wp\/v2\/posts\/19686\/revisions"}],"predecessor-version":[{"id":19712,"href":"https:\/\/renovacloud.com\/en\/wp-json\/wp\/v2\/posts\/19686\/revisions\/19712"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/renovacloud.com\/en\/wp-json\/wp\/v2\/media\/19669"}],"wp:attachment":[{"href":"https:\/\/renovacloud.com\/en\/wp-json\/wp\/v2\/media?parent=19686"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/renovacloud.com\/en\/wp-json\/wp\/v2\/categories?post=19686"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/renovacloud.com\/en\/wp-json\/wp\/v2\/tags?post=19686"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}