software architecture in under a minute
Quickest explanation of software architecture evolution that now serves billions of users. The worst part about being a student is the moment you think you know it. It is just the beginning. Bruh! You need to catch up to it.
the beginning
In the beginning the cloud was formless and void and the engineers provisioned a server, it talked to THE DATABASE and served up THE WEBPAGE and it was good.
the growth
The users came, and the business grew. As the company grew, they formed more engineering teams. As the server grew, it became a monolith.
They divided the monolith into micro-services, in order to increase the autonomy of the teams, so they could move faster. Then the engineers created apps that used the services.
the innovation
But the engineers saw that it was not good for each app to have to talk to every service on its own, so they created an API Gateway to bind the services together and in the seventh year they rested.
the temptation
But not for long, because they continued to innovate, they saw that REST was insufficient and they created Graph Query Languages, for the apps to fetch data from the api and it was all good. Time passed and the company continued to grow and teams were fruitful and the services multiplied.
The api gateway that bound them together, grew as well in order to compose the many services and then there was temptation, in order to handle failure gracefully. They added fallback logic into the gateway. Simple caches gave way to complex memory data stores, along with business logic.
Before they knew it, the API Gateway had become the new monolith.
the fall
What happens next? Go study. You got a lot to catch up to.
Ciao! 👋