Skip to content

Introduction

In short, the microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API.

These services are built around business capabilities and independently deployable by fully automated deployment machinery.

Overview

Silver bullet?

In folklore, a bullet cast from silver is often one of the few weapons that are effective against a werewolf or witch. The term silver bullet is also a metaphor for a simple, seemingly magical, solution to a difficult problem

Microservices are a critical part of a number of significant advancements that are changing the nature of how we work. Agile software development techniques, moving applications to the cloud, DevOps culture, continuous integration and continuous deployment (CI/CD), and the use of containers are all being used alongside microservices to revolutionize application development and delivery

TIP

There is a bare minimum of centralized management of these services, which may be written in different programming languages and use different data storage technologies. Microservices: a definition of this new architectural term

The microservice architecture is not a silver bullet. It has several drawbacks. Moreover, when using this architecture there are numerous issues that you must address.

Transitioning towards a Microservices Architecture

Once your application has become a large, complex monolith, your development organization is probably in a world of pain. Any attempts at agile development and delivery will flounder. One major problem is that the application is overwhelmingly complex. It’s simply too large for any single developer to fully understand. As a result, fixing bugs and implementing new features correctly becomes difficult and time consuming. What’s more, this tends to be a downwards spiral. If the codebase is difficult to understand, then changes won’t be made correctly You will end up with a monstrous, incomprehensible big ball of mud.

The Guidelines

This group of guidelines attempt to ease-up this transition to microservices for our teams and serve as a guide in this process.