Microservices architecture (often shortened to microservices) refers to an architectural style for developing applications. Microservices allow a large application to be separated into smaller independent parts, with each part having its own realm of responsibility. To serve a single user request, a microservices-based application can call on many internal microservices to compose its response.

Containers are a well-suited microservices architecture example, since they let you focus on developing the services without worrying about the dependencies. Modern cloud-native applications are usually built as microservices using containers.

Learn how Google Kubernetes Engine can help you create microservices-based applications using containers.

Microservices architecture defined

A microservices architecture is a type of application architecture where the application is developed as a collection of services. It provides the framework to develop, deploy, and maintain microservices architecture diagrams and services independently.

Within a microservices architecture, each microservice is a single service built to accommodate an application feature and handle discrete tasks. Each microservice communicates with other services through simple interfaces to solve business problems.

What is microservices architecture used for?

Typically, microservices are used to speed up application development. Microservices architectures built using Java are common, especially Spring Boot ones. It’s also common to compare microservices versus service-oriented architecture. Both have the same objective, which is to break up monolithic applications into smaller components, but they have different approaches. Here are some microservices architecture examples:

Website migration

A complex website that’s hosted on a monolithic platform can be migrated to a cloud-based and container-based microservices platform.

Media content

Using microservices architecture, images and video assets can be stored in a scalable object storage system and served directly to web or mobile.

Transactions and invoices

Payment processing and ordering can be separated as independent units of services so payments continue to be accepted if invoicing is not working.

Data processing

A microservices platform can extend cloud support for existing modular data processing services.

When you use Google Cloud, you can easily deploy microservices using either the managed container service, Google Kubernetes Engine, or the fully managed serverless offering, Cloud Run.

Depending on the use case, Cloud SQL and other Google Cloud products and services can be readily integrated to support microservices architectures.

Take the next step

Start building on Google Cloud with $500 in free credits and 20+ always free products.