A principios del año pasado, tres de cada cuatro CIO dijeron que la modernización de las aplicaciones era una de las principales prioridades, pero al mismo tiempo, casi el 48 % de los directivos admitieron que había pasado más de un año desde la última vez que mejoraron sus carteras de aplicaciones. ¿Por qué existe esta dicotomía entre lo que quieren hacer y lo que hacen realmente? Muchas veces el riesgo de las operaciones empresariales, junto con el coste de otros parches in situ o actualizaciones, se percibe como demasiado elevado. Además, las arquitecturas complejas y los enfoques contradictorios sobre la creación, operación, gestión y protección de aplicaciones también suponen un freno para el desarrollo.
Este ángulo no es sostenible. IDC predice que, en 2025, casi dos tercios de las empresas serán productoras prolíficas de software con código desarrollado diariamente, más del 90 % de las aplicaciones serán nativas en la nube y el número de desarrolladores será 1,6 veces más que el actual. Además, el desarrollador será crucial ya que tendrá más influencia en decisiones de carácter más amplio sobre infraestructura y TI.
Asimismo, la “contenedorización” ha sido un punto de inflexión para los desarrolladores a la hora de crear y desplegar aplicaciones más rápido y a una escala sin precedentes. De hecho, el uso de contenedores no va a dejar de crecer. Según Gartner, en 2025, más del 80 % de los proveedores de software ofrecerán su software de aplicación en formato contenedor (el porcentaje a día de hoy es del 10 %).
Kubernetes, una plataforma de fuente abierta para la gestión de servicios y cargas de trabajo “contenedorizadas”, es quien está liderando el cambio. Actualmente, el 86 % de las aplicaciones “contenedorizadas” están en Kubernetes.
Pero, ¿en qué punto estamos ahora? ¿Las empresas entienden correctamente la oportunidad que presenta Kubernetes? ¿Cuáles son los obstáculos para su aprobación y cómo pueden ayudar los socios a que las empresas puedan beneficiarse de ello?
Primero empecemos por saber por qué las empresas se están modernizado de esta forma. Se trata, principalmente, de construir nuevas experiencias remunerativas mediante aplicaciones, puesto que el futuro de la diferenciación empresarial y los servicios orientados a cliente empieza y termina con una cartera de aplicaciones empresariales. A continuación, a la par, está la necesidad urgente de gestionar un volumen de crecimiento de vulnerabilidades de software e impulsar la ventaja competitiva que suponen las innovaciones recientes que ofrece la nube.
No obstante, estos aspectos traen aparejados desafíos inmediatos. Estamos viendo equipos de aplicaciones a los que se les pide analizar las aplicaciones monolíticas y reconstruirlas como aplicaciones basadas en microservicios, equipos de desarrollo bajo presión que tienen que presentar nuevas características para clientes más rápido, y empresas que se enfrentan a gigantescos riesgos de seguridad derivados de contenedores y/o aplicaciones en peligro. En el núcleo de todo ello se encuentra el tema de la complejidad, el de las propias aplicaciones modernas, cómo están compuestas, con frecuencia, por VM (máquinas virtuales) múltiples, contenedores y servicios, y que tienen que atravesar una amplia variedad de arquitecturas heterogéneas. El principal obstáculo es la dificultad de conjugar las necesidades de las aplicaciones con la infraestructura subyacente correcta.
El reto, y la oportunidad, residen en abordar el problema tanto en las aplicaciones como en la infraestructura, según afirma Joaquín Potel, director global de la Application Services Business Unit de SoftwareONE. Se trata de aprovechar la experiencia del desarrollador y del proveedor cloud, y ocuparse a la vez de los escenarios más comunes que se encuentran las empresas en sus esfuerzos por modernizar sus infraestructuras y aplicaciones. Para ayudar a los clientes en este sentido, han abierto centros de Application Services en Leon y Galicia, con más de 25 puestos de trabajo, para cubrir las necesidades tanto del mercado nacional como de buena parte de Europa.
La tecnología para hacerlo está ahí. Ya podemos simplificar las operaciones de Kubernetes para multicloud centralizando la gestión y el gobierno de muchos clusters y equipos en entornos internos, edge y de nubes públicas. Se trata de democratizar la infraestructura, expandir un modelo de funcionamiento de Kubernetes preparado para las empresas en sus centros de datos y en las nubes públicas de forma que puedan manejar y gestionar cargas de trabajo modernizadas con el software existente. Esto es una única plataforma para ejecutar todas las aplicaciones. Nuestra plataforma de Kubernetes es VMware Tanzu, y nuestra estrategia avala esta tendencia puesto que ofrece a los desarrolladores y a los equipos de TI una plataforma única que les permite gestionar, en cualquier nube, las cargas de trabajo heredadas de las VM, así como aplicaciones “contenedorizadas” y más.
Por tanto, ¿qué hay que hacer? A continuación se presentan tres aspectos clave en los que las plataformas de Kubernetes, tales como Tanzu, pueden beneficiar a las empresas, así como los principales puntos de consideración para partners ya que son ellos los que permiten a las organizaciones su utilización y garantizar de cara a futuro la distribución de aplicaciones y una infraestructura de apoyo.
- Alinear stakeholders e impulsar las decisiones con una fuente de información única y fiable.
En lugar de que diferentes stakeholders tomen decisiones basadas en distintas fuentes de información, ahora se puede agrupar todo en una única imagen completa de la pila. Se trata de una gestión y una visualización centralizada: se pueden absorber todas las fuentes de información y aplicar datos analíticos para, a continuación, remitir los resultados a la persona adecuada. De esta forma, los directivos de infraestructuras pueden ver la salud de sus entornos y los desarrolladores pueden ver el comportamiento de sus aplicaciones en producción y, en consecuencia, tomar las mejores decisiones todos juntos.
Para lograr este objetivo, los partners deberán indagar sobre si los desarrolladores de la organización tienen visibilidad respecto a cómo se comporta su código en producción; cuántas herramientas de monitorización/observabilidad se usan actualmente; y cómo se escalarán esas herramientas a medida que se desarrollen más aplicaciones.
- Asegurar una comunicación fiable y segura entre nubes sin cambios en el código de la aplicación.
A medida que crezcan los activos de las aplicaciones modernas, las empresas tendrán que monitorizar más puntos finales y mantener más servicios. Dicha situación requiere una visibilidad central de los puntos finales en las VM y en los contenedores, nubes internas y públicas, y el uso de políticas generales para asegurar que tanto el cumplimiento como los registros de auditoría son omnipresentes. La meta es mejorar la seguridad y la resiliencia a medida que las empresas crean nuevas aplicaciones nativas en nube o «rearquitectan» y “contenedorizan” las cargas de trabajo críticas para la actividad empresarial existentes mediante imágenes seleccionadas, validadas y permanentemente actualizadas.
Los puntos clave sobre los que ha de investigarse incluyen saber si la empresa conoce de dónde obtienen la información los contendores de fuente abierta que utilizan los diferentes equipos de desarrollo y si confían en que no se produzcan vulnerabilidades; cómo rastrean las licencias de todos los binarios y las bibliotecas en software de fuente abierta; y cómo rastrean las diferentes copias de software que se conservan internamente para garantizar que son seguras, compatibles y que están actualizadas.
- Conseguir más software en producción, a toda velocidad.
El camino que lleva a la fase producción se compone de muchas piezas y los desarrolladores tienen que atravesar muchas etapas hasta lograr que su código llegue a esa fase. Está lleno de fricciones, lo que ralentiza los ciclos de desarrollo. Las plataformas como VMware Tanzu pueden agrupar todas esas etapas en una única ruta integrada y automatizada de forma que los desarrolladores pueden escribir cinco líneas de código y llevar su software a producción, incluyendo todas las dependencias y con seguridad. Esta mejora de la capacidad del desarrollador significa que las empresas pueden presentar mejores software y más rápido, lo que se traduce en más ingresos con la creación de nuevas características, parches más rápidos y clientes más contentos.
La función de los partners aquí es hacer que las empresas se pregunten cómo pueden conseguir exactamente que sus aplicaciones se produzcan hoy mismo; cómo fue el último despliegue de producción y qué problemas se encontraron; dónde operan actualmente la mayoría de sus aplicaciones; y cuál es el siguiente grupo de aplicaciones que quieren modernizar.
Estos elementos son los que deben tener claro las empresas hoy en día. Ahora la experiencia de cliente está intrínsecamente conectada a la cartera de aplicaciones puesto que el ritmo de innovación de las empresas aumenta gracias a DevOps. Una comparativa entre la ‘élite’ (empresas ubicadas en la categoría de rendimiento más alta posible) frente a empresas con un rendimiento bajo muestra que las primeras tienen desarrollos de código 208 veces más frecuentes, recuperan el servicio 2.604 veces más rápido y el índice de fallo es 7 veces mejor[1].
Para Joaquín Potel, director global de la Application Services Business Unit de SoftwareONE, aún son muchas las empresas que siguen sufriendo capas de procesos manuales diseñados para minimizar el riesgo y asegurar el cumplimiento, lo que se traduce en que los lanzamientos de aplicaciones sean infrecuentes y de alto riesgo. Además, esta situación se ve agravada por la falta de experiencia nativa en la nube y de especialización.
La oportunidad que tienen los departamentos de TI y los desarrolladores de impulsar una mayor transformación digital reside en hacerlo lo más sencillo posible. Lo cierto es que algunas empresas están más preparadas para Kubernetes que otras. Por tanto, en esta era de la modernización de las aplicaciones tiene que haber un mayor foco en hacer Kubernetes de almacenamiento de datos para empresas absolutamente multinube, así como habilitar capacidades preparadas para desarrolladores que aseguren la facilidad de implementación y escalado cuando sea el momento correcto: nadie tiene que tomar decisiones entre VM y contenedores, no hay necesidad de reconstruir las aplicaciones existentes para operar en contenedores, y la plataforma soporta todas las principales nubes públicas.
En VMware, con nuestra estrategia Tanzu, ya lo hemos logrado; hemos llevado Kubernetes a más de 70 millones de cargas de trabajo ejecutadas en vSphere. Aquí los partners vuelven a ser imprescindibles, aportan su conocimiento técnico y asesoramiento para ayudar a las organizaciones a simplificar los esfuerzos de modernización de las aplicaciones. Son precisamente los partners de confianza los que pueden aunar los equipos de Dev y Ops asegurando que las empresas tienen la plataforma correcta y que se da servicio a todas las nubes con operaciones coherentes para presentar a producción siempre el mejor software posible.
Llegados a este punto, las empresas pueden atar cabos y convertir en realidad los objetivos de modernización de aplicaciones de los CIO, lo que permitirá un cambio empresarial triunfante hacia la centralidad basada en aplicaciones que impulsarán el crecimiento empresarial.
Margarita Sanz, directora de canal de VMware Iberia
[1] Fuente: Accelerate: State of DevOps Strategies for a New Economy, Autores: Forsgren, Smith, Humble, Frazelle, DevOps Research & Assessment, 2019