Los beneficios y desafíos de la arquitectura de microservicios
- Gestión de apps
En caso de que no lo haya escuchado, hay microservicios. De hecho, marcas gigantescas como Amazon, Netflix y Google eligen ir con microservicios en lugar de apostar por arquitecturas monolíticas. La razón es que los microservicios son buenos para las grandes empresas.
Según Tim Hockin, ingeniero principal de Google Cloud, las grandes marcas han observado las ventajas técnicas de los microservicios en lugar de los monolitos. "El desacoplamiento [servicios que utilizan arquitectura de microservicio] brinda a los desarrolladores más opciones sobre qué herramientas utilizan y cómo actualizan cada microervicio. Puedes probar y versionar cada pieza de forma independiente y hacer una actualización de seguridad o corrección de errores para un componente no requiere volver a probar todos los demás ", explica.
Otro buen efecto secundario del desacoplamiento, según Hockin, es que sus características de rendimiento son manejables individualmente. Por lo tanto, "si necesita más ancho de banda de entrada para manejar un pico de tráfico, simplemente puede añadir más réplicas de su interfaz, sin tocar su sistema de autenticación, motor de predicción o almacenamiento". Sin embargo, los microservicios tampoco son la panacea que valga para todo.
Complejidades de microservicio
Los microservicios ofrecen muchas ventajas para aplicaciones más grandes, pero vienen con algunas advertencias. La complejidad es un gran problema. Una aplicación basada en microservicio es naturalmente más complicada de administrar que un "monolito" tradicional porque hay más piezas móviles para monitorear, agregar, administrar y actualizar.
El manejo de los fallos es otro desafío. Los microservicios naturalmente introducen muchos más modos de error que simples llamadas a funciones. ¿Qué pasa si la red se desconecta? ¿Qué pasa si el otro servicio falla? Tienes que abordar estos problemas.
Microservicios que impulsan el crecimiento
En cualquier caso, la arquitectura de microservicio puede ayudar a impulsar una estrategia de crecimiento empresarial. El ejemplo más típico es Netflix, que ha disfrutado del éxito a una escala gigante con microservicios. Netflix divide su plataforma en proyectos múltiples y discretos, tiene la capacidad de escalar su microservicio de codificación de video independientemente de su servicio de microservicio de transmisión.
Cada microservicio tiene características diferentes, como el servicio de codificación de video que es una granja de unidades de procesamiento gráfico (GPU), mientras que el servicio de transmisión es ancho de banda pesado y geográficamente redundante, lo que simplemente empuja los resultados del servicio de codificación. Esto se traduce en un ahorro de costes.
Debido a que los sistemas de microservicio son independientes entre sí, marcas como Netflix, Google y Amazon pueden escalar su personal y recursos de manera independiente y en el momento adecuado, lo que les permite innovar a un ritmo que establecen y administran.