Arquitetura de microsserviços - curso 46.900 rublos. do IBS Training Center, treinamento 24 horas, data 27 de novembro de 2023.
Miscelânea / / November 27, 2023
A arquitetura de microsserviços (MSA) ganhou fama há relativamente pouco tempo como a abordagem arquitetônica mais popular. Seu uso proporciona muitos benefícios em diversas fases do ciclo de vida do produto. Em particular, o MCA permite tempos de resposta mais rápidos aos requisitos de negócio, o que muitas vezes o torna superior a outros estilos arquitetónicos.
No entanto, no processo de desenvolvimento de sistemas MCA, o arquiteto enfrenta muitos desafios, muitos dos quais fazem com que os iniciantes retrocedam.
Erros de decomposição podem levar a um sério aumento na complexidade do desenvolvimento. O desempenho é prejudicado devido à latência de rede intransponível. O armazenamento de dados distribuído não permite consistência transacional. Um grande número de componentes interagindo na rede reduz a confiabilidade. Difícil garantir a segurança. Além disso, o teste e a manutenção de um sistema distribuído requerem uma discussão separada.
Este curso mostrará as vantagens e desvantagens do uso do MCA. Ajudará você a tomar uma decisão informada sobre a aplicabilidade do ISA dependendo das necessidades do negócio e das capacidades da equipe. O curso examina os principais problemas associados à implementação de uma arquitetura de microsserviços. Estratégias, mecanismos, padrões que resolvem os problemas acima mencionados. Para cada problema discutido serão apresentadas as ferramentas mais comuns (como Kubernetes, Istio, Histryx, Kibana e muitas outras).
Os exercícios práticos permitirão que você adquira a habilidade de projeto independente de sistemas MCA.
Assuntos abordados:
1. Estilos arquitetônicos (2 horas)
Conceitos de monólito, SOA, MSA.
Comparação e justificativa para a escolha.
2. Padrões de decomposição MSA (2 horas)
Tamanho ideal de microsserviço;
Detalhamento dos serviços por oportunidade de negócio;
Repartição dos serviços por áreas problemáticas;
Práticas de definição de áreas temáticas;
Decomposição segundo aspectos técnicos e organizacionais.
3. Organização de desenvolvimento para MSA (1 hora)
Organização de equipes no âmbito do MSA;
Organização de um repositório de código sob MSA.
4. Integração de microsserviços (3 horas)
Padrões de interação;
Mecanismos de interação síncrona e assíncrona;
Orquestração e coreografia;
Protocolos e tecnologias básicas (REST, gRPC, GraphQL, Kafka, RabbitMQ, etc.);
Interação com sistemas externos (API Gateway, BFF);
Sistemas reativos;
Arquiteturas orientadas a eventos;
Separação de comando e solicitação.
5. Organização do trabalho com dados em MSA (3 horas)
Padrões de trabalho com dados;
Gerando eventos;
Dados de referência em MSA;
Fonte única de verdade (Fonte da Verdade) em MSA.
6. Modelos ISA básicos (9 horas)
Modificabilidade.
Resolvendo o problema da alta conectividade. Versionamento de interfaces e eventos. Tipos de contratos. Mudanças no modelo de evento. Padrões para organizar solicitações. Chassi de microsserviço. Malha de serviço.
Escalabilidade.
Padrões para construção de balanceadores. Serviços de detecção e padrões para trabalhar com eles.
Desempenho.
Padrões de desempenho em MSA (exagero, degradação normal, etc.).
Consistência.
Problemas de consistência no MSA. Teorema CAP. Soluções para problemas de consistência. Confirmações de duas fases. Padrão SAGA. Nível de consistência reduzido.
Confiabilidade.
Mecanismos de tolerância a falhas. Padrões de disjuntores, estrangulamento, tempos limites dependentes, etc.
Segurança.
Mecanismos de segurança em MSA. Autenticação. Autorização. Proteção perimetral. Proteção dos canais de comunicação. Protocolos e padrões básicos (OAUTH2, JWT, gatekeeper, valet key, etc.).
Testabilidade.
Teste de pirâmide e quadrado. Recursos de teste de microsserviços.
Teste de unidade. Teste de integração. Teste de componentes. Teste E2E. Padrões de teste MSA.
Facilidade de manutenção.
Observabilidade. Padrões de monitoramento (rastreamento distribuído, agregação de log). Monitoramento e registro. Configurando microsserviços. Exteriorizando a configuração. Suporte do sistema.
7. Implantando microsserviços (2 horas)
Padrão “pipeline de implantação”;
Padrões de implantação;
Utilização de tecnologias Docker e Kubernetes;
Usando a grade ISTIO;
Implantação sem servidor;
Estratégias de implantação (azul esverdeado, canário, etc.).
8. Estratégias de migração do Monolith para MSA (2 horas)
Estratégias de migração de monolito para microsserviços;
Monólito Estrangulador;
Padrões de estrangulamento;
Comunicação entre um microsserviço e um monólito;
Migração de banco de dados.