Book Image

Effortless Cloud-Native App Development Using Skaffold

By : Ashish Choudhary
Book Image

Effortless Cloud-Native App Development Using Skaffold

By: Ashish Choudhary

Overview of this book

Kubernetes has become the de facto standard for container orchestration, drastically improving how we deploy and manage cloud-native apps. Although it has simplified the lives of support professionals, we cannot say the same for developers who need to be equipped with better tools to increase productivity. An automated workflow that solves a wide variety of problems that every developer faces can make all the difference! Enter Skaffold – a command-line tool that automates the build, push, and deploy steps for Kubernetes applications. This book is divided into three parts, starting with common challenges encountered by developers in building apps with Kubernetes. The second part covers Skaffold features, its architecture, supported container image builders, and more. In the last part, you'll focus on practical implementation, learning how to deploy Spring Boot apps to cloud platforms such as Google Cloud Platform (GCP) using Skaffold. You'll also create CI/CD pipelines for your cloud-native apps with Skaffold. Although the examples covered in this book are written in Java and Spring Boot, the techniques can be applied to apps built using other technologies too. By the end of this Skaffold book, you'll develop skills that will help accelerate your inner development loop and be able to build and deploy your apps to the Kubernetes cluster with Skaffold.
Table of Contents (15 chapters)
1
Section 1: The Kubernetes Nightmare – Skaffold to the Rescue
5
Section 2: Getting Started with Skaffold
9
Section 3: Building and Deploying Cloud-Native Spring Boot Applications with Skaffold

What this book covers

Chapter 1, Code, Build, Test, and Repeat - The Application Development Inner Loop, defines the inner loop of application development and its importance. It also compares the inner with the outer development loop, and covers the typical development workflows for a traditional monolith application and a container-native microservices application.

Chapter 2, Developing Cloud-Native Applications with Kubernetes – A Developer's Nightmare, explains the problems that developers face while developing cloud-native applications with Kubernetes.

Chapter 3, Skaffold – Easy-Peasy Cloud-Native Kubernetes Application Development, provides a high-level overview of Skaffold. We will also demonstrate Skaffold's basic features by building and deploying a Spring Boot application.

Chapter 4, Understanding Skaffold's Features and Architecture, explores Skaffold's features and internals by looking at its architecture, workflow, and configuration file, skaffold.yaml.

Chapter 5, Installing Skaffold and Demystifying Its Pipeline Stages, explains Skaffold installation and common CLI commands used in its different pipeline stages.

Chapter 6, Working with Skaffold Container Image Builders and Deployers, explains various tools used for building (Docker, Jib, kaniko, Buildpacks) and deploying (Helm, kubectl, kustomize) container images to Kubernetes with Skaffold.

Chapter 7, Building and Deploying a Spring Boot Application with the Cloud Code Plugin, introduces you to the Cloud Code plugin developed by Google. It explains how to build and deploy a Spring Boot application to a Kubernetes cluster using the Cloud Code plugin with an IDE such as IntelliJ.

Chapter 8, Deploying a Spring Boot Application to Google Kubernetes Engine Using Skaffold, explains how you can deploy a Spring Boot application to Google Kubernetes Engine, a managed Kubernetes service provided by Google Cloud Platform with Skaffold.

Chapter 9, Creating a Production-Ready CI/CD Pipeline with Skaffold, explains how you can create a production-ready continuous integration and deployment pipeline of a Spring Boot application using Skaffold and GitHub actions.

Chapter 10, Exploring Skaffold Alternatives, Best Practices, and Pitfalls, looks at Skaffold alternative tools such as Telepresence, and also covers Skaffold best practices and traps.