Bootstrapping Microservices

with Docker, Kubernetes, GitHub Actions and Terraform

A practical guide to building with microservices, starting with a single microservice and going all the way to a multi-microservices application running in production on Kubernetes.

By Ashley Davis

Build a microservices application from scratch, layer by layer, learning one tool at a time

This book teaches the tools and techniques you need

Bootstrapping Microservices has helped thousands of developers build their first microservices applications.

The fully revised second edition introduces the industry-standard tools and practical skills you’ll use for every microservices application. Friendly advice and guidance from author Ashley Davis helps you make pragmatic choices that will cut down the learning curve for Docker, GitHub Actions, Terraform, and Kubernetes.

In this book you’ll get hands-on experience with microservices development skills like:

  • Creating, configuring, and running a microservice with Node.js
  • Building and publishing a microservice using Docker
  • Using automated testing
  • Running a microservices application in development with Docker Compose
  • Deploying microservices to a production Kubernetes cluster
  • Implementing infrastructure as code and setting up a continuous delivery pipeline
  • Monitoring, managing, and troubleshooting
About

The Technology

Taking a microservices application from proof of concept to production is a multi-step operation that relies on tools like Docker, GitHub Actions, Terraform, and Kubernetes. The best way to learn the whole process is to build a project from the ground up. That’s exactly what you’ll do in this book!

The Book

Bootstrapping Microservices with Docker, Kubernetes, GitHub Actions, and Terraform, Second Edition is a guide to microservices and cloud-native distributed applications. It demystifies technical choices and gives you a clear, comprehensive approach to building microservices.

In it, you’ll learn how to configure cloud infrastructure with Terraform, package microservices using Docker, create continuous delivery (CD) pipelines with GitHub Actions, and deploy your finished project to a Kubernetes cluster. As you go, you’ll build your own video streaming application to see how everything fits together in a complete application.

This fully revised new edition contains new coverage of continuous delivery with GitHub Actions and expanded coverage of Kubernetes, including an easy guide to Kubernetes deployment along with guidance for implementing infrastructure as code.

Examples are in JavaScript, but the code is simple and easy to read, so anyone with previous coding experience should be able to read it and get the gist. No experience with microservices, Kubernetes, GitHub Actions, Terraform, or Docker required.

The Author

Ashley Davis is a software craftsman and author with over 25 years of experience in software development — from coding, to managing teams, to founding companies. He has worked for a range of companies, from the tiniest startups to the largest internationals. Along the way, he has contributed back to the community through his writing and open source coding. He is also the creator of Data-Forge Notebook, a desktop application for exploratory coding and data visualization using JavaScript and TypeScript.

This is the most comprehensive launching pad for becoming a microservice specialist. Click for more

This is one of the most practical books on microservices! While most texts opt for a theoretical focus, Ashley is able to focus on practical application while succinctly discussing theory. This is the most comprehensive launching pad for becoming a microservice specialist. Thank you, Ashley!

profile picture
Augusto M. Leal
Software Engineer at CDK Global

This 2nd edition improves on the earlier version and is an essential for every startupper, improving their time to POC with their own microservices application. Click for more

Ashley Davis' Bootstrapping Microservices lives its title. It bootstraps a wide range of knowledge domains into one book. A rare kind, the book devles straight into the hands-on knowledge about developing a working microservices based web application. It dwells on the essentials, sparing the reader the burden of excess information that comes with traditional tech guides which often set back readers. It gives you the direction you need with the allowance to do further research on your own.

This improved 12 chapter book which builds on the earlier version 1 is an essential for every startupper, improving their time to POC with their own microservices application.

I have tested it, and it worked! I highly recommend the approach as an incentive towards achieving the full microservices learning curve

profile picture
Olakunle Fajorin
Founder, Creators Warehouse

Bootstrapping Microservices is a fantastic hands-on, practical guide; without any unnecessary noise!

profile picture
Tony Ball
Solutions Architect at BBSI

Bootstrapping Microservices is an invaluable resource, whether you are starting, filling in missing knowledge or refreshing your skills as a seasoned DevOps Engineer. Click for more

In the field of DevOps, it's hard to find a book that covers theory, application and good practices all in one.

Ashley has a way of breaking down concepts in an easy to digest manner and the journey in the book follows the natural progression of building a DevOps capability.

Bootstrapping Microservices is an invaluable resource, whether you are starting, filling in missing knowledge or refreshing your skills as a seasoned DevOps Engineer.

profile picture
Andrei Hawke
DevOps @ BetSecure.

Ashley Davis' way of writing complex things in a simple way is very unique and he is one of the great authors I have seen. Click for more

Ashley Davis really cares for his readers.

The way he explains is like someone literally providing all the training on the whole microservices stack: message queues, direct/indirect communication, Docker, Kubernetes, dev/test/prod environment deployments, and more.

His way of writing complex things in a simple way is very unique and he is one of the great authors I have seen.

profile picture
Purushotham C K
Senior Technical Architect, HCL GmbH, Germany.

This project-driven book tapped into the key aspects of microservices without overloading the chapters with unnecessary information that beginners might struggle with. Click for more

As a student, this project-driven book tapped into the key aspects of microservices without overloading the chapters with unnecessary information that beginners might struggle with.

Additionally, the project that you follow along with provides a perfect reference model for a typical microservices application, making it very easy to follow along with the topics that are being introduced.

Highly recommended for anyone who is looking at the microservices architecture for the first time.

profile picture
Benjamin Whelan
Software Engineering Intern at ASML

Read this book if you want to cut the steep learning curve and conquer the complex world of modern application development. Click for more

Reading this book is like having an experienced mentor with you every step of the way as you build and deploy a fairly complex video streaming microservices system.

This book is practical. It uses a hands-on, project-based approach to teach you how to do microservices the modern cloud-native and Kubernetes way.

Read this book if you want to cut the steep learning curve and conquer the complex world of modern application development. This is a victorious quest to production masquerading as a book. It begins with you building a single microservice and step by step you design, build, test, and deploy a complex microservices application.

Along the way, you acquire powerful weapons to help you in your victorious quest to production. These weapons include Terraform for Infrastructure as Code, GitHub Actions for automated deployment, and Jest and Playwright for automated testing.

profile picture
Shant Dashjian
Mentor at Scrimba

The book's most commendable aspect is its ability to strike a perfect balance between brevity and in-depth explanations. Whether you're a junior developer or an experienced engineer, the author has crafted the content to be accessible and impactful. Click for more

I had the pleasure of reading Bootstrapping Microservices and I must say it's an outstanding guide to learning microservices and cloud-native distributed applications. This book employs a project-based approach that truly immerses the reader in the world of software development, simulating real-life production environments. Throughout the journey, it felt like I was being mentored by a seasoned engineer, providing invaluable guidance every step of the way.

The book's most commendable aspect is its ability to strike a perfect balance between brevity and in-depth explanations. Whether you're a junior developer or an experienced engineer, the author has crafted the content to be accessible and impactful. As someone new to microservices, I was amazed at how quickly I could grasp the concepts and implement simple microservice systems. Additionally, the book encouraged me to experiment with various paradigms, allowing me to evaluate multiple approaches to problem-solving through different perspectives.

One of the book's highlights is the author's approach of presenting the pros and cons of different problem-solving methods. This insight proves to be extremely valuable in understanding trade-offs and making well-informed decisions. Moreover, the book generously shares tricks and shortcuts employed by veteran engineers, adding a layer of practical wisdom that sets it apart.

In its entirety, Bootstrapping Microservices provides a practical and comprehensive guide to building microservices. The topics covered span a wide range, including creating, configuring, and running microservices with Node.js, building and publishing them using Docker, implementing automated testing, and running microservices applications using Docker Compose during development. This book is an indispensable resource for anyone keen on mastering microservices development.

In conclusion, I highly recommend Bootstrapping Microservices to all individuals eager to delve into the world of microservices. With its engaging approach, valuable insights, and practical content, this book will undoubtedly elevate your understanding and proficiency in microservices and cloud-native applications.

profile picture
Zine eddine Zidane
Software Engineer, Atlan

This is a standout book! The inclusion of a larger project and its practical implementation from start to finish made it a valuable learning experience. The book is a must-have for anyone exploring microservices. Click for more

This is a standout book! The inclusion of a larger project and its practical implementation from start to finish made it a valuable learning experience. As a beginner, I found the content easy to follow and highly relevant, which helped me understand all concepts with ease. The knowledge also came in useful in multiple software engineering job interviews. The book is a must-have for anyone exploring microservices, especially students like me.

At the time, I was specifically hunting for books that cover one large project vs chapter wise smaller projects. So this book was perfect!

That laid the foundation 2 years ago. Soon after that, I found a job at Cloudflare, got a chance to work on interesting projects and I’m currently planning out my own SaaS business!

profile picture
Jinay Shah
Software Engineer at Cloudflare
Subscribe for occasional updates on Bootstrapping Microservices
* indicates required