jueves, 15 de marzo de 2018

Los microservicios avanzan: reinventando la escalabilidad

Hoy la promesa de los microservicios para la empresa es la siguiente: si las partes de una aplicación se pueden organizar por separado, en cualquier plataforma en la nube o plataforma local que tenga a mano, entonces podría optimizar continuamente esa aplicación por su costo.

Teóricamente, un Sistema de Administración de Ceontenido (CMS por sus siglas en inglés), o cualquiera que sea la plataforma en la que se encuentre el contenido orientado al cliente, podría escalar ligeramente cuando el tráfico aumente levemente.

Incluso podría reducirse durante un feriado o un fin de semana, o en cualquier período estacional o regular que normalmente vea un tráfico menor.

Idealmente, podríamos automatizar el proceso de escalado, en lugar de convocar una configuración de emergencia y ejecutar una decisión crítica de programación cada vez que su contenido tenga éxito.

Esa es la teoría,  hoy. Pero algo muy grande tiene que cambiar para que esto sea factible: la arquitectura subyacente de su centro de datos, ya sea que su organización lo posea, lo arriende o lo ubique en una nube pública.

El sabor de los microservicios

Por supuesto, los vendedores en el negocio de la infraestructura estarían más que dispuestos a ayudar. Los principales nombres en el campo de la tecnología están muy contentos de adquirir dichos negocios y obtener una parte considerable de los ingresos de estas transiciones. Pero no nos engañemos ignorando el hecho de que el viaje de aquí para allá sería monumental.

Por lo tanto, los proveedores están buscando una manera de dar a las empresas una muestra de los microservicios o en ciertos casos, el sabor de algo que sabe lo suficientemente cerca de los microservicios por ahora, en un esfuerzo por construir un mercado antes de establecer una plataforma certificable para de hecho, abandona aplicaciones monolíticas y migra a algo similar a lo que usa Netflix. Sí. Netflix.

El analista de Forrester Randy Heffner contó una historia sobre un cliente que le dijo: "Cuando vi algo en la arquitectura de Etsy y lo que hay detrás o algo en Amazon, fue como, ¡oh Dios mío, eso está más allá de nosotros! ¡No podemos hacer eso!

"Pero aquí hay algo que es como, '¡Ah, lo entiendo! Y veo cómo puedo estar invirtiendo en eso, de una manera que esté en línea con los beneficios comerciales, no solo como una inversión en la gloria arquitectónica ".

Microservicios de bricolaje

Ejemplo N° 1: "Cuando toma las cincuenta cosas de Netflix en su tecnología...", dijo Richard Li, CEO y fundador de la startup con sede en Boston Datawire.io, "...y trata de descubrir cuáles son las cinco cosas con las que necesita comenzar, no es completamente obvio".

Datawire es una Plataforma como un Servicio (PaaS por sus siglas en inglés) que admite un modelo de desarrollo gradual para las características de una aplicación en etapas incrementales o incluso aleatorias.

Dado que una empresa puede desarrollar múltiples aplicaciones web orientadas a los clientes que en su mayoría hacen lo mismo, con máscaras y contenidos ligeramente diferentes, Datawire sugiere que los elementos comunes se creen primero y se integren con la implementación específica que se realice más adelante.

"Tenemos un producto de código abierto y gratuito que le permite comenzar a construir microservicios muy rápidamente...", dijo Li, "...de una manera totalmente compatible con su tecnología existente". Por lo tanto, ofrecemos un camino de transición muy sencillo para la adopción de microservicios ".

Convergencia a través de la divergencia

Ejemplo N° 2: El verano pasado, el proveedor de grandes plataformas de datos MapR presentó lo que llamó una plataforma de datos convergentes, que describe como una plataforma de microservicios para soportar múltiples tipos de fuentes de datos: bases de datos, almacenes de datos, flujos de datos.

El elemento de microservicios entra en juego en el lado del servidor, como un sistema que expone su funcionalidad a los desarrolladores que usan una Interfaz de Programación de Aplicaciones (API por sus siglas en inglés) independiente del proveedor.

De esta forma, una aplicación móvil o un front-end de CMS puede tratar los datos de una manera no específica, independiente del proveedor, mientras que la plataforma puede escalar según sea necesario para facilitar dichas solicitudes.

"Toda nuestra complejidad en la ubicación de los datos está a cargo de nuestra plataforma de datos convergentes", dijo el vicepresidente senior de MapR, Jack Norris, a CMSWire. "Y los microservicios mismos están conectados a través de este marco impulsado por eventos".

En otras palabras, el marco de back-end no está "casado" con ningún mecanismo de plataforma de datos. Más bien, se sienta y espera una señal y responde a ella, ya sea que la señal provenga de SQL Server o Cassandra o un componente de Hadoop.

Desde la perspectiva de un desarrollador, la nueva plataforma MapR invierte la pirámide proverbial, por lo que el data store ya no es un "big data" sino un único "punto de montaje" pequeño, un punto de contacto para el intercambio de datos con lo que está detrás. La aplicación del cliente o la aplicación web no necesita saber, o preocuparse, qué tan "grandes" pueden ser esos datos.

Son microservicios, al menos en un sentido. La plataforma de MapR allana el camino para un eventual sistema de back-end totalmente escalable; y apunta en la dirección general de un abandono del viejo monolito de datos.

Sin servidor

El ejemplo N° 3 involucra un concepto emergente del mundo del desarrollo de software que ha sido impulsado por los proveedores empresariales en los últimos días: la llamada arquitectura sin servidor.

No es realmente sin servidor en absoluto. Más bien es una forma de programar una función diseñada para ser distribuida a través de la Web, de tal manera que donde esa función es, o lo que está cumpliendo esa función, no tiene que ser dirigida por el programador. Un ejemplo es AWS Lambda, una plataforma de Amazon que efectivamente procesa el código sin formato.

Por supuesto si usted no es el programador, ¿cuál es el gran beneficio para usted? Rápidamente los proveedores de servicios han inventado una respuesta: -"la arquitectura Serverless es una forma de servir a la arquitectura de microservicios en "nuggets" o pepitas del tamaño de un bocado."-

Si recuerda el viejo "Hagamos un trato", donde Monty Hall abriría una colorida cortina para revelar una caja brillante y cerrada, o esa famosa "Catafixia" de Javier López "Chabelo", se entiende.

Pero al yuxtaponer estas dos consignas, ¿los proveedores de servicios realmente excluyen la porción de microservicios que le da su propuesta de valor total, es decir, los beneficios culturales y comerciales?

"Microservicios consiste en separar las preocupaciones", dijo Brandon Philips, CTO de CoreOS, "y permitir que los equipos individuales se centren en problemas específicos". CoreOS produce una plataforma basada en contenedores que compite contra Docker, llamada Rkt (se pronuncia "Rocket").

En una arquitectura estándar sin servidor como Lambda, explicó Philips, el código se distribuye al servidor (sí, hay un servidor en sistemas sin servidor) y se olvida su metodología de implementación.

En un entorno típico de microservicios por el contrario, todos los servidores son orquestados cuidadosa y sistemáticamente. Específicamente en el caso de CoreOS por un componente llamado Tectónico. Es esta orquestación y la necesidad de coordinación lo que ayuda a reunir a los equipos de desarrollo con los equipos de operaciones (DevOps).

Nación opinión

Mientras tanto, la modalidad "sin servidor" tiende a concentrarse en el trabajo principal de trasladar la lógica comercial a la producción, añadió Philips, haciéndolo más "obstinado" que los microservicios puros, en un buen sentido.

Por ejemplo, una plataforma sin servidor tiende a escalar automáticamente la implementación y distribución de un servicio, en función de las "solicitudes efímeras" que recibe (como una solicitud de carga de página). Tiene una "opinión" sobre cómo hacer eso, en lugar de instrucciones o automatización resueltas de antemano.

"Con microservicios", dijo Philips, "todavía se tiene el control de cómo esa aplicación termina siendo desarrollada e implementada". Por lo tanto, existe una filosofía general sobre los microservicios en su conjunto, que bien podría sacrificarse cuando se divide en partes, o incluso se canjee por una por completo diferente.

La filosofía de microservicios merece discusión: un ajuste de actitud completo que podría reorientar a su equipo de desarrollo lejos de los monolitos de marca como su CMS actual, hacia las funciones individuales orientadas al cliente que sus activos de TI proporcionan para ellos.

El costo de adoptar esa filosofía es bastante simple: entregue su infraestructura tal como la conoce hoy. Es ese costo lo que hace que la opción del "tamaño de un bocado" se vea mejor y mejor.

En conclusión, microservicios es ese nuevo "cómo" para los ambientes de desarrollo y operación de las aplicaciones. Los microservicios ya son esa piedra angular que, en conjunto con Contenedores, Virtualización, Plataforma como un Servicio, Administración Basada en Políticas y Automatización de los Centros de Datos Definidos por Software, se están posicionando en ambientes On-Premise, Nube Privada y Nube Pública.

¿Ya cuenta Usted con microservicios trabajando para Usted, su empresa o su organización?

No hay comentarios:

Publicar un comentario

Todos los derechos reservados.
Copyright © 2025.