Today, more organizations than ever before are shifting to cloud computing. This has been further accelerated by the demands placed upon us by the global pandemic. For many organizations transitioning to cloud offers several benefits including agility, elasticity, faster development of new features into applications, and less time to market, etc. However, any organization’s biggest concern is the operating cost of cloud resources, or rather the cloud spend which can increase quickly if not governed properly.
There is a misbelief that moving to cloud computing would reduce the cost of your IT operations, but this is a misconception. If not monitored closely the cloud costs can rise quickly. For example, in an on-premises world, you need not worry about switching off the servers during the night or on weekends. But while switching to the consumption based OpEx model offered by cloud, a similar culture would be catastrophic for a cloud workload.
Cloud architecture and cloud cost
Organisations must govern the cost of their cloud operations; and this governance should be planned from the beginning of their cloud adoption projects while architecting their cloud services. The architecture defines the service, database, and network appliance or resource that would be used. These choices would cumulatively be converted to cloud spend and therefore would also govern the ultimate cost of cloud operations.
To optimize the cloud costs, organizations must understand the cloud as well as their workloads, such as which application can benefit from serverless compute and which data storage option would be optimal for the service that is being migrated to cloud. The mechanism used for migrating and storing data, the type of storage services used, and the autoscaling strategy decided during the design phase would go a long way in defining and governing the cost of the cloud operations.
Organizations must understand that a change in thinking is needed in planning for cloud resources. Unlike the on-premises world, it is not needed to provide additional infrastructure for handling future demand or sudden rise in the demand for cloud. On cloud platforms, organizations must provision resources at their optimized threshold. In other words, we must provision for the exact capacity or resource size needed for the services to run or for the application to perform as required. Then, we need to continuously monitor the utilization of different cloud services/resources as necessary and use an autoscaling feature or other optimizations to take care of the increased demands for cloud-based workloads.
If organizations are using development servers for their development and test purposes, then those instances should be deleted or switched off while not in use, on weekends or during the night or once testing/development is done. Or in a better scenario, automation can be used to switch off these servers at a given time and switch them back on at a pre-defined schedule.
Similarly, while architecting the storage services for different workloads, the selection of storage stock-keeping unit (SKU) and size goes a long way in keeping the costs at bay. For example, storage costs can be controlled by moving the data which is not frequently accessed to lower cost storage tiers such as archival or cold storage. Another architectural design decision that can affect cost is the amount of data downloaded/uploaded to cloud resources. If there is a lot of data which must be moved between an on-premises data center and the cloud, then the data ingress to cloud and data egress from cloud can skyrocket the costs quickly.
In addition, the region selected to deploy workloads can also affect these selections and data transfers which are ultimately converted into cloud spend. Therefore, organizations must include all these choices and parameters during the planning and designing phase of their cloud projects and continually monitor and optimize their cloud environments.
Normally cost governance of cloud is considered a finance-department or utilization problem. But if we look at it from a different angle, it can also be attributed to as an architectural problem/selecting the right options during the design/architecture phase can have a monumental impact on cloud costs. Hence, putting together the building blocks of cloud architecture by using the correct options/SKUKs and a right service becomes crucial. These initial design decisions that are converted into a working application define the future cost of any workload in the cloud. Although cloud gives the flexibility to quickly delete and recreate services at any given point of time, any architect/engineer worth their salt knows that this is easier said than done. It is, therefore, always better to select the SKU/size of the resources judiciously in the architectural phase itself.
Every design choice you make will have certain cost implications. So carefully consider constraints such as architectural pattern and prepare a comparison of cost of the same resource in different regions before deploying a workload, the pricing model such as PAYG or Reserved, or whether a PaaS or SaaS can be used in place of the virtual machine hosted in the clod.
All these considerations contribute to the overall cost governance of the cloud projects.
Bringing FinOps early to the table can help
Another pointer which can also be helpful is involving FinOps or financial teams early in the designing phase. This can help bring financial insights early on in the project life cycle and keep costs under control.
While doing this, there is one point worth remembering— the recommendations provided by the finance team must be carried out by the engineering teams. This requires an effective governance structure in place for the teams to work in a cohesive and effective way. This translates the financial insights into a technical cloud architecture which is efficient as well as cost-effective.
It all boils down to how well you know and understand your cloud concepts and how you plan and build the architecture around a myriad of choices which the cloud platform offers. In the cloud, you may create an architecture where costs spiral or the one that is extremely efficient, keeping costs under control, while meeting performance and scalability needs.
While the benefits of cloud computing are multi-fold, cloud spend management is critical for cost control. From the beginning of the cloud adoption journey, businesses must have a strong emphasis on cost efficiency.
To reduce costs many strategies can be deployed - including automation, optimization tools, usage tracking dashboards, usage and cost forecasting, and spending limits, among others. It is critical for businesses to hold themselves accountable for cloud spending; cost governance, and cost optimization – and this must be included in the cloud architecture itself.
The hard work needed to reduce cloud cost begins in the planning phase. An accurate assessment of the necessary resources will aid in maintaining a cost baseline, as per the plan.
After initial provisioning of the architecture, all cloud consumers must check in on a regular basis to see if all the assumptions made while architecting the cloud resources are still valid. The key to balancing expense with the flexibility offered by the cloud is very crucial, which is why frequent operational monitoring, especially in the early phase of cloud adoption, is crucial.
Finally, when adopting Microsoft Azure as the cloud platform of choice, using tools such as Azure Advisor and the Microsoft Azure Well-Architected Framework to regularly review costs, ensures that proactive measures can be built around the recommendations.
With HCLTech FinOps the customer has a team of dedicated professionals, which helps them in bridging the gap in customer expectations from the cloud and related challenges. HCLTech FinOps provides actionable insights for cost governance of cloud workloads, these insights then can be translated by the architecture team into a design which provides predictable and optimized cost for cloud operations. HCLTech FinOps not only provides cost governance but also provides insights into the health and compliance status of cloud workloads across cloud platforms. HCLTech FinOps has a well-defined framework for controlling Cloud costs, with a capable team that can help customers manage and govern their Cloud spending in a simplified manner. By guiding client teams during the initial architecture phase, as well as setting up a process for continuous and regular review, automating scheduled switch off/on of resources, preparing dashboards for the leadership and deleting unwanted resources, this team can help to keep the cost under control as planned during cost baselining.
References
https://docs.microsoft.com/azure