Los tres pilares fundamentales para la adopción exitosa del Cloud Computing
13 May 2021
El Cloud Computing (o computación en la nube) se ha consolidado entre las grandes empresas de numerosos sectores, desde las telecomunicaciones a la banca o el ecommerce.
Esta tecnología permite almacenar archivos, acceder a software de forma remota y procesar datos por medio de Internet, en lugar de un ordenador o servidor local. Ya nadie duda de lo importante que es echar un vistazo al Cloud Computing e incorporarlo en la estrategia tecnológica, pero aún quedan esfuerzos por hacer para exprimir al máximo sus beneficios y optimizarlo, obteniendo un rendimiento tanto económico como funcional.

Para ello, hay tres pilares fundamentales que deben tenerse en cuenta a la hora de implementar el Cloud Computing: tecnología, gobierno y personas. Si bien el mercado ha trabajado intensamente sobre el primero de ellos (tecnología), no ha sido así en el caso de los otros dos (gobierno y personas) que, como veremos más adelante, resultan imprescindibles para el éxito de la estrategia.
A continuación haremos un repaso sobre la importancia de estos pilares y aquellos aspectos que no deben perderse de vista en relación con cada uno de ellos:
La tecnología en el cloud computing
Como comentábamos, se trata del pilar más conocido y trabajado, pero esto no lo convierte en sencillo. Desde el punto de vista tecnológico aparecen numerosos retos a la hora de incorporar el Cloud Computing:
Un Cloud integrable con el IT tradicional
Son pocos los casos en los que las empresas adoptan una estrategia Full Cloud, sino que lo habitual es seguir un modelo híbrido en el que ciertos sistemas se mantienen en DataCenters propios o alquilados (IT tradicional) mientras que otros se pasan al Cloud. Por tanto, resulta esencial que haya una integración entre ambos mundos, siendo la compatibilidad un elemento esencial a la hora de escoger la tecnología.
Generación de economías de escala
Es muy importante escoger tecnologías que sean expandibles de manera fácil y ágil. Aunque los vendors de Cloud Computing público suelen cumplir este requisito, si hablamos de Cloud Computing privado (en formato outsourcing o insourcing) es necesario tenerlo en cuenta ya que si se mantiene un modelo con infraestructuras propias o alquiladas a un tercero puede existir el riesgo de no conseguir economías de escala, en el caso de que sea necesario invertir en ampliaciones cada vez que se quiera crecer.
La amenaza del Vendor Locking
El Vendor Locking es un problema común en los sistemas Legacy, que aparece cuando existe una dependencia demasiado grande de un fabricante de hardware o software (algo que ha ocurrido históricamente con compañías como IBM, Oracle o SAP). Esto puede limitar el crecimiento o la evolución de funcionalidades, productos o servicios, e incluso permitir a los fabricantes subir el precio de mantenimiento de sus servicios (la inversión resulta demasiado grande para realizar modificaciones o cambiar de proveedor).
Aunque el Cloud Computing intenta evitar esto, lo cierto es que puede aparecer el mismo problema. En ocasiones será rentable asumir este locking con algunos proveedores (por su oferta económica y funcional), pero las empresas deben ser conscientes y capaces de reaccionar en caso de que no quieran asumir dicha atadura.
¿Cómo evitarlo? Existen tecnologías como las plataformas de contenedores que ayudan a minimizar el Vendor Locking, al permitir mover cargas de trabajo de un sitio a otro de forma sencilla, por ejemplo, entre diferentes proveedores Cloud Público o Privado.
Importancia de la resiliencia
Aunque todos los fabricantes de Cloud cumplen con el principio de resiliencia a nivel de infraestructura, es también muy importante la resiliencia a nivel de las aplicaciones. En caso contrario, no estaríamos consiguiendo una arquitectura completa tolerante a fallos, capaz de recuperarse ante una circunstancia anómala. Para lograr esto, será importante establecer una serie de principios a la hora de programar también, algo que no será responsabilidad de los proveedores de Cloud.
Reducción de los costes: automatización de operaciones en Cloud Computing
Si bien los puntos anteriores, centrados en la tecnología, se han trabajado de forma tradicional a la hora de adoptar Cloud Computing, estos deben de relacionarse con los otros dos pilares (gobierno y personas) que a medio y largo plazo asegurarán el éxito de la adopción.
La forma de operar los sistemas en Cloud es muy diferente a los sistemas Legacy. Requerirán herramientas distintas o la readaptación de herramientas y procesos que la empresa ya tiene, pero en cualquier caso será necesario rehacer de forma rápida la manera de trabajar, en muchas ocasiones cuando los sistemas ya están en producción. Si la empresa no es capaz de operarlos de forma efectiva, incurrirá en grandes gastos de recursos humanos y, además, no podrá destinar estos recursos a la optimización (imprescindible para que el Cloud Computing sea realmente más barato).
Automatización de las operaciones
Un aspecto clave para lograr esa correcta gestión de los recursos humanos y la optimización del Cloud Computing es la automatización de las operaciones.
Un caso real que lo ejemplifica es el de un operador español de telecomunicaciones que, a pesar de haber realizado toda la parte estratégica (desarrollando el concepto de Gobierno, definiendo los departamentos intervinientes en cada tarea, etc.), no llegó a definir, desde el principio, cómo iban a operar realmente esta nueva tecnología.
Esto provocó un aumento en los costes en Cloud y unos grandes esfuerzos por parte del equipo. Aunque pueden seguir utilizando la mayoría de sus herramientas, ha sido necesario hacer un trabajo para maximizar la automatización a la hora del despliegue y de la operación posterior, y la adaptación de procesos ya existentes. Todo esto nos lleva al siguiente punto.
El Gobierno y cloud computing
Dentro del gobierno distinguimos una serie de puntos que deben trabajarse durante el estudio de implantación de Cloud Computing para evitar, a posteriori, aspectos que no se han cubierto o sobrecostes que dificulten la explotación, optimización, y seguridad:
Gestión de la demanda y procesos de provisión
En sistemas legacy, la gestión de la demanda se realiza a base de tickets en los que un usuario solicita una serie de servicios que pueden tardar días, incluso semanas en estar disponibles porque siguen un flujo con componentes manuales.
Es importante encontrar una gestión de la demanda más automatizada, orientada al autoservicio del usuario. Para ello, serán necesarios portales donde la provisión de los servicios esté preaprobada en función del rol de la persona que accede de forma que, una vez solicitado, se lance un automatismo para la provisión. Este proceso podría proporcionar a la persona el control sobre lo que necesita en apenas minutos (quizás horas si se tratara de un proceso complejo o que sí requiera aprobación manual por su naturaleza).
Además, no hablamos solo de infraestructuras, sino también de aplicaciones. Con soluciones como la llamada “Company in a Box”, desarrollada por VASS, con la que se podría dar el control a los programadores desde el momento que inician la programación. Estos podrían solicitar, en un catálogo de autoservicios, las aplicaciones que quisieran programar, lo que desencadenaría una serie de mecanismos automáticos para devolver un entorno de programación con todas las infraestructuras preparadas. Una vuelta de tuerca más sobre los conceptos de Cloud Computing, DevOps y contenedores.
Comprensión del impacto real del IT en los servicios del negocio
Tradicionalmente se ha llevado a cabo una monitorización de los sistemas desde un punto de vista horizontal y puramente técnico, en las diferentes capas tecnológicas. Sin embargo, es necesaria la observabilidad del entorno completo para conocer lo que ocurre con las infraestructuras, aplicaciones y, en definitiva, con los servicios.
Es decir, desde el punto de vista de la empresa resultarán más interesantes aquellos parámetros asociados al negocio (fallos en el servicio al cliente, monitorización de ventas en tiempo real, etc.) que los parámetros técnicos (fallo de red o problema en un servidor).
Por ejemplo, a una compañía financiera le interesará saber cuándo va a tener un problema en un cajero automático. Para ello, tendría que ser capaz de saber si un error en un DataCenter determinado podría provocar este problema. Es decir, no se trata de una visión solo tecnológica, sino de saber cómo influyen los problemas técnicos en el negocio.
Otro ejemplo podría ser el de un aeropuerto, en el que el fallo de un servidor provocaría un problema en determinadas puertas de embarque. Esta asociación y visión de negocio sería aplicable a todos los sectores.
Aunque este tipo de soluciones no están todavía muy extendidas, son muy necesarias ya que la trazabilidad del Cloud Computing resulta compleja, por tener un alto componente elástico y variable que impide inferir de forma manual este tipo de fallos.
Operación elástica
Como hemos comentado anteriormente, la automatización es fundamental a la hora de operar el Cloud Computing, incluyendo por ejemplo todos los chequeos automáticos de sistemas dentro de esta automatización. Esto proporciona una alta fiabilidad, al detectar errores en el momento y asegurar que cada acción se realiza de una manera concreta, sin depender de una persona. Realmente es inviable el poder operar de forma eficiente en un entorno Cloud con los métodos y herramientas manuales del pasado, estaremos limitando la flexibilidad que nos proporciona Cloud.
Además, la operación elástica implica ir un paso más allá, llegando a la predicción de eventos o incidencias gracias a la Inteligencia Artificial (IA), evitando así los errores de forma automática incluso antes que se produzcan.
Gestión de la seguridad en Cloud Computing
La seguridad clásica en IT estaba basada en establecer un perímetro alrededor de la tecnología de la empresa y hacerlo seguro. Sin embargo, en Cloud Computing este perímetro es más difuso y varía constantemente. Además, aparecen nuevas amenazas derivadas de las nuevas tecnologías asociadas que también deben tenerse en cuenta.
En la actualidad se debe gestionar la seguridad desde varios puntos de vista:
- Desde el manejo de las cargas de trabajo en Cloud Computing (más tendiente a la seguridad clásica en cuanto a configuración de servicios de seguridad).
- Desde la ayuda en la gestión de la configuración de la seguridad. La responsabilidad sobre la configuración de los servicios Cloud sigue siendo de la empresa (no del proveedor) pero resulta compleja, por lo que los propios vendors proporcionan funcionalidades y herramientas para llevar a cabo las mejores prácticas de seguridad.
- Desde la seguridad del software (en plataformas muy asociadas al código). Se debe vigilar que los script o automatizaciones no tengan errores ni agujeros de seguridad. Esto es complejo, pues herramientas como las plataformas de contenedores tienen poco tiempo de vida y la gestión de la seguridad en estos entornos va aún por detrás y no está totalmente adoptada por la industria.
Personas: la importancia de los equipos Full Stack
Las capacidades necesarias a lo hora de diseñar/desplegar/operar/programar en Legacy son muy distintas de las necesarias en entornos Cloud, híbridos e incluso con múltiples vendors en formato multicloud. Se deberá por tanto analizar los roles necesarios, que ya no van a tener un conocimiento exclusivo de su campo, sino que tendrán que interactuar con otras áreas (por ejemplo, un diseñador de interfaces de usuario tendrá que interactuar con equipos DevOps, de ingeniería de procesos, arquitectos de negocio, etc.). Además, las fronteras entre el IT y el negocio se desdibujan y no solo habrá que definir estos nuevos roles sino que habrá que capacitar a las personas de la compañía para poder comprender ambos ámbitos.
Los equipos Full Stack serán muy importantes en este proceso, de forma que no se busque a una persona que tenga todo el conocimiento, sino que se creen equipos multidisciplinares cuyos integrantes sean capaces de entenderse e incorporar parte del conocimiento de las otras disciplinas para llegar a desarrollos conjuntos en los que todas las áreas estén coordinadas.
Además de las nuevas skills y conocimientos, habrá que crear toda una cultura de trabajo e interrelación (muy relacionada con la cultura agile), a la vez que será necesario gestionar estos nuevos conocimientos alrededor de cada especialización. En definitiva, es necesario que entre las personas que conforman la empresa haya una visión más general del negocio, entendiendo que las aplicaciones e infraestructuras tecnológicas no tienen sentido si no aportan valor a aquel.
A la hora de abordar un proyecto, se deberá entender en primer lugar el proceso de negocio para después desarrollar las aplicaciones necesarias, sus infraestructuras y el reclutamiento de personas con los skills necesarios para el diseño, implantación y evolución.
En definitiva, el proceso de diseño, implantación, operación y evolución de una estrategia Cloud no es solamente un asunto tecnológico, sino que, desde una vista de necesidades de negocio, debe abarcar la elección de las tecnologías y servicios necesarios, un modelo de gobierno claro y adaptado a las circunstancias que la adoptación del Cloud trae consigo, y una revisión de los skills necesarios para poder ejecutarlo con eficacia.