Entendendo o que é three tier application
Se você está se inscrevendo para vagas de Cloud Engineer ou DevOps Engineer esse termo pode aparecer em sua entrevista, vamos entender de forma simples o que é.
É um arquitetura client-server bem conhecida e está organizada da seguinte forma:
- Presentation Layer (GUI)
- Application Layer (Business)
- Data Layer (Persistence)
Fazendo uma APP seguindo esse modelo nos dias de hoje geraria algo como:
- Frontend (HTML, JS, CSS)
- Backend (Python, C)
- Database (PostgreSQL, Mongo)
Atualmente seria um Backend desenvolvido com a estratégia API-FIRST, um Frontend leve e moderno usando algum framework JS consumindo as APIs e Endpoints do Backend que estará gravando os dados em sistemas SGBDS modernos, sendo estes relacionais e não relacionais de acordo com o tipo de dado e contexto a ser persistido.
Quais as vantagens?
- Pode-se atualizar os componentes de forma separada e independente
- Como os componentes são separados, o desenvolvimento é simplificado e independente, podendo inclusive ser feito por times distintos
- Podemos trabalhar com objetivo de melhorar a escalabilidade em cada componente de forma independente, o que vai aumentar a resiliência e disponibilidade da aplicação
- Teremos mais segurança já que o o frontend nao fala diretamente com o banco
Esse é o básico do básico sobre o assunto, mas suficiente para responder.
Refs
- https://www.logianalytics.com/5-benefits-3-tier-architecture
- https://gocloudcareers.com/2021/10/21/what-is-a-three-tier-architecture
- https://ipwithease.com/three-tier-architecture-in-application/
[s]
Guto
Este post é do tipo #MindNotes, entenda aqui.
Se gostou manda um alo no twitter @gutocarvalho.