Los cinco pilares

Los cinco pilares provienen de una síntesis de más de una década de experiencia en la creación de aplicaciones escalables en la nube. Abarcan las siguientes áreas:

  1. Seguridad (zero trust)
  2. Rendimiento (considerar servicios como ganado no como mascotas)
  3. Confiabilidad (minimizar radios de impacto)
  4. Excelencia operativa (mejora continua con automatización)
  5. Optimización de costos (gastos menores continuos en lugar de inversión única de capital)

Pilar 1: Seguridad

El pilar se seguridad se centra en cómo asegurar la infraestructura en la nube que son una responsabilidad compartida entre AWS y el cliente. Esto incluye la infraestructura física, el software y las capacidades de red de los servicios en la nube de AWS. El responsable de la seguridad en la nube es el usuario. Esto incluye la configuración de servicios específicos en la nube, el software de la aplicación y la administración de los datos confidenciales.

Modelo mental

A la hora de pensar en la seguridad en la nube, es útil adoptar el modelo zero trust.

En este modelo, todos los componentes y servicios de las aplicaciones se consideran entidades discretas y potencialmente maliciosas. Esto incluye el tejido de red subyacente, todos los agentes que tienen acceso a los recursos y el software que se ejecuta dentro del servicio.

 Conceptos

Cuando pensamos en la seguridad en términos de zero trust, significa que tenemos que aplicar medidas de seguridad en todos los niveles de nuestro sistema. A continuación, se presentan tres conceptos importantes para asegurar los sistemas con zero trust en la nube:

  • Identity and Access Management (IAM): Las políticas de IAM determinan los límites de acceso para las entidades dentro de AWS que consisten en PRINCIPIOS, ACCIONES y RECURSOS. Pueden utilizarse para aplicar el principio de mínimo privilegio. IAM tiene varios tipos de políticas: las basadas en identidades y las basadas en recursos y valora el acceso en función de la evaluación de todos los tipos de políticas aplicables a un determinado recurso.
  • Seguridad de la red: 1 Seguridad a nivel de la red: Siguiendo Amazon Virtual Private Cloud (VPC). Se trata de una red lógica (subredes, ruteos, tablas, gateways)  en la que se definen y se pueden aprovisionar recursos. 2 Seguridad a nivel de recursos: El control más común se conoce como grupo de seguridad (firewalls virtuales que puede utilizar a fin de controlar el tráfico que entra y sale de su recurso).
  • Cifrado de datos: Adoptar un modelo zero trust para los datos significa cifrar todos nuestros datos, tanto en tránsito como en reposo. Puede utilizar los servicios como ALB para aplicar el cifrado de datos en tránsito a sus propios servicios o CMK para desbloquear funcionalidades avanzadas, como la creación de seguimientos de auditoría, el uso de claves personalizadas y la rotación automática de clave.

Pilar 2: Eficacia del rendimiento

Mientras la nube le brinda los medios para gestionar cualquier cantidad de tráfico, requiere que elija y configure los servicios con la escala en mente.

Modelo mental

Considerar a sus servicios como ganado (ningún servidor único debe ser esencial para la operación del servicio.), no como mascotas (donde cada servidor es único y requiere mucho tiempo en configuraciones y mantenimiento).

Conceptos

Selección: La carga de trabajo típica generalmente requiere la selección de alguna de las 4 categorías principales de servicios en AWS: informática, almacenamiento, base de datos y red.

  • La informática involucra el servicio que procesará los datos (por ejemplo, máquina virtual)
  • El almacenamiento involucra el almacenamiento estático de datos (por ejemplo, almacenamiento de objetos)
  • La base de datos involucra el almacenamiento organizado de datos (por ejemplo, base de datos relacional)
  • La red involucra la forma en que se mueven los datos (por ejemplo, red de entrega de contenido)

Escalado: Si bien elegir el servicio correcto es clave para comenzar, elegir como escala es importante para el rendimiento continuo. AWS posee dos medios primarios de escalado:

  • Escalado vertical: Supongamos que ejecuta una instancia t3.small. El escalado vertical de esta instancia puede ser actualizarla a t3.large (es más sencillo operativamente, pero representa un riesgo de disponibilidad y posee límites más bajos).
  • Escalado horizontal: Supongamos que ejecuta una instancia t3.small. El escalado horizontal de esta instancia implicaría el aprovisionamiento de dos instancias t3.small adicionales (requiere más sobrecarga, pero viene con mucha mejor fiabilidad y límites mucho más altos)

Pilar 3: Fiabilidad

Se centra en cómo puede crear servicios que son resistentes a las interrupciones de infraestructura y servicio. Al igual que con la eficacia del rendimiento, mientras la nube le proporciona los medios para crear servicios resistentes que pueden soportar la interrupción, requiere que diseñe los servicios con la fiabilidad en mente.

Modelo mental

Es útil pensar en términos de radio de alcance (el impacto máximo que se puede soportar en caso de un error del sistema). Para crear sistemas fiables, se busca minimizar el radio de alcance de cualquier componente individual.

 Conceptos

Ya no es una cuestión de si va a ocurrir, sino de cuándo va a suceder. Para afrontar un error cuando ocurre, se pueden utilizar las siguientes técnicas para limitar el radio de alcance:

  • Aislamiento de errores: Limita el radio de alcance de un incidente mediante el uso de componentes independientes redundantes que se separan a través de zonas de aislamiento de errores. Las zonas de aislamiento de errores contienen el impacto de cualquier error en el área dentro de la zona en tres niveles:
    • Recurso y solicitud: AWS divide todos los recursos y solicitudes en una dimensión determinada, como el ID del recurso. A estas particiones se las conoce como celdas. Las celdas están diseñadas para ser independientes y contener los errores dentro de una sola. En segundo plano, AWS utiliza técnicas como la partición aleatoria para limitar el radio de alcance.
    • Zona de disponibilidad: Una zona de disponibilidad (AZ) de AWS es una instalación completamente independiente con capacidades dedicadas a la energía, el servicio y la red. El aislamiento de errores se logra a nivel de AZ mediante la implementación de instancias redundantes del servicio a través de diversas AZ.
    • Región: Una región de AWS proporciona el aislamiento definitivo. Cada región es un centro de datos completamente autónomo, compuesto por dos o más AZ. Considere la posibilidad de implementar en diversas regiones si requiere niveles de disponibilidad muy altos.
  • Límites: Son restricciones que pueden aplicarse para proteger a los servicios de una carga excesiva. Son un medio eficaz para limitar el radio de alcance tanto de incidentes externos (por ejemplo, un ataque DDoS) como internos (por ejemplo, una configuración incorrecta del software). Existen límites blandos que se pueden aumentar si se solicita un aumento a AWS y límites duros que no se pueden aumentar.

Pilar 4: Excelencia operativa

Se centra en cómo puede mejorar de manera continua su habilidad para ejecutar sistemas, crear mejores procedimientos y obtener información.

Modelo mental

Es útil pensarla en términos de automatización. El error humano es la principal causa de defectos e incidentes operativos. Cuantas más operaciones automatizadas, menos probabilidades de error humano.

Conceptos

Debe centrar la atención en las áreas que actualmente requieren la mayor parte del trabajo manual y que podrían conllevar el mayor nivel de error. Nos centraremos en los siguientes dos conceptos de excelencia operativa:

  • Infraestructura como código (IaC): Es el proceso de administración de la infraestructura mediante archivos de configuración de lectura automática. La IaC es la base que permite automatizar la infraestructura. En lugar de aprovisionar servicios manualmente, se crean plantillas que describen los recursos que desea. La plataforma de IaC se encarga de aprovisionar y configurar los recursos por usted.
  • Observabilidad: Es el proceso de medición del estado interno del sistema. Por lo general se realiza con el objetivo de optimizarlo para que alcance un estado final deseado. Dado que no se puede mejorar lo que no se mide crear una base sólida de observabilidad posibilita conocer el impacto de la automatización en el sistema y mejorarlo continuamente. Implementar la observabilidad incluye los siguientes pasos:
    • Recopilación: La recopilación es el proceso mediante el que se suman todas las métricas necesarias para evaluar el estado de un sistema.
    • Análisis: Para analizar las métricas recopiladas, puede utilizar una de las numerosas soluciones de bases de datos y análisis que ofrece AWS.
    • Acción: Puede tomar medidas en torno a las métricas por medio del monitoreo, la creación de alarmas y paneles y el seguimiento de KPI de rendimiento y del negocio

Pilar 5: Optimización de costos

Ayuda a lograr resultados empresariales mientras se minimizan los costos.

Modelo mental

Considerar los gastos de la nube en términos de los gastos operativos en lugar de inversión de capital. El gasto operativo es un modelo de pago por uso continuo, mientras que la inversión de capital es un modelo de compra única. Como paga solo por lo que utiliza, cualquier exceso de capacidad se puede interrumpir de manera sencilla.

Conceptos

El traslado de un modelo de inversión de capital a uno de gasto operativo cambia totalmente el enfoque del costo de la infraestructura. En lugar de grandes pagos iniciales por costos fijos, piense en pequeños gastos variables continuos que introducen los siguientes cambios al proceso de optimización de costos:

  • Pago por uso: Hay cuatro maneras comunes de optimizar los gastos de la nube cuando paga por uso:
    • Tamaño correcto: Para los servicios basados en EC2, esto significa elegir la familia y tamaño de instancia correcta. Si los recursos informáticos están mayormente inactivos, considere utilizar una instancia EC2 más pequeña. Para ayudar en este proceso, puede utilizar AWS Compute Optimizer.
    • Tecnología sin servidor: Cuando utiliza tecnologías sin servidor, como Lambda, solo paga por lo que utiliza. Si no se ejecuta Lambda, no se le cobrará.
    • Reservas: La solicitud de reservas implica comprometerse a pagar por cierta cantidad de capacidad a cambio de un descuento significativo. Para EC2, puede dar lugar a un descuento del 72 % para la informática también puede solicitarlas para otros servicios, como RDS, DynamoDB y CloudFront.
    • Instancias de spot: Las instancias de spot de EC2 le permiten aprovechar la capacidad de EC2 que no utiliza para ejecutar instancias con hasta un 90 % de descuento cuando se las compara con precios bajo demanda.
  • Optimización de costos del ciclo de vida: La optimización de costos del ciclo de vida es el proceso continuo para mejorar el gasto en la nube a lo largo del tiempo. Consiste en el siguiente flujo de trabajo de tres pasos:
    • Analizar: AWS Cost Explorer lo ayuda a visualizar y revisar el gasto de la nube a lo largo del tiemp
    • Optimizar: Ejemplos de objetivos de optimización: % de instancias EC2 que están cubiertas por un plan de ahorro de costos: su organización debe aspirar a una cobertura del 80 % al 90 %

Fuente: Curso de aspectos fundamentales de AWS