Load Balancer
● Apache LB
● NGINX
Frontend SPAs
● Angular
● Vue
● React
Backend Application
● Single JAR / WAR File
● Tomcat Container
Database
● Oracle
● Postgres
● SQL Server
https://medium.com/thron-tech/single-page-application-from-monolithic-to-modular-c1d413c10292
The “monolithic” engineering team was split into more teams, so more than one team needed to work on the same application and this caused few headaches:
Code had too many dependencies; Team A, as an example, could update a component used also by code developed by team B and this change, in worst cases (so, the common ones), would create unexpected regressions on team B code;
Increased code duplication risk; without an exceptional communication quality and frequency among teams, we could incur in the chance of having multiple teams implementing the same (or very similar) component without realizing it;
Deploy process was very complex: we needed to wait for all teams to end their own implementations to be able to release the application, we could not deploy just parts of it;
Some of our technical decisions were based on the required support of obsolete browsers (ie8, ie9 as main examples) but enterprise companies were ready to let them go, so it was not impossible anymore to force them dropping support for old versions. We waited until we could deprecate anything below IE11.
https://medium.com/thron-tech/single-page-application-from-monolithic-to-modular-c1d413c10292