Technology Solutions

Throughout the rest of the book, we’ll introduce you to some popular technology components and how they help solve some of the problems of developing and delivering software using a microservices architecture. As touched upon earlier, microservices is not just a technological problem, and getting the right organizational structure and teams in place to facilitate microservices is paramount. Switching from SOAP to REST doesn’t make a microservices architecture.

The first step for a Java development team creating microservices is to get something working locally on their machine! This book will introduce you to three opinionated Java frameworks for working with microservices: Spring Boot, Dropwizard, and WildFly Swarm. Each framework has upsides for different teams, organizations, and approaches to microservices. Just as is the norm with technology, some tools are a better fit for the job or the team using them. These are not the only frameworks to use. There are a couple that take a reactive approach to microservices like Vert.xand Lagom. The mindshift for developing with an event-based model is a bit different and requires a different learning curve so for this book we’ll stick with a model that most enterprise Java developers will find comfortable.

The goal of this book is to get you up and running with the basics for each framework. We’ll dive into a couple advanced concepts in the last chapter, but for the first steps with each framework, we’ll assume a hello-world microservice application. This book is not an all-encompassing reference for developing microservices; each section will leave you with links to reference material to explore more as needed. We will iterate on the hello-world application by creating multiple services and show some simple interaction patterns.

Technology Solutions

The final iteration for each framework will look at concepts like bulkheading and promise theory to make our services resilient in the face of faults. We will dig into parts of the NetflixOSS stack like Hystrix that can make our lives easier for implementing this functionality. We will discuss the pros and cons of this approach and explore what other options exist.

As we go through the examples, we’ll also discuss the value that Linux containers bring to the microservices story for deployment, management, and isolation as well as local development. Docker and Kubernetes bring a wealth of simplifications for dealing with distributed systems at scale, so we’ll discuss some good practices around containers and microservices.

In the last section of the book, we’ll leave you with a few thoughts on distributed configuration, logging, metrics, and continuous delivery.

results matching ""

    No results matching ""