The way we design and build software has changed in the past few years. We are developing software designed to run in the cloud, and it is driven by fast-changing business needs. If you are already familiar with this world, you will recognize some of the drivers behind the approach we take these days:
- There is a demand for reducing the costs while still improving performance
- You have to continuously deliver new functionality to meet business growth, and the turnaround needs to be fast
- The software has to reach customers around the globe and cope with the high demand it might produce while running at such a scale
To see a definition of what microservices are and how we arrived at such principles, let's do an exercise. Imagine you had the amazing idea of Airbnb, and there wasn't anything like it on the market. Now you are in the position to define a high-level...