Architecting Database Systems for the Microservices World

Microservices diagram

Introduction to Microservices

Microservices are not new — they have been around for quite a while. However, it is because of recent innovations that the adoption of microservices architecture accelerated. Most importantly:

  • Cloud-native architecture
    • Cloud computing revolutionized the way we handle hardware. Even large companies now are moving towards the cloud because it is much easier to manage and scale despite the higher costs associated (costs eventually go down as companies cut down on resources spent for maintenance).
  • Containers and container management
    • These are also not newer concepts. The Linux operating system had these capabilities natively for a long time. Still, systems such as Docker and Kubernetes changed how we deploy and manage applications, democratizing the whole process with more features and tooling only a few years ago. As a result, it is much easier to slice hardware to our requirements and also to manage them using these tools, which opens up a whole new world of opportunities.

The idea of microservices comes from the service-oriented architecture world. Although they seem similar, they have a lot of differences. The concept of SOA is an enterprise-level concept, whereas microservices is an architectural concept. It focuses only on the application under consideration.