Como parte de la transformación digital, la nube se ha regido como modelo preferente de operación de las TI y, en este contexto, los equipos de tecnología necesitan tener una elevada flexibilidad para desplegar y gestionar los entornos cloud. La solución es la automatización en la nube o cloud automation, aplicando herramientas y procesos repetibles que reduzcan las tareas manuales en la provisión y gestión.
La automatización en la nube es un proceso esencial para la optimización del escenario tecnológico de una empresa y alinear la estrategia cloud con los planes de transformación digital de las organizaciones. Básicamente se trata crear instrucciones, reglas y procesos repetibles que permitan implementar entornos cloud a la escala necesaria, así como gestionarlos y mantenerlos, de forma que se consiga mayor eficiencia en la operación de las TI y se minimicen los errores humanos tanto a nivel de infraestructura para la provisión de servicios, como de configuración de los mismos.
Consideración 1: definir un método de trabajo coherente
Un proyecto de cloud automation conducirá a la empresa a que el equipo trabaje de forma homogénea y facilitará pero, no nos engañemos, esto se conseguirá si se hace bien. Por eso, antes de abordar una iniciativa de cloud automation, es necesario identificar de los objetivos, localizar las tareas recurrente que consumen más para empezar por los módulos que aporten más valor al mayor número de personas. Esta será la base de una hoja de ruta para cumplir las expectativas que se plantean.
En función de ello, se decidirá si se opta la infraestructura inmutable, es decir, que una vez que se crea o instancia algo, nunca se verá modificado, partiendo de la idea de que es más fácil sustituir un entorno recreándolo de cero que buscar el motivo del error y actualizarlo. Otra opción es la infraestructura mutable, que puede cambiar cuando sea necesario. Esta decisión impactará en los costes de mantenimiento y en los automatismos que se generen. También habrá casos en los que el modelo inmutable no se podrá emplear como sucede con las aplicaciones legacy, como SAP, porque hay bases de datos implicadas.
En todo caso, antes de iniciar el proceso de automatización, es necesario definir un método de trabajo independientemente de cuál sea la infraestructura o el código, junto con la ruta para desplegar las actualizaciones. Además, hay que identificar a las personas que validarán los despliegues estableciendo, así, un gobierno de la automatización, para asegurar el control y que el equipo trabaje de una manera homogénea.
Consideración 2: identificar las herramientas que se van a emplear
La tecnología que se va a utilizar en el proyecto de optimización de la nube es una decisión importante, y tanto Amazon Web Services (AWS) como Microsoft Azure y Google Cloud disponen de herramientas para automatizar tanto la infraestructura como la tarea de configuración.
También existen herramientas más transversales, agnósticas de la plataforma cloud, que permiten desarrollar código y sus módulos están preparados para ser consumidos en cualquier hiperescalador, lo que facilita el lanzamiento de una nueva configuración en todos los servidores. Ejemplos de ello son Terraform, Salt, Chef, Puppet o Ansible, que requieren unas competencias diferentes y unos perfiles mucho más DevOps.
Tanto las proporcionadas por los hiperescaladores como por otros proveedores, son muy potentes, necesitan una curva de aprendizaje y tienen diferentes funcionalidades, por lo que la elección dependerá de la estrategia cloud de la organización, es decir, si ha optado por trabajar con una o varias plataformas de infraestructura. A la hora de decidir, conviene también considerar los planes futuros para prever si habrá algún cambio estratégico que pueda impactar en el proyecto de optimización de la nube.
Consideration 3: preparar la infraestructura para el mantenimiento
Sin duda, las ventajas de un proyecto de cloud automation son muy visibles en los despliegues masivos de entornos en cientos de servidores en paralelo, pero no se deben obviar las que se obtienen de mantener y actualizar la infraestructura. Los administradores cloud ven reducidas las ventanas de mantenimiento y se simplifica su trabajo en ámbitos como la gestión de parches, actualizaciones y monitorización, al mismo tiempo que se gana rapidez. Todo ello redunda en una gestión más ágil y menos personal necesario, que puede dedicarse a otras tareas.
Por tanto, el objetivo de la automatización será también facilitar la operativa y el mantenimiento posterior, y esto debe tenerse en cuenta desde el inicio del proyecto, con procesos definidos para poder aprovechar las amplias capacidades funcionalidades que ofrecen las plataformas hiperescalares.
Una vez se genera el sistema de automatización, el mantenimiento tiene que incluir esas automatizaciones para evitar modificaciones manuales de código desde la consola del hiperescalador, cuyo resultado sería un pérdida de consistencia y una devaluación de las eficiencias que se pretenden alcanzar.
Aprovechar las ventajas de cloud automation con Syntax
Los beneficios de cloud automation son numerosos. Entre ellos destacan la reducción de los tiempos de despliegue de nuevos entornos de una semana a horas y la disminución de errores humanos, tanto a nivel de infraestructura y de configuración, como a la hora de mantener los entornos.
Al asegurar que el entorno cloud se asienta sobre una base homegénea y estandarizada, también se agiliza los nuevos desarrollos de aplicaciones para dar respuesta a las necesidades de la unidades de negocio e impulsar la innovación dentro de la compañía.
Son iniciativas complejas que requieren experiencia, conocimiento y recursos, para los que las empresas pueden recurrir a un partner especializado. En Syntax, a través de nuestra unidad de consultoría, Syntax Advisory Services, ayudamos a las compañías a optimizar su infraestructura en la nube, y a obtener todas las eficiencias técnicas y econónicas de su estrategia de cloud automation. ¿Hablamos?