Cloud nativa: Las cosas que hay que saber antes de lanzarse a nadar

Existen ciertos errores comunes que se cometen a la hora de querer empezar a utilizar una nube nativa. Sin embargo hay uno que es muy común y que es bueno entenderlo antes de lanzarse a nadar. La mejor forma de conquistar terreno a la nube nativa es  ir peldaño a peldaño. Empezar por migrar las aplicaciones a la nube y continuar con la transición de monolitos a microservicios. A continuación, se pueden instalar contenedores y plataformas de orquestación de contenedores. Sin embargo, nada de esto tendrá éxito si no se produce el cambio de cultura. Aquí un mapa para tener claro los típicos problemas que aparecen en el camino y así saber sortearlos.

UTILIZAR DEMASIADAS HERRAMIENTAS

Una vez hecho el cambio a Cloud-Native DevOps, es común intentar automatizar tantos procesos como sea posible. Sin embargo, esto no se consigue añadiendo y añadiendo herramientas una sobre otra. Es necesario elegir las herramientas correctas y hacer la mejor combinación que sea adecuada para cada caso. El uso excesivo de herramientas también costará mucho tiempo y dinero.

Otro error en este sentido es que los desarrolladores suelen confiar demasiado en una determinada herramienta. Sin embargo, la esencia de DevOps reside en el espíritu de equipo y en la aplicación de prácticas correctas que contribuyan a aumentar la productividad y a mejorar los procesos.

NO CONTENERIZAR

La contenerización permite crear software agnóstico para el entorno. También elimina los conflictos de implementación entre los desarrolladores y los departamentos de operaciones, permitiendo que los desarrolladores y los probadores se comuniquen más fácilmente. Al utilizar instancias convencionales o servidores on-premise, uno se arriesga a depender demasiado del servicio y, en cierta medida, se pierden los beneficios de Cloud-Native y las estrategias multi nube, ya que la infraestructura estará atada al soporte, ya sean instancias o servidores.

NO UTILIZAR UN ORQUESTADOR

El manejo de múltiples contenedores es uno de los retos que surgieron al momento que se comenzaban a utilizar formalmente en el desarrollo de aplicaciones nativas de la nube. Para resolver todos los problemas subyacentes del desacoplamiento en contenedores, surgieron los orquestadores como Kubernetes, con el cual se pueden afrontar los retos como el cómputo, almacenamiento y redes dentro de una arquitectura basada en contenedores.

EVITAR LA MONITORIZACIÓN CONTINUA

Si bien las pruebas dentro de los pipelines de implementación hacen que las cosas sean más sencillas y fluidas, también las hacen limitadas e incompletas. La supervisión continua, en cambio, puede optimizar todo el proceso al poner de relieve cada fallo que se produzca incluso después de las pruebas.

NO PRESTAR SUFICIENTE ATENCIÓN A LA SEGURIDAD

Las comprobaciones de seguridad pueden ser bastante largas y costosas. Los equipos suelen pensar que las capacidades de comprobación de la seguridad son algo que se pone en práctica dentro de los flujos de trabajo de CI/CD. La implementación de una herramienta separada que se encargue de la seguridad es un movimiento crítico para que los DevOps giren y eviten cualquier vulnerabilidad en el proceso.

HACER LA TRANSICIÓN DEMASIADO RÁPIDO

La adopción de Cloud-Native DevOps debe ser un proceso paciente con mucho aprendizaje en el camino. Esperar que una empresa que ha estado utilizando aplicaciones heredadas alinee inmediatamente todas sus estructuras y plataformas en una única arquitectura nativa en la nube es simplemente imposible. Es posible crear rápidamente nuevas aplicaciones nativas en la nube, pero la transición de las aplicaciones existentes llevará un tiempo.