Jump to ratings and reviews
Rate this book

Platform Engineering on Kubernetes

Rate this book
Take the fast track in your journey to continuous delivery, with open source tools for Kubernetes and cloud applications. This book explores the tools and techniques you’ll need to overcome common cloud native challenges.

Summary

In Platform Engineering on Kubernetes you will learn how


Platform Engineering on Kubernetes shows you how to build secure and reliable Kubernetes-based deployment platforms for enterprise-scale cloud applications. Each chapter presents a different project, clearly demonstrating how it simplifies essential tasks like packaging, building pipelines, observability, and multi-cloud deployment. Developers and architects will learn to confidently integrate established patterns and open source projects into their own systems.

Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

About the technology
A “platform” is a complete system of services, storage, and infrastructure to deploy, host, and manage an application. Cloud providers such a AWS and Azure offer pre-built platforms that allow some customization. By creating your own platform using Kubernetes and other open source software, you can match the needs of your applications exactly.

About the book
Platform Engineering on Kubernetes accelerates development of cloud-based systems with vibrant open source tools of the Kubernetes ecosystem. You’ll use powerful open source projects like Helm, Tekton, Knative, and Crossplane to automate your projects from design through delivery. Learn how to package services, build and deploy services to a Kubernetes cluster, and combine different tools to solve the complex challenges of building your own Kubernetes-based platforms in a cloud native environment.

One thing is clear, Platforms are a collection of services that help companies to get their software running in front of their customers (internal or external). Platforms aim to be a one-stop shop for teams to have all the tools that they need to be productive and continuously deliver business value—with the rise in popularity and with the growing demand to improve development cycles, platforms that once used to provide us with computing resources had leveled up the stack to provide more and more services.

In this book, we will focus on organization-specific platforms, not generic Cloud Platforms that you can buy off the shelf, like those offered by Cloud Providers. We also want to focus on Platforms that can work On-Premises on our organization’s hardware. This is important for more regulated industries that cannot run on Public Clouds. This forces us to have a broader view of tools, standards, and workflows that can be applied outside the realm of a Cloud Provider. Consuming services from more than one Cloud Provider is also becoming increasingly popular. This can result from working for a company that acquired or became acquired by another company using a different provider, ending up in a situation where multiple providers must coexist, and there should be a shared strategy for both.

The kind of platforms we will be looking at extends with custom behavior the layers mentioned before to include company-specific services that allow the organization’s development teams to build complex systems for the organization and their customers.

About the reader
For developers and software architects familiar with the basics of containers and Kubernetes.

About the author
Mauricio Salatino is a staff engineer at VMware, where he works for the Knative project. He has previously worked as a Kubernetes trainer for LearnK8s, and as a senior software engineer for Red Hat/JBoss in the Business Automation R&D department. Mauricio is an active open-source contributor for different projects, including Jenkins X, Spring Cloud, and JHipster, a three-time speaker at Kubecon, and has been involved in the Kubernetes community since 2016.

312 pages, Paperback

Published December 5, 2023

22 people are currently reading
132 people want to read

About the author

Mauricio Salatino

9 books5 followers

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
18 (52%)
4 stars
11 (32%)
3 stars
4 (11%)
2 stars
1 (2%)
1 star
0 (0%)
Displaying 1 - 12 of 12 reviews
1 review
February 4, 2024
The author gets right to defining platform engineering around page 16 and gives a succinct definition: "Platform teams take the work done by developers safely to production."

The author then uses a simple but apropos "walking skeleton" example application of a conference organization application that is used throughout the book. This is the kind of application that you'd see being used for HashiConf.

There is a short overview of the pros/cons of various platform options that include local workstation, on premise (bare metal), or cloud managed Kubernetes clusters. Cloud managed clusters are generally recommended but KinD (Kubernetes in Docker) is used as the target testing platform for most examples. There are other options I might have included (k3s, minikube, or docker engine's built in kubernetes cluster) but I don't blame the author for keeping this part light in order to focus on the platform engineering content. By the end of chapter 2 you will have covered most of the basics of hand delivering an application into a Kubernetes cluster without platform engineering. This gives the reader most requisite knowledge for the remainder of the book's contents.

From here the author dives into;

- Service Pipelines
- Environment Pipelines
- Multi-Cloud
- Building a platform
- Challenge: Shared apps
- Challenge: Enabling experimentation
- Measuring Platforms

# Pros

I liked this book quite a bit for the following reasons.

- Strong push for using existing not custom tools in platform engineering solutions.
- I really like that practical examples of how to use platform agnostic tools such as Tekton and Dagger.io are included. Being tethered by a particular DevOps platform is one aspect of my industry that I've come to realize is limiting.
- Covers of a good number of modern tools used in the industry (ArgoCD, Tekton, Github Actions, Crossplane, Dapr, Knative, et cetera) but is careful not to be bound by any of them.
- Author exhibits a good knowledge of the many challenges of platform engineering specific to Kubernetes. Things like service discovery, async, workload isolation, and more have coverage.
- Standard Kubernetes release patterns are covered; A/B, Blue/Green, and Canary.
- GitOps is covered, specifically one of the most popular choices for Kubernetes GitOps deployments was covered quite well, ArgoCD.
- A relatively concise tome of knowledge. Good links to additional information throughout. This means there is not too much recreating the wheel and is appreciated in any technical book. The size of the book is actually a bit misleading as...
- The additional github project for the book is brimming with additional content. It can be a book of its own. I like that the author doesn't just copy and paste his examples into the book as filler. This shows respect for the target audience's technical acumen and saves some trees.
- Crossplane is covered as the preferred Kubernetes way of doing infrastructure as code. I've been dying to really see more of this in action :)

# Cons

A book covering such a broad topic area is never going to be perfect. Here are some areas I found a bit lacking.

- Management of multiple environment deployments in GitOps workflows that span multiple project repos is lacking clear direction. There is mention of "Golden Paths" but how to develop a such a path is missing.
- Secrets management is mentioned a few times (external-secrets and HashiCorp Vault) but not specifically addressed. I find this to be a crucial and often overlooked aspect of a well oiled platform engineering engine for Kubernetes workloads.
- There are no clear examples of how to handle brand new applications in the platform engineering workflow.
- Often a Kubernetes application is only a small part of the numerous applications that comprise the cluster's overall functionality. Certificate manager, HashiCorp Vault, Cloud specific but integrated services like AWS IAM role integration, External DNS, and more are all part of the services that an application may need to integrate with when being deployed to a cluster. Though a whole book could be written on such things, a chapter on how one might setup the actual platform itself would have been a welcome addition for contextual awareness of such things.
- Conspicuously absent from this book is any mention of policy management. Open policy agent and Kyverno don't even have a presence in the index.
- Identity management for how you grant developers rights to deploy into specific environments is not well covered, nor is workload identity management covered (Spiffe/Spire as an abstraction to such things for example)
- The publisher made the odd choice of a non-black font for the majority of the pdf I reviewed. This is normally something I'd look past but it made reading the digital copy of this book a bit of a visual chore.

When I read a book like this I always ask myself a few questions;

**Question 1:** Did I learn about some new tool or gain a better appreciation about a tool I was already aware of?

**Answer:** Yes! "vcluster" and "Knative Serving" is now on my shortlist of tools to become more familiar with.

**Question 2:** Does the book offer unique insight into my industry that I might not have knowledge of otherwise?

**Answer:** Yes! The author is clearly experienced with delivering Kubernetes workloads and adds his unique perspective and experiences to the table repeatedly throughout the book.

Platform engineering has a bit of a niche audience that the author does a good job catering towards. I am comfortable recommending this book to a mid-level or higher developers or DevOps practitioners looking to better understand some options for streamlining applications into Kubernetes at their organization. The many practical examples provided add good context to the points being made. I believe that this book will help many readers get a better understanding of some of the tools available to them and be a good point of reference for their own efforts. Just beware that this book is not a compendium of all Kubernetes platform engineering knowledge. But it is a very well rounded and good book for most technical professionals' libraries.
Profile Image for Werner Dijkerman.
4 reviews1 follower
January 27, 2024
In the past, I have tried with others in my team to work towards building a service. A service that we as a team could provide to other teams to make their life easier. Think about provisioning new resources, or configuring them. Providing a ci/cd solution in a way that the team can save time and energy, so the team could focus on their own work. But recently, a new word, term or meaning for this approach came to life: Platform Engineering. But as this is quite a new term, resources like books, videos pop up here and there to jump. These resources all provide a way for explaining what Platform Engineering is. Or what you can do to achieve platform engineering in your organisation. This book is one of those resources: Platform Engineering on Kubernetes by Mauricio Salatino. And this book dives into the Platform Engineering with 1 of the well know "tools" out there Kubernetes. This book is for sure, one of the best resources out there you can find on this topic.

It starts with what any book does, what is it: What is platform engineering and why do you need one. You will then go into some more depth about some of the challenges of cloud native applications. Building and deploying them is one of them. Luckily Mauricio has an example application that is used throught out the book. While you read through the chapters, you will use this application to improve it in your cluster. In one of the chapters it will how you can use Tekton or Dagger as your service pipeline. I personally think a nice thing of this book is that, even though you will see code, the real installations and configurations is coming from documentation in Mauricio's git repository. A dedicated repository contains documentation explaining and how to install and use most of the tools. Very easy for the people that has the electronice version of the book, by clicking on the link. But maybe a bit more challenging for physical copies. And I totally understand why this is done. Otherwise this book would have been massive. But does that mean you can just follow the documents in the git repo and ignore the book? If all the technical parts are in a GIT repo?

No.
Following the documentation on the git repository will help you right now. Working with the tool and solving a specific usecase, but you will miss a lot. You will miss all the knowledge and experience Mauricio Salatino has while reading this book. Not only that, you will also miss the journey and how everything fits together in creating a Platform. As they say: It is not the end result that matters, but the journey towards that matters. This book has all of that. And there is a lot more that is explained in this book (Multi cloud, deployment strategies, Dora), but I think it is better that you will buy and read the book. You won't be dissapointed.

For all the nerds out there, Tekton, Dagger, Dappr, Crossplane and ArgoCD are all topics in this book. Or should I have started with this? :)
Profile Image for Sebastian Gebski.
1,188 reviews1,340 followers
February 27, 2024
My feelings are a bit mixed here.

On one hand, the concept for this book was great & I like how the author aimed at what seemed to be a sweet spot between being too high level & getting distracted by the technical intricacies. Also: all the fundamental concepts are here: what's a platform & platform engineering, what are pipelines & GitOps, ... But I felt like the author did not properly use all these bricks to set up a building. There's no major mental model to set things up conceptually - e.g. infra lifecycle is here, application lifecycle is here as well, but there's very little consideration to how these inter-connect, depend & what are the practical implications.

Also - there's very little on the foundations of self-service & how to start setting it up. There's very little on metrics & assessing quality of platform engineering. There's very little on practicalities of kaizen in this space. There's also a bunch of "typical" challenges related to inertia & speed - hybrid environments, state mgmt, various quality assurance / check loops - this is not covered either.

What IS covered are the most popular Cloud Native tools to started with platform engineering on K8s. The "coverage" is not super-deep (quite the contrary), but seems sufficient to start exploring the topic for real. It's also not locked to any vendor (cloud or not), which is definitely a pro as well.
Profile Image for Arthur.
96 reviews5 followers
February 19, 2024
This book is how to level up yourself as a developer in the modern ages.
And that is by the means of leveraging Kubernetes as the backbone along with a set of proven Open Source tools (Computing Foundation).
The example application in the book is a well-crafted, and extensive blueprint to delivering a Platform-based App that makes the learning journey practical, yet insightful.
Once adapted to the concept, the things lined up well and I felt captivated to experiment on my own.
Along the way I put aside a few notes:
Kubernetes goes hand in-hand with a sophisticated deployment pipeline.
I found the possibility to harness the cloud vendor agnostic development this way of very high value because it appeared to be no longer intimidating.
Kubernetes is more welcoming than one can think of, but it is not without its own, unique challenges.
The Kubernetes ecosystem is vast, and changes fast. I do not mean this book has a short time span of validity, I would rather say Kubernetes and its surroundings will only get more rounded.
To wrap it up, I think the name of the book is not conveying exactly what journey this book takes one onto, and yet that I highly recommend it for enterprise architects and senior developers.
1 review
March 14, 2024
Well it took me time to write this review but I’m happy with the book’s content. For me this is one of the book's standout features is its meticulous approach to explaining Kubernetes concepts. From fundamental principles to advanced topics, each chapter is crafted with clarity and precision, making it accessible to both beginners and seasoned professionals alike. The author's expertise shines through as they demystify complex concepts such as service discovery, load balancing, and autoscaling, providing readers with a solid foundation for building robust platforms.

What sets this book apart is its emphasis on real-world scenarios and best practices, the demo app has multiple challenges that allow the users to understand the different aspects . Through insightful case studies and practical examples, readers gain valuable insights into how Kubernetes is being used in industry-leading organizations to tackle challenges such as microservices orchestration, CI/CD pipelines, and observability. You will learn about tekton pipelines.

A recommended book.
2 reviews
January 12, 2024
"Platform Engineering on Kubernetes" is an indispensable resource for Solutions Architects navigating the intricate landscape of Kubernetes. With a focus on practical implementation, the book seamlessly combines theoretical concepts with real-world scenarios, offering valuable insights for designing and managing robust platforms. The authors address common challenges, providing clear solutions and strategies for optimization, scalability, and troubleshooting. Noteworthy chapters cover advanced topics such as CI/CD integration and security considerations, making the book suitable for both intermediate and experienced professionals. The engaging writing style, practical tips, and inclusion of code snippets enhance its accessibility, transforming it into a comprehensive and practical guide. In conclusion, this book is a must-have for those looking to deepen their understanding of Kubernetes and elevate their platform engineering skills.
Profile Image for Bryan J Guinn.
2 reviews
February 5, 2024
Platform Engineering on Kubernetes is an insightful read that combines technical depth with practical guidance. The book unpacks the complexities of Kubernetes, making it accessible for readers across different expertise levels. It shines in its exploration of creating resilient and scalable platforms, with a focus on real-world application scenarios. The inclusion of advanced deployment strategies and security best practices is particularly valuable. A must-read for anyone serious about understanding Kubernetes in a dynamic tech landscape.
Profile Image for Jakub.
270 reviews
April 8, 2024
it's a good overview of tools but nothing else. I was missing a good example or specific case. Instead, I was presented with a set of open-source tools that are really cool; it's good to know them. However, I could do them outside of the book, too.

It might be 4 stars for some, I did not found what I was looking for, however, there is still value in that book if you have not yet been working with platform idea
1 review
December 5, 2023
Its a great book for the SREs and developers working with the Kubernetes platform in production environments covering a great breadth of cloud native technologies like Knative, Crossplane, CD, Tekton, Jenkins X.

The author draws from his vast experience and provides practical insights on leveraging Kubernetes as a platform platform.
Profile Image for Andres Sacco.
28 reviews4 followers
December 7, 2023
It is an excellent way to learn different aspects of Kubernetes, but not in the classical way.
Profile Image for Denis Romanovsky.
215 reviews
April 7, 2024
Not deep, but good enough to understand what could platform engineering be in practice. Some reasonable samples, some alternatives. I liked the book a lot.
Displaying 1 - 12 of 12 reviews

Can't find what you're looking for?

Get help and learn more about the design.