¡Hola de nuevo! Bienvenidos a la tercera y última parte del análisis del Cloud Adoption Framework de Google.
En la primera parte revisamos las materias más importantes sobre las que se trabaja en el CAF, los niveles de madurez en la nube que puede alcanzar nuestra empresa y cuál es el método propuesto para abordar la adopción de la nube en nuestra organización.
En la segunda introdujimos las épicas como aspectos que definen nuestro nivel de madurez en puntos concretos y que nos sirven para establecer acciones de mejora y transición. Comenzamos a analizar el conjunto de épicas, empezando con las relacionadas con las materias de Aprender y Liderar.
En esta última parte de la serie terminaremos de detallar el resto de épicas que se relacionan con las materias de Escalar, Segurizar, Personas, Procesos y Tecnología.
¡Vamos allá!
El objetivo de esta épica es proporcionar las mejores prácticas y arquitecturas de referencia que nos permitan un aprovechamiento óptimo de la nube. Esto no solo tiene implicaciones en los servicios o infraestructura que se aprovisionan bajo la misma, sino también en la forma en que se diseñan las aplicaciones para poder aprovechar todas las posibilidades de elasticidad y alta disponibilidad.
Los aspectos que describen cada uno de los niveles de madurez en esta épica son los siguientes:
Los despliegues en la nube utilizan una aproximación IaaS (Infrastructure as a Service) basada principalmente en máquinas virtuales que son gestionadas por el equipo IT. Cuanto mayor es el número de despliegues, aumenta la complejidad en la monitorización y mantenimiento. También, aumentan los riesgos para mantener una configuración coherente de los recursos y la recolección de métricas que sean valiosas.
Los despliegues hacen uso de infraestructura IaaS bajo máquinas virtuales, pero estas son inmutables y están aplantilladas. La configuración dependiente del entorno se obtiene de servicios externos y no forma parte de la definición de la máquina virtual en sí. Se han identificado las cargas de trabajo stateful y stateless para poner en marcha mecanismos de escalado horizontal ante picos de demanda.
Los equipos de desarrollo de las aplicaciones disponen de recolección de métricas y eventos avanzados (Application Performance Monitoring) lo que permite tanto una monitorización en tiempo real de la salud del servicio como retroalimentación para la mejora y evolución de los componentes de la aplicación.
Los servicios IaaS han sido reemplazados paulatinamente por servicios gestionados, Platform as a Service, equivalentes o soluciones Software as a Service. Esto ha reducido la carga del área IT que puede dedicarse a otras tareas de innovación o experimentación.
Las máquinas virtuales que existen no requieren de accesos por consola para su aprovisionamiento, configuración o mantenimiento. Solo se utiliza en caso de emergencia para labores de depuración.
Se han establecido unos objetivos de nivel de servicio que están sustentados en métricas que se recogen de forma automática y forman parte de la visión unificada de observabilidad.
El objetivo de esta épica es disponer de un sistema para automatizar los cambios y que estos puedan ser probados, auditados y desplegados con la mínima interrupción posible. Un sistema de CI/CD contribuye a generar confianza en que todo cambio funcionará como se espera. Cuando no se dispone de este tipo de procedimientos, o no se emplean convenientemente, la incertidumbre hace que se reduzcan las entregas de nuevas funcionalidades y estas se alarguen en el tiempo.
Los aspectos que describen cada uno de los niveles de madurez en esta épica son los siguientes:
Todo cambio en el código de las aplicaciones o en la configuración de los entornos se realiza de modo manual. El riesgo (alto) de este tipo de operaciones hace que los despliegues de nuevas versiones se espacien en el tiempo y transcurran semanas o incluso meses entre las mismas.
Los despliegues de nuevas versiones en producción se ejecutan de forma automática, si bien el lanzamiento del proceso que realizará dicho despliegue sigue siendo manual.
Existen mecanismos para hacer un rollback de los despliegues de manera sencilla, es decir, deshacerlos si presentan problemas de forma rápida. Todo ello redunda en que la percepción de riesgo ante el despliegue de nuevas versiones sea moderado.
El despliegue de nuevas versiones se efectúa de manera completamente automática, alcanzando una aproximación de continuous deployment. Para ello se han puesto en marcha estrategias de despliegue por fases como las canary releases, blue/green, etc.
La percepción del riesgo que supone el despliegue de nuevas versiones es muy bajo.
El objetivo de esta épica es conseguir la automatización de la configuración y aprovisionamiento de recursos a través de código, eliminar errores humanos, reducir tiempos y documentar el proceso.
La automatización de la infraestructura como código habilita la posibilidad de escalar de forma automática los recursos de manera horizontal, eliminar la necesidad de accesos con privilegios a los entornos y disponibilizar entornos de desarrollo y/o pruebas en cuestión de minutos.
Los aspectos que describen cada uno de los niveles de madurez en esta épica son los siguientes:
El aprovisionamiento de infraestructura se realiza de manera manual. En el caso de los recursos que se crean en la nube, este proceso se ejecuta a través del portal web o por línea de comandos. No existe ningún tipo de herramienta para definir de forma declarativa la infraestructura.
Los recursos se aprovisionan de forma automática con herramientas que permiten la definición declarativa de la infraestructura. El lanzamiento de la automatización no requiere de una introducción de parámetros complejos.
La automatización de los recursos de infraestructura permite crear nuestros entornos de forma completa en minutos. Estos mecanismos nos habilitan la introducción de procesos de recuperación ante desastres con RTO y RPO bajos y asegurar la continuidad del negocio.
El objetivo de esta épica es disponer de un sistema para identificar usuarios y servicios que garantice la seguridad ante pérdida de credenciales o intentos de suplantación. Este modelo de seguridad se fundamenta en la combinación de múltiples factores de autenticación sin residir únicamente en uno de ellos o la red desde la que se conecta el usuario.
Los aspectos que describen cada uno de los niveles de madurez en esta épica son los siguientes:
Existe un único punto de identidad centralizada para los servicios desplegados en la nube, aunque no se dispone de una sincronización con el directorio de identidad corporativo (LDAP, Microsoft Active Directory, etc.). Por tanto, aún no existe un único punto de gobierno de la identidad.
La identidad se gestiona desde un único punto, ya sea para los servicios desplegados en la nube o los entornos corporativos en el centro de datos de la organización. Existen mecanismos de single sign-on o sincronización de password para que los usuarios no tengan que manejar múltiples contraseñas. La autenticación multifactor (MFA) está habilitada y es obligatoria para todos los usuarios. Los mecanismos MFA incluyen los SMS o código generados en aplicación móvil.
Los mecanismos MFA están habilitados y son obligatorios para todos los usuarios. La doble autenticación está basada únicamente en hardware de seguridad.
El objetivo de esta épica es asegurar que solo las personas y servicios correctos son autorizados a realizar las acciones establecidas y permitidas en nuestros recursos. Una buena política de acceso siempre está basada en el mínimo privilegio posible, pero sin entorpecer que los usuarios accedan legítimamente a los recursos que necesiten para hacer su trabajo.
Los aspectos que describen cada uno de los niveles de madurez en esta épica son los siguientes:
Los permisos de acceso no disponen de la granularidad necesaria para alcanzar el enfoque del mínimo privilegio posible. No se realiza una monitorización activa de los accesos y tampoco auditorías periódicas.
Las cuentas de servicio no están gobernadas, por lo que se crean libremente y sus passwords o secretos no se rotan automáticamente.
La seguridad del acceso tiene en cuenta el contexto de red (on-premise, VPN, etc.) desde donde se conectan los usuarios o servicios.
Los permisos de acceso son granulares, lo que permite un control más fino de las operaciones permitidas y la consecución del mínimo privilegio posible.
Existen políticas y mecanismos para evitar que servicios privados desplegados en la nube sean accesibles a través de Internet.
Cualquier comunicación entre servicios está autenticada y autorizada. Esta seguridad no se basa en contexto de red. Los accesos son monitorizados de forma activa y son capaces de disparar alertas y remediar potenciales ataques.
Los permisos y reglas de firewall establecidas también son monitorizados y auditados de manera activa para alertar de problemas de seguridad.
El objetivo de esta épica es disponer de políticas explícitas de gestión de los datos gestionados por la organización, de dónde vienen, grado de sensibilidad y quién accede a ellos. El propósito es almacenar los datos de manera segura bajo un aprovechamiento ético de los mismos. El cumplimiento de cualquier legislación o reglamento en torno a los datos, se enmarcaría en el alcance de esta línea de trabajo.
Los aspectos que describen cada uno de los niveles de madurez en esta épica son los siguientes:
El acceso a la información está controlado, pero esta no está clasificada conforme a su sensibilidad, por lo que no se pueden establecer controles basándonos en la misma.
No existe una visión holística de la información existente en la organización, por lo que toda la gestión se realiza de forma local a la línea de negocio o área que genera los datos.
Existe un inventario de los datos, su tipología y sensibilidad. Se ha centralizado un conjunto de políticas y controles para evitar la fuga de información o uso inadecuado de los datos.
La organización comparte un catálogo de datos de toda la información existente. Se dispone un conjunto de metadatos que la describen junto con un glosario que detalla el origen de los datos, sus métricas de calidad o los casos de uso que los explotan. Existe un linaje completo de la información.
Por otro lado, para mitigar los riesgos de un uso inadecuado de los datos, existen herramientas para monitorizar las políticas y acceso, detectar anomalías y alertar de potenciales brechas de seguridad.
Hasta ahora hemos recorrido todas las épicas relacionadas con las materias imprescindibles para una adopción y aprovechamiento exitoso de la nube (Aprender, Liderar, Escalar y Segurizar).
En 1964 el Dr. Harold Leavitt, un psicólogo americano especializado en administración de empresas, definió un modelo para identificar los aspectos a cuidar cuando se implementan iniciativas para orientar los esfuerzos de la compañía en la consecución de sus objetivos. La idea original hablaba de cuatro puntos de vista: personas, tareas, estructura y tecnología.
A lo largo de los años este modelo se ha ido refinando, unificando tareas y estructura bajo la figura de los procesos. De esta manera obtenemos un famoso triángulo, o taburete de tres patas, en el área de la gestión empresarial conocido como: Personas, Procesos y Tecnología.
Estos serían puntos que también deben tenerse en cuenta cuando se acometen cambios en la forma de trabajar de la compañía y sobre los que el CAF de Google también nos enumera qué épicas podemos trabajar para fortalecerlos. Aquí ya no se nos indica qué niveles de madurez tendríamos en cada una de ellos, sino cuál sería la situación que mayor beneficio aportaría a la organización.
Vamos a ver brevemente el objetivo de cada una de estas épicas.
La adopción exitosa de la nube requiere un cambio de mentalidad de la organización. Los mayores réditos los obtendremos cuando hayamos instaurado una cultura de colaboración, desculpabilización ante el error, empatía, retención del conocimiento y decisiones basadas en los datos.
La organización tiene que entender que nos movemos en un entorno complejo donde el fallo es inevitable y tratar los errores como oportunidades para mejorar. La eliminación de la culpa y cualquier tipo de acusación entre los equipos es fundamental para crear un ambiente sano y de crecimiento. La clave estará en sistematizar los análisis post-mortem para incluir un sistema de aprendizaje y mejora continua.
Los cambios siempre impactarán de una u otra manera en la estructura de la organización. Es importante que en los procesos de adopción de la nube se trabaje por redefinir los roles y responsabilidades necesarias, así como la forma de medir objetivamente la consecución de los resultados.
La libertad para poder innovar y experimentar requiere el aprovisionamiento de recursos de forma rápida y directa por los equipos de desarrollo. Para incrementar la conciencia sobre el impacto que este tipo de decisiones tienen en los costes de la compañía es fundamental que dispongan de mecanismos para consultarlos de forma autónoma. También es necesario disponer de cuotas y alertas para no tener sorpresas cuando se habilita este modo de autoservicio en la infraestructura.
La adopción de la nube y sus servicios ofrece oportunidades para mejorar el alertado ante la degradación del rendimiento de los servicios. Los beneficios de un modelo de operaciones robusto van desde la reducción de la probabilidad de caída del servicio, minimizar el impacto de las caídas cuando estas ocurran y desarrollar soluciones con arquitecturas resilientes.
Si en la gestión de incidentes ponemos el foco en un modelo de operaciones sobre la infraestructura, en esta épica haremos lo mismo con nuestras aplicaciones. La recogida de métricas, eventos y trazas nos permitirá establecer mecanismos de retroalimentación para la mejora continua de nuestros desarrollos. La auditoría de la configuración y acciones de la infraestructura, también nos permitirá correlacionar el impacto que estas tienen en el desempeño de las aplicaciones.
Existen ciertos aspectos clave a la hora de crear la infraestructura base sobre la que empezaremos a desplegar servicios y cargas en la nube. La conectividad y topología de red es uno de ellos. Bajo esta épica daremos forma a nuestra red, su integración con nuestros entornos on-premise o multicloud y los protegeremos convenientemente en conjunto con las épicas de gestión de la identidad y accesos.
El poder disponer de infraestructura bajo demanda y poder crecer potencialmente tanto como se necesite conlleva el desafío de gobernar correctamente la creación de estos recursos. Además, la libertad que puede otorgarse a los equipos para generar su propia infraestructura no es posible si no se estructura de manera homogénea todos los servicios aprovisionados. En esta épica se definirá políticas explícitas de nombrado, etiquetado, jerarquía de recursos y las cuotas necesarias para disponer de unos entornos consistentes y controlados.
Con esta última épica han sido, nada más y nada menos, diecisiete aspectos los que hemos analizado y que inciden en el éxito de este viaje que es la puesta en marcha de la nube en nuestra organización.
Esto vuelve a servir para poner en valor el contar con un método para abordar este tipo de cambios en la compañía. Sin este tipo de guías, es fácil desatender componentes que al final pueden impactar y retrasar la consecución de resultados.
Nuestra recomendación no puede ser otra que contéis con estas herramientas cuando abordéis estos proyectos. Si decidís no seguir el método al pie de la letra, siempre puede servir como checklist para revisar que vuestra aproximación también cubre estos aspectos y no se ha dejado ninguno en el tintero.
Con este último post, hemos finalizado el análisis de los CAF de los proveedores cloud más importantes: Azure, AWS y Google Cloud. Esperamos que haya sido de vuestro interés. Estamos a vuestra disposición en los comentarios. ¡Hasta pronto!
Tell us what you think.