O que é arquitetura
Nesta página é destinada a compreensão do conceito de arquitetura.
Atualizado
Isto foi útil?
Nesta página é destinada a compreensão do conceito de arquitetura.
Atualizado
Isto foi útil?
Escrito por
Para todos os profissionais de dados, especialmente os engenheiros, é essencial entender e compreender o conceito de arquitetura.
A definição de arquitetura dentro da tecnologia da informação foi criada inicialmente para a Engenharia de Software, com base nos estudos de dois pesquisadores: Edsger Wybe Dijkstra e David Lorge Parnas. Na década de 90, começaram as primeiras padronizações de arquiteturas.
Podemos definir arquitetura como um conjunto de princípios e técnicas que visam entender os componentes, relacionamentos e interfaces, de forma a projetar infraestruturas complexas de software de maneira segura, escalável e flexível a mudanças.
Na Engenharia de Software, existem diversas arquiteturas, como Model, View e Controle (MVC), Arquitetura em Camadas, Arquitetura Orientada a Serviços (SOA), Microsserviços, Cliente-Servidor, Ports e Adapters (Hexagonal), entre outras.
Compreender arquitetura é crucial para a Engenharia de Dados. Conforme abordamos anteriormente no capítulo de introdução, a Engenharia de Dados envolve processos de coleta em sistemas de origem (transacionais). Portanto, um dos principais pontos é entender como esses dados são gerados.
Assim como na Engenharia de Software, a arquitetura de dados refere-se ao processo de definição de regras, processos e construção de um modelo capaz de coletar, processar, armazenar e disponibilizar os dados para suas respectivas aplicações, seja um painel visual (dashboard) em uma ferramenta de visualização ou a carga de dados para um modelo de IA.
Na definição da arquitetura, deve-se considerar aspectos de segurança, governança, escalabilidade, custos e adaptabilidade/flexibilidade.
Este framework da Google Cloud demonstra a preocupação com a arquitetura de dados.
Abaixo, temos exemplos de arquitetura de dados das três principais fornecedoras de serviço de computação em nuvem: GCP, AWS e Azure.
Esses são exemplos de uso da Azure. Separei dois porque quero que você entenda que não é algo escrito em pedra.
Agora, um desenho de arquitetura com uso da Google Cloud (GCP) como plataforma:
Agora, uma arquitetura com Amazon Web Services (AWS):
Como mencionei anteriormente, a arquitetura não é definida em pedra e nem toda arquitetura será igual a outra, pois quem definirá é o arquiteto de dados com o entendimento da arquitetura de software, levando em consideração a necessidade do time de negócio e dos tomadores de decisão, além das ferramentas disponíveis no mercado.
Uma vez definida a arquitetura, deve-se segui-la até identificar a necessidade de mudá-la ou adaptá-la.
AWS - Amazon Web Services
GCP - Google Cloud Plataform
IA - Inteligência Artificial
MVC - Model, View e Controler
SOA - Service-Oriented Architecture