# Microservices

An architectural style that structures an application as a collection of services that are highly maintainable and testable, loosely coupled, independently deployable, and organized around business capabilities.

Each microservice runs in its own process, owns its data, and communicates with other services through well-defined APIs -- typically REST or gRPC. Teams can develop, test, deploy, and scale individual services independently, using different programming languages and data stores as appropriate for each service's requirements.

Microservices architectures rely heavily on API gateways. The gateway serves as a single entry point for clients, routing requests to the appropriate microservice and aggregating responses when a client request requires data from multiple services. Without a gateway, clients would need to know the location and interface of each individual service, creating tight coupling. The gateway also provides cross-cutting concerns like authentication, rate limiting, and logging that apply uniformly across all services, avoiding duplication of this logic in each microservice.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.serverlessapigateway.com/glossary/m/microservices.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
