The DevOps Toolkit: Catalog, Patterns, And Blueprints

The DevOps Toolkit: Catalog, Patterns, And Blueprints

About the Book

Unlike my other books where I typically dive into a single tool or a single process, this time, I chose a different approach. Instead of going to great lengths trying to help someone become proficient in one thing, this time, I am trying to give you a quick introduction into many different tools and processes. We will skip the potentially lengthy discussions and in-depth exercises. What I want, this time, is to help you make decisions. Which tool works the best for a given task? What should we explore in more depth, and what is a waste of time? The goal is not to learn everything about a tool in detail but rather to dive into many concepts and a plethora of tools right away. The aim is to get you up-to-speed fast while producing useful "real world" results. Think of each chapter as a crash-course into something with the outcome that you can use right away.

I will assume that you don't have time to read hundreds of pages to learn something that you are not even sure is useful. Instead, I will guess that you got up to one hour to read a summary, and then decide if a tool is worthwhile a more significant investment.

This is a catalog of the tools, and the processes I believe are useful in this day and age. I will try to transfer what I think works well and what might have been the right choice in the past but is not optimal anymore.

Nevertheless, even if the scope of this book is different than others, some things are still the same. This is not a book with lots of theory. Sure, there will be some text you might need to read, but most of the content consists of hands-on exercises. I always believed that the best way to learn something is through practice, and I am not giving up on that. This is a book full of real-world hands-on examples, and each chapter will let you dive into a different tool or a process. At the end of each, you will be able to say, "now I know what this is about, and now I can make a decision whether it is a worthwhile investment."

Think of this book as a catalog, combined with patterns and blueprints.

About the Authors

Viktor Farcic
Viktor Farcic

Viktor Farcic is a lead rapscallion at Upbound, a member of the CNCF AmbassadorsGoogle Developer Experts, CDF Ambassadors, and GitHub Stars groups, and a published author.

He is a host of the YouTube channel DevOps Toolkit and a co-host of DevOps Paradox.

Table of Contents

  • Introduction
    • I Need Your Help
    • Who Are We?
    • About The Requirements
    • Off We Go
  • Infrastructure as Code (IaC)
    • Going Back In Time
    • Back To Present
    • Using Terraform To Manage Infrastructure As Code (IaC)
    • What Are We Going To Do?
  • Creating And Managing Google Kubernetes Engine (GKE) Clusters With Terraform
    • Preparing For The Exercises
    • Exploring Terraform Variables
    • Creating The Credentials
    • Defining The Provider
    • Storing The State In A Remote Backend
    • Creating The Control Plane
    • Exploring Terraform Outputs
    • Creating Worker Nodes
    • Upgrading The Cluster
    • Reorganizing The Definitions
    • Destroying The Resources
  • Creating And Managing AWS Elastic Kubernetes Service (EKS) Clusters With Terraform
    • Preparing For The Exercises
    • Exploring Terraform Variables
    • Creating The Credentials
    • Storing The State In A Remote Backend
    • Creating The Control Plane
    • Exploring Terraform Outputs
    • Creating Worker Nodes
    • Upgrading The Cluster
    • Reorganizing The Definitions
    • Destroying The Resources
  • Creating And Managing Azure Kubernetes Service (AKS) Clusters With Terraform
    • Preparing For The Exercises
    • Exploring Terraform Variables
    • Creating The Credentials
    • Storing The State In A Remote Backend
    • Creating The Control Plane
    • Exploring Terraform Outputs
    • Creating Worker Nodes
    • Upgrading The Cluster
    • Dealing With A Bug That Prevents Upgrade Of Node Pools
    • Reorganizing The Definitions
    • Destroying The Resources
  • There Is More About Infrastructure as Code (IaC)
  • Packaging, Deploying, And Managing Applications
  • Using Helm As A Package Manager For Kubernetes
    • Defining A Scenario
    • Preparing For The Exercises
    • Creating Helm Charts
    • Adding Application Dependencies
    • Deploying Applications To Production
    • Deploying Applications To Development And Preview Environments
    • Deploying Applications To Permanent Non-Production Environments
    • Packaging And Deploying Releases
    • Rolling Back Releases
    • What Did We Do Wrong?
    • Destroying The Resources
  • There Is More About Packaging, Deploying, And Managing Applications
  • Setting Up A Local Development Environment
    • Which Operating System Is The Best For Laptops?
    • Installing Windows Subsystem For Linux (WSL)
    • Choosing A Shell
    • A Short Intermezzo
    • Choosing An IDE And A Terminal
    • Using Oh My Zsh To Configure Z Shell
    • Going For A Test Drive With Oh My Zsh
    • What Should We Do Next?
    • There Is More
  • Exploring Serverless Computing
  • Using Managed Functions As A Service (FaaS)
    • Deploying Google Cloud Functions (GCF)
    • Deploying Azure Functions (AF)
    • Deploying AWS Lambda
    • To FaaS Or NOT To FaaS?
    • Choosing The Best Managed FaaS Provider
    • Personal Thoughts About Managed FaaS
  • Using Managed Containers As A Service (CaaS)
    • Discussing The “Real” Expectations
    • Deploying Applications To Google Cloud Run
    • Deploying Applications To Amazon Elastic Container Service (ECS) With Fargate
    • Deploying Applications To Azure Container Instances
    • To CaaS Or NOT To CaaS?
    • Personal Thoughts About Managed CaaS
  • Using Self-Managed Containers As A Service (CaaS)
    • Using Knative To Deploy And Manage Serverless Workloads
    • Self-Managed Vs. Managed CaaS
  • There Is More About Serverless
  • Using Centralized Logging
    • About Vadim
    • Why Not Using The ELK Stack?
    • Using Loki To Store And Query Logs
    • Destroying The Resources
  • Deploying Applications Using GitOps Principles
    • Discussing Deployments And Environments
    • Off We Go
  • Applying GitOps Principles Using Argo CD
    • Installing And Configuring Argo CD
    • Deploying An Application With Argo CD
    • Defining Whole Environments
    • Creating An Environment As An Application Of Applications
    • Updating Applications Through GitOps Principles
    • Destroying The Resources
  • There Is More About GitOps
  • Applying Progressive Delivery
  • Using Argo Rollouts To Deploy Applications
    • Installing And Configuring Argo Rollouts
    • Exploring Argo Rollouts Definitions
    • Deploying The First Release
    • Deploying New Releases Using The Canary Strategy
    • Rolling Back New Releases
    • Exploring Prometheus Metrics And Writing Rollout Queries
    • Exploring Automated Analysis
    • Deploying Releases With Fully Automated Steps
    • What Happens Now?

The Leanpub 60 Day 100% Happiness Guarantee

Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.

You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!

So, there's no reason not to click the Add to Cart button, is there?

See full terms...

80% Royalties. Earn $16 on a $20 book.

We pay 80% royalties. That's not a typo: you earn $16 on a $20 sale. If we sell 5000 non-refunded copies of your book or course for $20, you'll earn $80,000.

(Yes, some authors have already earned much more than that on Leanpub.)

In fact, authors have earnedover $13 millionwriting, publishing and selling on Leanpub.

Learn more about writing on Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub