At our last company (a real-time data driven advertising platform with up to 10.000s requests per second) we grew pretty quickly and after a rush of feature implementations we stood there with a monolithic app that now had to be scaled. We looked closely at the different requirements within our stack and decided that we would prefer to choose the right tool for each job.
By isolating problems into small services we were able to scale in many dimensions. Teams weren’t blocking each other, services could be scaled independently, and we iterated faster. But suddenly up to 30% of our development resources were blocked by automating and maintaining the infrastructure running a zoo of technologies - that was simply too distracting and expensive.
After we successfully sold and later left the company we started to work on a next generation microservices platform in 2013. Wherever we demoed it, people wanted to have access to use it too or join the team to work with us on this new infrastructure. So the microservices infrastructure itself became our next idea - Giant Swarm.