Preface |
|
xix | |
|
Part I Introducing FinOps |
|
|
|
|
1 | (16) |
|
Defining the Term "FinOps" |
|
|
1 | (1) |
|
The FinOps Hero's Journey |
|
|
2 | (2) |
|
Where Did FinOps Come From? |
|
|
4 | (3) |
|
Data-Driven Decision Making |
|
|
7 | (1) |
|
Real-Time Feedback (aka the "Prius Effect") |
|
|
8 | (2) |
|
Core Principles of FinOps |
|
|
10 | (1) |
|
When Should You Start FinOps? |
|
|
11 | (3) |
|
Starting with the End in Mind: Data-Driven Decision Making |
|
|
14 | (1) |
|
|
15 | (2) |
|
|
17 | (12) |
|
Use Cloud for the Right Reasons |
|
|
17 | (2) |
|
Cloud Spend Keeps Accelerating |
|
|
19 | (2) |
|
The Impact of Not Adopting FinOps |
|
|
21 | (5) |
|
Informed Ignoring: Why Start Now? |
|
|
23 | (3) |
|
|
26 | (3) |
|
3 Cultural Shift and the FinOps Team |
|
|
29 | (20) |
|
Deming on Business Transformation |
|
|
29 | (1) |
|
|
30 | (2) |
|
|
32 | (1) |
|
The FinOps Team Doesn't Do FinOps |
|
|
33 | (1) |
|
The Role of Each Team in FinOps |
|
|
34 | (2) |
|
Executives and Leadership |
|
|
34 | (1) |
|
Engineering and Developers |
|
|
35 | (1) |
|
|
35 | (1) |
|
|
35 | (1) |
|
Product or Business Teams |
|
|
35 | (1) |
|
|
36 | (1) |
|
A New Way of Working Together |
|
|
36 | (1) |
|
Where Does Your FinOps Team Report? |
|
|
36 | (2) |
|
Understanding Motivations |
|
|
38 | (3) |
|
|
38 | (1) |
|
|
39 | (1) |
|
Executives and Leadership |
|
|
40 | (1) |
|
Procurement and Sourcing People |
|
|
40 | (1) |
|
FinOps Throughout Your Organization |
|
|
41 | (1) |
|
|
41 | (2) |
|
|
43 | (4) |
|
Difficulty Motivating People Is Not New |
|
|
44 | (2) |
|
|
46 | (1) |
|
|
46 | (1) |
|
Tipping the Scales in Your Favor |
|
|
46 | (1) |
|
|
47 | (2) |
|
|
49 | (14) |
|
Defining a Common Lexicon |
|
|
50 | (1) |
|
|
51 | (3) |
|
Defining Finance Terms for Cloud Professionals |
|
|
54 | (2) |
|
Abstraction Assists Understanding |
|
|
56 | (2) |
|
Cloud Language Versus Business Language |
|
|
58 | (1) |
|
Creating a Universal Translator Between Your DevOps and Finance Teams |
|
|
59 | (1) |
|
The Need to Educate All the Disciplines |
|
|
60 | (1) |
|
Benchmarking and Gamification |
|
|
60 | (1) |
|
|
61 | (2) |
|
5 Anatomy of the Cloud Bill |
|
|
63 | (16) |
|
|
63 | (1) |
|
|
64 | (1) |
|
Basic Format of Billing Data |
|
|
65 | (2) |
|
Time, Why Do You Punish Me? |
|
|
67 | (1) |
|
|
68 | (1) |
|
A Brief History of Cloud Billing Data |
|
|
69 | (3) |
|
The Importance of Hourly Data |
|
|
72 | (1) |
|
|
72 | (1) |
|
|
73 | (1) |
|
Two Levers to Affect Your Bill |
|
|
73 | (1) |
|
Who Should Avoid Costs and Who Should Reduce Rates? |
|
|
74 | (1) |
|
Centralizing Rate Reduction |
|
|
75 | (1) |
|
Why You Should Decentralize Usage Reduction |
|
|
76 | (1) |
|
|
77 | (2) |
|
|
79 | (20) |
|
|
80 | (1) |
|
Different Executive Pitches for Different Levels |
|
|
81 | (5) |
|
|
82 | (1) |
|
|
83 | (2) |
|
Sample Headcount Plan for Advancing a FinOps Team |
|
|
85 | (1) |
|
Pitching the Executive Sponsor |
|
|
86 | (1) |
|
|
87 | (1) |
|
Key Personas That the Driver Must Influence |
|
|
88 | (2) |
|
|
88 | (1) |
|
|
89 | (1) |
|
|
89 | (1) |
|
|
90 | (1) |
|
Roadmap for Getting Adoption of FinOps |
|
|
90 | (5) |
|
Stage 1 Planning for FinOps in an Organization |
|
|
91 | (2) |
|
Stage 2 Socializing FinOps for Adoption in an Organization |
|
|
93 | (1) |
|
Stage 3 Preparing the Organization for FinOps |
|
|
94 | (1) |
|
Type of Alignment to the Organization |
|
|
95 | (1) |
|
Full Time, Part Time, Borrowed Time: A Note on Resources |
|
|
96 | (1) |
|
A Complex System Designed from Scratch Never Works |
|
|
97 | (1) |
|
|
98 | (1) |
|
7 The FinOps Foundation Framework |
|
|
99 | (10) |
|
An Operating Model for Your Practice |
|
|
100 | (1) |
|
|
100 | (2) |
|
|
101 | (1) |
|
|
101 | (1) |
|
|
102 | (1) |
|
|
102 | (1) |
|
|
102 | (4) |
|
|
103 | (1) |
|
Structure of Capabilities |
|
|
104 | (2) |
|
Adapting the Framework to Fit Your Needs |
|
|
106 | (1) |
|
Connection to Other Frameworks/Models |
|
|
107 | (1) |
|
|
108 | (1) |
|
|
109 | (26) |
|
Build Versus Buy Versus Native |
|
|
109 | (5) |
|
When to Use Native Tooling |
|
|
110 | (1) |
|
|
111 | (1) |
|
|
112 | (2) |
|
Operationalized Reporting |
|
|
114 | (5) |
|
|
114 | (2) |
|
Perfect Is the Enemy of Good |
|
|
116 | (1) |
|
|
116 | (2) |
|
|
118 | (1) |
|
|
118 | (1) |
|
|
119 | (3) |
|
|
120 | (1) |
|
|
120 | (1) |
|
Usability and Consistency |
|
|
120 | (1) |
|
|
121 | (1) |
|
Consistency of Color and Visual Representation |
|
|
121 | (1) |
|
Recognition Versus Recall |
|
|
121 | (1) |
|
|
122 | (4) |
|
|
122 | (1) |
|
|
123 | (1) |
|
|
124 | (1) |
|
|
125 | (1) |
|
|
126 | (1) |
|
|
126 | (1) |
|
|
126 | (1) |
|
|
127 | (1) |
|
Putting Data in the Path of Each Persona |
|
|
127 | (2) |
|
Data in the Path of Finance |
|
|
128 | (1) |
|
Data in the Path of Leadership |
|
|
128 | (1) |
|
Data in the Path of Engineers |
|
|
128 | (1) |
|
Connecting FinOps to the Rest of the Business |
|
|
129 | (1) |
|
|
129 | (2) |
|
|
131 | (4) |
|
|
|
|
135 | (12) |
|
The Six Principles of FinOps |
|
|
135 | (3) |
|
#1 Teams Need to Collaborate |
|
|
136 | (1) |
|
#2 Decisions Are Driven by the Business Value of Cloud |
|
|
136 | (1) |
|
#3 Everyone Takes Ownership of Their Cloud Usage |
|
|
136 | (1) |
|
#4 FinOps Reports Should Be Accessible and Timely |
|
|
136 | (1) |
|
#5 A Centralized Team Drives FinOps |
|
|
137 | (1) |
|
#6 Take Advantage of the Variable Cost Model of the Cloud |
|
|
137 | (1) |
|
|
138 | (6) |
|
|
139 | (2) |
|
|
141 | (1) |
|
|
142 | (2) |
|
|
144 | (1) |
|
|
145 | (1) |
|
You Don't Have to Find All the Answers |
|
|
145 | (1) |
|
|
146 | (1) |
|
10 Inform Phase: Where Are You Right Now? |
|
|
147 | (8) |
|
Data Is Meaningless Without Context |
|
|
147 | (1) |
|
|
148 | (2) |
|
Organizational Work During This Phase |
|
|
150 | (1) |
|
Transparency and the Feedback Loop |
|
|
150 | (2) |
|
Benchmarking Team Performance |
|
|
152 | (1) |
|
|
153 | (1) |
|
|
154 | (1) |
|
11 Allocation: No Dollar Left Behind |
|
|
155 | (14) |
|
|
155 | (1) |
|
Amortization: It's Accrual World |
|
|
156 | (2) |
|
Creating Goodwill and Auditability with Accounting |
|
|
158 | (1) |
|
The "Spend Panic" Tipping Point |
|
|
159 | (1) |
|
Spreading Out Shared Costs |
|
|
160 | (2) |
|
Chargeback Versus Showback |
|
|
162 | (1) |
|
A Combination of Models Fit for Purpose |
|
|
163 | (1) |
|
Accounts, Tagging, Account Organization Hierarchies |
|
|
164 | (1) |
|
The Showback Model in Action |
|
|
165 | (1) |
|
Chargeback and Showback Considerations |
|
|
166 | (1) |
|
|
166 | (3) |
|
12 Tags, Labels, and Accounts, Oh My! |
|
|
169 | (16) |
|
Tag- and Hierarchy-Based Approaches |
|
|
170 | (2) |
|
Getting Started with Your Strategy |
|
|
172 | (1) |
|
|
172 | (1) |
|
|
172 | (1) |
|
|
173 | (1) |
|
Comparing the Allocation Options of the Big Three |
|
|
173 | (1) |
|
Comparing Accounts and Folders Versus Tags and Labels |
|
|
174 | (1) |
|
Organizing Accounts and Projects into Groups |
|
|
175 | (1) |
|
Tags and Labels: The Most Flexible Allocation Option |
|
|
176 | (7) |
|
|
177 | (1) |
|
Getting Started Early with Tagging |
|
|
178 | (1) |
|
Deciding When to Set Your Tagging Standard |
|
|
178 | (1) |
|
Picking the Right Number of Tags |
|
|
179 | (1) |
|
Working Within Tag/Label Restrictions |
|
|
180 | (1) |
|
|
181 | (1) |
|
Reporting on Tag Performance |
|
|
182 | (1) |
|
Getting Teams to Implement Tags |
|
|
182 | (1) |
|
|
183 | (2) |
|
|
185 | (20) |
|
The State of Cloud Forecasting |
|
|
186 | (1) |
|
Forecasting Methodologies |
|
|
187 | (2) |
|
|
189 | (1) |
|
Cloud Forecasting Challenges |
|
|
189 | (9) |
|
Manual Versus Automated Forecasts |
|
|
190 | (1) |
|
|
190 | (1) |
|
|
190 | (2) |
|
|
192 | (1) |
|
|
193 | (1) |
|
|
194 | (1) |
|
|
195 | (1) |
|
Impacts of Cost Optimization on Forecasts |
|
|
196 | (2) |
|
|
198 | (1) |
|
The Importance of Managing Teams to Budgets |
|
|
199 | (3) |
|
|
202 | (3) |
|
|
|
14 Optimize Phase: Adjusting to Hit Goals |
|
|
205 | (12) |
|
|
205 | (1) |
|
The First Goal Is Good Cost Allocation |
|
|
206 | (1) |
|
|
206 | (1) |
|
The Iron Triangle: Good, Fast, Cheap |
|
|
207 | (1) |
|
|
208 | (3) |
|
OKR Focus Area # 1: Credibility |
|
|
209 | (1) |
|
OKR Focus Area #2: Maintainable |
|
|
209 | (1) |
|
OKR Focus Area #3: Control |
|
|
209 | (2) |
|
|
211 | (2) |
|
|
213 | (1) |
|
Using Less Versus Paying Less |
|
|
214 | (1) |
|
|
215 | (2) |
|
15 Using Less: Usage Optimization |
|
|
217 | (26) |
|
The Cold Reality of Cloud Consumption |
|
|
217 | (2) |
|
Where Does Waste Come From? |
|
|
219 | (1) |
|
Usage Reduction by Removing/Moving |
|
|
220 | (1) |
|
Usage Reduction by Resizing (Rightsizing) |
|
|
221 | (2) |
|
Common Rightsizing Mistakes |
|
|
223 | (3) |
|
Relying on Recommendations That Use Only Averages or Peaks |
|
|
223 | (2) |
|
Failing to Rightsize Beyond Compute |
|
|
225 | (1) |
|
Not Addressing Your Resource "Shape" |
|
|
225 | (1) |
|
Not Simulating Performance Before Rightsizing |
|
|
225 | (1) |
|
Hesitating Due to Reserved Instance Uncertainly |
|
|
226 | (1) |
|
Going Beyond Compute: Tips to Control Cloud Costs |
|
|
226 | (3) |
|
|
226 | (2) |
|
|
228 | (1) |
|
|
229 | (1) |
|
Usage Reduction by Redesigning |
|
|
229 | (1) |
|
|
229 | (1) |
|
|
230 | (1) |
|
Effects on Reserved Instances |
|
|
230 | (1) |
|
|
231 | (1) |
|
|
232 | (1) |
|
|
233 | (2) |
|
Maturing Usage Optimization |
|
|
235 | (1) |
|
Advanced Workflow: Automated Opt-Out Rightsizing |
|
|
236 | (3) |
|
|
239 | (2) |
|
|
241 | (2) |
|
16 Paying Less: Rate Optimization |
|
|
243 | (8) |
|
|
243 | (2) |
|
|
244 | (1) |
|
|
244 | (1) |
|
Commitment-Based Discounts |
|
|
245 | (1) |
|
|
245 | (1) |
|
|
246 | (2) |
|
|
246 | (1) |
|
|
247 | (1) |
|
|
248 | (1) |
|
|
248 | (1) |
|
|
249 | (1) |
|
|
249 | (1) |
|
|
250 | (1) |
|
17 Understanding Commitment-Based Discounts |
|
|
251 | (30) |
|
Introduction to Commitment-Based Discounts |
|
|
251 | (2) |
|
Commitment-Based Discount Basics |
|
|
253 | (5) |
|
Compute Instance Size Flexibility |
|
|
255 | (2) |
|
Conversions and Cancellations |
|
|
257 | (1) |
|
Overview of Usage Commitments Offered by the Big Three |
|
|
258 | (1) |
|
|
258 | (11) |
|
|
259 | (1) |
|
|
260 | (1) |
|
|
260 | (1) |
|
|
261 | (2) |
|
Standard Versus Convertible RIs |
|
|
263 | (1) |
|
Instance Size Flexibility |
|
|
264 | (3) |
|
|
267 | (1) |
|
|
268 | (1) |
|
|
269 | (5) |
|
|
269 | (2) |
|
Instance Size Flexibility |
|
|
271 | (1) |
|
|
272 | (2) |
|
|
274 | (4) |
|
Google Committed Use Discounts |
|
|
274 | (1) |
|
Paying for Cores, Not Hours, in Google |
|
|
275 | (1) |
|
Google Billing and Sharing CUDs |
|
|
275 | (1) |
|
Google Billing Account and Ownership |
|
|
276 | (1) |
|
Applying Google CUDs in a Project |
|
|
277 | (1) |
|
Google Flexible Committed Use Discounts |
|
|
277 | (1) |
|
|
278 | (3) |
|
18 Building a Commitment-Based Discount Strategy |
|
|
281 | (22) |
|
|
282 | (1) |
|
Steps to Building a Commitment-Based Discount Strategy |
|
|
282 | (11) |
|
Step 1 Learn the Fundamentals of Each Program |
|
|
282 | (4) |
|
Step 2 Understand Your Level of Commitment to Your Cloud Service Provider |
|
|
286 | (1) |
|
Step 3 Build a Repeatable Commitment-Based Discount Process |
|
|
286 | (3) |
|
Step 4 Purchase Regularly and Often |
|
|
289 | (1) |
|
Step 5 Measure and Iterate |
|
|
290 | (1) |
|
Step 6 Allocate Up-Front Commitment Costs Appropriately |
|
|
291 | (2) |
|
How to Manage the Commitment Strategy |
|
|
293 | (1) |
|
Purchasing Commitments Just-in-Time |
|
|
293 | (2) |
|
When to Rightsize Versus Commit |
|
|
295 | (7) |
|
|
296 | (2) |
|
Who Pays for Commitments? |
|
|
298 | (2) |
|
|
300 | (2) |
|
|
302 | (1) |
|
19 Sustainability: FinOps Partnering with GreenOps |
|
|
303 | (16) |
|
What Are Cloud Carbon Emissions? |
|
|
305 | (1) |
|
Scope 1, 2, and 3 Emissions |
|
|
306 | (1) |
|
Are Cloud Providers Green? |
|
|
307 | (2) |
|
|
308 | (1) |
|
|
308 | (1) |
|
|
309 | (1) |
|
Partnering with Engineers on Sustainability |
|
|
309 | (1) |
|
FinOps and GreenOps Better Together? |
|
|
310 | (2) |
|
|
312 | (1) |
|
Avoid FinOps Working Against GreenOps |
|
|
313 | (1) |
|
|
314 | (5) |
|
|
|
20 Operate: Aligning Teams to Business Goals |
|
|
319 | (10) |
|
|
319 | (1) |
|
Staffing and Augmenting Your FinOps Team |
|
|
320 | (1) |
|
|
320 | (4) |
|
|
321 | (1) |
|
|
322 | (1) |
|
|
322 | (1) |
|
|
323 | (1) |
|
How Do Responsibilities Help Culture? |
|
|
324 | (2) |
|
Carrot Versus Stick Approach |
|
|
324 | (1) |
|
|
325 | (1) |
|
Putting Operate into Action |
|
|
326 | (1) |
|
|
326 | (3) |
|
21 Automating Cost Management |
|
|
329 | (12) |
|
What Is the Outcome You Want to Achieve? |
|
|
330 | (1) |
|
Automated Versus Manual Tasks |
|
|
330 | (2) |
|
|
332 | (3) |
|
|
332 | (1) |
|
|
333 | (1) |
|
Tooling Deployment Options |
|
|
333 | (2) |
|
Automation Working Together |
|
|
335 | (1) |
|
|
335 | (1) |
|
|
335 | (1) |
|
|
336 | (1) |
|
|
337 | (1) |
|
|
338 | (1) |
|
|
338 | (1) |
|
Scheduled Resource Start/Stop |
|
|
338 | (1) |
|
|
338 | (1) |
|
|
339 | (2) |
|
22 Metric-Driven Cost Optimization |
|
|
341 | (12) |
|
|
341 | (6) |
|
|
342 | (1) |
|
|
342 | (1) |
|
|
342 | (4) |
|
|
346 | (1) |
|
Metric-Driven Versus Cadence-Driven Processes |
|
|
347 | (2) |
|
|
349 | (1) |
|
|
349 | (1) |
|
|
350 | (2) |
|
|
352 | (1) |
|
23 FinOps for the Container World |
|
|
353 | (16) |
|
|
354 | (1) |
|
The Move to Container Orchestration |
|
|
355 | (1) |
|
The Container FinOps Lifecycle |
|
|
356 | (1) |
|
|
357 | (5) |
|
|
357 | (1) |
|
|
357 | (4) |
|
Tags, Labels, and Namespaces |
|
|
361 | (1) |
|
|
362 | (3) |
|
|
362 | (1) |
|
Container Usage Optimization |
|
|
362 | (3) |
|
Server Instance Rate Optimization |
|
|
365 | (1) |
|
|
365 | (1) |
|
|
366 | (1) |
|
|
366 | (3) |
|
24 Partnering with Engineers to Enable FinOps |
|
|
369 | (14) |
|
|
369 | (1) |
|
What's on the Mind of the Engineer? |
|
|
370 | (2) |
|
Constraints and the Solving of Hard Problems |
|
|
372 | (1) |
|
Principles for Enabling Cost-Efficient Engineering |
|
|
373 | (6) |
|
#1 Maximize Value Rather Than Reduce Cost |
|
|
374 | (1) |
|
#2 Remember That We Are on the Same Team |
|
|
375 | (1) |
|
#3 Prioritize Improving Communication |
|
|
375 | (1) |
|
#4 Introduce Financial Constraints Early in the Product Development |
|
|
376 | (1) |
|
#5 Enablement, Not Control |
|
|
377 | (1) |
|
#6 Leadership Support Isn't Helpful, It Is Essential |
|
|
377 | (2) |
|
Data in the Path of the Engineer |
|
|
379 | (1) |
|
Models for Partnering with Engineering Teams |
|
|
380 | (1) |
|
|
380 | (1) |
|
|
380 | (1) |
|
Indirect Collaboration with Targeted Contribution |
|
|
380 | (1) |
|
|
381 | (2) |
|
25 Connectivity to Other Frameworks |
|
|
383 | (8) |
|
|
385 | (1) |
|
Working with Other Methodologies and Frameworks |
|
|
385 | (4) |
|
|
386 | (1) |
|
Make Friends and Share Goals |
|
|
387 | (1) |
|
Share Influence, Terminology, and Processes |
|
|
388 | (1) |
|
|
389 | (1) |
|
|
389 | (1) |
|
|
389 | (2) |
|
26 FinOps Nirvana: Data-Driven Decision Making |
|
|
391 | (14) |
|
Unit Economics and Metrics |
|
|
392 | (1) |
|
Unit Economics Don't Have to Be About Revenue |
|
|
393 | (1) |
|
Calculating Unit Economic Metrics |
|
|
394 | (1) |
|
Spending Is Fine, Wasting Is Not |
|
|
394 | (3) |
|
|
397 | (2) |
|
Coming Back to the Iron Triangle |
|
|
399 | (1) |
|
What's Missing from the Equation? |
|
|
400 | (1) |
|
When Have You Won at FinOps? |
|
|
401 | (2) |
|
|
403 | (2) |
|
27 You Are the Secret Ingredient |
|
|
405 | (4) |
|
|
406 | (3) |
Afterword on What to Prioritize (from J.R.) |
|
409 | (2) |
Index |
|
411 | |