Hola, en qué casos usar flask o Django sabiendo que ambos hacen lo mismo? Muchas gracias por compartir tanto conocimiento. Saludos desde Chancayllo, Perú.
Yo creo que en microservicios, por ejemplo una aplicacion que vea solo la facturacion de una empresa, tambien puede estar el codigo como un spagetti, ya que eso depende de como ordena y documenta el sistema el programador. En una aplicacion monolitica la parte de facturacion no esta mezclada con todo, puede estar en una clase separada del resto, no hay por qué mezclar.
Suena a aplicación pequeña que no necesita micro servicios, los micro servicios te salvan la vida cuando la aplicación es enorme y necesitas balanceadores de carga
Dicen que en una aplicacion monolitica si algo falla todo se cae, pero imagina que tu sistema controle una supermercado, y falla el servicio para emitir la factura, de qué sirve que las demas partes de la aplicacion esten funcionando si los clientes al final de su compra no van a poder terminar el proceso de compra. O que pasa si falla el servicio que identifica al cliente, de qué sirve que las facturas salgan. Yo creo que un sistema esta interrelacionado, todas las partes trabajan en conjunto.
Considero que es un buen punto, sin embargo, es menos probable que caiga un servicio en esta arquitectura, según la teoría tu puedes tener cierto servicio redundando en varias maquinas, por lo que si cae una maquina que contiene una instancia del servicio, no cae el servicio, por ley de Murphy se puede creer que todas las maquinas con instancias de ese servicio caerán, pero hay medidas para soportar esto (como algunas funcionalidades para levantar instancias del servicio si algunas caen y tener por lo general n cantidad funcionando ), además si esto ocurre se debe monitorizar, buscar y reparar el porqué ocurre esto.
@@darwinstivenherreracartage5399 no digo que la idea sea mala, claro que es buena, realmente cualquier solución es buena, depende más del ingenio del programador que otras cosas. Lo que me preocupa es el costo y el costo futuro cuando esta tecnología quede obsoleta, que puede ser muy pronto. Para quiénes está? a ver la usa Facebook, UA-cam, etc. pero ellos tienen una cantidad de usuarios que nunca van a tener la mayoría de empresas de alcance nacional. Por su costo es accesible para empresas grandes, y por ello no sienten el costo elevado. Pero es contradictorio porque si los microservicios administran el acceso más eficiente entonces uno supone que vas a necesitar menos hardware, obvio si vas a tener una tecnología por software que gestiona todo mejor que lo tradicional entonces asumes que necesitas menos potencia de procesamiento, pero sabemos que no es así, entonces ponen otra justificación, que los usuarios van a poder acceder más rapido a la base de datos, pero veamos si antes el comando lo hacía en 0.01s, con microservicios sera 0.005? es eso lo que los usuarios piden? o piden velocidad, lo cual implica que si usas por ejemplo Azure, simplemente pagas por optimizar tu cpu, memoria, ancho de banda, etc.
@freedosforever los microservicios buscan alta disponibilidad, es más antes con microservicios algunas operaciones van a ser más lentas debido a la comunicación entre ellos y a problemas en esa comunicación, pero siempre va a ser disponible, si se desea mejorar el rendimiento de cierto microservicio si se debe mejorar el hardware. Lo bueno de esta arquitectura es que se puede desacoplar para manejar la carga de trabajo de los servidores, no es obligatorio migrar, por eso como desarrolladores de software debemos evaluar que es mejor. Si tú aplicación no va a ser usada masivamente o no tiene operaciones con un costo computacional alto, no lo necesitas.
El micro servicio esta mitificado. Es una necesidad en cuanto a performance. Si tu sistema es capaz de soportar al monolítico, es cuestión de aplicar una buena arquitectura, por ejemplo modular. Si falla algún servicio de tu monolito modular lo pasas a un manejador de ecceptions. En los diferentes módulos gestionar al equipo, si necesitas una tecnologia nueva le das servicio a tu monolito, si tienes desacoplado el código y módulos es lo mismo con todo lo que cuentas. La ventaja de los microservicios es solucionar el performance y esto lo aplicas si lo necesitas.
Lo que señalan que es "dificil de escalar", como que la palabra Difícil no es apropiada, vean cuántos videos existen sobre como escalar tu aplicación, sobre todo en la nube en maquinas virtuales donde compras el poder de procesamiento. Tal como alguien dijo se tendría que demostrar, por ejemplo decir que Facebook disminuyo en tal porcentaje la velocidad de sus procesadores gracias a que usó microservicios, y eso me parece que no se ha dado, y hasta parece una idea tonta, entonces por qué usarla sin no hay números para evaluar
Creo que si esta arquitectura fuera inútil, las grandes compañías no la implementaran, lo que no funciona no se usa y queda @deprecated. como por ejemplo cuando Airbnb se dio cuenta que React Native no les ayudaba en nada simplemente lo dejaron de usar.
@@ElvisSerranoessh009 claro que es buena, dado que todo suma. Yo me refiero a quesi algo le sirve a una aplicacion que tiene mil millones de usuarios, valdra la pena invertir en caso tengamos menos de mil usuarios por poner un ejemplo
Me da coraje tanto misticismo.en alguno microservicios es bueno que compartan la misma BD, sino tendras un problema de performance y eso es lo que te soluciona el micro servicio.
Esta es la mejor clase de mircro servicios que e encontrado, muy bueno!!
¡Gracias por el apoyo, Jose Carlos! 💪
muy buena la explicacion. De lo mejor que vi. Consulta. Que editor de Python usaste aca ? PyCharm ?
Repositorio ---> github.com/kasappeal/microservices-workshop
Una pregunta si tienes el api Gateway esta si recibe todas http puede ser que colapse por la cantidad de request ?
59:00 Qué vamos a construir?
Microservicios con Flask de Python
Hola, en qué casos usar flask o Django sabiendo que ambos hacen lo mismo?
Muchas gracias por compartir tanto conocimiento.
Saludos desde Chancayllo, Perú.
tengo este error "from shared.auth import jwt
ModuleNotFoundError: No module named 'shared'"
que librerias de python tengo que tener?
Yo creo que en microservicios, por ejemplo una aplicacion que vea solo la facturacion de una empresa, tambien puede estar el codigo como un spagetti, ya que eso depende de como ordena y documenta el sistema el programador. En una aplicacion monolitica la parte de facturacion no esta mezclada con todo, puede estar en una clase separada del resto, no hay por qué mezclar.
Suena a aplicación pequeña que no necesita micro servicios, los micro servicios te salvan la vida cuando la aplicación es enorme y necesitas balanceadores de carga
Es recomendable usa Procedimientos almacenados es la BD y usar arquitectura de Microservicios?
Sí, incluso cada micro servicio puede manejar diferentes bases de datos
Dicen que en una aplicacion monolitica si algo falla todo se cae, pero imagina que tu sistema controle una supermercado, y falla el servicio para emitir la factura, de qué sirve que las demas partes de la aplicacion esten funcionando si los clientes al final de su compra no van a poder terminar el proceso de compra. O que pasa si falla el servicio que identifica al cliente, de qué sirve que las facturas salgan. Yo creo que un sistema esta interrelacionado, todas las partes trabajan en conjunto.
Considero que es un buen punto, sin embargo, es menos probable que caiga un servicio en esta arquitectura, según la teoría tu puedes tener cierto servicio redundando en varias maquinas, por lo que si cae una maquina que contiene una instancia del servicio, no cae el servicio, por ley de Murphy se puede creer que todas las maquinas con instancias de ese servicio caerán, pero hay medidas para soportar esto (como algunas funcionalidades para levantar instancias del servicio si algunas caen y tener por lo general n cantidad funcionando ), además si esto ocurre se debe monitorizar, buscar y reparar el porqué ocurre esto.
@@darwinstivenherreracartage5399 no digo que la idea sea mala, claro que es buena, realmente cualquier solución es buena, depende más del ingenio del programador que otras cosas. Lo que me preocupa es el costo y el costo futuro cuando esta tecnología quede obsoleta, que puede ser muy pronto. Para quiénes está? a ver la usa Facebook, UA-cam, etc. pero ellos tienen una cantidad de usuarios que nunca van a tener la mayoría de empresas de alcance nacional. Por su costo es accesible para empresas grandes, y por ello no sienten el costo elevado. Pero es contradictorio porque si los microservicios administran el acceso más eficiente entonces uno supone que vas a necesitar menos hardware, obvio si vas a tener una tecnología por software que gestiona todo mejor que lo tradicional entonces asumes que necesitas menos potencia de procesamiento, pero sabemos que no es así, entonces ponen otra justificación, que los usuarios van a poder acceder más rapido a la base de datos, pero veamos si antes el comando lo hacía en 0.01s, con microservicios sera 0.005? es eso lo que los usuarios piden? o piden velocidad, lo cual implica que si usas por ejemplo Azure, simplemente pagas por optimizar tu cpu, memoria, ancho de banda, etc.
@freedosforever los microservicios buscan alta disponibilidad, es más antes con microservicios algunas operaciones van a ser más lentas debido a la comunicación entre ellos y a problemas en esa comunicación, pero siempre va a ser disponible, si se desea mejorar el rendimiento de cierto microservicio si se debe mejorar el hardware.
Lo bueno de esta arquitectura es que se puede desacoplar para manejar la carga de trabajo de los servidores, no es obligatorio migrar, por eso como desarrolladores de software debemos evaluar que es mejor. Si tú aplicación no va a ser usada masivamente o no tiene operaciones con un costo computacional alto, no lo necesitas.
Los micro servicios se pueden replicar o usarlos con balanceadores de carga, si alguno cae entra otra instancia al momento
Donde esta el repo del code?
Lo tienes en los comentarios :-)
Hola, Cual es el nombre del Editor / IDE?
PyCharm
¿Cuál era el nombre del patrón? pub sub?
Tampoco conseguí escuchar bien el nombre ni encontrar en internet algo similar, si alguien conoce el nombre lo agradecería.
Efectivamente, es pub/sub, muchas gracias!
Con heroku + Mongo Atlas tengo servidores y bases de datos ilimitadas 😁
El patrón pub/sub o publicador/suscriptor es el mismo patrón que el observer.
El micro servicio esta mitificado. Es una necesidad en cuanto a performance. Si tu sistema es capaz de soportar al monolítico, es cuestión de aplicar una buena arquitectura, por ejemplo modular. Si falla algún servicio de tu monolito modular lo pasas a un manejador de ecceptions. En los diferentes módulos gestionar al equipo, si necesitas una tecnologia nueva le das servicio a tu monolito, si tienes desacoplado el código y módulos es lo mismo con todo lo que cuentas. La ventaja de los microservicios es solucionar el performance y esto lo aplicas si lo necesitas.
Lo que señalan que es "dificil de escalar", como que la palabra Difícil no es apropiada, vean cuántos videos existen sobre como escalar tu aplicación, sobre todo en la nube en maquinas virtuales donde compras el poder de procesamiento. Tal como alguien dijo se tendría que demostrar, por ejemplo decir que Facebook disminuyo en tal porcentaje la velocidad de sus procesadores gracias a que usó microservicios, y eso me parece que no se ha dado, y hasta parece una idea tonta, entonces por qué usarla sin no hay números para evaluar
Creo que si esta arquitectura fuera inútil, las grandes compañías no la implementaran, lo que no funciona no se usa y queda @deprecated. como por ejemplo cuando Airbnb se dio cuenta que React Native no les ayudaba en nada simplemente lo dejaron de usar.
@@ElvisSerranoessh009 claro que es buena, dado que todo suma. Yo me refiero a quesi algo le sirve a una aplicacion que tiene mil millones de usuarios, valdra la pena invertir en caso tengamos menos de mil usuarios por poner un ejemplo
Me da coraje tanto misticismo.en alguno microservicios es bueno que compartan la misma BD, sino tendras un problema de performance y eso es lo que te soluciona el micro servicio.