To build a data app one needs:
- The client tier, where the Front-End developer struggles to create the new charts the product demands;
- The business logic tier, where the Back-End engineer provides the end-points so that the application can show the fancy charts and tables needed for the users;
- The database tier, where the back-end applies every required change such as a new table or a new column. In general, adding complexity to an unstoppable growing database schema;
- The infrastructure tier, where the DevOps engineer will guarantee that all of this setup will work whatever the number of users that are consuming the service.
The setup in the image above is how most companies try to create their data products. It requires at least 4 profiles to create such a product (five if it has machine learning), which means that the costs are extremely high and probability of friction between Data and IT are part of the movie.
It is not easy to build this, it is not easy to maintain it, it is definitely not fast and surely it is expensive and it requires an IT Product manager or a Product Owner.
Finally, when all of this is ready, the data engineer builds the data pipeline to link some data sources and some data transformation to this architecture described above so that the first iteration of the service is completed.
Download this post in PDF to have it whenever you want