Hi Andrei, I guess there is no definitive answer - it highly depends on your microservice itself and what it does with other backends (database, other services)
- If you run on Seaside with state then this might be interesting: http://onsmalltalk.com/scaling-seaside If you want to scale then stateful might not be the best way to go - this is not different from other web technologies. - I prefer the REST and stateless approach, several images with a fast balancer at the front (nginx) This is a pattern you more often see in web development as usually - the client side is written in JavaScript as single page app (SPA) or progressive web app (PWA) - and server side provides a stateless REST API (which opens your application not only to human users using the SPA/PWA but also to other programs and services using the API) You can easily provide REST API with Seaside-REST package, with Teapot or with Tealight (an addition I wrote to Teapot). Follow the guide for Tealight, especially the last part here: https://github.com/astares/Tealight - Allstocker.com is running with just 2 images and nginx, see the details here https://pharoweekly.wordpress.com/2016/10/17/allstocker-internals/ - The enterprise book has some guidance too https://ci.inria.fr/pharo-contribution/job/EnterprisePharoBook/lastSuccessfulBuild/artifact/book-result/DeploymentWeb/DeployForProduction.html I recommend to make a technical prototype, test and measure. Balancing and scaling is not different from other technologies (Java, PHP, NodeJS, ...) and there are many tutorials out there for this part. Think about container technologies and virtualization (for cloud or other). Played with Pharo on docker - very easy to setup. I summarized my findings in a new "Pharo and docker" tutorial on http://wiki.astares.com/pharo/613 Hope some of this helps! Bye Torsten