Ante la petición de nuestros clientes de ser asesorados para robustecer y asegurar sus cargas de trabajo,suelo plantear como punto de inicio un Well Architected Review. Esta acción permite valorar si la carga es segura, óptima, altamente disponible, resiliente, efectiva, entre otras cualidades. Por supuesto, todas estas valoraciones se realizan a la luz del Well Architected Framework y no menos importante los requerimientos actuales y futuros del negocio.
Al ejecutar este tipo de revisión en el mundo ideal se debería aplicar esta valoración usando como referencia los 6 pilares del WAF. Sin embargo, en algunas ocasiones por motivos completamente circunstanciales se nos pide limitar su alcance y en este caso mi recomendación es, al menos, aplicar la revisión del pilar de seguridad y el de costos.
El marco de referencia y sus pilares:
Para ofrecer un contexto adecuado, revisemos de forma breve en qué consiste este marco de referencia y cada uno de sus pilares. Según AWS, el Well-Architected Framework (WAF) puede definirse como el conjunto de mejores prácticas y principios centrados en seis pilares fundamentales para el diseño y evaluación efectiva de arquitecturas en la nube.
Estos pilares son:
- Seguridad: Este pilar asegura la protección de datos y sistemas. Se enfoca en prevenir incidentes costosos relacionados con la pérdida o compromiso de datos o sistemas. En términos más coloquiales, se trata de proteger nuestros activos más valiosos: nuestros datos y sistemas.
- Optimización de Costos: El objetivo de este pilar es aplicar buenas prácticas y que se logre el mayor aprovechamiento de la inversión en la infraestructura, sin comprometer en forma alguna a los otros pilares. Es decir, que nuestras decisiones al definir la arquitectura sean lo más costo-eficientes de acuerdo con los lineamientos del negocio.
- Excelencia Operativa: Al aplicar las buenas prácticas se busca contar con la capacidad de administrar y operar sistemas para ofrecer un valor (comercial, estratégico, etc.) y adaptarse a las cambiantes necesidades del negocio.
- Eficiencia de Desempeño: El desempeño eficiente es esencial para maximizar el rendimiento de las aplicaciones y reducir los costos operativos. Un mejor rendimiento se puede traducir a la larga en lograr los mismos o mejores resultados con menos recursos.
- Fiabilidad: Este pilar busca lograr la capacidad de un sistema para operar de manera coherente y resistente a fallas. Reducir la cantidad de interrupciones y tiempos de inactividad a través de la planificación y la redundancia para aumentar la eficiencia y disminuir los costos asociados a interrupciones no planificadas.
- Sostenibilidad: La sostenibilidad se enfoca en la gestión eficiente de recursos y la minimización de la huella ambiental. Al reducir el desperdicio de recursos y optimizar la capacidad de escalabilidad según la demanda, se pueden lograr ahorros sostenibles a largo plazo.
Herramienta disponible para apoyar una revisión
Al ejecutar una revisión de las cargas de trabajo tenemos a nuestra disposición el Well Architected Tool, el cual nos guía sobre los aspectos que debemos considerar al valorar cada carga de trabajo. Dicha herramienta es una guía donde pilar por pilar se nos indica qué características de la carga deben ser contempladas por nuestra arquitectura. Esta herramienta puede ser personalizada aplicando diferentes “lentes” según las características y particularidades de nuestros clientes.
Desde una perspectiva completamente personal la primera vez que utilicé la herramienta sentí que me guiaba por el camino correcto, pero al ir profundizando cuando nos toca ir al detalle técnico puro y crudo sobre los servicios la guía resulta algo etérea. Es por esto que decidí crear esta serie de artículos, donde deseo compartir mi experiencia personal sobre cómo adaptar esta guía y ejecutar revisiones de manera que resulte cómodo tanto para el arquitecto encargado como para el cliente final. Me centraré en el pilar de seguridad. En este contexto, me gustaría ofrecer una sugerencia sobre cómo preparar y realizar una revisión de una carga de trabajo de forma manual. Aunque soy consciente de la existencia de herramientas que automatizan muchos de estos hallazgos, considero fundamental, quizás debido a mi formación, entender qué elementos buscar o rastrear para así evaluar la completitud de las soluciones disponibles en el mercado.
La etapa de preparación
Antes de profundizar en cómo ejecutar la revisión, es crucial abordar la etapa de preparación, la cual es fundamental para todos los pilares del framework a incluir. El primer paso consiste en conocer a fondo a nuestro cliente y sus cargas de trabajo. Esta comprensión inicial es vital para personalizar efectivamente la revisión y ajustarnos a las necesidades específicas de la organización. Este conocimiento funcional nos ayuda a comprender mucho mejor la arquitectura a la que nos enfrentaremos y nos dará un panorama más allá de lo meramente técnico.
En primer lugar, es esencial utilizar la lista de chequeo proporcionada por el Well-Architected Review Tool (WAR Tool). Al analizarlas de antemano podemos ser conscientes de los aspectos clave que debemos explorar directamente con los responsables de la carga para cada pilar a valorar. Identificar los puntos que deseamos conversar con nuestro cliente para obtener un contexto apropiado para la evaluación. Algunos puntos vitales que considerar son:
- La naturaleza de la carga de trabajo
- Importancia e impacto para la organización
- Los procedimientos existentes
- El personal involucrado
- La presencia de terceros que apoyan los procesos
- Los ambientes operativos
- Las prácticas de despliegue
- La sensibilidad de los datos en ella
Independientemente de si se realiza un análisis de resiliencia y alta disponibilidad o no, entender los requerimientos relacionados con Tiempo de Recuperación (RTO) y Punto de Recuperación (RPO). Las respuestas pueden variar significativamente, desde "si falla el negocio no va a morir" hasta "no puede estar más de 5 minutos fuera", en muchas ocasiones al analizar la arquitectura nos damos cuenta que no hay coherencia entre lo que el negocio necesita y lo que su arquitectura es capaz de soportar.
Planificar la conversación
En mi experiencia, tanto en el rol de oyente como de analista he sido testigo de varias metodologías, he encontrado que el método más eficiente y efectivo para facilitar el flujo de información es iniciar una conversación casual con el cliente. Este enfoque busca completar la lista de puntos de interés de manera relajada y natural. Desde mi perspectiva, es fundamental evitar bajo cualquier circunstancia caer en la tentación de aplicar directamente los cuestionarios que proporciona el “lente” al cliente. Esta dinámica puede hacer que la conversación se torne extremadamente pesada y transmitir una sensación de auditoría, lo que puede resultar en una experiencia agobiante y complicada para el cliente.
Quién participará en la sesión
Es un aspecto de suma importancia asegurar la participación de un representante del negocio que pueda proporcionar información detallada sobre la función de la carga de trabajo, así como del encargado técnico responsable de la misma. Es importante recalcar que el objetivo de esta fase no es ser exhaustiva hasta el punto de resultar agotadora, sino obtener el contexto necesario para analizar la infraestructura desde una perspectiva informada.
La ejecución de la entrevista y su comprensión
Con la información recolectada estaremos listos para ir a la consola y barrer los servicios desplegados y analizar cada uno a la luz de las categorías de análisis de cada pilar.
Para ilustrar cómo personalizar las preguntas basadas en la lista de chequeo (ver figura1), aquí un ejemplo enfocado en la gestión de incidentes, este ejemplo no pretende ser exhaustivo y es una base que se irá ajustando dinámicamente a las respuestas obtenidas:
- Política de Gestión de Incidentes: ¿Cuál es el plan de acción ante la detección de un incidente?
- Roles y Responsabilidades: ¿Quiénes son los responsables de atender los incidentes y cómo se identifican?
- Automatización y Herramientas: ¿Existe un proceso automatizado para notificar fallas? ¿Qué herramientas se utilizan para prevenir y mitigar problemas de seguridad?
- Escalabilidad del Proceso: ¿Cómo se escala un incidente y qué apoyo externo está disponible? ¿Existe un soporte continuo 24/7/365 con asesores externos? De existir, cuando se incorporan, ¿se tienen los contactos? ¿Se cuenta con soporte del fabricante, de ser así, qué tipo de soporte se tiene? ¿Están los involucrados al tanto de que existe el soporte y saben cómo y cuándo proceder?
- Documentación y Procesos: ¿Existen procedimientos documentados de cómo proceder ante un incidente? Posterior al incidente, ¿qué proceso se sigue?
- Simulacros: ¿Se han ejecutado simulacros de atención de fallas? ¿Se cuenta con recursos pre-aprovisionados?
Estas preguntas no solo nos ayudan a evaluar la preparación actual, sino también a identificar áreas para mejorar. Más adelante en la consola, verificaremos aspectos técnicos como la habilitación de logs, políticas de failover, y los backups, pero la idea es orientar la conversación para que podamos determinar la sensibilidad de la carga, el stack tecnológico y hasta cierto grado que seamos conscientes del grado de madurez de la organización, lo que al final del proceso nos ayudará a generar recomendaciones que la organización pueda adoptar paulatinamente mejorando primero los puntos de mayor impacto y sensibilidad.
Una vez preparado el material procedemos con la entrevista de la forma más natural posible y siempre al ritmo de nuestro cliente que las respuestas obtenidas sean el hilo conductor de la entrevista.
Verificando buenas prácticas desde la perspectiva del pilar de seguridad
Una vez recopilada la información que nos brinda el contexto necesario para analizar la carga de trabajo de manera acorde a las necesidades del cliente y de acuerdo con las buenas prácticas, podemos proceder a la evaluación de la carga de trabajo. Soy consciente de que existen diversas herramientas en el mercado para automatizar la valoración de los pilares de WAF, aunque no pretendo ser excesivamente detallada, prefiero proponer un análisis de la carga realizada por nuestros propios medios utilizando un set de recursos básicos. Es un enfoque “algo manual”, es útil para tener el criterio necesario a mano para elegir de manera más efectiva, entre las múltiples herramientas o servicios existentes en el mercado.
Para lograr el objetivo de mantener nuestros recursos seguros, debemos pensar en una estrategia redundante donde podamos asegurar capas, de forma tal que si una falla el resto de las capas pueden evitar el impacto.
En las próximas entregas abordaremos los siguientes temas :
- Mantener la operación segura
- Manejo de identidades
- Monitoreo y manejo de incidentes
- Protección de la infraestructura
- Protección de la red
- Protección de datos
Top comments (0)