BT

Microservices rss

The canonical definition of microservices as "loosely-coupled, service-oriented architecture with bounded contexts" is often attributed to Adrian Cockcroft, who led the implementation of microservices at Netflix. The core premise of microservices is that by modularising a system into small services that provide well-defined APIs, coupling is reduced and it is easier to implement functionality using well-accepted design principles such as the separation of concerns and the single responsibility principle.

Pioneered by Netflix and others in the Bay Area, a microservices approach allows new components to be written in pretty much any language, and to be deployed quickly, but it requires considerable sophistication in terms of operations - both continuous delivery and monitoring. In other words it favours business agility at the expense of operational complexity. Microservices also imply a scaling problem that lends itself to horizontal, as opposed to vertical, scaling.

Position on the
Technology Adoption Curve

Topic Health Status: Over 15k GitHub Repos

Get up to speed with Microservices

Learning Path

Beginner

Microservices: Decomposing Applications for Deployability and Scalability

This article describes the increasingly popular Microservice architecture pattern. The big idea behind microservices is to architect large, complex and long-lived applications as a set of cohesive services that evolve over time.

Chris Richardson·21 min read

Beginner

Wiring Microservices with Spring Cloud

As we move towards microservice-based architectures, we're faced with an important decision: how do we wire our services together? Components in a monolithic system communicate through a simple method call, but components in a microservice system likely communicate over the network through REST, web services or some RPC-like mechanism.

Rob Harrop·18 min read

Beginner

Introducing Sock Shop: A Cloud Native Reference Application

Sock Shop began as a simple demo app, but then proved to be quite useful and eventually grew into a fully containerized, cloud native reference application. The application is built using a mixture of Go, Java with Spring and Node.js. It has a a full continuous integration and delivery pipeline through to our “staging” environment, a Kubernetes cluster running on AWS.

Ian Crosby·9 min read

Intermediate

Self Contained Systems (SCS): Microservices Done Right

Everybody seems to be building microservices these days. There are many different ways to split a system into microservices, and there appears to be little agreement about what microservices actually are - except for the fact that they can be deployed independently. Self-contained Systems are one approach that has been used by a large number of projects.

Eberhard Wolff·14 min read

Intermediate

Build High Performance JVM Microservices with Ratpack & Spring Boot

Ratpack and Spring Boot are a match made in microservice heaven. Each is a developer-centric web framework for the JVM, focused on productivity, efficiency, and lightweight deployments.

Dan Woods·19 min read

Advanced

Developing Transactional Microservices Using Aggregates, Event Sourcing and CQRS - Part 1

The microservice architecture is becoming increasingly popular. It is an approach to modularity that functionally decomposes an application into a set of services.

Chris Richardson·13 min read

Advanced

Developing Transactional Microservices Using Aggregates, Event Sourcing and CQRS - Part 2

In Part 2, we describe how a key challenge with using events is atomically updating an aggregate and publishing an event. We show how to solve this problem by using event sourcing, which is an event-centric approach to business logic design and persistence.

Chris Richardson·15 min read

Featured Contributors

Matt Ranney

Matt Ranney

Sr. Staff Engineer @Uber,
Co-founder @Voxer

Follow

Chris Richardson

Chris Richardson

Java Champion and Author of POJOs in Action

Follow

Daniel Bryant

Daniel Bryant

Chief Scientist @OpenCredo

Follow

Jan Stenberg

Jan Stenberg

IT consultant for Knowit

Follow

Mark Little

Mark Little

Vice President at Red Hat

Follow

Thomas Betts

Thomas Betts

Principal Software Engineer at IHS Markit

Follow

Want to learn more?

Check out our related topics and technologies based on the Technology Adoption Curve

Login to InfoQ to interact with what matters most to you.


Recover your password...

Follow

Follow your favorite topics and editors

Quick overview of most important highlights in the industry and on the site.

Like

More signal, less noise

Build your own feed by choosing topics you want to read about and editors you want to hear from.

Notifications

Stay up-to-date

Set up your notifications and don't miss out on content that matters to you

BT