All rights reserved No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the authors, nor Packt Publishing or its dealers and distributors, will be held liable for any damages caused or alleged to have been caused directly or indirectly by this book
Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals However, Packt Publishing cannot guarantee the accuracy of this information.
Group Product Manager: Preet Ahuja
Publishing Product Manager: Surbhi Suman
Senior Editor: Sujata Tripathi
Technical Editor: Yash Bhanushali
Copy Editor: Safis Editing
Project Coordinator: Ashwini Gowda
Proofreader: Safis Editing
Indexer: Hemangini Bari
Production Designer: Prashant Ghare
Marketing Coordinator: Rohan Dobhal
First published: February 2023
Production reference: 1310124
Published by Packt Publishing Ltd
Grosvenor House
11 St Paul’s Square
Birmingham
B3 1RB
ISBN 978-1-80512-257-9
www packtpub com
To my parents, who planted the seed of writing in me, and my brothers, for their continuous support To Beatriz, my wife and life companion, whose support and love have been essential to completing this project. To all my colleagues and team at Santander and Avanade/Accenture, from whom I learned so much, without you this wouldn’t be possible. To Danny, who has endured this adventure with me for a whole year without faltering And last but not least, to Edgar Bahilo and my brother Ignacio San Miguel, who have kindly shared their expertise and wisdom in the last chapter of this book. And, of course, to the whole Packt team, for trusting us with this project and supporting us throughout its completion
– Alfonso San Miguel Sánchez
To my sons, Gonzalo and Clara, whose innocence and eagerness to learn are my biggest inspirations I want to also thank my parents, who have always supported me and shown me what respect and commitment are. To all my work colleagues who have shared this journey with me. Special mention to my friend Alfonso San Miguel, for letting me experience this adventure. And last but not least, to Eva, my wife and friend, who makes anything possible with her love and support
Danny Obando García
Contributors
About the authors
Alfonso San Miguel Sánchez is a multi-cloud architect, with a deep experience both on premises and in the cloud. He has always enjoyed being close to development teams, implementing coding, DevOps, and other methodologies into his way of working, with a strong focus on automation
Alfonso has a degree in computer science from Universidad Complutense de Madrid and an M.Sc. degree in machine learning. After his studies, he worked as a cloud architect for Tecnicas Reunidas, Avanade, and B2Impact, where he works now as a lead cloud architect Though passionate about cloud governance, in the past few years, he has specialized in FinOps, aiming to develop an entire methodology around the practice.
Danny Obando García is a multi-cloud data architect, who has worked in various roles during his professional career, always aiming to create reliable and scalable data and infrastructure solutions by applying different frameworks and methodologies. Danny has a degree in computer science from Universitat Oberta Catalunya (UOC), which he complemented with an M Sc in artificial intelligence for financial markets With a rich IT experience of about 15 years, he is currently leading data strategy for Holaluz, one of the biggest players in Spain’s energy market. Before this, he had experience working and implementing FinOps for the biggest banking group in Spain.
About the reviewers
Israel Pérez Jiménez has more than 20 years of experience in IT. He has worked in multiple sectors such as transportation, banking, and the engineering industry, in varied roles such as project management, IT processes consultant, infrastructure, and digital transformation He currently works for Tecnicas Reunidas as a lead systems architect, fully focused on cloud governance, modernization, and cost optimization, where he has been for more than 9 years. Architecting solutions is part of his DNA, with a strong focus on cost, security, automation, and reliability. From traditional on-premises environments to cloud solutions, his wide experience grants him a complete vision of IT challenges Ismael Doblas Bermudo began his journey as a cloud engineer. Through constant learning and training, he honed his skills as an architect to build more robust and scalable architectures His focus on multi-cloud environments allows him a panoramic view, as well as a complete vision of the cloud’s ever-evolving landscape, enabling him to navigate seamlessly across various public clouds.
His knowledge of automation and IaC has also become a cornerstone of his approach, to ensure efficiency, consistency, and scalability During the last years of his experience, during a pivotal juncture in his evolution, he chose to specialize in FinOps He currently works as a global FinOps lead for a multinational company in the banking sector.
Eric Duquesnoy is a seasoned professional, currently the head of Cloud and DevOps consulting at ELCA Cloud Services. Based in Geneva, Eric leads strategic initiatives using his extensive expertise in cloud architecture (Azure, AWS) and FinOps. In addition to his professional activities, Eric is the founder of the Silicon Chalet meetup in Switzerland, a dynamic community shaping the future of technology From 2019 to 2023, Eric held the position of head of Cloud at Eurovisions, where he contributed significantly to the advancement of the organization’s cloud technology. Eric holds the FinOps Practitioner certification, which highlights his commitment to excellence in optimizing cloud spend and aligning financial strategies with business objectives
Table of Contents
Preface
Part 1: Get Started with FinOps
1
Introduction to FinOps Principles
What is FinOps, and why do we need another buzzword?
Why FinOps?
Before the cloud
The cloud comes into play
A paradigm shift
Hidden on-premises costs
Back to the present
The FinOps Foundation
The three pillars of FinOps
Inform
Example (the Inform pillar)
Optimize
Example (the Optimize pillar)
Operate
Example (the Operate pillar)
Summary
2
Understanding How FinOps Fits into Cloud Governance
The Well-Architected Framework – an introduction
FinOps as part of bigger governance
FinOps + Agile methodologies
FinOps, Infrastructure as Code, CI/CD, and DevOps
FinOps and change management
Tailoring a FinOps approach for each organization
Scenario 1 – companies not yet in the cloud or beginning their journey to it
Scenario 2 – companies already in the cloud but not mature enough or that have non-optimized workloads
Scenario 3 – big companies with strong cloud maturity
Scenario 4 – companies focused on generating cloud cost savings
Selecting the right tools for the job
Base tools
Market tools
Other interesting tools
Part 2: Inform – How to Increase Cost Visibility
3
Designing and Executing the Tagging and Naming Convention Strategies
The importance of naming conventions and tagging in FinOps
Why are naming conventions significant?
Why are tagging strategies significant?
Naming conventions versus tagging
Naming convention and tagging enforcement
Naming conventions for cloud resources
Style and format
Separators
Key fields to include
Parent and child resources
Creating a name generator
Building a tagging strategy
Style and format
Simple and compound tags
Creating a tagging strategy
Cost allocation Summary 4
Estimating Cloud Solution Costs and Initiative Saving
Technical requirements
How to calculate the TCO for cloud solutions
TCO introduction
Cloud pricing calculators
Pricing APIs from cloud providers and how to work with them
Pricing APIs overview
Estimating potential savings of cost optimization initiatives
How to automate cost estimation
Data sources selection
Data consolidation
Estimation calculation
Change notification
Data update
Summary
Improving Cost Visibility with Dashboards and Reports
Understanding cloud invoices and billing data
Dashboards and reports
The main differences between a report and a dashboard
Key benefits
Dashboards from another view – simulators
How to prepare cost evolution reports and dashboards and their importance
Financial basics
Tracking savings to initiatives and adding milestones
Unit economics
How to prepare FinOps dashboards and reports
Existing dashboards and reports
Custom dashboards and reports
Summary
Part
3: Optimize – How to Get the Most out of Cloud
Implementing IaaS Compute Optimization
Compute optimization key concepts
Quick wins
Introduction to IaaS, PaaS, and serverless
Stateless versus stateful
IaaS optimization
Quick win – orphaned resources
Virtual machine version upgrades
Virtual machine rightsizing
Virtual machine family standardization
Virtual machine power scheduling
Virtual machine scaling
Reserved Instances and Saving Plans
Spot VMs
Summary
Implementing PaaS and Other Compute Optimization Initiatives
PaaS optimization
PaaS rightsizing and workload consolidation
Example – Azure App Service and App Service plans
Serverless versus provisioned compute
The benefits of Serverless
Example – Azure SQL Serverless
Managed Kubernetes cluster optimization
Data transfer costs optimization
Azure – Data transfer costs
AWS – Data transfer costs
GCP – Data transfer costs
Licensing optimization
Bring-your-own-license model
Cloud provider agreements and resource allocation
Azure – Enterprise Agreement versus CSP
AWS organizations, billing accounts, and OUs
GCP organization, folders, projects and resources
Implementing Database Optimization
Relational versus non-relational/NoSQL databases
Relational databases
Non-relational or NoSQL databases
Which one should you choose?
Which database management system?
Example – SQL Server versus Oracle pricing for AWS RDS
SQL Server
Oracle
PostgreSQL
MySQL
MongoDB
IaaS versus PaaS versus serverless
IaaS database optimization
Rational database use
Backup storage optimization
Shared Disks for database clusters
Shrinking relational databases
Database grouping in SQL Server
PaaS database optimization
Compute optimization and rightsizing
Database grouping
Database scaling
Serverless versus Provisioned Compute
Backup storage and redundancy
Reserved capacity
Azure
AWS
Google
Licensing optimization
Bring your own license (BYOL)
Development scenarios
Summary
9
Implementing Storage Optimization
Storage key concepts
Types of storage in the cloud
Thick versus thin provisioning in disks
Disk snapshots
Storage redundancy
Block storage
File storage
Object storage
Block storage optimization
Snapshot optimization
Ephemeral disks
Disk rightsizing
Offloading to file and object storage
Reserved capacity
File storage optimization
File storage rightsizing and data temperature
Reserved capacity
Object storage optimization
Object storage tiering
Life cycle policies
Limiting and tracking versioning, soft delete, and object snapshot usage
Object storage inventory
Reserved capacity
Other storage optimization initiatives
Log storage optimization
Backup storage optimization
Summary
Part 4: Operate – How to Set Up a Governance Model around Cloud Costs
10
Designing and Implementing FinOps KPIs
What is a KPI?
KPI creation process
Types of KPIs
Objectives and key results
Using KPIs for FinOps practices
Example of a FinOps KPI in Azure – region placement
More FinOps examples
Summary
11
Defining New FinOps Roles and Processes
Target operating model and FinOps
FinOps operational model
Organizational model
Rollout and execution plan
Functions, capabilities, and processes
Roles and responsibilities
Governance
Summary
Part 5: Hands-On Cost Optimization with Real-Life Use
Cases and More
12
Case Studies for Cost Optimization
IaaS case study – multi-tiered application migrated to the cloud
Solution description
Initiatives covered
Summary of initiatives and final results
PaaS case study – storage, serverless, and database optimization
Solution description
Initiatives covered
Summary of initiatives and final results
Summary
13
Wrapping up and Looking ahead
FinOps summary and future challenges – how to keep up
Inform (Chapters 3, 4, and 5)
Optimize (Chapters 6, 7, 8, and 9)
Operate (Chapters 10 and 11)
Case studies
FinOps future challenges
Cloud sustainability and FinOps
How environmental sustainability policies work
Public cloud and sustainability – GreenOps
Machine learning, artificial intelligence, and FinOps
How ML works
FinOps applications
Self-assessment/knowledge check
Chapter 1
Chapter 2
Chapter 3
Chapter 4
Chapter 5
Chapter 6
Chapter 7
Chapter 8
Chapter 9
Chapter 10
Chapter 11
Chapter 13
Summary
Index
Other Books You May Enjoy
Preface
First and foremost, greetings and welcome to this book! Before we dive into it, we want to introduce you to the reasons why we wrote this book and set up the context
The idea for this book was born after an intense experience of building up a FinOps practice together with a great team, which we worked on from scratch and created something that we felt was worth sharing with the FinOps community.
For almost two nonstop years, we were fully dedicated to FinOps, unlike other architects or engineers who divide their time between a lot of projects. We worked on FinOps governance and implementation in a really complex environment, where nothing was easy, but it was definitely satisfying to build it and see it grow
It was two years full of research, learning every step of the way, thinking about what else to propose, coming out with new ideas and approaches, overcoming the different walls that were in front of us, solving problems, and adapting along the way
Our goal is to share all of it with you, in the hope that it will aid you in your future experiences.
Who this book is for
This book is intended for cloud engineers, cloud and solutions architects, as well as DevOps and systems operations engineers interested in learning more about FinOps and cloud financial management for efficiently architecting, designing, and operating software solutions and infrastructure using public clouds. This book will also be useful for team leads, project managers, and financial teams interested in getting the most out of cloud resources
Some prior knowledge of cloud computing and major public clouds will be needed to get the most out of this book, as in some sections, we will delve deeper into more technical work, terms, and examples
What this book covers
Chapter 1, Introduction to FinOps Principles, provides an introduction to what FinOps is and why it is needed for organizations that are transitioning to or already in the cloud
Chapter 2, Understanding How FinOps Fits into Cloud Governance, covers how FinOps interacts with different methodologies widely used in organizations, such as the Well-Architected Framework, infrastructure as code, Agile project management, and other key processes, such as change management. This chapter also covers how FinOps can adapt to organizations in different phases of their cloud journey, and the basic tools to perform cost analysis on Azure, AWS, and Google Cloud, as well as other market tools that are offered by other vendors outside of Microsoft, Amazon, and Google.
Chapter 3, Designing and Executing the Tagging and Naming Convention Strategies, provides a detailed explanation of why both tagging and naming convention strategies are essential for FinOps practices, as well as recommendations and tools that can be used to design, implement, and enforce your own strategies
Chapter 4, Estimating Cloud Solutions Costs and Initiative Savings, provides a detailed description of all the migration models that can be used to migrate workloads to the cloud, as well as some key concepts about cloud costs that should be understood before going forward It also covers how to leverage pricing calculators and REST APIs offered by cloud providers to create your own estimations, as well as how potential savings concepts can boost and drive your FinOps practices further
Chapter 5, Improving Cost Visibility with Dashboards and Reports, provides an introduction to cloud billing data and the structure and fields of a cloud bill, as well as what dashboards and reports are and how they are different from each other It also includes a lot of insights to improve the quality of your FinOps dashboards and reports using financial concepts and other key ideas, such as unit economics.
Chapter 6, Implementing IaaS Compute Optimization, provides an overview of FinOps initiatives that can be carried out on infrastructure-as-a-service compute services for cost optimization.
Chapter 7, Implementing PaaS and Other Compute Optimization Initiatives, provides an overview of FinOps initiatives that can be carried out in platform-as-a-service compute services for cost optimization, as well as other initiatives that are related to backup, licensing, and resource management best practices
Chapter 8, Implementing Database Optimization, provides an overview of FinOps initiatives that can be carried out in database services for cost optimization It also introduces a lot of key basic concepts
around databases in general that are needed to fully understand the tools at our disposal for optimizing database services
Chapter 9, Implementing Storage Optimization, provides an overview of FinOps initiatives that can be carried out in database services for cost optimization. It also explains in depth how the different storage paradigms work and some key concepts, such as redundancy, data temperature tiering, and the cost drivers of storage services.
Chapter 10, Designing and Implementing FinOps KPIs, covers what a KPI is and the different categories of KPIs that exist. Once the basic concepts have been introduced, it also provides a complete methodology to design and develop your own KPIs, with a lot of examples of FinOps KPIs that can be used as a starting point to create your own dashboards and reports
Chapter 11, Defining New FinOps Roles and Processes, provides an overview of how to define and implement your own FinOps operating model, which includes the functions, capabilities, processes, and roles and responsibilities that enable FinOps practices to be part of the organization’s DNA, as well as other key governance initiatives to enforce FinOps policies.
Chapter 12, Case Studies for Cost Optimization, presents two examples of real-life architectures to be optimized In a step-by-step manner, we provide examples of different initiatives that we can use to optimize these solutions, analyzing throughout the process the impact on costs that these initiatives generate.
Chapter 13, Wrapping Up and Looking Ahead, provides a summary of sorts, where we reflect on what we’ve covered in this book and some challenges that FinOps practitioners may still be facing in the future This chapter also covers two emergent fields of study that are on the rise, which are machine learning and sustainability, as well as the synergies to be found in each one with FinOps practices. To close the circle, this chapter also provides a self-assessment for you to evaluate what you have learned throughout this book.
To get the most out of this book
There are no specific requirements to follow along with this book. However, we have used certain conventions in the book, which we’ve explained as follows. Reviewing them will help you understand the content structure better
Throughout this book, we will add some hints and important notes, for which we will use the following format: