The micro platform (M3O) is a cloud native platform for microservices development.


This document serves as the design document for our cloud infrastructure and a reference point for anyone who wants to understand how it works.


We're operating on all major cloud providers (AWS, Azure, GCP) in a multi-cloud and multi-region 
deployment across US, EU and Asia. We're leveraging DO as a control plane and CloudFlare for 
global load balancing along with KV storage for anything that needs global state.

Today we operate in a single region in Europe using managed kubernetes on scaleway. Our plan will be to scale up that region and then move on to others based on a need driven by customers.


The platform exists in the repository micro/platform and builds on Micro itself. We build services in m3o/services so that we can provide Micro as a Service.


Top down:


We serve any environment through 3 global endpoints:

The api is used as the http/json inbound. The proxy uses gRPC for remote access via the CLI and other services.


Internally we’re running Micro as single replicas to abstract away the underlying infrastructure.


We use managed kubernetes on every cloud provider. Our shared infrastructure for each service is as follows.