
Conoce un poco sobre el instructor y algunos detalles interesantes del curso.
Antes de comenzar a crear, es importante comprender las metas, ver cómo debería funcionar todo y todas las características de la arquitectura de microservicios.
Acá te comparto los detalles sobre los diferentes repositorios donde puedes encontrar el código fuente de los microservicios y componentes implementados con Lumen durante el curso.
Es momento de obtener la estructura de Lumen, usando composer para comenzar con el microservicio de autores
Acá te explico un poco sobre el entorno de desarrollo que recomiendo para seguir el curso. Sin embargo, eres libre de usar las herramientas con las que te sienta mejor para seguir el curso.
Una vez tienes la estructura de Lumen, hay que preparar y configurar algunos componentes para que el microservicio funcione correctamente
Con las migraciones, podrás crear la estructura de la tabla que almacenará la información relacionada con los autores que gestionará el microservicio.
Por medio del modelo podrás acceder a toda la potencia de Eloquent, el ORM de Lumen, para gestionar fácilmente los autores desde el microservicio.
Crear un Factory para los autores en el microservicio, permitirá generar fácilmente datos de prueba que ayudarán a llenar la base de datos con Lumen.
El controlador te permitirá construir las acciones que se encargarán de gestionar los autores de los que se hace cargo el microservicio, todo a través de Lumen y su ORM.
Las rutas te ayudarán a construir ese puente entre las acciones de tu controlador y las URLs a través de las cuales accederían al microservicio.
Es importante que seas consistente en el formato y en el tipo de respuestas que todos tus servicios retornen. En esta clase vas a centralizar esto para estandarizar las respuestas.
El primer método a implementar es el método index, que retornará la lista completa de autores del microservicio.
El método store del controlador te permitirá crear nuevas instancias de autor para el microservicio. Todo, usando Lumen y su ORM.
El método show recibe el parámetro de la ruta que te permitirá identificar un único autor y retornarlo como respuesta del microservicio. Además, Lumen te ayudará a controlar la posibilidad de que ese id no exista
El método update te ayudará a identificar y editar un autor existente del microservicio con Lumen.
Al implementar el método destroy del controlador, podrás eliminar un autor existente del microservicio.
Debes asegurarte de ser consistente en todas las posibles respuestas del microservicio y eso incluye también a las respuestas de error.
Obtén la estructura de Lumen, usando composer para comenzar con el microservicio de libros
Debes preparar y configurar algunos componentes de Lumen para que el microservicio funcione correctamente
Con las migraciones, crearás la estructura de la tabla que contendrá la información relacionada con los libros de los que se encarga este microservicio.
Por medio del modelo podrás acceder a toda la potencia de Eloquent, el ORM de Lumen, para gestionar fácilmente los libros de este microservicio.
Crea un Factory para los libros en este microservicio, y genera datos de prueba que ayudarán a llenar la base de datos con Lumen.
Construye las acciones que se encargarán de gestionar los libros de los que se encargará este microservicio con Lumen.
Las rutas te ayudarán a construir el puente entre las acciones de tu controlador y las URLs a través de las cuales accederán al microservicio.
Debes mantener el mismo formato y estructura de respuestas del servicio de autores en este microservicio.
El método index, te permitirá retornar la lista completa de libros de este microservicio.
Permite crear instancias nuevas de libros, implementando el método store del controlador
El método show recibe te permite identificar y retornar los detalles de un libro existente como respuesta del microservicio. Lumen te ayudará a controlar la posibilidad de que ese id no exista
El método update te permitirá identificar y editar un libro existente del microservicio con Lumen.
El método destroy del controlador te permitirá eliminar un libro existente del microservicio.
Asegúrate de siempre retornar respuestas válidas y en el formato adecuado incluso en caso de error.
Obtén la estructura de un nuevo proyecto Lumen donde implementarás todos los componentes del API Gateway.
Configura el Gateway para funcionar y actuar del modo correcto con Lumen.
El Gateway centrará las funciones de todos los microservicios, así que habrá que crear controladores de Lumen para cada uno
Debes mantener el formato y la estructura de las respuestas en todos tus microservicios y esto incluye en especial al Gateway que debe centralizar todo.
El API Gateway con Lumen tendrá la unión de todas las rutas posibles de los microservicios para atender y dirigir cada una del modo correcto.
Debes darle la capacidad del Gateway de dirigir las peticiones al servicio correcto, consumiéndolos a través de HTTP con Lumen y GuzzleHttp.
Hay que preparar y construir las estructuras necesarias que permitirán particularizar el modo en el que el Gateway podrá consumir los otros microservicios de Lumen.
Consume el servicio de autores para obtener y retornar la lista completa de autores. Todo debe hacerse con los controladores del Gateway.
Consume el servicio de autores para crear y retornar un nuevo autor, usando los controladores y servicios del Gateway con Lumen.
Consume el microservicio de autores de Lumen para obtener y retornar un autor, a partir de un identificador recibido.
Obtén y edita un autor existente a través del microservicio de autores y todo desde el Gateway.
Remueve una instancia de autor usando el microservicio de autres desde el Gateway de Lumen.
A partir de las operaciones ya implementadas para autores, es momento de hacer algo similar para los libros, usando el micro servicio respectivo desde Lumen.
El API Gateway será el encargado de verificar que un autor exista antes de permitir crear un libro.
Al igual que los demás microservicios, el Gateway también es susceptible a errores y deben ser controlados, además de manejar los errores de los servicios internos de la arquitectura.
Agrega Passport como una dependencia que te permitirá implementar fácilmente la protección para el API Gateway por medio de OAuth2.
Debes agregar algunos componentes y ejecutar algunos comandos para permitirle al Gateway proteger y proporcionar acceso a rutas protegidas de la arquitectura de microservicios.
Una vez que tienes todo instalado y preparado, puedes proteger todas las rutas del Gateway, de modo que requieran un token de acceso válido.
Ahora que tus rutas están protegidas, debes conocer cómo obtener un token de acceso válido que ter permita acceder a las rutas protegidas con Passport.
Ahora, el Gateway debe ser capaz de identificarse a si mismo frente a otros microservicios de la arquitectura de modo que estos luego le permitan acceso
Ahora que el Gateway se puede autenticar, es momento de evitar el acceso directo al servicio de autores de modo que sólo el Gateway pueda hacerle peticiones.
Del mismo modo que se hizo con el microservicio se autores, es momento de proceder con el de libros para evitar el acceso directo a este.
Antes que nada, necesitas una tabla para almacenar los usuarios. Para ello, usarás una migración tomada desde Laravel.
Ahora que tienes dónde almacenar los usuarios, es momento de agregar todas las posibles acciones sobre usuarios. Crear, mostrar, actualizar y eliminar usuarios.
Ahora que se tienen las diferentes acciones para usuarios, es necesario resolver algunos detalles importantes al momento de crear un usuario.
Es momento de ver cómo crear un usuario y usar sus credenciales de acceso para obtener un access token.
Ahora que puedes tener un access token asociado a un usuario, puedes proteger las rutas de modo adecuado y además identificar al usuario detrás de un token recibido.
Ahora te comparto algunos comentarios y recomendaciones para que continúes con confianza el proceso con los microservicios y las arquitecturas orientadas a servicios con Lumen
No queda más que agradecerte y felicitarte por tomar el curso y llegar hasta el final.
Implementa desde cero una completa arquitectura orientada a servicios con PHP, usando Lumen de Laravel.
Lumen es un microframework de PHP basado en Laravel (un framework para PHP), lo cual lo hace ideal para implementar microservicios y sistemas ágiles y livianos.
Durante este curso, te mostraré todo el proceso desde cero para implementar una arquitectura orientada a servicios, implementando uno a unos los diferentes microservicios y elementos que la componen. Implementa todo el sistema de seguridad y de interacción entre cada microservicio creado.
Entonces, no esperes más, e inscríbete ahora :)
¿Por qué debes elegir este curso?
Porque te da una vista detallada, como en ningún otro curso, de cómo crear una arquitectura orientada a servicios completamente funcional y segura usando PHP y Lumen.
Porque, estarás en capacidad y confianza suficientes para implementar tus propios microservicios con Lumen y PHP.
Porque no solo te muestro las bondades de los microservicios y sus arquitecturas, sino que también te muestro cómo resolver los desafíos que representan.
Porque te muestro cómo asegurar todos los microservicios de la arquitectura y controlar el acceso a ellos.
¿De qué serás capaz al finalizar el curso?
En general, serás capaz de implementar cualquier arquitectura de microservicios que necesites usando PHP y Lumen. Tendrás una idea clara de cómo implementar cada microservicio con Lumen, además de cómo debe estructurarse la interacción entre cada microservicio, cómo construir una completa capa de seguridad que proteja y restrinja el acceso a cada uno y a la arquitectura en general usando OAuth2 por medio de Lumen/Laravel Passport.
Te sentirás en confianza para luego tomar tu camino y llevar a cabo tus propios proyectos con todos los microservicios y componentes que desees con Lumen y PHP.
¿Qué aprenderás exactamente?
Crea proyectos en Lumen de Laravel
Configura y usa Lumen fácilmente en tu sistema sin procesos complejos
Usa Lumen adecuadamente para su propósito ideal. Los microservicios
Construye una arquitectura orientada a servicios completamente funcional
Usa OAuth2 para proteger el acceso a tu arquitectura, por medio de Lumen/Laravel Passport
Instala y adapta Laravel Passport a proyectos Lumen
Crea tokens de acceso asociados a usuarios para manejar sus datos y flujos de autorización
Autentica usuarios y restringe el acceso solo a usuarios válidos si es necesario
Autoriza y usa diferentes tipos de tokens de acceso para restringir las posibles acciones de los usuarios
Crea un completo sistema de interacción entre microservicios a través de peticiones HTTP con GuzzleHTTP
Construye servicios completamente funciones y adecuados con Lumen
Retorna y construye respuestas JSON estandarizadas con Lumen
Separa de forma adecuada los componentes de una arquitectura orientada a servicios
Controla errores y excepciones del modo adecuado para asegurar la consistencia de toda la arquitectura
Construye e implementa un Gateway para tu arquitectura
Centraliza el consumo de tu arquitectura orientada a servicios por medio de un Gateway con Lumen
Y mucho más. Tendrás acceso de por vida a cada clase que conforma al curso y las que vendrán luego. Además tienes acceso directo para que puedas realizarme preguntas y así resolver todas tus dudas.
No esperes más, anímate y únete al curso y dale rienda suelta a todas las posibilidades que Lumen brinda con una arquitectura orientada a servicios.