¿Cuál es la clave para el éxito de la nube nativa? La gente y los procesos.
Pasar al desarrollo de aplicaciones de la nube nativa tiene más que ver con la mentalidad y los procesos que con la tecnología.
La evolución a la nube nativa es solo, en parte, un camino tecnológico.
Es verdad que los proveedores de la nube han creado potentes paquetes de tecnología, y esto significa que las organizaciones pueden llevar el trabajo no diferenciado de infraestructura "a la plataforma" y enfocarse más en su competencia principal.
Pero, aunque estos paquetes hacen que la nube nativa sea posible — y con ella, todos los beneficios de ofrecer mejores aplicaciones y servicios a mayor velocidad—, los motores del éxito de la nube nativa son los procesos y las personas ágiles.
Las personas siempre hacen el camino más complejo que un simple juego de tecnología, pero la buena noticia es que la nube nativa no es un botón de encendido o apagado. Si bien la mayoría de las nuevas empresas tienden a "nacer en la nube", hoy en día, las empresas establecidas no se convierten simplemente en nativas de la nube. En cambio, a través de la refactorización de personas, procesos y tecnología, pueden desensamblar o eliminar las aplicaciones monolíticas (y las estructuras del equipo que las respaldan) a favor de las arquitecturas y los patrones de desarrollo que adoptan la innovación rápida.
Emprender este camino requiere que los líderes de TI entiendan cómo son las capacidades nativas de la nube completamente maduras, para poder evaluar y cambiar su estado actual. El punto de inicio para eso es entender la interacción entre las personas y los procesos, lo que es un requisito para comprender la capacidad que tiene una organización de revelar el poder de la consideración de la nube nativa.
Libérese de la infraestructura
La influencia de la tecnología en este camino surge de la manera en que la tecnología de nube nativa difiere de otros tipos de tecnología de nube.
La plena madurez de la nube nativa adopta servicios completamente administrados, lo que se traduce cada vez más en tecnología sin servidor, en la medida en que todas las inquietudes de infraestructura se transfieren a la plataforma. Esto hace posible que las prácticas modernas de desarrollo sean la esencia de lo que significa la nube nativa, como las arquitecturas de microservicios y la CI/CD (integración continua/entrega continua).
Los beneficios incluyen el precio basado en el uso, el escalado incorporado y la tolerancia a fallos, la durabilidad de los datos y el menor tiempo de llegada al mercado de nuevas funciones y servicios. Es también la mejor manera para que su negocio pueda centrarse en sus competencias principales. (Sin embargo, exige un nivel de compromiso más profundo con una plataforma particular).
Esto difiere mucho de los servicios básicos en la nube, tal como las instancias de infraestructura y las máquinas virtuales, el almacenamiento y las redes, donde uno todavía es responsable del razonamiento operativo en lo que respecta al respaldo y el escalado. También es muy diferente de los servicios o las aplicaciones de infraestructura administradas, donde, a pesar de un nivel ligeramente más alto de abstracción de las inquietudes de infraestructura, uno todavía es responsable de administrar los servicios y las aplicaciones.
Sin las inquietudes de infraestructura, los equipos de desarrollo, los propietarios de los productos y el equipo directivo necesitan volver a adaptar su mentalidad para comprender dónde se conectan.
Convertir a las personas en nativas de la nube
En un alto nivel, las personas nativas de la nube tienen una mentalidad ágil y se sienten cómodas con las metodologías ágiles. En sus equipos, tienen una gran velocidad, lo que significa que se mueven rápidamente desde la concepción de la idea hasta el resultado, y esto requiere identificar y entregar con eficacia los productos viables mínimos apropiados. Con la ayuda de los procesos que se analizarán más adelante, pueden trabajar con los ciclos de comentarios rápidos que sean necesarios para crear ciclos de vida más breves para los productos, y pueden hacerlo al tiempo que se mantiene o supera la calidad.
Para los desarrolladores estos significa meterse de lleno, de forma reiterada, en nuevos conjuntos de herramientas, tecnología y metodologías para poder construir aplicaciones nativas de la nube. La tecnología como la informática sin servidor es nueva y avanza rápido. Lo que era relevante hace un par de años ya no lo es, y los pilares de desarrollo de aplicaciones como Java tienen menos lugar. Adaptarse significa liberar al experto en tecnología dentro de cada programador y darle la libertad de experimentar con tecnología y patrones de desarrollo nuevos. Esto también hace que la nube nativa sea una oportunidad para estimular la contratación y la retención de talento de alto valor.
Mientras tanto, los propietarios de productos necesitan acostumbrarse a entregar nuevas funciones y servicios en días o semanas, en lugar de en meses o años, y a responder a los ciclos de comentarios más rápidos en los ciclos de vida de sus productos. Para este grupo, ágil significa involucrar a los usuarios y a los clientes antes en el proceso, para que los errores sean menos costosos y menos probables, mientras se familiarizan con el hecho de trabajar con productos viables mínimos.
Y, finalmente, para los ejecutivos, los gerentes y los grupos de support como TI, adoptar una mentalidad de nube nativa significa adoptar una mentalidad propicia, no una restrictiva. El talento para el desarrollo necesita contar con un acceso simple y fácil a las herramientas y a la tecnología con las que experimentarán, lo que significa derribar las trabas para la adquisición de tecnología.
Además, se necesitan nuevos tipos de equipos para desarrollar y mantener las aplicaciones creadas usando arquitecturas de microservicios. Para adaptarse, la atención del equipo directivo debería estar en desarrollar equipos interfuncionales, divididos por responsabilidad en los servicios individuales, y no por función (es decir, desarrollo u operaciones). Y, si bien estos equipos deben estar capacitados para autoorganizarse, el equipo directivo también debe permitir intercomunicación y facilitar su unión para perseguir un propósito común, según sea necesario.
Proceso, proceso, proceso
Posibilitar la mentalidad de la nube nativa que se describió anteriormente se reduce a la última pieza del rompecabezas: los procesos.
Si bien el acceso a la tecnología basado en aprobaciones tenía sentido en el mundo de los centros de datos, donde el costo y la complejidad son más altos, tiene mucho menos sentido en la nube nativa. En cambio, un enfoque basado en barreras de protección, que aproveche los límites automáticos de presupuesto y los permisos para las herramientas, es una forma más efectiva de darles a los desarrolladores la libertad que necesitan para experimentar y aumentar su conocimiento. Del mismo modo, los grupos tradicionales de arquitectura empresarial se esforzarán por mantenerse al día de la innovación de la nube nativa. Por este motivo, no debería ejercer una presión excesiva sobre su rol.
Debido a que es fundamental que la CI/CD sea nativa de la nube, las herramientas correctas se vuelven esenciales para acelerar la entrega de aplicaciones y mantener la calidad. La automatización es la clave para que este proceso sea eficiente, en particular, las "pruebas de humo" automatizadas contra los ambientes de producción y la identificación de problemas a través del monitoreo de aplicaciones. Capturar los comentarios de rendimiento y funcionalidad y proceder en relación con ellos también es crítico, en especial, cuando se trata de reducir el desperdicio natural asociado con la duplicación de aplicaciones.
Este incremento marcado en la captura y la medición de la información se extiende al monitoreo de la capacidad de los equipos ágiles de trabajar juntos para definir aplicaciones de manera coherente, con particular atención en permitir velocidades congruentes entre los diferentes equipos. Mientras tanto, las mediciones de la calidad general de entrega se pueden aumentar aún más con la puntuación de satisfacción del cliente (como NPS).
Finalmente, se necesita contar con procesos para poder "capacitar a sus capacitadores", al escalar los aprendizajes de un equipo o servicio a potencialmente decenas más.
Esto no es un trabajo ligero y podría ser el tema de un artículo en sí mismo. Pero la respuesta de quién es el dueño de este trabajo, al menos, es una respuesta simple: todos. Los equipos de desarrollo son responsables de crear códigos de calidad, como siempre lo han sido, y de contribuir con la canalización efectiva de CI/DC. Los equipos de productos son fundamentales para obtener los comentarios de los clientes y hacérselos llegar al equipo de desarrollo de manera efectiva. Mientras tanto, la gerencia establece procesos en el nivel directivo y supervisa el rendimiento de los procesos y las personas.
Nunca es demasiado pronto para empezar
Vemos interés en la nube nativa en todo el espectro. Según se observó anteriormente, las organizaciones bien establecidas, a diferencia de las empresas nuevas, no se convierten simplemente en nativas de la nube.
Entonces ¿dónde deberían comenzar la mayoría de las organizaciones? En general, recomiendo comenzar el recorrido hacia la nube nativa creando nuevos productos y servicios virtuales, o durante la modernización de las aplicaciones (que es una oportunidad para deshacer las aplicaciones monolíticas y reconstituirlas en parte o en su totalidad con una arquitectura de microservicios).
En términos de creación de conocimiento, la tecnología sin servidor es un área clave para diseñar capacidades y seguir de cerca las tendencias. La naturaleza de estos servicios, pequeños bloques específicos para una función o un problema que se pueden unir, significa que el ecosistema se desarrolla en todo momento, con mucha superposición en algunos casos. A medida que crece esta caja de herramientas, entender cómo se articulan se convierte en una ventaja competitiva sólida.
Los sistemas de la nube nativa se diseñan para adoptar el cambio y el escalado rápidos y la resiliencia. Pero la gente rara vez se mueve con tanta velocidad como la tecnología. Los equipos necesitarán tiempo para desarrollar su conocimiento y adaptarse a los nuevos procesos que se necesitan para maximizarlo.
Por lo tanto, nunca es demasiado pronto para comenzar a crear oportunidades para desarrollar y compartir el conocimiento de la nube nativa.
Podcast Cloud Talk: Maximizar la agilidad con contenedores e informática sin servidor
About the Authors
VP, AWS Cloud Native Development
Amir Kashani
As VP of AWS Cloud Native Development, Amir Kashani leads a team focused on building cloud-first software solutions for customers across a wide variety of industries. With over 20 years of technical experience and having led product and engineering teams for over ten years, Amir oversees delivery of solutions that reshape how companies embrace the cloud. As a trailblazer of cloud native development, Amir has helped break barriers to cloud native adoption, including in areas of serverless computing and IoT. Amir previously served a similar role at Onica, which was recently acquired by Rackspace. Prior to that, he was co-founder of Sturdy Networks, overseeing technical delivery through to the acquisition by Onica. Amir holds a B.S. in Information & Computer Science from University of California, Irvine.
Read more about Amir KashaniRelated Topics