Developing Cloud-Native Applications
Michael Hausenblas, Stefan Schimanski

#Kubernetes
#API
#AWS
#Cloud-Native
If you’re looking to develop native applications in Kubernetes, this is your guide. Developers and AppOps administrators will learn how to build Kubernetes-native applications that interact directly with the API server to query or update the state of resources. AWS developer advocate Michael Hausenblas and Red Hat principal software engineer Stefan Schimanski explain the characteristics of these apps and show you how to program Kubernetes to build them.
You’ll explore the basic building blocks of Kubernetes, including the client-go API library and custom resources. All you need to get started is a rudimentary understanding of development and system administration tools and practices, such as package management, the Go programming language, and Git.
Table of Contents
Chapter 1. Introduct ion
Chapter 2. Kubernetes API Basics
Chapter 3. Basics of client -go
Chapter 4. Using Custom Resources
Chapter 5. Automating Code Generation
Chapter 6. Solutions for Writing Operators
Chapter 7. Shipping Controllers and Operators
Chapter 8. Custom API Servers
Chapter 9. Advanced Custom Resources
Who Should Read This Book
You’re a developer going cloud-native, or an AppOps, or namespace admin wanting to get the maximum out of Kubernetes. Vanilla settings don’t do it for you anymore, and you may have learned about extension points. Good. You’re in the right place.
What is Programming Kubernetes?
Programming Kubernetes can mean different things to different people... We assume you have access to a running Kubernetes cluster such as Amazon EKS, Microsoft AKS, Google GKE, or one of the OpenShift offerings.
We also assume that you are a Go programmer—that is, you have experience or at least basic familiarity with the Go language.
By “programming Kubernetes” in the context of this book, we mean the following: you are about to develop a Kubernetes-native application that directly interacts with the API server, querying the state of resources and/or updating their state.
We do not mean running off-the-shelf apps, such as WordPress or Rocket Chat or your favorite enterprise CRM system, oftentimes called commercially available off-the-shelf (COTS) apps.
So, in a nutshell, this book is about developing genuinely cloud-native applications.
Why We Wrote This Book
Both of us have been contributing to, writing about, teaching, and using Kubernetes since early 2015.
We have developed tooling and apps for Kubernetes and given workshops about developing on and with Kubernetes a couple of times. At some point we said, “Why don’t we write a book?” This would allow even more people, asynchronously and at their own pace, to learn how to program Kubernetes. And here we are. We hope you have as much fun reading the book as we did writing it.
Michael Hausenblas is an AWS developer advocate. Stefan Schimanski is a Senior Software Engineer at Red Hat.
Stefan Schimanski is a Senior Software Engineer at Red Hat.









