O que é arquitetura

Nesta página é destinada a compreensão do conceito de arquitetura.

Escrito por Matheus Sampaio

O que é arquitetura?

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.

Importância da arquitetura para a engenharia de dados

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.

O que é arquitetura de dados?

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.

Conceitos para um design de arquitetura de sistemas

Figura 08 - Conceitos para um design de arquitetura de sistemas (Fonte: Google Cloud)

Exemplos de 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.

Arquitetura com Azure no uso serviços proprietários

Figura 09 - Arquitetura com Azure no uso serviços proprietários (Fonte: Microsoft)

Arquitetura Lakehouse com Azure

Figura 10 - Arquitetura Lakehouse com Azure (Fonte: Microsoft)

Agora, um desenho de arquitetura com uso da Google Cloud (GCP) como plataforma:

Arquitetura com GCP

Figura 11 - Arquitetura com uso de GCP (Fonte: Google Cloud)

Agora, uma arquitetura com Amazon Web Services (AWS):

Arquitetura com AWS

Figura 12 - Arquitetura com AWS (Fonte: 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.


Referências

Engenharia de Software para Ciência de Dados: Um guia de boas práticas com ênfase na construção de sistemas de Machine Learning em Python, Marcos Kalinowski, Tatiana Escovedo, Hugo Villamizar, Hélio Lopes, 2023.

O que é uma arquitetura de dados? | IBM

Modelo de arquitetura do Google Cloud

Arquitetura moderna com o Azure Databricks | Microsoft

Análise de Big Data com Azure| Microsoft

Criar produtos de dados em uma malha de dados | Centro de arquitetura do Cloud | Google Cloud

Modern Data Analytics Reference Architecture on AWS Diagram | Amazon Web Services

Arquitetura Hexagonal (Explicação de Ports & Adapters) // Dicionário do Programador

Arquitetura de Software // Dicionário do Programador

Siglas

AWS - Amazon Web Services

GCP - Google Cloud Plataform

IA - Inteligência Artificial

MVC - Model, View e Controler

SOA - Service-Oriented Architecture

Atualizado

Isto foi útil?