Can cloud be both cost-effective and sustainable?
Most senior executives know only too well that effective migration to the cloud is key to the efficiency and responsiveness of their enterprise. But many are rightly concerned about their cloud carbon footprint. Here’s where GreenOps comes in — we’ll explore how, borrowing from some well-established practices, we can create a framework for delivering business value from cloud investments, without it costing the planet.
Here’s a shocking thought: By some estimates, global greenhouse gas emissions from the technology sector could actually eclipse those of the aviation sector. And as businesses become increasingly reliant on cloud data centers, those tech-based emissions are only going to grow.
Meanwhile, as consumers, governments and investors demand greater environmental accountability from companies, going green has gone from being optional to a business imperative. How can we reconcile these seemingly opposing trends? At Thoughtworks, we think it can be done through the combination of two interrelated approaches to operational management: FinOps and GreenOps.
Before we define these, it’s important to state: technology is not a magic bullet that will solve climate change. However, reducing the carbon impact of our technology use is an opportunity area that is widespread, applicable to most companies, and can be improved upon incrementally. Putting this knowledge and responsibility into the hands of individual engineers focused on cloud operations will help embed sustainability into more activities and practices across an organization.
Now let us consider the following definitions:
FinOps. A cloud financial management discipline that enables organizations to get maximum business value by helping engineering, finance, technology and business teams to collaborate on data-driven spending decisions.
GreenOps. A cultural practice that enables organizations to consider and optimize for carbon and energy as key metrics for data-driven decisions in technology and operations.
So how does GreenOps thinking manifest itself in practice? Here at Thoughtworks, our teams strive to build software through a sustainable lens and effect cultural change by considering environmental sustainability by default — effectively embracing a sustainable transformation. Basing software decisions on the carbon impact may seem like a sacrifice to business function, control over cloud costs, or performance, but in many cases, cost savings can equate to potential carbon savings — so we aim to identify how and where these savings exist and to quantify the scale of the savings. And that, in a nutshell, is how we view the relationship between FinOps and GreenOps: By considering cost savings and carbon optimizations in the same light, we aim to drive organizational success within cloud economics and sustainability.
As organizations continue the path to becoming a modern digital business, there are a growing number of resources that can be utilized to understand an effective FinOps approach. We believe the same will be true of GreenOps. Key aspects to its application will be incorporating best practices for green software, establishing the right governance approach, and continually supplying metrics that will steer progress in a sustainable direction towards lowered cost and carbon. Considering sustainability alongside costs in day-to-day actions creates a circulation of data-driven feedback loops, which can impact decisions across all organizational levels and reduce carbon emissions.
Enough of the theory, let’s dive into the practicalities of delivering GreenOps.
Much like FinOps, GreenOps is a data-driven discipline and cultural practice. GreenOps is a continuous cycle that includes: understanding the emissions drivers and their relationships; measuring and accessing the right data; and implementing the optimization strategies to reduce an organization’s carbon footprint.
But while FinOps is predicated on a continuous loop of Inform, Optimize and Operate, within the context of GreenOps, it might be more appropriate to think of that loop as Learn & Understand, Measure & Analyze, and Optimize & Reduce. This outlook aligns closely with the Green Software Fundamentals phases identified by the Green Software Foundation (GSF) of Learn, Measure and Reduce.
Along with the various phases, GreenOps and FinOps also share the idea of appropriate personas — and their respective roles — needed to keep cloud operations running successfully. In both cases, executives focus on driving accountability and building transparency, while engineers focus on building and supporting services for the organization, and finance focuses on budgeting and forecasting models.
Applying GreenOps effectively will help identify ways to include energy and carbon considerations within each respective role. As my colleagues noted in their article, Green Team Topologies, “Not only are techniques needed, but also models to incorporate carbon responsibility into the decision-making of organizations. It’s not enough to implement one-off optimisations – they must be put into practice over and over again.”
The key to lasting carbon reductions across an organization's software stack and embedding the mindset shift into the culture is to identify how the established principles of FinOps can be applied with a carbon and energy lens. When looking to operationalize GreenOps, it should be noted that GreenOps is to de-carbonization what FinOps is to spending. In other words: it cannot operate, let alone succeed, without collaboration across a range of interested stakeholders. Along with joint efforts among teams, another core FinOps governing principle that cooperates well with GreenOps is the idea that there must be representation from a centralized and dedicated team in governance discussions with various cloud application teams and product owners. This includes working with executives, finance, and engineering teams to ensure continual buy-in from stakeholders to prioritize decisions for their carbon impact and embed this default into company culture. The centralized team should exist with a specialized focus: cloud-economics for FinOps and cloud carbon and energy for GreenOps, recognizing that it is unlikely to achieve the best possible results in operationalizing GreenOps without a consideration of FinOps, and vice versa.
In many cases, organizations need to make a business case to get general buy-in for investing in a centralized, cloud economics and carbon-focused team. This can be aided by establishing a clear vision of what should be achieved. Not only would utilizing a centralized team motivate collaboration and influence governance, it would also serve as a source of best practices. Some of the primary goals of a centralized team are to enable an information flow of transparent and consistent cost and emissions metric data and spread knowledge of sustainable, sensible defaults and active opportunities for emissions and energy reduction. Other factors may also play a role in delivering value from cloud investments as part of the overall platform strategy, for instance, optimizing developer experience, delivery infrastructure and cloud implementation. Encompassing platform thinking and both cloud disciplines of FinOps and GreenOps, the team could broadly be considered as a CloudOps team, driving the practices and cultures leading to savings and success.
In this section, we will explore the GreenOps phases in more detail, outlining the steps and challenges faced in an approach to build out a proof of concept to operationalize GreenOps.
Learn and understand
In order to make sense of emissions metrics and why certain cloud services may be more or less carbon intensive, it is important to have a fundamental understanding of green software principles, emissions drivers and the broad domain of sustainability in tech. Principles ranging from carbon efficiency to energy proportionality are essential for platform engineers to understand when looking to optimize a GreenOps approach while working with cloud technologies. Other concepts like carbon aware computing can help frame a clear path forward for business decision makers to find the resources necessary to reduce the carbon intensity of their organizations’ software stack.
Reducing carbon emissions that are impacted by our systems or applications is the ultimate objective. But how do we get there? Understanding the emissions brought on by power usage plays an important role in the first phase of the GreenOps cycle. Foundational components include concepts like Greenhouse Gas (GHG) emissions, grid carbon intensity and the various compute resources that consume electricity and in turn, emit carbon into the atmosphere. Once these concepts are broadly understood, breaking down the emissions drivers at a cloud data center becomes manageable, clarifying the impact that any application requirements may have when using various cloud services.
Luckily for us, the GSF provides a free and open educational learning platform that is intended to aid aspiring green software practitioners on learning some of the aforementioned concepts. Another viable resource is a training course provided by the Linux Foundation that can not only help practitioners promote their understanding in a certified manner, but also aid organizations in incentivizing employees to become well-versed in green software fundamentals. According to a recent prediction laid out by Google, “by 2025, three out of four developers will lead with sustainability as their primary development principle.” This statistic not only provides further incentivization for organizations to urge their employees to learn more about green software, but also helps to identify a strategy to achieve better engineering effectiveness.
Measure and analyze
To ensure a successful GreenOps approach, it is essential to provide real time energy and emissions metrics alongside financial data. The key here is to ensure that data on cloud cost, usage, and carbon footprint is available both historically and retrieved daily so that platform teams have both context and short feedback loops for the decisions they make.
In order to embed sustainability in everyday practices, teams will need access to accurate and reliable data. As of today, that may be easier said than done. According to The Green Web Foundation, while there is growing interest in measuring the carbon impact of the digital sector, there’s little agreement on how best to do so. As a result, the methodologies for cloud carbon footprint are currently varied, and the tooling available for benchmarking is still emerging.
To paint an example of some measurement resources, the Cloud Carbon Footprint (CCF) open source tool, which is maintained by a GreenOps-focused team at Thoughtworks and is used for our own cloud carbon management, has an open methodology driven by industry experts and community feedback. Aiming to provide carbon metrics as broadly as possible, it is a customizable multi-cloud tool with the ability to view data in various ways according to the specific needs of an organization or team. When ingesting the data, organizations looking to support big data processing may find it more practical or efficient to compute carbon metrics within existing processing, which can be done by using CCF to generate a lookup table and incorporating it within data pipeline deployments. And beyond software tooling, another measurement methodology gaining traction is the Software Carbon Intensity (SCI) specification released by the GSF. The SCI specification defines a protocol for calculating the rate of carbon emissions for a software system.
Regardless of which way you choose to measure carbon emissions, the key to a proper configuration of data processing and persistence is making sure the data is up-to-date and easy to consume, enabling transparency within an organization. Relevant data should be obtained in a way that is useful and meaningful to each user and their purpose. Furthermore, for stakeholders considering larger refactors to their cloud infrastructure, real-time dashboards with data visualizations of their team's accounts, services and tags, or historical timelines of carbon and cost usage could be very valuable in not only aiding decision making, but course-correcting spikes or emerging trends. Being able to view carbon emissions data in custom charts and dashboards not only allows for casual monitoring, but can also provide clarity for a number of different personas ranging from practitioners that have direct control over their cloud infrastructure, to executive level decision makers who can use the visualizations to tell a compelling story of opportunities to cut cloud costs and emissions.
After obtaining access to real time data and enabling casual monitoring via dashboards, the natural next step is to more deeply analyze spikes and trends and ultimately, identify opportunities to implement strategies to mitigate emissions and lower costs. Leading into the third phase of the GreenOps cycle, the idea here is to dig deeper into carbon and cost spikes or anomalies to identify root causes. To enable deeper and more effective analysis, we recommend using the cloud feature of tagging or labeling resources. This enables practitioners to assess the cost and emissions impact at a more granular resource level with metadata, and make the connection between carbon and meaningful groupings to identify exact pain points or opportunity areas.
Optimize and reduce
As platform teams aim to become more knowledgeable of sustainability in tech, it is important they are enabled with the relevant data and use it to empower teams more broadly. This next step in the approach revolves around leveraging timely data to allow all teams and engineers to also follow the GreenOps phases themselves. With a centralized CloudOps team, this data communicated to teams should include not only the carbon, cost and energy relevant to each internal team’s work, but also potential recommendations on problem areas and suggested resolution strategies. Similar to reports concerning a team’s financial data, these reports should contain daily or weekly snapshots into a team’s cloud carbon footprint, enabling a CloudOps team to set carbon reduction goals, configure preferred emissions thresholds and identify other key performance indicators. Access to timely reports means teams can take ownership of their data, creating a sense of accountability and incentive to act. These concepts are core FinOps principles that can be adapted as GreenOps principles through the consideration of energy and carbon.
Through sufficient analysis, teams can start thinking about remediation strategies and sensible defaults that would be most fitting for their objectives, requirements, and infrastructure needs, and build a reference implementation for effective optimizations. As part of the Green Software Fundamentals, the GSF has published a patterns catalog, which lays out specific examples of how to apply one or more green software principles in a real-world example. And in order to help determine the right approach for implementing optimization or remediation strategies, the FinOps Foundation is preparing a categorized list of sustainability awareness indicative questions. These questions are meant to help organizations begin to assess both where they are, and where they would like to aim to be on their path towards a sustainable transformation.
Benefits and results
Just like the continuous FinOps cycle, the phases of GreenOps are meant to be applied in repetition and at varying levels of sustainability awareness depending on where an organization is in their respective sustainability journey. Some expected results for organizational teams operationalizing GreenOps can range from optimizing their carbon footprint and costs, to creating capability growth and sustained carbon driven work. Business value of the cloud should also be a main driver for a team's decision making process, bringing in carbon and energy as cross functional requirements in platform concerns alongside the likes of performance and cost. Though the steps laid out to apply a GreenOps approach is just one side of the coin; success within cloud economics must be achieved by embracing both aspects of GreenOps and FinOps.
There is also an additional benefit of diligent measuring and the creation of reports for organizations that are especially driven to prioritize sustainability initiatives to manage risk, reputation and reward and may have reporting targets and drivers to consider. Most organizations will likely need to consider emissions reporting based on the GHG Protocol and the various scopes that it classifies emissions. The protocol “establishes comprehensive global standardized frameworks to measure and manage greenhouse gas emissions from private and public sector operations, value chains and mitigation actions.” The recurring reports generated and distributed by a centralized CloudOps team can help enable and streamline the process for an organization to adhere to the reporting standards.
In the final section of this article, we will summarize a specific use case of operationalizing GreenOps using the concepts and strategies that have been outlined so far.
GreenOps in practice – an internal case study
After enabling a centralized CloudOps team at Thoughtworks to consume CCF data using cloud billing data, dashboards were made broadly available for internal teams so they could view and monitor their historic and daily cloud emissions metrics. This newfound transparency and access to real-time data enabled the CloudOps team to identify spikes and trends, and to automate recurring emissions reports to notify teams of any remedial actions they needed to take.
Recently, an internal team at Thoughtworks was notified that their emissions spiked above average thresholds for a multi-day span. By utilizing the dashboards provided from data visualization tooling, the team was able to toggle certain features — like accounts and services — to realize that the spike came from a non-production environment using a highly carbon intensive cloud service. In this particular case, the carbon spike did not correlate to a cost spike, reaffirming the importance of carbon specific data analysis. After being notified and determining the root cause of the spike in emissions, the team proceeded to conduct a cost-benefit analysis to determine what sort of optimization they could afford to make. They chose to reduce the unnecessary extra storage and memory allocation for the culprit cloud service workload configuration by 50%. This change not only resulted in cost savings by using less resources, but brought back the team’s daily emissions values within appropriate thresholds.
In an attempt to follow along the continuous cycle of GreenOps phases, the team has since made an effort to learn green software fundamentals by enrolling in and completing the practitioner training course. They have also put into practice regularly monitoring their cloud costs and emissions, and ensuring there are sensible, sustainable, defaults in place during their continuous development.
Charting a greener way forward
As organizations progress through their respective sustainability journeys, it inevitably becomes clear that sustainability in technology is a rather nebulous domain with limited resources, knowledge and guidance to operate effectively. The discipline of GreenOps is meant to enable any business operating in any phase of their cloud journey to improve their sustainability awareness and work towards a sustainable transformation. In order to determine a good place to start via a GreenOps approach, it might be helpful to assess existing strategies and begin to ask certain clarifying questions like, “Does my organization have sustainability reflected in its corporate strategy?”, or “What level of buy-in and stakeholder incentivization is needed to prioritize GreenOps?”. Determining the answers to some of these types of baseline questions will help to create a vision of what operationalizing a GreenOps approach could look like and help achieve. For organizations looking to determine further next steps in this cycle of continuous optimization – look towards automation. Along with automating data reports, automated and real time emissions alerts could be implemented alongside budget alerts. Internal teams could consider implementing a sort of “carbon allotment” that could go hand in hand with a budget allotment. So as the world aims to collectively reduce greenhouse gas emissions and businesses continue to strategize cost optimizations, just remember that GreenOps is a forward thinking approach and can be embraced alongside FinOps strategies, ultimately leading organizations towards more successful and efficient cloud operations.