Dúvidas sobre arquitetura de uma aplicação web
Pessoal, estou encarregado de trazer algumas mudanças estruturais das tecnologias usadas na empresa que trabalho para futuros projetos e estou com algumas dúvidas em relação a arquitetura.
Basicamente, a empresa é cheia de engenheiros de telecom e usamos o Django para o backend. A ideia da utilização do Django é que toda a parte de "cálculos" complexos são feitos com Python (e isso não vai mudar). Porém, como estamos utilizando Next.JS, acho que, pensando em escalabilidade, é mais fácil achar um profissional que é especializado em React e Node do que React e Django. Então, penso em propor uma mudança para Nest.JS, até porque as aplicações não são tão grandes, com muitos usuários (são acessadas através de redes privadas).
Porém, pensando em arquitetura, se os cálculos são feitos em Python, o backend deveria ser em Python também? Atualmente, o usuário no front envia os inputs e clica em "Calculate", onde as informações são passadas pro backend, que usa uma função do módulo de cálculos pra pegar o resultado e devolve via API. Como seria a desacoplação desse módulo de cálculos? O backend precisa ser o responsável por lidar com as questões de cálculos?
Queria mais um overview geral sobre isso tudo!
Como é uma aplicação interna, imagino que tenha poucos acessos simultâneos e não tenha uma interface muito complexa, então precisa mesmo de tanto Javascript? Por quê a necessidade de usar Next.js?
Usar o Next sem usar as funcionalidades de backend é praticamente um React com a função de rotas, acaba matando a necessidade de usar ele.
Tem que se considerar os traumas de sair do Django para os usuários atuais do sistema e o retrabalho de reconstruir funcionalidades atuais do Django para o Nest, depende do quanto das funcionalidades do Django são usadas atualmente.
Se os cálculos foram feitos em Python, tem que ter pelo menos uma API em Python que devolve os resultados para o front ou para um backend em JS.