Arquitectura de Microservicios
Zetanet, especialista en servicios TI, ofrece Consultoría en la adopción de la Arquitectura de Microservicios. Hoy en día, grandes empresas con foco en el uso de aplicaciones digitales a gran escala, han decidido invertir en microservicios, ya que esto garantiza el mantenimiento y escalabilidad de sus productos de manera más simple, efectiva y rápida.
Definición
La Arquitectura de Microservicios es un enfoque para desarrollar una aplicación software como una serie de pequeños servicios, cada uno ejecutándose de forma autónoma y comunicándose entre sí, por ejemplo, a través de peticiones HTTP a sus API. Cada microservicio es independiente y su código debe poder ser desplegado sin afectar a los demás. Incluso, cada uno de ellos puede escribirse en un lenguaje de programación diferente, ya que solo exponen la API al resto de microservicios.
Muchos desarrolladores están descubriendo cómo esta forma de creación de software favorece el tiempo, rendimiento y estabilidad de sus proyectos. No hay reglas sobre qué tamaño tiene que tener cada microservicio, ni sobre cómo dividir la aplicación en microservicio. Algunos autores, caracterizan un microservicio como algo que a nivel de código podría ser reescrito en dos semanas. Por lo tanto, se tendrá una aplicación modular a base de “pequeñas piezas”, que se pueden ir ampliando o reduciendo a medida que se requiera.
Los microservicios ofrecen una serie de beneficios potenciales tanto sobre enfoques más tradicionales como SOA y arquitecturas monolíticas. Los microservicios, cuando se hacen bien, son maleables, escalables y resilientes, y se pueden implementar en corto plazo desde el inicio de la implementación hasta el despliegue en la producción. Esta combinación, a menudo resulta difícil de alcanzar para sistemas de software complejos.
Gracias a su sencilla escalabilidad, la arquitectura de microservicios se considera especialmente adecuada cuando se tiene que procurar la compatibilidad con una amplia variedad de plataformas. Por ejemplo IoT, web, móvil, wearables, o simplemente cuando no se sabe hacia qué tipo de dispositivos se está orientando el trabajo.