2023 Will Be the Year FinOps Shifts Left Toward Engineering
For any DevOps and R&D teams, logging and observability are instrumental to being able to troubleshoot and fix critical issues coming from production. The main problem with logging is that there are many solutions, and they tend to grow in scale and expense. In addition, logging can serve different personas and different use cases; hence, the strategy around use of logs by DevOps engineers vs. developers should be matched.
With an economic downturn expected in 2023, organizations will seek ways to lower their expenses and cut redundant and unnecessary costs. One low-hanging fruit for engineering teams is cloud costs.
To succeed in tailoring the right and cost-effective logging strategy, DevOps teams and developers need to gain better transparency into what they are logging, and shift from logging everything to logging what’s important, and from only static logging toward a hybrid approach of static and dynamic logging for their production applications.
Furthermore, when organizations embrace a solid shift-left FinOps approach, it will translate not only into overall cost reduction and cost predictability, but also into a much faster resolution of production defects (MTTR reduction) and enhance developer productivity and innovation.
FinOps Core Principles and Why It Should Shift Left
The FinOps Foundation has created a blueprint for practitioners and decision-makers on how to adopt best practices and gain better control, transparency and governance around overall cloud computing spending.
Unlike software development cycles where there’s a shorter feedback loop to gain visibility into code changes and features functionality, with cloud costs the feedback cycles are longer; hence, understanding the impact of cloud computing costs takes days or even months depending on companies’ level of FinOps adoption.
Without proper communication between business, engineering and IT departments, it is hard to optimize costs and make data-driven decisions.
The FinOps Foundation has created a detailed framework that allows centralized teams to mature their FinOps practices from a “crawl” level, through “walk,” toward the highest maturity level that is “run.” This framework balances between the FinOps iron triangle (cost, velocity and quality).
Depending on where the organization is in its product state, leaders should properly make decisions around whether to expand their cloud spending to allow faster time to market (TTM). It may often come at the expense of quality, and vice versa. To be able to adopt the FinOps playbook, centralized teams should be formed and follow these key principles:
- Teams need to collaborate.
- Everyone takes ownership of their cloud usage.
- A centralized team drives FinOps.
- FinOps reports should be accessible and timely.
- Decisions are driven by business value of cloud.
- Take advantage of the variable cost model of the cloud.
As listed above, these principles cannot be achieved by only an individual; they require cross-team collaboration. In addition, to gain proper and timely visibility, as well as to understand why an organization is spending on cloud and to break it down into pieces, engineering must be part of the above-mentioned feedback loop.
“Mature FinOps practices shift left to empower proactive activities within FinOps, which enables engineering to be aware and accountable for the cloud spending, and get them to better optimize and take decisions as part of their continuous software development life cycle,” said Kevin Emamy, partner program advisor at FinOps Foundation.
As a matter of fact, in the recent “State of FinOps” report, 30% of the survey respondents stated that making engineering teams take action around cloud cost optimization is one of their biggest challenges.
Shifting Left with FinOps Through Actionable Engineering
As mentioned above, enabling a FinOps culture starts with having everyone in the organization be accountable and aware of the cloud spending, as well as aligning the cloud usage and budgets to the overall business objectives. The way to do it is to bring to the table the most important function in cloud computing utilization, which are the engineers.
Throughout the SDLC process, developers are building their applications and deploying them to the various cloud providers. Their apps can be cloud native, serverless (such as Lambda, Google Actions, etc.), or deployments through progressive delivery processes.
Each of these use cases are complex on their own. However, when there is a production issue or a toggle of a feature flag that results in an unexpected outcome, that’s when developers need the right tools for the job.
To debug remote and distributed applications, developers often need to add more logs and telemetry, and that requires redeployment of the app to production or to the target environment against which they need to debug the app. This recurring cycle is highly costly in both developer time and cloud computing resources (logs, storage, etc.).
When FinOps is part of the overall organizational culture, and it starts from the developers themselves up to the business, it is a no brainer.
By enabling developers to adopt using dynamic logs for troubleshooting issues in production without the need to redeploy and add more costly logs and telemetry, developers can own the FinOps cost optimization responsibility earlier in the development cycle and shorten the cost feedback loop.
Dynamic logs and developer native observability that are triggered from the developer development environment (IDE) can be an actionable method to cut overall costs and better facilitate cross-team collaboration, which is one of the core principles of FinOps.
“FinOps will become more of an engineering problem than it was in the past, where engineering teams had fairly free reign on cloud consumption. You will see FinOps information shift closer to the developer and end up part of pull-request infrastructure down the line,” says Chris Aniszczyk, CTO at the Cloud Native Computing Foundation.
Keep in mind that it’s not always easy to prioritize and decide when to pull the cost optimization trigger. It will depend on the organization size, the application complexity and understanding of the tasks associated with cost reduction, and other factors. With that in mind, however, when FinOps is part of the overall organizational culture, and it starts from the developers themselves up to the business, it is a no-brainer.
The above screenshot illustrates the process of troubleshooting a remote workload across different cloud virtual machines (VMs) directly from the IDE without the need to redeploy, stop the app, consume more static logs, etc.
What’s Next for FinOps in 2023 and Beyond?
As more centralized FinOps teams are formed that include developers, business, IT and finance representatives, organizations will become much more rigorous around their cloud cost spending and governance, and better embed FinOps principles and processes earlier in the SDLC, starting with having cost-saving actions be part of the developer’s sprint. If developers get used to using dynamic logs, virtual snapshots and other modern troubleshooting practices as their day-to-day in-sprint activities, the shift left for FinOps will become a reality.
In the next “State of FinOps” report in 2023 and beyond, we expect to see more developers taking actions around FinOps and cloud cost optimization initiatives.