Conceitos fundamentais

Terminologia e conceitos fundamentais para usar o Architecto

Entender estes conceitos ajuda a trabalhar melhor com o Architecto.

Terminologia de arquitetura

Topologia

Representação visual da infraestrutura de nuvem e das interações entre componentes. No Architecto, é um grafo direcionado cujos nós são componentes e cujas arestas são fluxos de dados.

Nó

Um componente da topologia, representando serviços:

  • Computação: EC2, Lambda, ECS, App Engine.
  • Armazenamento: S3, EBS, RDS, DynamoDB.
  • Rede: VPC, balanceador, CloudFront, Route 53.
  • Mensageria: SQS, SNS, Kafka, RabbitMQ.
  • Análise de dados: Redshift, BigQuery, Snowflake.

Fluxo

Conexão entre nós que representa movimentação de dados:

  • Síncronos: requisição e resposta em tempo real, como REST API, gRPC e consultas.
  • Assíncronos: mensagens orientadas a eventos, como SQS, Kafka e webhooks.
  • Pipelines de dados: processos em lote agendados, como ETL e backups.

Componente

Grupo de nós relacionados com uma função, como “camada do banco”, “camada de API” ou “pipeline de aprendizado de máquina”.

Perfil

Configuração predefinida do provedor, incluindo:

  • Catálogo de serviços disponíveis.
  • Preços por unidade.
  • Disponibilidade regional.
  • Recursos específicos.

O Architecto inclui AWS, GCP, Azure, Kubernetes e Docker.

Propriedades da arquitetura

Disponibilidade

Resiliência a falhas de componentes:

  • AZ única: tudo em uma zona; rápido e barato, mas arriscado.
  • Multi-AZ: replicação entre zonas; mais lento e caro, mas resiliente.
  • Multirregião: replicação geográfica; maior resiliência e custo.

Escalabilidade

Como o sistema lida com o aumento de carga:

  • Vertical: instâncias maiores, limitadas pelo hardware.
  • Horizontal: mais instâncias atrás do balanceador, sem esse limite e com maior complexidade.
  • Automática: adiciona ou remove instâncias conforme a carga, otimizando a eficiência.

Custo

Implicações financeiras:

  • Fixos: não variam com o uso, como reservas e contratos.
  • Variáveis: acompanham o uso, como computação por hora e armazenamento por GB.
  • Saída: transferência para fora do provedor.

Segurança

Proteção contra ataques e acesso indevido:

  • Autenticação: comprova identidade por login ou chave de API.
  • Autorização: verifica acesso por permissões e funções.
  • Criptografia: KMS em repouso e TLS em trânsito.
  • Conformidade: atendimento a SOC2, HIPAA, PCI DSS e GDPR.

Conceitos do fluxo de trabalho

Design de arquitetura

Processo de criar a arquitetura da infraestrutura:

  1. Idealizar: o que o sistema precisa fazer?
  2. Esboçar: topologia inicial com IA ou padrões.
  3. Refinar: detalhes, componentes e conexões.
  4. Analisar: custos, segurança e escalabilidade.
  5. Iterar: ajustar conforme as constatações.
  6. Finalizar: consolidar o design.

Revisão de arquitetura

Validação antes da implementação:

  1. Compartilhar: enviar link com token aos revisores.
  2. Comentários: sugestões dos revisores.
  3. Discussão: conversas em tópicos sobre componentes.
  4. Refinamento: ajustes pelo responsável.
  5. Aprovação: aceite do design final.

Gestão de versões

Acompanhamento das mudanças:

  • Versões: instantâneos em diferentes momentos.
  • Comparação: mostra o que mudou.
  • Reversão: retorna a uma versão anterior.
  • Histórico: documenta os motivos das alterações.

Organização de dados

Projetos

Agrupam arquiteturas relacionadas. Podem representar:

  • Um microsserviço, com um projeto por serviço.
  • Um produto e toda a sua arquitetura.
  • Uma iniciativa, como “Migração para a nuvem 2024”.

Espaços de trabalho

Ambientes compartilhados de colaboração:

  • Vários membros acessam as mesmas arquiteturas.
  • Permissões controlam visualização e edição.
  • Comentários e revisões em tempo real.

Organizações

Agrupamento superior para empresas ou grandes projetos:

  • Gestão de membros e funções.
  • Faturamento e assinatura.
  • Políticas organizacionais.
  • Integrações como GitHub e Discord.

Conceitos de análise

Módulos de análise

Ferramentas especializadas para avaliar a arquitetura:

MóduloPergunta respondida
Estimador de custosQuanto vai custar?
Analisador de escalabilidadeSuporta nosso crescimento?
Modelador de ameaçasO que pode dar errado?
Simulador de desempenhoQual será a velocidade?
Verificador de conformidadeAtende às normas?
Detector de desviosMudou em relação ao design?

Gargalo

Componente que limita o desempenho geral. Exemplos:

  • Banco: adicionar réplicas, cache e particionamento.
  • Rede: adicionar CDN e otimizar consultas.
  • Computação: adicionar servidores e escala automática.

Limite de escalabilidade

Carga máxima antes de a qualidade cair:

  • Processamento: requisições por segundo máximas.
  • Usuários: máximo simultâneo.
  • Dados: tamanho ou número de transações máximo.

Exportação e compartilhamento

Formatos de exportação

FormatoMelhor usoInclui
PNGE-mails, slides e documentaçãoApenas imagem do diagrama
SVGWeb e edição posteriorVetor escalável e editável
PDFImpressão e distribuiçãoDiagrama e metadados
PPTApresentaçõesSlides com diagrama
HTMLWeb interativaDiagrama clicável e pesquisável

Temas

Personalização visual dos exports:

  • Cores dos componentes: por tipo de serviço.
  • Fundo: sólido, gradiente, padrão ou imagem.
  • Tipografia: família, tamanhos e pesos.
  • Logotipo: marca da empresa ou projeto.
  • Cores de destaque: conexões, texto e realces.

Tokens de compartilhamento

Links temporários e seguros:

  • Validade: expiram automaticamente, 7 dias por padrão, configuráveis.
  • Permissões: apenas visualizar ou comentar.
  • Análise: quem visualizou e por quanto tempo.
  • Revogação: desative o link a qualquer momento.

Próximos passos

Conceitos fundamentais | Documentação | Architecto