Llámelos ‘microservicios’, pero aún es SOA
Los expertos sugieren que términos como 'microservicios' y ‘apps de 12 factores’ pueden ser simplemente un nuevo nombre para SOA.
Como Bon Jovi cantó una vez, "todo es lo mismo, solo los nombres van a cambiar”. Eso parece sonar a verdad para SOA, que para muchos arquitectos de aplicaciones, desarrolladores y profesionales de TI evoca recuerdos de la era mainframe, un tiempo que muchos desean relegar a los libros de historia. De acuerdo con expertos de la industria, conforme términos como microservicios y aplicaciones de 12 factores emergen, la nomenclatura puede no señalar la muerte de SOA, solo un nuevo nombre.
"SOA es microservicios", dijo Jeff Genender, CTO de Savoir Technologies, comparando la nueva terminología a un "lápiz labial en un cerdo”. SOA adquirió su mala reputación durante los tiempos de las aplicaciones monolíticas y las implementaciones fallidas, y el uso de un término como microservicios es una manera de deshacerse del nombre y las malas connotaciones unidos a SOA sin dejar de utilizar los principios subyacentes, agregó.
"No es microservicios vs. SOA, sino las interfaces gráficas de usuario (GUI) de front-end que hacen un mejor uso de la distribución de la aplicación, en lugar de desplegar un solo paquete. Eso es realmente lo que se considera la diferenciación", dijo Genender. Esto se ha hecho con los mashups por más de una década y la razón es, en su mayoría, la misma: mashups más controlados desde la perspectiva de las API de control y lo que hacen las GUI. Debajo de todo, sin embargo, la arquitectura es un punto final REST o un punto final SOAP que toma los datos y los empuja de nuevo, dijo.
Los propios microservicios surgieron de la revolución de Ajax en el front-end, donde los desarrolladores aprovecharon las implementaciones cliente-servidor para que aplicaciones web interactuaran con el back end, en lugar de usar HTML. Esto permitió a los desarrolladores más libertad al elegir un front-end para utilizar sus APIs, que era el elemento diferenciador que hizo a los microservicios lo que son hoy, según Genender. Sin embargo, siguen siendo SOA por debajo, sobre todo porque una implementación fallida de microservicios fácilmente podría parecerse a una aplicación monolítica una vez que se despliega, agregó.
Enterrar el nombre de SOA, pero no los principios
SOA puede ser la arquitectura, pero las connotaciones del nombre son suficientemente limitantes para que SOA Software recientemente cambiara su nombre por el de Akana, según Roberto Medrano, vicepresidente ejecutivo. Si bien Akana combina SOA, microservicios e integración a la nube, todavía soporta la visión de SOA, así como la gestión y seguridad de API, dijo.
SOA no va a ninguna parte: Como arquitectura, su reutilización y agilidad seguirán siendo valiosas, dijo Medrano. Aunque muchos desarrolladores están utilizando servicios web y APIs, todo es un servicio y continuará siendo un servicio, en función de cómo se implementa y se consume, agregó.
Aunque los microservicios no son lo mismo que SOA en términos de gestión y seguridad de los servicios, puede felizmente coexistir con SOA, según Alistair Farquharson, CTO de Akana.
"No son la misma granularidad; los microservicios se centran en la parte de 'micro'", dijo. Esto permite a los desarrolladores descomponer las aplicaciones para escalabilidad, balanceo de carga y un mayor rendimiento, pero también plantea cuestiones acerca de la ruptura de los modelos de datos y el mantenimiento de la coherencia. Gran parte de microservicios es la metodología de implementación, agregó.
Los microservicios pueden convertirse en la nueva SOA
Una nueva palabra de moda hace que los desarrolladores y los arquitectos muden la vieja piel de SOA, pero es posible utilizar microservicios por las razones equivocadas, según Farquharson. "La gente está construyendo microservicios por el bien de los microservicios, en lugar de crear un buen microservicio", dijo. Al igual que con las APIs, los desarrolladores y arquitectos pueden pensar que pueden arreglar una aplicación con microservicios, y en lugar de eso terminar con una aplicación más complicada y pobre. "Las personas que escribieron malas aplicaciones no van a escribir buenos microservicios", dijo.
En cuanto a las aplicaciones de 12 factores, eso no es nada nuevo, de acuerdo con Genender de Savoir Technologies. "Parece que tienes el sello de SOA y otro sello de microservicios", dijo. En esencia, las aplicaciones de 12 factores son solo otra manera de decirlo, ya que detalla la metodología una correcta SOA y microservicios, agregó.
"Me recuerda mucho al manifiesto del programador pragmático", dijo Matt Brasier, consultor principal en C2B2. "Mucho de lo que se dice es de sentido común, separar la configuración del código”.
Sin embargo, las aplicaciones de 12 factores luego van hacia la prescripción de decisiones de implementación, en lugar de dejar eso a los desarrolladores de aplicaciones, así como la discusión de código y la integración. Hay mejores maneras, a menudo a discreción del desarrollador, según Brasier. "Es extraño mezclar la implementación con los principios arquitectónicos", añadió.
El veredicto final es que SOA no está muerto, solo jugando al Cyrano de Bergerac del Christian de Neuvillette de los microservicios. "Está de moda decir que SOA está muerto, pero luego usted va a utilizar los mismos principios, las mismas tecnologías subyacentes y los mismos enfoques", dijo Brasier. Las fallas causadas por los buses de servicio de la empresa siendo empujados hacia proyectos que no eran una buena opción significan que los desarrolladores y los arquitectos de aplicaciones no pueden usar el término SOA en torno a los gerentes, por lo que ahora es un ejercicio de cambio de marca, agregó.
"Es un cambio de nombre de los mismos principios para que suenen nuevos y emocionantes", dijo Brasier. Pero los microservicios y las aplicaciones 12 factores correrán el mismo destino que SOA: aplicadas donde no encajan, tendrán que volver a cambiar de marca.