Cerrar

¿Desea conocer información de nuestros sistemas de gestión empresarial para PYMES o plataformas para medianas y grandes corporaciones?

NUESTRO BLOG

¿Qué considerar antes de involucrarse con Microservicios?

El primer paso en una estrategia de microservicios es averiguar si realmente éstos son adecuados para su organización.

En la siempre cambiante industria tecnológica, las empresas saben que deben tener habilidades para “pasar por aguas turbulentas” con tal de mantenerse a flote. De hecho, la agilidad es una de las claves más importantes para el éxito empresarial. Si una empresa toma demasiado para reaccionar ante el cambio, llegará una nueva “start-up” a arrebatarle su parte del mercado.

Aunque los microservicios no son el “último grito” que ha afectado el desarrollo de software, han recibido mucha atención últimamente como una opción viable para las empresas que quieren evolucionar en sus capacidades y mantenerse a la vanguardia. Los microservicios son una arquitectura de desarrollo que despliega aplicaciones como servicios modulares, que luego ejecutan diferentes procesos y se comunican a través de protocolos flexibles. También permite actualizaciones y expansiones complejas más rápidas. Es exactamente lo que las empresas necesitan cuando escalan y ponen en práctica nuevos procesos de negocio.

Suena útil, ¿Verdad? Lo es. Pero antes de lanzarnos de cabeza a los microservicios, usted necesita estar seguro que su compañía está preparada para el desafío. Esto es lo que debe considerar antes de implementar la arquitectura, para sacarle el máximo provecho si lo hace:

Observe atentamente su estructura de negocio. ¿Es su empresa lo suficientemente grande para que sus equipos de desarrollo trabajen por separado en proyectos complejos? Si no es así, probablemente no necesite de microservicios. Según Martin Fowler, Científico Jefe en ThoughtWorks, el costo de productividad de los microservicios sólo vale la pena para proyectos de software grandes y complejos:

“A menos que se enfrente a esa complejidad, recuerde que el enfoque de los microservicios trae un alto costo, que puede ralentizar sus procesos de manera considerable. Así que, si puede mantener su sistema lo suficientemente simple como para evitar la necesidad de los microservicios, hágalo”.

Determine si necesita implementar componentes de forma independiente. Si constantemente tiene al menos dos dominios en el software, su despliegue –que representa capacidades de negocio o procesos completamente diferentes-, tiene buenas razones para adoptar microservicios. Si lo hace, podrá crear un ciclo de vida de desarrollo independiente para varios componentes de su aplicación, lo que permite su actualización o implementación sin afectar a otros componentes de la misma. Además, puede codificar los dominios utilizando el idioma que tenga más sentido para ese componente. Sin embargo, tenga en cuenta que estas situaciones requieren que más piezas de componentes individuales sean gestionadas dinámicamente por equipos de desarrollo especializados. Por lo tanto, asegúrese de que tiene suficiente talento en el personal, o el presupuesto para pagarlos.

Considere si su equipo tiene la habilidad adecuada. Una arquitectura de microservicios significa que puede crear equipos de desarrollo más pequeños que se especializan en ciertas áreas de experticia. Esto debería incrementar la capacidad de lanzar constantemente nuevas funcionalidades al mercado, lo que proporciona una ventaja competitiva.

Sin embargo, antes de hacer el cambio a microservicios, piense en la experiencia de sus colaboradores. ¿Su equipo es lo suficientemente maduro para trabajar con un despliegue continuo e integración continua? ¿Están bien versados en la cultura DevOps? Si su equipo no exhibe actualmente estas habilidades, trabaje en la construcción de un grupo más robusto de ingenieros o encuentre socios externos que pueden ayudar a complementar su equipo.

Sea realista sobre el “roadmap” de su negocio. La capacidad de escala exponencial ha hecho que algunas de las empresas más grandes sean lo que son hoy en día. Piense en AirBnB por ejemplo, que pasó de ser un sitio web para alquilar un colchón de aire a tener un mercado de datos de 30 millones de dólares en menos de una década. Si bien es importante que las empresas en crecimiento sigan siendo +agiles, no todas las organizaciones tienen una gran necesidad de escalar. Si usted honestamente no necesita abordar la complejidad todavía, no se presione para adoptar microservicios.

Sea realista acerca de hacia dónde se dirige su negocio, al menos en el corto plazo, y no haga que su proceso de desarrollo sea más complicado de lo que necesita ser.

Así que, si usted está 100% decidido, los microservicios son para usted. Estos son algunos consejos rápidos:

- Una vez que implemente una arquitectura de microservicios, asegúrese de hacer uso extensivo del Diseño Guiado por el Dominio (DDD), especialmente el concepto de Contextos Limitados. Éstos son límites claros que separan un dominio o el subdominio que utiliza y que definen claramente las interrelaciones entre los contextos participantes.

- No existe una regla de oro sobre cómo definir Contextos Límites, ya que esto depende del dominio en el que esté trabajando. Sin embargo, un mapa de contexto es una buena técnica en general.

- Muchos expertos proponen el uso de microservicios pequeños. Pero el tamaño realmente debería depender de la cohesión de los conceptos dentro del modelo de dominio, dentro de sus Contextos Limitados y el lenguaje ubicuo utilizado. Esencialmente, cada microservicio debe representar una capacidad empresarial. Concéntrese en completar bien ese componente, independientemente de otros servicios.

- Asegúrese de alinear la estructura de su equipo de desarrollo con los Contextos Limitados que ha definido. Para aprovechar los beneficios de una arquitectura de microservicios, sus equipos deben estar construidos alrededor de las capacidades empresariales. NO se deben desarrollar equipos transversales que creen nuevos sitios y reduzcan la independencia de los equipos de entrega.

Mientras que es tentador salta rápidamente a bordo con las últimas tendencias del software, saltar de cabeza a los microservicios puede no ser el movimiento más hábil para cada compañía. Cada negocio es diferente -ya sea en tamaño o habilidades- y cada uno necesita encontrar las soluciones que funcionan mejor. Teniendo en cuenta su estructura de negocio, determinando si se necesita implementar componentes de forma independiente, analizando las habilidades de su equipo y siendo realista sobre su trayectoria de negocio, podrá determinar si los microservicios son adecuados para usted o si solo hará que sus procesos se vuelvan más complicados.

 

Valora este artículo del blog:
Movistar y Loggro anuncian alianza para ofrecer so...
Aumentando las habilidades de un equipo de desarro...