Muy interesante. Quisiera saber mas como se comunican los microservicios de docker ejecutados en el ECS de AWS. ¿Mediante nuevas APIS? o como es la interconexion
Muy claro el video. Te consulto algo. Tengo una arquitectura de Microservicios, y hasta ahora los comunicaba con peticiones HTTP normales, ( endpoints ). Llegué a un punto donde veo que he acoplado demasiado las cosas, y necesito organizar las cosas. Con Kafka resuelvo algunas cosas, y otras me quedan colgadas. Ejemplo: Un proceso que debe ser secuencial e involucra a 5 MicroServicios, y da un error el 3 paso. No se como resolver el rollback, y tampoco se si existe alguna estrategia para tener secuencialidad con Kafka, y saber el resultado completo del proceso. (si das consultoría para empresas por favor escribime por privado y coordinamos). Saludos
Un "boolean" para cada ms y si no llega a completarse la acciónes en conjunto, tener la información como para poder identificar el problema. De mientras el proceso queda en stand by. Es importante la importancia de los ms en un proceso. Ejemplo, en un ecommerce, yo no puedo enviarle el email de la compra y luego tratar de completar la transacción a nivel de pasarela de pagos ( un ejemplo) por ende, pensalo como un checklist y el último paso el definitivo. Si falla, tenerlo en la db, pero con un boolean o similar y tener trasabilidad y visilibilidad es fundamental. PD: Si, hago consultoría pero de por momento estoy a full. Disulpá la tardanza
Excelente el video! te felicito por la claridad.. Una consulta. Un ecommerce tiene un numero limitado de funcionalidees (microservicios). Según tu experiencia y criterio, aplica utilizar Microservicios como arquitectura de una aplicacion empresarial, por ej. ERP? gracias!
Buenas Claudio. Primero, gracias por la buenda onda! Con respecto a tu consulta, realmente es difícil de responder sin tener un panorama más amplio de los requrimientos del proyecto. Hay que analizar varios aspectos, como por ejemplo, tema de infrastructura, conocimiento de herramientas (docker, k8s, cloud, etc) Comunicación entre microservicios (http, sns, sqs). También que proyección tiene el proyecto de escalar, tanto a nivel de infra como a nivel de código. También el tiempo de desarrollo.. como verás, son muchas variables a tener en cuenta! Exitos!
Hola cómo estás? el componente que seria del "usuario" que hace la petición, no tendría que tener una flecha bidireccional para que cuando hace una solicitud le vuelva la respuesta. Muchas gracias
Me gustó mucho el video, la explicación de los microservicios con el message broker está muy bueno. Ese servicio de mensajería que mencionas es lo mismo que solace o el MQ que utiliza IBM o es otro tipo de servicio de mensajería ?
Buen tema!. Una consulta, y espero comprendas q soy principiante en el tema. En una arquitectura monolitica ¿Porqué siguen el load balance para tener más servidores duplicando código en vez de que simplemente aumenten los recursos del mismo servidor a más potencia de procesador y ram para satisfacer las necesidades del tráfico? Pienso que sería más conveniente tener un servidor más potente y así de esa forma escalarlo. Claro q eso no se compara con microservicios q es más eficiente
Que tal, lo que comentás, se suele utilizar. Podes tener instancias, tanto de base de datos, como de servidores (tipo ec2) y pods de kubernetes, que nos permitan escalar de forma proporcional a nuestras necesidades. El tema, de no duplicar estos recursos, es que (por ejemplo) si tendríamos un solo servidor y por algún motivo, este deja de responder, dejariamos de darle servicio al cliente. Teniendo replicas del mismo servicio, con diferentes herramientas, por ejemplo api gateways y k8s (kubernetes) podríamos manejar esa situación. Tener diferentes replicas en cuanto a servidores, también es algo bueno cuando queremos pasar o deployar nuestro código de forma más "controlada" podríamos hacer un deploy a una instancia en particular y ver como se comporta con la nueva feature, en el caso de que veamos anomalías podríamos tener más control y revertir esos cambios. También hay que tener en cuenta, que por más recursos que lo pongamos a nuestro servidor, siempre está la posibilidad de recibir algún tipo de ataque o por mismo error del equipo de desarrollo, dejarlo out. Espero que mi respuesta te sirva, saludos!
Buen video, tengo una consulta por ejemplo en este sistema tengo un microservicio Clientes y seguro tendrán tipo de documento así que es la db de clientes habrá una tabla tipo documento, en este sistema también podría haber un microservicio usuario y también podría tener en su base de datos una tabla tipodicumento en este caso cono se hace , se crean 2 tablas tipo documento una en cada microservicio? Gracias
Buenas, no hay una única solución, pero por lo general cada microservicio suele tener su propia base de datos, y no hay problema con esta implementación. También, en el caso de que el tipo de documento se repita en ambos, y no quieras duplicar datos entre clientes/usuarios podrías pensar usar una db para ambos casos.
Muy interesante. Quisiera saber mas como se comunican los microservicios de docker ejecutados en el ECS de AWS. ¿Mediante nuevas APIS? o como es la interconexion
Puede ser mediantes API's o también por ejemplo por sistemas de cola como SQS, SNS, etc.
Muy bueno el l video sabes dónde encontrar más arquitecturas así más visuales
Te recomiendo el contenido de codely TV
Amigo explicas muy bien ! Si te pinta hacerte algún curso 🎉
Muchas gracias!!!
Muy claro el video. Te consulto algo. Tengo una arquitectura de Microservicios, y hasta ahora los comunicaba con peticiones HTTP normales, ( endpoints ). Llegué a un punto donde veo que he acoplado demasiado las cosas, y necesito organizar las cosas. Con Kafka resuelvo algunas cosas, y otras me quedan colgadas. Ejemplo: Un proceso que debe ser secuencial e involucra a 5 MicroServicios, y da un error el 3 paso. No se como resolver el rollback, y tampoco se si existe alguna estrategia para tener secuencialidad con Kafka, y saber el resultado completo del proceso. (si das consultoría para empresas por favor escribime por privado y coordinamos). Saludos
Un "boolean" para cada ms y si no llega a completarse la acciónes en conjunto, tener la información como para poder identificar el problema. De mientras el proceso queda en stand by. Es importante la importancia de los ms en un proceso. Ejemplo, en un ecommerce, yo no puedo enviarle el email de la compra y luego tratar de completar la transacción a nivel de pasarela de pagos ( un ejemplo) por ende, pensalo como un checklist y el último paso el definitivo. Si falla, tenerlo en la db, pero con un boolean o similar y tener trasabilidad y visilibilidad es fundamental. PD: Si, hago consultoría pero de por momento estoy a full. Disulpá la tardanza
@@pollorossi gracias por la respuesta. Cuando tengas tiempo avisame que me interesa capacitar personal. saludos
Excelente el video! te felicito por la claridad.. Una consulta. Un ecommerce tiene un numero limitado de funcionalidees (microservicios). Según tu experiencia y criterio, aplica utilizar Microservicios como arquitectura de una aplicacion empresarial, por ej. ERP? gracias!
Buenas Claudio. Primero, gracias por la buenda onda! Con respecto a tu consulta, realmente es difícil de responder sin tener un panorama más amplio de los requrimientos del proyecto. Hay que analizar varios aspectos, como por ejemplo, tema de infrastructura, conocimiento de herramientas (docker, k8s, cloud, etc) Comunicación entre microservicios (http, sns, sqs). También que proyección tiene el proyecto de escalar, tanto a nivel de infra como a nivel de código. También el tiempo de desarrollo.. como verás, son muchas variables a tener en cuenta! Exitos!
Hola cómo estás? el componente que seria del "usuario" que hace la petición, no tendría que tener una flecha bidireccional para que cuando hace una solicitud le vuelva la respuesta. Muchas gracias
Si! El gráfico es más bien ilustrativo. Gracias por el comentario
Me gustó mucho el video, la explicación de los microservicios con el message broker está muy bueno. Ese servicio de mensajería que mencionas es lo mismo que solace o el MQ que utiliza IBM o es otro tipo de servicio de mensajería ?
El message Broker puede ser Apache Kafka, MQ, SQS de AWS, etc. Dependiendo de cada necesidad en concreta podemos optar por uno u otro
Buen tema!. Una consulta, y espero comprendas q soy principiante en el tema. En una arquitectura monolitica ¿Porqué siguen el load balance para tener más servidores duplicando código en vez de que simplemente aumenten los recursos del mismo servidor a más potencia de procesador y ram para satisfacer las necesidades del tráfico? Pienso que sería más conveniente tener un servidor más potente y así de esa forma escalarlo. Claro q eso no se compara con microservicios q es más eficiente
Que tal, lo que comentás, se suele utilizar. Podes tener instancias, tanto de base de datos, como de servidores (tipo ec2) y pods de kubernetes, que nos permitan escalar de forma proporcional a nuestras necesidades. El tema, de no duplicar estos recursos, es que (por ejemplo) si tendríamos un solo servidor y por algún motivo, este deja de responder, dejariamos de darle servicio al cliente. Teniendo replicas del mismo servicio, con diferentes herramientas, por ejemplo api gateways y k8s (kubernetes) podríamos manejar esa situación. Tener diferentes replicas en cuanto a servidores, también es algo bueno cuando queremos pasar o deployar nuestro código de forma más "controlada" podríamos hacer un deploy a una instancia en particular y ver como se comporta con la nueva feature, en el caso de que veamos anomalías podríamos tener más control y revertir esos cambios. También hay que tener en cuenta, que por más recursos que lo pongamos a nuestro servidor, siempre está la posibilidad de recibir algún tipo de ataque o por mismo error del equipo de desarrollo, dejarlo out. Espero que mi respuesta te sirva, saludos!
Discount significa descuento, no descontinuado
Si, luego del directo, viendo el video me cuenta. Gracias por la observación
Buen video, tengo una consulta por ejemplo en este sistema tengo un microservicio Clientes y seguro tendrán tipo de documento así que es la db de clientes habrá una tabla tipo documento, en este sistema también podría haber un microservicio usuario y también podría tener en su base de datos una tabla tipodicumento en este caso cono se hace , se crean 2 tablas tipo documento una en cada microservicio? Gracias
Buenas, no hay una única solución, pero por lo general cada microservicio suele tener su propia base de datos, y no hay problema con esta implementación. También, en el caso de que el tipo de documento se repita en ambos, y no quieras duplicar datos entre clientes/usuarios podrías pensar usar una db para ambos casos.