Arquitectura Cloud

CLOUD COMPUTING

CLOUD COMPUTING

Global Cloud Platform

CLOUD COMPUTING

A global Datacenter

  • +30 Regiones 
  • 105 AZ
  • +600 Edge locations
  • 13 Regional caches

CLOUD COMPUTING

REGIONES

  • disponible en 140 paises

CLOUD COMPUTING

A global Datacenter

REGIONES y por qué elegir una u otra:

  • Latencia
  • Valor del servicio
  • Legislación aplicable
  • Servicios disponibles

$ aws ec2 describe-regions --output table

CLOUD COMPUTING

A global Datacenter

Zonas de Disponibilidad

  • Ubicación Física Aislada: Cada AZ es una ubicación física distinta, separada geográficamente de otras AZs dentro de la misma región, pero lo suficientemente cerca como para permitir la replicación de datos de baja latencia.
  • Independencia de Infraestructura: Cada AZ tiene su propia energía, refrigeración y conectividad de red, lo que reduce el riesgo de fallos que puedan afectar a más de una AZ al mismo tiempo.
  • Conectividad de Baja Latencia: Las AZs dentro de una misma región están interconectadas a través de redes privadas y rápidas, lo que permite la replicación de datos y la implementación de arquitecturas altamente disponibles.
$ aws ec2 describe-availability-zones --region us-west-2

CLOUD COMPUTING

+ 300 services

IaaS - PaaS - SaaS - Storage aaS

CLOUD COMPUTING

+ 300 services

IaaS - PaaS - SaaS - Storage aaS

CLOUD COMPUTING

CLOUD COMPUTING

Object Storage

CLOUD COMPUTING

CLOUD COMPUTING

CLOUD COMPUTING

CLOUD COMPUTING

CLOUD COMPUTING

Ámbito de los servicios

CLOUD COMPUTING

Costos

Free Plan

6 meses sin costo

$200 USD en créditos

Algunos servicios siempre gratis

No se incurre en gastos hasta pasar a Plan Pago

 Escalar por todo el crédito disponible

Acceso a todos los servicios AWS

Arquitectura del cloud

¿Que hay cuando entramos a una cloud?

  • Una cloud no es solo una colección de servidores
  • Es una plataforma construida por el proveedor
  • Esa plataforma abstrae hardware, red, almacenamiento y cómputo
  • Luego expone todo eso como servicios utilizables

CLOUD COMPUTING

Capas de una cloud

CLOUD COMPUTING

Text

  • Abajo está la infraestructura física del proveedor
  • Encima aparecen capas que abstraen esa complejidad
  • El usuario normalmente no opera el hardware
  • El usuario consume recursos y servicios ya preparados

Hardware físico

Hardware físico

Virtualización y abstracción

Red y almacenamiento

Servicios de cloud

Qué veo como usuario

CLOUD COMPUTING

Un menú de capacidades as a service:

  • Computo: maquinas virtuales, contenedores, funciones
  • Red: redes virtuales, balanceadores, DNS, CDN
  • Storage: bloques, archivos, objetos, bases de datos
  • Seguridad: identidades, permisos, firewalls, cifrado
  • Operacion: monitoreo, automatizacion, logs, CI/CD

Arquitecturas tipicas de aplicaciones Cloud

CLOUD COMPUTING

Mismo problema, distintas soluciones

Que cambia al disenar para cloud

  • La aplicacion deja de pensarse como una sola maquina
  • La infraestructura puede crecer y reducirse
  • Algunos componentes se operan manualmente
  • Otros se consumen como servicios administrados

Cloud no es solo "poner servidores en internet".

Es que la aplicación haga uso de las características 'esenciales' de cloud computing

CLOUD COMPUTING

Una misma app puede evolucionar

Ejemplo: red social

VM unica
  ->
3 capas
  ->
3 capas con servicios administrados
  ->
microservicios y eventos

La arquitectura cambia cuando cambian la escala, el equipo y las necesidades de operacion.

CLOUD COMPUTING

Arquitectura 1: 3 capas clasica

Separacion basica

Cliente
  ->
Frontend / Web
  ->
Aplicacion
  ->
Base de datos
  • Es una arquitectura facil de entender
  • Puede desplegarse con maquinas virtuales
  • Sirve muy bien como primer paso en cloud

Ejemplo

EC2 para web y app + base de datos relacional

CLOUD COMPUTING

Cuando conviene una arquitectura 3 capas

  • Cuando la aplicacion todavia es relativamente simple
  • Cuando el equipo es pequeno
  • Cuando queremos separar responsabilidades sin multiplicar componentes

Ventajas

  • Clara
  • Facil de explicar
  • Facil de empezar a operar

Limites

  • Escala mas acoplada
  • Cambios y despliegues mas grandes

CLOUD COMPUTING

Arquitectura 2: 3 capas con servicios administrados

Misma idea, menos operacion manual

Cliente
  ->
CDN / Balanceador
  ->
Web / App
  ->
Base gestionada + Storage + Cache
  • La arquitectura general sigue siendo parecida
  • Cambia quien opera cada componente
  • Se reduce trabajo de mantenimiento

Ejemplos tipicos

Base gestionada, almacenamiento de objetos, cache, CDN, balanceador

CLOUD COMPUTING

Que aporta usar servicios administrados

  • Menos trabajo operativo
  • Mejor integracion con backup, monitoreo y escalado
  • Menor tiempo para poner la aplicacion en produccion

A cambio

  • Hay mas dependencia del proveedor
  • Puede haber menos control fino
  • El costo debe analizarse con cuidado

No siempre cambia la arquitectura logica. Cambia mucho la arquitectura operativa.

CLOUD COMPUTING

Arquitectura 3: microservicios y APIs

La aplicacion se divide por capacidades

Cliente
  ->
API Gateway
  ->
usuarios | publicaciones | comentarios | notificaciones
  • Cada servicio resuelve una parte del problema
  • Cada servicio expone una API
  • Los servicios pueden escalar de forma diferente

La aplicacion y el equipo crecen

CLOUD COMPUTING

Ventajas y costos de microservicios

Ventajas

  • Escalado por componente
  • Despliegues mas independientes
  • Mejor separacion funcional

Costos

  • Mas complejidad
  • Mas observabilidad
  • Mas problemas de red, versionado y consistencia

Microservicios no son "la opcion moderna obligatoria". Son una respuesta a ciertos problemas.

CLOUD COMPUTING

Arquitectura 4: eventos y serverless

Ideal para tareas desacopladas

Usuario sube imagen
  ->
Storage
  ->
Evento
  ->
Funcion
  ->
Procesamiento / notificacion
  • Muy util para procesamiento puntual
  • Escala por demanda
  • Evita mantener servidores para algunas tareas

Casos comunes

Miniaturas, notificaciones, validaciones, integraciones

CLOUD COMPUTING

Patrones transversales en aplicaciones cloud

  • Balanceador para repartir trafico
  • Cache para reducir latencia
  • CDN para acercar contenido
  • Cola para desacoplar procesos
  • Base de datos replicada para disponibilidad
  • Observabilidad para logs, metricas y alertas

Estos patrones aparecen en distintas arquitecturas, no en una sola.

CLOUD COMPUTING

DevOps y CI/CD en este contexto

No es otra arquitectura

Es la forma de construir, probar y desplegar aplicaciones cloud.

Repositorio
  ->
Build y test
  ->
Deploy
  ->
Monitoreo y mejora
  • Hace mas frecuentes y confiables los cambios
  • Reduce errores manuales
  • Acompana tanto monolitos como microservicios

CLOUD COMPUTING

Arquitectura Conviene cuando Principal ventaja Principal costo
3 capas clasica la app es simple claridad menor flexibilidad
3 capas gestionada queremos operar menos rapidez operativa dependencia del proveedor
microservicios crecen equipos y dominios escalado independiente complejidad distribuida
eventos/serverless hay tareas desacopladas pago por uso mas fragmentacion

CLOUD COMPUTING

No existe una única arquitectura cloud correcta

  • La mejor opción depende del problema
  • Cloud permite combinar varios patrones
  • Una aplicacion puede evolucionar en el tiempo

Más importante que memorizar servicios es entender decisiones de arquitectura.

CLOUD COMPUTING

Una
aplicacion:
red social

CLOUD COMPUTING

red social
en
AWS

CLOUD COMPUTING

red social
otros servicios
AWS

CLOUD COMPUTING

Seguridad

Seguridad

IaC

Como leer un diagrama cloud

Asumir roles de observación y cuestionar escenarios

  • Donde entra el usuario
  • Donde esta la logica de negocio
  • Donde persisten los datos
  • Que componentes escalan
  • Que pasa si falla una parte
  • Que piezas son administradas por el proveedor

Leer un diagrama no es memorizar iconos. Es interpretar decisiones de diseño.

CLOUD COMPUTING

CLOUD COMPUTING

Global Cloud Platform

CLOUD COMPUTING

REGION

Conjunto de datacenters ubicados en un perimetro con una latencia bien definida

REGIONES

CLOUD COMPUTING

CLOUD COMPUTING

+ 300 services?

IaaS - PaaS - SaaS - Storage aaS

CLOUD COMPUTING

CLOUD COMPUTING

CLOUD COMPUTING

CLOUD COMPUTING

CLOUD COMPUTING

CLOUD COMPUTING

Costos

Pago por uso

  • Costo por segundo
  • Aumente o disminuya la capacidad de proceso bajo petición.
  • Empiece o detenga un trabajo en cualquier momento y pague solo por lo que usa.

Instancias reservadas de máquina virtual

  • compra por adelantado  (uno o tres años) en una región especificada.
  • un ahorro en el precio de un 72 %
  • Las instancias reservadas  son flexibles y se pueden intercambiar o devolver con facilidad.

Sobre esta presentación

CLOUD COMPUTING

Atribución 4.0 Internacional (CC BY 4.0)

https://creativecommons.org/licenses/by/4.0/deed.es

Example application from: "Introduciton to AWS Services" - AWS Training Center