Webinar

Modernizing data warehouses with AI

Self-healing pipelines, reliable analytics, and real business impact 30th October | 10 AM PST

Register Now

That is not an easy answer, and like many other answers related to software development, it depends. We follow the concept of Evolutionary Architectures.

We picture your project as a set of different modules, each module can vary in complexity and requirements. Therefore each module can have a proper architecture that best suits it. Despite that, we have to think about architecture as living beings, so they will adapt and change during the project.

Choose a design for the whole system upfront usually is not the best idea. We would recommend you to picture your system as this set of modules and start to choose a design that best addresses each module needs, always favoring simplicity.