BAQUIA

Los “microservicios”, la nueva tendencia entre grandes empresas y startups

Mesosphere-CEO.png

En el mundo de las nuevas tecnologías, y sobre todo de las aplicaciones móviles o web cada se exige más. Y la complejidad de las mismas también se traduce en una inversión cada vez mayor. Esto, a las grandes empresas les supone un gasto considerable y las pequeñas directamente no pueden asumirlos.

Así que las grandes empresas de tecnología como Amazon, Netflix, y PayPal han replanteado por completo la forma en que construyen sus productos, el uso de tecnologías de punta desarrolladas por ellos mismos puede ser un gran problema, así que la solución es hacer un montón de otras más pequeñas.

 

Los desarrolladores llaman esta filosofía de diseño la nueva era de los “microservicios”, ya que se necesita una gran pieza de software que se descompone en un montón de partes que son fáciles de actualizar y mantener de forma individual.

 

En PayPal, por ejemplo, el botón “hacer un pago”  es en realidad una pequeña aplicación separada, mantenida y mejorada por un equipo dedicado a la misma. En sitios como Amazon y Netflix, las “opiniones de los usuarios” es otra aplicación así como “añadir al carrito”. Diferentes equipos de programadores gestionan y mantienen cada una por separado.

 

Esta no es una idea que sea nueva, pero en estos momentos se está dando la situación perfecta para que las startups y desarrolladores lo puedan aprovechar y se pongan en valor.

 

Dado el tiempo suficiente, la mayoría del software termina en expansión como una enorme y densa maraña de código interconectado que puede hacer que sea muy difícil de actualizar o mejorar. Esto usualmente resulta en lo que los desarrolladores llaman un “código base monolítico”, o “monolito”. Un monolito es grande, pesado y difícil de mover. Y cuando un monolito se cae, se cae con fuerza. Bajo el modelo de arquitectura de aplicación tradicional, una actualización puede enviar una aplicación entera abajo. Eso significa semanas y semanas de cuidado de codificación y pruebas antes de que se llega a ponerse en sus manos. Y a medida que las aplicaciones se vuelven más complejos, el ciclo de actualización se vuelve más lento.

 

Con los microservicios, los desarrolladores tienen una gran aplicación y la descomponen a una gran cantidad pequeñas partes, al igual que “obtener la ubicación” o “compartir en Twitter.” Cada microService se aborda totalmente separado, y estas aplicaciones sólo se comunican entre sí a través de las API (los programas que se utilizan para conectarse entre sí).

 

Esencialmente, es convertir un gran problema en una gran cantidad de pequeñas posibles soluciones.

La actualización de un pedazo de la aplicación es totalmente independiente del resto de la pila, lo que significa que los programadores pueden permitirse el lujo de moverse más rápido. E incluso si una de ellos cae, no hay efecto en cascada que haga caer todo el monolito.

 

La capacidad y opciones que ofrece la nube hace mucho más fácil esta forma de trabajar. Ya desde el 2011 se experimentó con esta idea, pero realmente ha sido la tecnología Docker la que ha hecho que explote, con su modelo de “contenedores”. Esta tecnología te permite crear grandes paquetes de código y envolverlos en los llamados “contendores” y ajecutarlo desde cualquier lugar.

 

Docker hace que sea mucho más fácil para los desarrolladores gestionar todas las diferentes partes móviles de una aplicación y sus actualizaciones.

 

Y el auge de Docker ha creado un nuevo ecosistema entero de software para ayudar a administrar y ejecutar los contenedores: Startups como Nginx, CoreOS, Rancher Labs, y Mesosfera están encontrando nuevas oportunidades en el mercado de los contenedores.

 

A corto plazo esto va a crear grandes oportunidades para startups y pequeñas empresas en crecimiento, que a su vez harán crecer aún más a las grandes empresas.

 

 


Compartir en :


Noticias relacionadas




Comentarios