Descripción:
El mundo se está alejando de aplicaciones PHP voluminosas, poco confiables y de alto mantenimiento, para abrir camino a microservicios pequeños, fáciles de mantener y altamente disponibles, y la necesidad apremiante que los desarrolladores de PHP entiendan las dificultades para construir microservicios efectivos que escalen en general. Este curso es un recurso que ayudará a desarrollar sus habilidades y le enseñará técnicas para construir microservicios confiables en PHP. El curso PHP Microservices comienza con una introducción al mundo de los microservicios y la muestra rápida para configurar un entorno y crear una plataforma básica utilizando Docker y Vagrant. Luego, tendrá en cuenta los diferentes aspectos de diseño que se considerarán para crear microservicios en su framework favorito y explorar temas como testing, seguridad y la implementación de microservicios. También comprenderá cómo migrar una aplicación monolítica a la arquitectura de microservicio, teniendo en cuenta la escalabilidad y las mejores prácticas. Además, aprenderá algunas de las técnicas más importantes de DevOps que le permiten avanzar en los dominios más complejos, como el desarrollo en la nube, así como algunos patrones de diseño interesantes.
Objetivo:
Al final del curso, el alumno, será capaz de: Configurar un entorno de desarrollo utilizando las estrategias y herramientas correctas. Aprender sobre el diseño y la estructura de la aplicación para comenzar a implementar su aplicación. Transformar una aplicación monolítica en microservicios. Explorar la mejor manera de comenzar a implementar su aplicación mediante pruebas. Comprender cómo supervisar sus microservicios, manejar errores y depurar la aplicación. Implementar su aplicación terminada en un entorno de producción y aprenda a resolver problemas comunes. Saber cómo escalar su aplicación basada en microservicios una vez que esté en funcionamiento.
Temario:
Parte 1: ¿QUÉ SON LOS MICROSERVICIOS?
Monolítico versus microservicios | Arquitecturas orientadas a servicios versus microservicios | Características de microservicios | Cómo enfocar tu desarrollo en microservicios | Ventajas de usar PHP en microservicios
Parte 2: ENTORNO DE DESARROLLO
Diseño y arquitectura para construir la plataforma básica para microservicios | Requisitos para comenzar a trabajar en microservicios | Control de versiones – Git versus SVN | Configuración de un entorno de desarrollo para microservicios | Frameworks para microservicios
Parte 3: DISEÑO DE LA APLICACIÓN
Estructura de microservicios | Convenciones RESTful | Estrategia de almacenamiento en caché | Diseño impulsado por dominio | Arquitectura orientada a eventos | Integración continua, entrega continua y herramientas
Parte 4: PRUEBAS Y CONTROL DE CALIDAD
La importancia de usar pruebas en su aplicación | Desarrollo basado en pruebas | Desarrollo impulsado por el comportamiento | Desarrollo impulsado por prueba de aceptación | Herramientas
Parte 5: DESARROLLO DE MICROSERVICIOS
Gestión de dependencia | Enrutamiento| Implementando una llamada de microservicio | Operaciones de base | Manejo de errores| Asincronización y cola | Almacenamiento en caché
Parte 6: MONITOREO
Depuración y creación de perfiles | Manejo de errores | Registros de aplicaciones | Monitoreo de aplicaciones
Parte 7: SEGURIDAD
Cifrado en microservicios | Autenticación | Lista de control de acceso | Seguridad del código fuente | Seguimiento y monitoreo | Mejores prácticas
Parte 8: DESPLIEGUE
Gestión de dependencia | Implementar la automatización | Técnicas avanzadas de despliegue | Estrategias de respaldo
Parte 9: DE MONOLÍTICO A MICROSERVICES
Estrategias de refactorización | Tutorial: de monolítico a microservicios
Parte 10: ESTRATEGIAS DE ESCALABILIDAD
Planificación de capacidad | Prueba de carga | Plan de escalabilidad
Parte 11: MEJORES PRÁCTICAS Y CONVENCIONES
Codificar las mejores prácticas de versiones | Mejores prácticas de almacenamiento en caché | Mejores prácticas de rendimiento | Gestión de dependencia | Versión semántica | Manejo de errores | Prácticas de codificación | Trabajando con ramas de lanzamiento
Parte 12: LA NUBE Y DEVOPS
¿Qué es Cloud? | Seleccione su proveedor de la nube | Implementando su aplicación a la nube | ¿Qué es DevOps?