There is no set way to design a microservices architecture. And there is no mandatory set of tools to run it. However, most microservices environments commonly use a few core components, including the following: Containers; API gateways; Serverless platforms; Service mesh; Systems monitoring and alerting