This document provides an introduction to microservices, including:
- Microservices are an organizational tool for scaling services independently. Monoliths work well too but do not scale as easily.
- Common communication methods between microservices include RPC and message-driven interactions using protocols like GRPC and Protobuf.
- Logging and metrics are important for microservices. The REK stack of Rsyslog, Elasticsearch and Kibana is recommended for logging. Prometheus is given as an example for metrics.
- Containerization using Docker is ideal for deploying and managing microservices. Kubernetes is a popular orchestration platform for containers both in the cloud and on-premise.