ARQUITECTURA DE MICROSERVICIOS
La arquitectura de microservicios es como una forma de construir aplicaciones de software en la que, en lugar de tener un solo programa grande, tienes muchos pequeños programas independientes. Cada uno de estos pequeños programas hace una tarea específica y puede estar escrito en un lenguaje de programación diferente. Estos programas se comunican entre sí a través de reglas que les permiten trabajar juntos, y cada uno tiene su propio lugar para guardar la información que necesita. Esto hace que la aplicación sea más eficiente y menos propensa a errores o caídas.
Ventajas:
- Modularidad: En lugar de una gran aplicación, los microservicios son como piezas independientes que se pueden desarrollar y desplegar por separado. Si un servicio tiene un problema, no afecta a los otros.
- Escalabilidad: Puedes hacer crecer cada parte de la aplicación según lo necesites. Si un componente necesita más poder de procesamiento, puedes escalarlo sin afectar a los demás.
- Versatilidad: Puedes usar diferentes tecnologías y lenguajes de programación para cada microservicio, adaptándolos a lo que sea más eficiente y económico.
- Rapidez de Desarrollo: Como los microservicios son pequeños, su desarrollo es más rápido y usar "contenedores de software" facilita el despliegue de la aplicación.
- Mantenimiento Simple y Económico: Mejorar un solo microservicio es más sencillo y barato que trabajar en toda la aplicación.
- Agilidad: Puedes aprovechar funcionalidades que ya han sido desarrolladas por otros, como autenticación o seguimiento, en lugar de crearlas desde cero.
Desventajas:
- Consumo de Recursos: Cada microservicio tiene sus propios recursos y bases de datos, lo que significa que consumen más memoria y CPU.
- Inversión de Tiempo Inicial: Crear la arquitectura de microservicios lleva más tiempo, ya que debes dividir los servicios y configurar la comunicación entre ellos.
- Gestión Compleja: Si tienes muchos microservicios, la gestión y la integración pueden volverse complicadas. Se requieren herramientas avanzadas y trazabilidad centralizada.
- Perfil de Desarrollador: Los microservicios requieren desarrolladores con mucha experiencia y conocimientos técnicos, incluyendo la solución de problemas relacionados con la red y el equilibrio de cargas.
- Falta de Uniformidad: Si no se gestiona adecuadamente, tener diferentes tecnologías para cada servicio puede resultar en una aplicación desigual en términos de diseño y arquitectura.
- Pruebas Complicadas: Debido a que los componentes de la aplicación están distribuidos, las pruebas globales son más difíciles de realizar.
- Costo de Implementación Alto: La arquitectura de microservicios puede ser costosa debido a los gastos de infraestructura y las pruebas distribuidas.
- Muy fáciles de mantener y de probar: Los microservicios permiten a los equipos experimentar con nuevas funciones y revertirlas si no funcionan.
- Pertenecen a equipos pequeños: Los equipos pequeños e independientes suelen crear un servicio dentro de microservicios, lo que los anima a adoptar prácticas de metodología ágil y de DevOps.
- Se organizan en torno a capacidades empresariales: Un enfoque de microservicios permite organizar los servicios en torno a las capacidades empresariales. Los equipos son multifuncionales, disponen de la gama completa de habilidades necesarias para el desarrollo y trabajan para crear una funcionalidad concreta.
- Varios servicios de componentes: Los microservicios se componen de servicios de componentes individuales y poco vinculados que se pueden desarrollar, implementar, operar, cambiar y volver a implementar sin afectar al funcionamiento de otros servicios o a la integridad de una aplicación.
decidesoluciones.
(03 de 09 de 2019). decidesoluciones. Obtenido de decidesoluciones:
https://decidesoluciones.es/arquitectura-de-microservicios/
Esaú Abril Nuñez. (2016, April 19). Qué
son Microservicios y ejemplos reales de uso. OpenWebinars.net.
https://openwebinars.net/blog/microservicios-que-son/
Barrios Contreras, D. A. (2018). Arquitectura de
Microservicios. Tecnología Investigación y Academia, 6(1),
36–46.https://revistas.udistrital.edu.co/index.php/tia/article/view/9687
Atlassian. (s. f.). Arquitectura de microservicios |
Atlassian.
https://www.atlassian.com/es/microservices/microservices-architecture
Jamesmontemagno. (2023, 10 mayo). Diseño de una aplicación
orientada a microservicios. Microsoft Learn.
https://learn.microsoft.com/es-es/dotnet/architecture/microservices/multi-container-microservice-net-applications/microservice-application-design
Comentarios
Publicar un comentario