Transformación digital y microservicios

Felipe de Jesús Reyes Hernández.
Arquitecto de Software.

Las nuevas exigencias del mercado nos empujan a hablar de transformación digital hoy más que nunca, y es que la cantidad de dispositivos conectados a la red son increíbles.

Además, las demandas de los usuarios han cambiado, convirtiéndose cada vez más, en miembros mucho más exigentes frente a las ofertas que hacen las compañías que usualmente consumen. Por ello, es natural que las empresas, deban evolucionar, adaptándose, reinventándose y adoptando nuevos paradigmas, tecnologías, procesos y hasta reestructurando su fuerza laboral, para cumplir con aquello que sus consumidores están pidiendo, y están necesitando.

Derivado de esta demanda surgen los microservicios, esta arquitectura toma gran importancia y resulta muy relevante para apoyar a innovar en los procesos estratégicos de cualquier organización.

¿Qué son los microservicios?

Los microservicios, son un estilo arquitectónico que organiza el software en pequeños servicios independientes y que se comunican regularmente a través de protocolos ligeros como API’s rest bien definidas.

Este enfoque trae consigo beneficios que listamos a continuación:

  • Especializados ya que cada servicio se ocupa de un tema específico.
  • Servicios pequeños e independientes.
  • Autónomos.
  • Unidades de despliegue pequeñas.
  • Resistentes
  • Reducción en el tiempo de desarrollo.
  • Reutilización de código.
  • Libertad tecnológica.
  • Implementación relativamente sencilla.
  • Escalado flexible con base en la demanda.
  • Mantenimientos rápidos.

Todas estas características que se mencionaron, nos permiten responder de forma oportuna a nuevas funcionalidades, entregas rápidas y crecer rápidamente de acuerdo a la gran cantidad de peticiones.

Sin embargo, una de las problemáticas más recurrentes en el mercado, es que todo se quiere llevar a una arquitectura de microservicios, sin realizar una correcta evaluación para verificar si en verdad se requiere un cambio y si como empresa se tiene la capacidad de trabajar con este enfoque, sin tener claro las implicaciones que conlleva este estilo arquitectónico y si esto les permite cumplir con los atributos de calidad que están buscando.

Por ello es importante mencionar que no todo tiene que ser microservicios.

Es de suma importancia identificar las restricciones que tenemos, los atributos que se requieren satisfacer y sobre todo la selección apropiada de los casos de usos para saber si aplica este paradigma, a continuación, mencionamos algunos de ellos:

  • Cuando queremos dejar expuestos los datos por protocolos de red.
  • Cuando queremos minimizar el time-to-market.
  • Cuando queremos interoperabilidad.
  • Cuando queremos alta disponibilidad y alto rendimiento.
  • Cuando queremos tener centralizada la funcionalidad.

Una vez que se identifica el caso de uso, ahora las organizaciones se tienen que preocupar por afrontar algunos retos que trae consigo este patrón arquitectónico y de los cuales se tiene que tener conciencia para identificarlos y pensar en solventar desde el diseño de la solución. Con esto se evitarán muchos dolores de cabeza en un futuro.

Seleccionamos varios de estos temas en la lista a continuación:

  • Utilizar la metodología que mejor se adapta a este paradigma.
  • Cambio cultural y organizacional.
  • Curva de aprendizaje.
  • Registro apropiado de los microservicios para su localización.
  • Tolerancia a fallos.
  • Gestionar la configuración de cada microservicio.
  • Gestionar la trazabilidad.
  • Monitoreo de todos los microservicios.
  • Tráfico interno.
  • Transacciones distribuidas.
  • Logs centralizados.

En PRAXIS, hemos trabajado e implementado microservicios con herramientas como son spring, spring cloud, netflix y tecnología de AWS por mencionar algunas, que nos ayudan a solventar los temas mencionados, registro y localización de servicios, configuración centralizada y tolerancia a fallo.

Por años, hemos trabajo en conjunto con varias empresas adoptando este paradigma de la forma más eficiente. Desde la selección de los recursos con el perfil apropiado hasta la selección de la metodología que mejor se adapta para sacar provecho a la arquitectura.

Es relevante la apertura que tienen las empresas ya que requiere de la disposición de las organizaciones para adoptar nuevos enfoques y estructuras de trabajo, la selección de herramientas de software para dar solución de los problemas que se enfrentan con esta transformación digital, ayudando a identificar cuando es viable implementarla.

Y por último podemos mencionar, que les proporcionamos el acompañamiento en el proceso de transformación digital para obtener innovación en las líneas de mayor peso para su organización, con este enfoque de diseño de software y en conjunto con un paradigma como devops que mejor se adapta como aliado para alcanzar sus objetivos y lograr verdaderamente una transformación digital.

Actividades Asociados

Eventos AMITI

10 Dic
De 8:00 am
a 12:00 pm

Superando los desafíos – Evento de fin de año AMITI