- Published on
In defense of simple architectures
- Authors
- Name
- Lucas Floriani
- @lucasfloriani13
In defense of simple architectures
In defense of simple architectures
- Wave is a $1.7B company with 70 engineers.
- CRUD app that adds and substracts numbers
- Python monolith with Postgres
- Mobile app
- They keep things simples (KISS)
- Too much conference talks about microservices and handle complexity but none about doing something simple (monolith)
- They use Synchronous Python (I/O blocks processing, like network requests), they tried asynchronous but had a lot of bugs with the library, too much technical effort for almost none benefit.
- Only billions of requests per month (for now), so it can handle it.
- They buy software from others, in the start was good, but after sometime they started building by themselfs because of the specific requirements they had.
- Issues with DB transactions and data integrity, because every function used transactions
- Instead of having the complexity in the architecture, they focused in the complexity of things they needed to improve for the business.
- Only add complexity if you have a good reason for it
Conclusion
They didn't go that much in details about the architecture they used, mostly was about the achievements they had along with being simple and having more time to focus in other things, it's a good argument.