Arquitectura de microservicios: curso 46.900 rublos. del IBS Training Center, capacitación 24 horas, Fecha 27 de noviembre de 2023.
Miscelánea / / November 27, 2023
La arquitectura de microservicios (MSA) ha ganado fama hace relativamente poco tiempo como el enfoque arquitectónico más popular. Su uso proporciona muchos beneficios en diversas etapas del ciclo de vida del producto. En particular, MCA permite tiempos de respuesta más rápidos a los requisitos comerciales, lo que a menudo lo hace superior a otros estilos arquitectónicos.
Sin embargo, en el proceso de desarrollo del sistema MCA, el arquitecto enfrenta muchos desafíos, muchos de los cuales hacen que los principiantes retrocedan.
Los errores de descomposición pueden provocar un aumento grave de la complejidad del desarrollo. El rendimiento se ve afectado debido a una latencia de red insuperable. El almacenamiento de datos distribuido no permite la coherencia transaccional. Una gran cantidad de componentes que interactúan a través de la red reduce la confiabilidad. Difícil garantizar la seguridad. Además, las pruebas y el mantenimiento de un sistema distribuido requieren una discusión por separado.
Este curso mostrará las ventajas y desventajas de usar MCA. Le ayudará a tomar una decisión informada sobre la aplicabilidad de ISA dependiendo de las necesidades del negocio y las capacidades del equipo. El curso examina los principales problemas asociados con la implementación de una arquitectura de microservicios. Estrategias, mecanismos, patrones que solucionan los problemas planteados anteriormente. Para cada problema discutido, se presentarán las herramientas más comunes (como Kubernetes, Istio, Histryx, Kibana y muchas otras).
Los ejercicios prácticos le permitirán adquirir la habilidad de diseñar de forma independiente sistemas MCA.
Tópicos cubiertos:
1. Estilos arquitectónicos (2 horas)
Conceptos de monolito, SOA, MSA.
Comparación y justificación de la elección.
2. Patrones de descomposición de MSA (2 horas)
Tamaño óptimo del microservicio;
Desglose de servicios por oportunidad de negocio;
Desglose de servicios por áreas problemáticas;
Prácticas para la definición de áreas temáticas;
Descomposición según aspectos técnicos y organizativos.
3. Organización del desarrollo para MSA (1 hora)
Organización de equipos bajo MSA;
Organización de un repositorio de código bajo MSA.
4. Integración de microservicios (3 horas)
Patrones de interacción;
Mecanismos de interacción sincrónicos y asincrónicos;
Orquestación y coreografía;
Protocolos y tecnologías básicos (REST, gRPC, GraphQL, Kafka, RabbitMQ, etc.);
Interacción con sistemas externos (API Gateway, BFF);
Sistemas reactivos;
Arquitecturas impulsadas por eventos;
Separación de mando y petición.
5. Organización del trabajo con datos en MSA (3 horas)
Patrones de trabajo con datos;
Generación de eventos;
Datos de referencia en MSA;
Fuente única de verdad (Fuente de la Verdad) en MSA.
6. Plantillas ISA básicas (9 horas)
Modificabilidad.
Resolviendo el problema de la alta conectividad. Versionado de interfaces y eventos. Tipos de contratos. Cambios en el modelo de eventos. Patrones para organizar solicitudes. Chasis de microservicio. Malla de Servicio.
Escalabilidad.
Patrones para la construcción de equilibradores. Servicios de detección y patrones para trabajar con ellos.
Actuación.
Patrones de rendimiento en MSA (exceso, degradación elegante, etc.).
Consistencia.
Problemas de coherencia en MSA. Teorema de la PAC. Soluciones a problemas de consistencia. Compromisos de dos fases. Patrón SAGA. Nivel de consistencia reducido.
Fiabilidad.
Mecanismos de tolerancia a fallos. Patrones de disyuntores, estrangulamiento, tiempos de espera dependientes, etc.
Seguridad.
Mecanismos de Seguridad en MSA. Autenticación. Autorización. Protección perimetral. Protección de los canales de comunicación. Protocolos y patrones básicos (OAUTH2, JWT, gatekeeper, valet key, etc.).
Probabilidad.
Pruebas de pirámide y cuadrado. Características de las pruebas de microservicios.
Examen de la unidad. Pruebas de integración. Pruebas de componentes. Pruebas E2E. Patrones de prueba de MSA.
Facilidad de mantenimiento.
Observabilidad. Patrones de seguimiento (rastreo distribuido, agregación de registros). Monitoreo y registro. Configuración de microservicios. Exteriorizando la configuración. Soporte del sistema.
7. Implementación de microservicios (2 horas)
Patrón de “canal de implementación”;
Patrones de implementación;
Utilizando tecnologías Docker y Kubernetes;
Usando la cuadrícula ISTIO;
Implementación sin servidor;
Estrategias de despliegue (azul-verde, canario, etc.).
8. Estrategias de migración de monolito a MSA (2 horas)
Estrategias para migrar de monolito a microservicios;
Monolito estrangulador;
Patrones de estrangulamiento;
Comunicación entre un microservicio y un monolito;
Migración de bases de datos.