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:
- Idealizar: o que o sistema precisa fazer?
- Esboçar: topologia inicial com IA ou padrões.
- Refinar: detalhes, componentes e conexões.
- Analisar: custos, segurança e escalabilidade.
- Iterar: ajustar conforme as constatações.
- Finalizar: consolidar o design.
Revisão de arquitetura
Validação antes da implementação:
- Compartilhar: enviar link com token aos revisores.
- Comentários: sugestões dos revisores.
- Discussão: conversas em tópicos sobre componentes.
- Refinamento: ajustes pelo responsável.
- 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ódulo | Pergunta respondida |
|---|---|
| Estimador de custos | Quanto vai custar? |
| Analisador de escalabilidade | Suporta nosso crescimento? |
| Modelador de ameaças | O que pode dar errado? |
| Simulador de desempenho | Qual será a velocidade? |
| Verificador de conformidade | Atende às normas? |
| Detector de desvios | Mudou 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
| Formato | Melhor uso | Inclui |
|---|---|---|
| PNG | E-mails, slides e documentação | Apenas imagem do diagrama |
| SVG | Web e edição posterior | Vetor escalável e editável |
| Impressão e distribuição | Diagrama e metadados | |
| PPT | Apresentações | Slides com diagrama |
| HTML | Web interativa | Diagrama 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
- Comece → Primeiros passos
- Conheça os recursos → Guia de recursos
- Explore padrões → Padrões de arquitetura