By Jingqi
With the rapid development of cloud computing in recent years, the IT digital transformation within enterprises has entered uncharted waters, and interest in cloud adoption has been growing over time. According to the Flexera 2023 State of the Cloud Report, optimizing cloud cost management is the top priority for cloud management teams in the coming year. As an emerging operating model, FinOps has been brought to the attention of cloud management teams.
FinOps, short for Finance and DevOps, is a combination of the culture and practice of cloud financial management in enterprises. In the context of cloud computing, the core goal of FinOps is to enable organizations to achieve cost predictability, transparency, and accountability for cloud resources, ensuring expense control and optimization while pursuing technological agility and innovation.
According to the FinOps Foundation, "FinOps is an evolving cloud financial management discipline and cultural practice that enables organizations to maximize business value by helping engineering, finance, and business teams to collaborate on data-driven spending decisions."
FinOps implementation does not happen overnight. It is a systematic project related to enterprises' internal management mechanism and requires iterations and continuous operations. To achieve the expected outcomes of FinOps implementation, in the preparatory phase, enterprises need to build an internal FinOps system and team to establish the FinOps culture and set clear strategic FinOps goals. In the implementation phase, enterprises need to establish comprehensive resource and cost monitoring mechanisms, select appropriate cost optimization policies, and form a long-term operation mechanism so that cloud costs can be effectively managed and continuously controlled.
For an enterprise planning to implement FinOps, the preparatory phase is critical. Essential preparations involve not only strategy development but, more importantly, a shift in the mindset and culture, which determines whether FinOps implementation can proceed smoothly and achieve the desired results. Preparations should focus on three aspects: culture communication, strategic alignment, and responsibility sharing.
For an enterprise to implement FinOps, the first step is to lay a robust cultural foundation to ensure that every team member understands and embraces the concept of FinOps.
Especially in cloud-native scenarios where resources and costs are highly dynamic, collaborative management by multiple functional teams, such as O&M, business, and finance teams, is essential. Therefore, each team member is required to develop a strong cost awareness and proactively consider costs in their daily work. On the other hand, enterprises should take appropriate measures to promote the FinOps culture and maintain an enduring awareness of cost management throughout the organization. The following measures may be helpful:
• Organize comprehensive training: Introduce all employees to the basic principles and practices of FinOps by hosting online courses and seminars to ensure that all employees understand the impact and value of FinOps to the enterprise.
• Promote success stories: Continuously share success stories of FinOps implementations and cost-saving techniques through internal forums, newsletters, and other channels to promote the accumulation and replication of best practices.
• Hold regular cost management meetings: Review and re-examine the problems encountered in cost management to promote continuous improvement.
Promoting a FinOps culture not only helps an enterprise reduce cloud costs but also increases its adaptability to market changes and agility in decision-making. By fostering a FinOps culture through cross-departmental collaboration and education, an enterprise gains momentum in enhancing efficiency, transparency, and innovation.
Once FinOps is established as an essential corporate culture, the enterprise must align all employees at a strategic level. This requires building a consensus from top leadership to grassroots levels within the organization, establishing common FinOps goals, and aligning them closely with the enterprise's overall strategies. Clear goals, support from senior management, cross-departmental collaboration, and incentives for cost containment are all key elements in ensuring strategic alignment and effective implementation of FinOps within an enterprise.
• Set clear strategic goals: Determine the short-term and long-term goals of FinOps implementation and the strategic approaches to achieving those goals.
• Obtain support from senior management: Ensure that senior managers understand and support FinOps as an important factor in promoting the enterprise's development.
• Promote cross-departmental collaboration: Integrate the resources and strengths of different departments to create a synergistic effect and jointly promote the implementation of cost optimization policies.
• Improve appraisal and incentives: Incorporate cost management into the performance appraisal system, so as to encourage all employees to participate in cost control. Based on business requirements, set reasonable optimization goals from dimensions such as idle resource ratio and amount of saved costs to quantify resource utilization in each department in a unified manner, and regularly offer rewards or penalties based on cost optimization results.
Before implementing FinOps, enterprises must also set up a system of shared responsibility to make sure that all staff members can take ownership of the implementation process and work together to achieve FinOps goals.
• Clarify roles and tasks: Clarify the responsibilities and tasks of each role in the FinOps implementation and the responsibilities of business, O&M, finance, and other teams.
• Set up feedback and communication mechanisms: Establish a regular review mechanism to assess the effectiveness of FinOps implementation and adjust and optimize policies in a timely manner.
• Build a cross-functional team: Establish a FinOps team consisting of representatives from all departments, dedicated to monitoring, analyzing, and optimizing cloud costs and driving cost optimization from technical, financial, and other perspectives. The team should have a comprehensive set of skills, including project management, data science, financial analysis, and software/infrastructure development, and should be able to measure each department's ability to execute and deliver against cost optimization goals.
The preparatory phase of FinOps implementation is crucial for building cultural, strategic, and responsibility consensus within the enterprise. Promoting a FinOps culture facilitates alignment between the enterprise's strategies and cost optimization goals and the establishment of a shared responsibility system within the organization, laying a solid foundation for subsequent FinOps practices.
Extracting insights from cost data is the first step in implementing FinOps and remains relevant throughout the FinOps implementation process. Organizations need to build a cost monitoring system with essential capabilities including business cost allocation, resource monitoring, and cost forecasting.
Particularly in cloud-native architectures, resource sharing and resource dynamics bring new technical challenges to cost allocation. In addition to the cloud-native FinOps tools that enterprises often use to address these challenges, the cost management suite of Container Service for Kubernetes (ACK) provides cost dashboards and cost data export APIs. Users can gain multi-dimensional cost insights from the dashboards or build an internal FinOps system using the cost APIs. For more information, see How to allocate the cost of a cluster by department or application[1].
During the implementation phase, different roles in the organization have different perspectives on costs depending on their respective responsibilities.
• IT supervisors or financial analysts take a global view to ensure overall costs are within budget and that cost trends are normal.
• In the event of cost anomalies, O&M engineers assess whether resource billing methods can be optimized at the resource level, or review the department or business unit in question and urge the business team to conduct an investigation.
• R&D engineers review the resource usage of the related business, analyze the reasons for cost increases, and evaluate optimization policies.
In the cost optimization phase, organizations need to review resource usage to assess the room for improvement and then determine the optimization policy based on business requirements. Typical optimization policies applicable to ACK clusters are classified based on business awareness, as shown in the following figure:
To address waste due to underutilization of resources that is typically found in enterprise operations, or to optimize costs without restructuring, we can try optimization in terms of resource allocation or billing methods.
• Optimize resource allocation for applications: Adjust resource requests and limits through resource profiling[2]and optimize the scheduling policy.
• Adjust the cloud resource purchase policy: Adjust the combination of instance specifications, optimize the billing method, and clear idle resources.
Use suitable scaling features:
Auto scaling is widely used in ACK clusters. Typically, auto scaling is used in scenarios such as online workload scaling, large-scale computing and training, GPU-accelerated deep learning, inference and training based on shared GPU resources, and periodic workload scheduling. Scaling features can be classified into two categories: workload scaling and node scaling. Typical workload scaling features include Horizontal Pod Autoscaler (HPA)[3], Cron Horizontal Pod Autoscaler (CronHPA)[4], and Advanced Horizontal Pod Autoscaler (AHPA)[5]. Typical node scaling features include Node Auto Scaling[6], Elastic Container Instance[7], and ACK GOATScaler[8].
Use hybrid deployment features:
For example, use the dynamic resource overcommitment[9] feature to identify idle resources in clusters. Alternatively, use the colocation[10] feature to deploy both online business and offline applications to fully utilize resources.
Cost control is an essential part of the FinOps governance process. Following cost insights and cost optimization, cost control is helpful to ensure that the entire cost governance process is in a controllable state to prevent cluster and application costs from growing too quickly or exceeding the budget due to the long cost governance cycle.
For enterprises, FinOps represents more than just a technical solution; it is a flexible approach to optimizing cloud costs. While technology plays a primary role in cost optimization, a solely technical perspective may not fully evaluate the business value at stake. Thus, FinOps advocates for the involvement of all stakeholders and the leadership of a cross-functional team. Additionally, FinOps emphasizes data-driven decision-making in business. Well-defined systems and continuous investment enable enterprises to control and optimize spending while pursuing technological agility and innovation.
[1] How to allocate the cost of a cluster by department or application
[2] Resource profiling
[3] Horizontal Pod Autoscaler (HPA)
[4] Cron Horizontal Pod Autoscaler (CronHPA)
[5] Advanced Horizontal Pod Autoscaler (AHPA)
[6] Node Auto Scaling
[7] Elastic Container Instance
[8] ACK GOATScaler
[9] Dynamic Resource Overcommitment
[10] Colocation
208 posts | 12 followers
FollowAlibaba Cloud ECS - June 3, 2021
Alibaba Cloud Community - May 25, 2022
Alibaba Cloud Community - March 8, 2022
Rupal_Click2Cloud - August 20, 2024
Alibaba Cloud Native Community - July 19, 2022
CloudNative - May 10, 2022
208 posts | 12 followers
FollowLeverage cloud-native database solutions dedicated for FinTech.
Learn MoreThis solution enables FinTech companies to run workloads on the cloud, bringing greater customer satisfaction with lower latency and higher scalability.
Learn MoreAn enterprise-level continuous delivery tool.
Learn MoreAccelerate software development and delivery by integrating DevOps with the cloud
Learn MoreMore Posts by Alibaba Cloud Native