Review: Microservices Up and Running

Posted in

Ronnie Mitra and Irakli Nadareishvili’s Microservices: Up & Running is true to its word, giving you everything you need to incorporate microservices into your development.

Microservices have become ubiquitous in today’s development ecosystem. 63% of enterprises were already adopting microservices in 2018. As the world has only become more cloud-based and decentralized in the last three years, it’s safe to assume that the adoption of microservices will continue to rise.

Analysts predict that microservices will be a $1.8 million industry by 2025. This upwards trend suggests that enterprises and developers need to be at least familiar if not fluent in using microservices if they hope to remain competitive.

Published by O’Reilly, Microservices: Up and Running by Ronnie Mitra and Irakli Nadareishvilli gives you everything you need to know to take you from complete unawareness to proficiency using microservices. It’s a staggering achievement considering the density of the topic. The book is somewhere between a textbook and a tutorial, with plenty of real-world examples to illustrate the sometimes abstract information and concepts.

Microservices: Up and Running teaches you to:

  • Learn an effective and explicit end-to-end microservices system design
  • Define teams, their responsibilities, and guidelines for working together
  • Understand how to slice an extensive application into a collection of microservices
  • Examine how to isolate and embed data into corresponding microservices
  • Build a simple yet powerful CI/CD pipeline for infrastructure changes
  • Write code for sample microservices
  • Deploy a working microservices application on Amazon Web Services

Microservices Up and Running offers many real-world examples to help you put what you’re learning into action. If you want to follow along with the text, you’ll need to install:

  • Docker
  • Redis
  • MySQL
  • GitHub
  • GitHub Actions
  • Terraform
  • Amazon Web Services
  • kubectl
  • Helm
  • Argo CD

Microservices Up And Running: An Overview

At over 300 pages long across 12 chapters, Microservices Up And Running is like a full-on microservices course. It begins by defining microservices terminology and establishing the goals of the book. It proceeds to offer implementation advice for building microservices in a professional development project. Here’s a brief rundown of each chapter:

Chapter 1

In the first chapter, the authors define their terminology and justify their approach to the book’s layout.

Chapter 2

Authors detail a hypothetical microservice launch, focusing on the way teams are set up and how to conceptualize microservices.

Chapter 3

Chapter 3 describes the SEEDS process, which stands for Seven Essential Evolutions of Design for Services. The seven stages of SEEDS are:

  1. Identifying actors
  2. Identifying jobs for actors
  3. Discovering interaction patterns with sequence diagrams
  4. Deriving high-level actions and queries based on jobs to be done (JTBDs) and the interaction patterns
  5. Describing each query and action as a specification, with an open standard (such as the OpenAPI Specification [OAS] or GraphQL schemas)
  6. Getting feedback on the API specification
  7. Implementing microservices

Chapter 4

Chapter 4 details the importance of “rightsizing” your microservices. This helps you determine the boundaries of your microservices to avoid “service creep.” It also gives you tools for prototyping and testing these boundaries, such as “event storming.”

Chapter 5

Chapter 5 teaches you how to think about data in microservices, including questioning some established microservice truisms like “a microservice must embed its own data.”

Chapter 6

Chapter 6 is where the rubber really meets the road, as you’ll learn how to set up your own DevOps pipeline using GitHub and Amazon Web Services (AWS).

Chapter 7

Chapter 7 teaches you how to set up a Kubernetes environment and get it up and running.

Chapter 8

Chapter 8 teaches you how to implement microservices for developers and some of the advantages of doing so.

Chapter 9

Chapter 9 shows you how to create your own microservices. It also teaches you how to structure your microservices for APIs, showing you how to create endpoints and optimize the microservice using the OpenAPI specification.

Chapter 10

Chapter 10 shows you how to launch your microservice for public consumption.

Chapter 11

Chapter 11 shows you how to implement changes in your microservice.

Chapter 12

Microservices Up and Running concludes with some closing thoughts to mull over. Following this advice should help you get the most out of microservices to make them part of your daily stack.

Microservices Up and Running: User Review

With a nearly infinite array of informational and tutorial materials available, usually for free, the first question that comes to mind when reviewing technical books like Microservices Up and Running is — is it worth it? What makes a book worth its price tag when there are so many free tutorial resources available?

First of all, if you’ve ever attempted to teach yourself a subject, you’ll know that’s often easier said than done, especially with a subject as complex as working with microservices. If you’ve ever taken any technical courses, you’ll realize that the price tag is reasonable for material as thorough as Microservices Up and Running. Especially when you consider that you’ll have everything you need to use microservices professionally if you work through the material from cover to cover.

Consider the section on the event-storming process, where the authors give you thorough, step-by-step instructions on an exercise to help you streamline your microservice and make sure they are right-sized. This comes after a thorough section on teams and the importance of identifying actors and jobs within a development process.

Anyone who has worked on a sizable development project knows that as much work happens on the whiteboard as it does on the command line. It’s also a reminder that microservices are as much of a philosophy and approach to development as an application in its own right. Taking the time to work through the text helps you to internalize the microservices philosophy — on both a personal and enterprise level — so that things will run as smoothly as possible once you begin your development process.

Microservices Up and Running is more than just a tutorial and technical manual. Throughout the text, the authors provide behind-the-scenes glimpses into their rationale for certain decisions. Including thought processes from the engineer’s perspective helps readers get into the habit of thinking like a microservice developer. This might be even more valuable than the technical information itself.

These insights are just one of the auxiliary benefits of Microservices Up and Running. The text is loaded with links to important articles and other technical manuals. Reading Microservices Up and Running is a good step towards building a comprehensive technical library for decentralized computing.

The formatting is one final detail that sets Microservices apart from your run-of-the-mill tutorial article. O’ Reilly employs a clever shorthand of informational icons to draw your attention. This helps to make the material skimmable as well as breaking up the monotony of technical wall-of-texts.

Perhaps the only downside to Microservices Up and Running is the number of resources you have to install to follow along with the tutorials. Installing Docker, setting up an Amazon Web Services and GitHub accounts — it’s a lot, and many of these programs aren’t exactly light. That’s not the authors’ fault, per se; it’s just what it takes to get started with microservices. Those working with older machines, limited storage, or slower processors should be prepared for some lag, however.

Final Takeaways From Microservices Up and Running

In many respects, microservices are already an established part of today’s development industry and becoming more so with each passing year. 28% of enterprises have been using microservices for more than three years. 61% have been using them for a year or more.

Developers and enterprises hoping to stay relevant and competitive in today’s industry need to come to grips with microservices. Microservices: Up and Running will help you get up and running if you’re new to microservices or elevate your development and understanding if you’re already working with microservice environments.

All in all, Microservices Up and Running from O’Reilly Publishers is an essential addition to your technical bookshelf if you have any interest in microservices, no matter what your skill level or expertise may be.

Some takeaways include:

  • Microservices are growing exponentially to replace monolithic styles
  • Microservices architecture takes time and effort to plan
  • Microservices is a philosophy as much as a product
  • Microservices require a good amount of technology stack to set up
  • Microservices require an understanding of data in your enterprise
  • Microservices must be right-sized

In Microservices: Up and Running, the authors point out that “The truth is, you can get away with calling almost any API-based system a microservices architecture if you try hard enough.” The fact of the matter is that microservices and APIs are intricately intertwined, although each one has its own unique specifications. APIs are frequently the network that empowers microservices. So, if you’re producing or consuming APIs today, you’re likely going to need to come to grips with microservices at some point.