We have long been using micro-services on the project, but we do not use the 'micro-services' term, rather simply services. Each middle ware component is isolated into a small stateless service which is containerized and deployed to AWS using EC3, Docker, Application Load Balancer, etc. This approach allows us to scale the platform depending on load and keep the costs of the running of the platform low.