Effortless Cloud-Native App Development Using Skaffold: Simplify the development and deployment of cloud-native Spring Boot applications on Kubernetes with Skaffold
Book information
Description
A practical guide to solving inner development loop problems in cloud-native applications by automating build, push, and deploy boilerplate using Skaffold Key FeaturesLearn how to build and deploy cloud-native applications quickly with KubernetesCreate a production-ready continuous integration and continuous delivery (CI/CD) pipeline for cloud-native appsDiscover ways to create a GitOps-style CD workflow for cloud-native applicationsBook Description 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. What you will learnOvercome challenges faced while working in an inner development loop using SkaffoldAccelerate your development workflow using SkaffoldUnderstand Skaffold's architecture, internal working, and supported CLI commandsBuild and deploy containers to Kubernetes using the Skaffold CLI and Cloud CodeDeploy Spring Boot applications to fully managed Kubernetes services such as Google Kubernetes Engine using SkaffoldExplore best practices for developing an app with SkaffoldAvoid common pitfalls when developing cloud-native apps with Skaffold in KubernetesWho this book is for Cloud-native application developers, software engineers working with Kubernetes, and DevOps professionals who are looking for a solution to simplify and improve their software development life cycle will find this book useful. Beginner-level knowledge of Docker, Kubernetes, and the container ecosystem is required to get started with this book. Table of ContentsCode, Build, Test, and Repeat – The Application Development Inner LoopDeveloping Cloud-Native Applications with Kubernetes – A Developer's NightmareSkaffold – Easy-Peasy Cloud-Native Kubernetes Application DevelopmentUnderstanding Skaffold's Features and ArchitectureInstalling Skaffold and Demystifying Its Pipeline StagesWorking with Skaffold Container Image Builders and DeployersBuilding and Deploying a Spring Boot Application with the Cloud Code PluginDeploying a Spring Boot Application to Google Kubernetes Engine Using SkaffoldCreating a Production-Ready CI/CD Pipeline with SkaffoldExploring Skaffold Alternatives, Best Practices, and Pitfalls Cover Title Page Copyright and Credits Contributors Table of Contents Preface Section 1: The Kubernetes Nightmare – Skaffold to the Rescue Chapter 1: Code, Build, Test, and Repeat – The Application Development Inner Loop Technical requirements Understanding the application development inner loop Inner versus outer development loops Why not use CI/CD? Exploring the traditional application development inner loop Spring Boot Developer Tools JRebel Checking out the container-native application development inner loop Summary Further reading Chapter 2: Developing Cloud-Native Applications with Kubernetes – A Developer's Nightmare Technical requirements Poor developer experience Understanding the cloud-native application development workflow Developers want simplified workflows with Kubernetes Developers are not Kubernetes experts Summary Further reading Chapter 3: Skaffold — Easy-Peasy Cloud-Native Kubernetes Application Development Technical requirements What is Skaffold? Building and deploying a Spring Boot application with Skaffold Creating a Spring Boot application Understanding the Skaffold configuration Building and deploying the Spring Boot application Summary Further reading Section 2: Getting Started with Skaffold Chapter 4: Understanding Skaffold's Features and Architecture Technical requirements Understanding Skaffold's features Demystifying Skaffold's architecture Understanding the Skaffold workflow Deciphering Skaffold's configuration with skaffold.yaml Summary References Chapter 5: Installing Skaffold and Demystifying Its Pipeline Stages Technical requirements Installing Skaffold Installing Skaffold on Linux Installing Skaffold on macOS Installing Skaffold on Windows Installing Skaffold using Docker Installing Skaffold using gcloud Understanding common CLI commands Understanding Skaffold pipeline stages Init stage Build stage Tag stage Test stage Deploy stage File sync Log tailing Port forwarding Cleanup Debugging with Skaffold Summary Further reading Chapter 6: Working with Skaffold Container Image Builders and Deployers Technical requirements Creating a Reactive Spring Boot CRUD application Working with Skaffold container image builders Dockerfile Jib Bazel Buildpacks Custom script kaniko Google Cloud Build Exploring Skaffold container image deployers Helm kubectl Kustomize Summary Further reading Section 3: Building and Deploying Cloud-Native Spring Boot Applications with Skaffold Chapter 7: Building and Deploying a Spring Boot Application with the Cloud Code Plugin Technical requirements Introducing Google's Cloud Code plugin Installing and working with the IntelliJ Cloud Code plugin Creating a Spring Boot application Containerizing and deploying a Spring Boot application using Cloud Code Summary Chapter 8: Deploying a Spring Boot Application to the Google Kubernetes Engine Using Skaffold Technical requirements Getting started with the Google Cloud Platform Working with Google Cloud SDK and Cloud Shell Downloading Cloud SDK on Linux Downloading Cloud SDK on macOS Setting up Cloud SDK Setting up a Google Kubernetes Engine cluster Creating a Kubernetes cluster using Google Cloud SDK Creating a Kubernetes cluster using Google Console Introducing the Google Kubernetes Engine Autopilot cluster Creating an Autopilot cluster Deploying a Spring Boot application to the GKE Deploying from local to a remote GKE cluster using Skaffold Deploying from Cloud Shell to a GKE cluster using Skaffold Summary Further reading Chapter 9: Creating a Production-Ready CI/CD Pipeline with Skaffold Technical requirements Getting started with GitHub Actions Creating a GitHub Actions workflow Creating a CI/CD pipeline with GitHub Actions and Skaffold Prerequisites Implementing a GitOps workflow with Argo CD and Skaffold What is GitOps, and what are its benefits? What is Argo CD? Continuous delivery with Argo CD and Skaffold on GKE Summary Further reading Chapter 10: Exploring Skaffold Alternatives, Best Practices, and Pitfalls Comparing Skaffold with other alternatives Telepresence Tilt.dev OpenShift Do Oketo Garden docker-compose Applying Skaffold best practices Avoiding Skaffold pitfalls Future roadmap Final thoughts Summary Other Books You May Enjoy Index
Similar books
When Docker Meets Java : A Practical Guide to Docker for Java and Spring Boot Applications
2025 · PDF
When Docker Meets Java : A Practical Guide to Docker for Java and Spring Boot Applications
2025 · EPUB
Effortless Cloud-Native App Development Using Skaffold: Simplify the development and deployment of cloud-native Spring Boot applications on Kubernetes with Skaffold
2021 · EPUB
MySQL® Notes for Professionals book
2018 · PDF
MrExcel 2022: Boosting Excel
2022 · PDF
MrExcel 2022: Boosting Excel
2022 · PDF
Session C11: Ancient Cultural Landscapes in South Europe – their Ecological Setting and Evolution, Session C22: Gardeners from South America, Session S04: Agro-Pastoralism and Early Metallurgy Sessions, Session WS29: The Idea of Enclosure in Recent Iberian Prehistory, Session C88: Rhytmes et causalites des dynamiques de l'anthropisation en Europe entre 6500 ET 500 BC: Hypotheses socio-culturelles et/ou climatiques: Proceedings of the XV UISPP World Congress (Lisbon 4-9 September 2006) / Actes du XV Congrès Mondial (Lisbonne 4-9 Septembre 2006) Vol.36
2010 · PDF
THE BRITISH ARMY IN INDIA: ITS PRESERVATION BY AN APPROPRIATE CLOTHING, HOUSING, LOCATING, RECREATIVE EMPLOYMENT, AND HOPEFUL ENCOURAGEMENT OF THE TROOPS. with AN APPENDIX ON INDIA : THE CLIMATE OP ITS HILLS ; THE DEVELOPMENT OF ITS RESODRCBS, INDUSTRY, AND ARTS ; THE ADMINISTRATION OF JUSTICE ; THE BLACK ACT ; THE PROGRESS OF CHRISTIANITY ; THE TRAFFIC IN OPIUM ; THE VALUE OF INDIA ; PERMANENT CAUSES OF DISAFFECTION, AND OF THE RECENT REBELLION ; THE TRADITIONARY POLICY; MISGOVERNMENT BY NATIVE RULERS ; ANNEXATIONS OF THEIR TERRITORY, ETC.
1858 · PDF