Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Ir a la navegaci�nIr a la b�squeda
La Arquitectura de micro- servicios, conocido por las siglas MSA (del ingl�s Micro
Services Architecture) es una aproximaci�n para el desarrollo de software que
consiste en construir una aplicaci�n como un conjunto de peque�os servicios, los
cuales se ejecutan en su propio proceso y se comunican con mecanismos ligeros
(normalmente una API de recursos HTTP). Cada servicio se encarga de implementar una
funcionalidad completa del negocio. Cada servicio es desplegado de forma
independiente y puede estar programado en distintos lenguajes y usar diferentes
tecnolog�as de almacenamiento de datos .1?
�ndice
1 Caracter�sticas
2 Integraci�n de servicios
2.1 Ejemplo
3 Cr�ticas
3.1 Carga cognitiva
4 Referencias
Caracter�sticas
En el mundo real no todas las implementaciones de este estilo de arquitecturas
siguen las mismas caracter�sticas pero la mayor parte de las arquitecturas de
microservicios tienen la mayor parte de las siguientes caracter�sticas:2?3?
Con orquestaci�n lo que hacemos es tener un software que gu�e y dirija el proceso,
de forma similar a como lo hace un director de orquesta.3?2?
Con coreograf�a lo que hacemos es dejar que cada parte del sistema realice su
trabajo y se les deja trabajar en los detalles, como hacen los bailarines en un
ballet. Es m�s adaptado a la arquitectura de microservicios que cada servicio sepa
c�mo actuar en cada momento, e interact�e con otros, en lugar de tener a alguien
que los coordine. Por eso para integrar se suele preferir tener coreograf�a.3?2?
Ejemplo
Veamos un ejemplo de un sistema en el que cuando doy de alta un cliente tengo
que:3?2?
En general, los sistemas que utilizan el enfoque del tipo coreograf�a, est�n
d�bilmente acoplados, son m�s flexibles y m�s susceptibles de cambiar. Sin embargo,
es necesario realizar el trabajo extra de monitorear y seguir los procesos a trav�s
de los l�mites del sistema.3?2?
Cr�ticas
El enfoque de microservicios esta sujeto a cr�ticas por una serie de problemas:
Referencias
Microservices a definition of this new architectural term. Martin Fowler 2014
Building microservices. Designing fine-grained systems. Sam Newman. O�Reilly 2015
Microservicios Parte II. Sergio Maurenzi. 13 de abril de 2015.
Jan Stenberg (11 de agosto de 2014). �Experiences from Failing with
Microservices�.
Martin Fowler. �Microservices�.
�Developing Microservices for PaaS with Spring and Cloud Foundry�.
Tilkov, Stefan (17 de noviembre de 2014). �How small should your microservice be?
�. innoq.com. Consultado el 4 de enero de 2017.
Pautasso, Cesare (2017). �Microservices in Practice, Part 2: Service Integration
and Sustainability�. IEEE Software 34 (2): 97-104. doi:10.1109/MS.2017.56.
�BRASS Building Resource Adaptive Software Systems�. U.S. Government. DARPA. 7 de
abril de 2015. "Access to system components and the interfaces between clients and
their applications, however, are mediated via a number of often unrelated
mechanisms, including informally documented application programming interfaces
(APIs), idiosyncratic foreign function interfaces, complex ill-understood model
definitions, or ad hoc data formats. These mechanisms usually provide only partial
and incomplete understanding of the semantics of the components themselves. In the
presence of such complexity, it is not surprising that applications typically bake-
in many assumptions about the expected behavior of the ecosystem they interact
with."
Alpert, Jesse; Hajaj, Nissan. �We knew the web was big�. Official Google Blog.
Google.com. Consultado el 22 de agosto de 2015.
�The Story�. How search works. Google.com. Consultado el 22 de agosto de 2015.