Arquitecturas sin servidor de AWS Por: Arevalo Pascal -& Mui Vivian

Arquitectura sin servidor de AWS (SAM)

Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
Arquitecturas sin servidor de AWS Por: Arevalo Pascal -& Mui Vivian por Mind Map: Arquitecturas sin servidor de AWS Por: Arevalo Pascal -& Mui Vivian

1. Características

1.1. Son aplicaciones impulsadas por eventos

1.1.1. Ejemplo

1.1.1.1. Cambios de estados o una solicitud de punto de enlace

1.2. De estructura flexible a través de API o mensajería

1.3. Desacoplan el código del estado

1.4. La integración entre los componentes se lleva de manera asíncrona

2. Arquitectura

2.1. Arquitectura impulsada por eventos

2.1.1. Utiliza eventos para activar y establecer comunicación entre servicios desacoplados

2.1.1.1. Fuentes de eventos

2.1.1.1.1. Depósitos de datos

2.1.1.1.2. Puntos de enlace

2.1.1.1.3. Servicios de mensajería

2.1.1.1.4. Repositorio

2.1.1.2. Los eventos pueden tener estados

2.1.1.2.1. Precio

2.1.1.2.2. Dirección

2.1.1.2.3. Cantidad

2.1.2. Componentes claves

2.1.2.1. Procedimientos de eventos

2.1.2.2. Enrutadores de eventos

2.1.2.3. Consumidores de eventos

2.1.3. Actores

2.1.3.1. Productor

2.1.3.1.1. Encargado de publicar un evento

2.1.3.2. Consumidor

2.1.3.2.1. Aprovechan los servicios

2.1.3.3. Enrutador

2.1.3.3.1. Filtra y envía los eventos a los consumidores

2.1.4. Funcionamiento

2.1.4.1. Los clientes realizan llamadas a los API HTTP

2.1.4.2. Invoca de manera sincrónica al API Gateway que se encarga de alojar solicitudes de RESTful HTTP y responde a los clientes

2.1.4.2.1. Espera una respuesta inmediata y tiene un tiempo de espera de 30 segundos

2.1.4.3. AWS Lambda utiliza su lógica comercial para procesar las llamadas

2.1.4.3.1. La respuesta de Lambda debe ser en menos de 30 segundos, en caso contrario se debe codificar código de reintento y manejo de errores

2.1.4.4. La información es almacenada en DynamoDB de manera persistente

2.1.5. Tipos de implementación de eventos

2.1.5.1. Todo de una vez

2.1.5.1.1. Impacto al cliente

2.1.5.1.2. Restauración

2.1.5.1.3. Facores del modelo

2.1.5.1.4. Velocidad de implementación

2.1.5.2. Azul/Verde

2.1.5.2.1. Impacto al cliente

2.1.5.2.2. Restauración

2.1.5.2.3. Factores del modelo

2.1.5.2.4. Velocidad de implementación

2.1.5.3. Canary

2.1.5.3.1. Impacto al cliente

2.1.5.3.2. Restauración

2.1.5.3.3. Factores del modelo

2.1.5.3.4. Velocidad de implementación

3. Servicios

3.1. AWS Lambda

3.1.1. Permite ejecutar aplicaciones sin servidor sin estado en una plataforma administrada

3.1.2. Admite

3.1.2.1. Arquitecturas de microservicios

3.1.2.2. Implementación a nivel de función

3.1.2.3. Administración de ejecución a nivel de función

3.2. API Gateway

3.2.1. Servicio completamente administrado para facilitar la creación, publicación, mantenimiento, monitoreo y escalamiento.

3.2.2. Permite procesar ciento de miles de llamadas API simultáneas

3.2.3. Maneja la administración de tráfico, autorización y control de acceso

3.3. SNS

3.3.1. Servicio de mensajería de publicación/suscripción administrado

3.3.2. Facilita el desacople y ajuste de la escala de microservicios, sistemas distribuidos y aplicaciones sin servidor

3.4. SQS

3.4.1. Servicio de colas administrado

3.4.2. Ayuda junto al SNS en mensajería e integración

3.5. EventBridge

3.5.1. Bus de evento sin servidor que facilita la conexion de aplicaciones usando datos de las mismas como servicio SaaS y propios de AWS

3.6. Step Functions

3.6.1. Facilita la coordinación de componentes de aplicaciones distribuidas y microservicios utilizando flujos de trabajos visuales

3.7. Amazon Fargate

3.7.1. Ejecuta contenedores sin servidor

3.8. AWS AppSync

3.8.1. Ayuda a crear una API flexible para acceder de forma segura a datos a partir de uno o más orígenes de datos

3.8.1.1. Es posible manipular y combinar dichos datos

4. Presentación

4.1. Amazon Amplify o Amazon S3

4.1.1. Proporciona alojamiento e implementación continua de recursos web estáticos como HTML, CSS, JavaScript y archivos de imagen que se cargan en el navegador del usuario

4.1.2. JavaScript es ejecutado en el navegador y envía y recibe datos de una API de backend pública creada mediante Lambda y API Gateway

4.1.2.1. Las modificaciones que se realicen en el frontend y el backend se implementarán en un único flujo de trabajo en cada confirmación de código

4.1.3. Permite la creación de ramificaciones de características

4.1.3.1. Para crear implementaciones de ramificaciones vinculadas con la ramificación de cada característica

4.1.4. Configura dominios personalizados con certificados HTTPS sin cargo adicional

4.1.5. Funcionamiento

4.1.5.1. Conecta a tu repositorio el código o sube los archivos a la consola Amplify

4.1.5.2. Configura la construcción para el front y el backend

4.1.5.3. Desplega la App de manera directa desde Amplify

4.1.5.4. Se conecta automáticamente al Content Delivery Network (CDN)

4.1.5.5. AWS Amplify envía y actúa como hospedador de la aplicación

5. Almacenamiento

5.1. DynamoDB

5.1.1. Es un servicio de base de datos NoSQL, es manejado completamente por parte de AWS por lo que no hay que preocuparse por el provisionamiento, configuración e inicialización

5.1.2. Propiedades

5.1.2.1. Rápido

5.1.2.2. Predecible

5.1.2.3. Escalable

5.1.2.3.1. Se puede aumentar o disminuir la capacidad de las tablas sin reducir el rendimiento

5.1.2.4. Distribuido

5.1.2.5. Alto rendimiento

5.1.2.6. Durable

5.1.2.6.1. Todos los datos estan almacenados en SSDs y automáticamente replicado en múltiples regiones de disponibilidad con AWS

5.1.3. Encripción de los datos en reposo

5.1.4. Realiza el backup completo de las tablas para retención de largo plazo

5.1.4.1. De manera

5.1.4.1.1. On demand

5.1.4.1.2. Point-in-time recovery

5.1.5. Automáticamente distribuye el tráfico de datos de las tablas a través de un número significativo de servidores para que manejen el almacenamiento y rendimiento

5.2. Amazon S3

5.2.1. Servicio de almacenamiento en la nube con el mayor nivel de soporte debido a la gran comunidad de proveedores de servicios tecnológicos, su principal uso es para el almacenamiento y deploy de la parte estática de la aplicación

5.2.2. Características

5.2.2.1. Permite agregar su propio código para solicitudes GET

5.2.2.2. El código se ejecuta en infraestructura administrada por AWS

5.2.2.3. No es necesario crear y almacenar copias derivativas de los datos

5.2.2.4. Fácil vinculación a puntos de acceso

5.2.3. Propiedades

5.2.3.1. Alta escalabilidad

5.2.3.2. Rápido

5.2.3.3. Poco costoso

5.2.3.4. Distribuido

5.2.4. El bucket es el principal contenedor, se puede almacenar de manera infinita datos en un bucket

5.2.4.1. El bucket también puede almacenar objetos de hasta 5TB de datos

6. ¿Qué es?

6.1. Serverless Application Model (SAM) es una arquitectura ofrecida por Amazon Web Services para ejecutar aplicaciones y servicios sin preocuparse por los servidores ya que AWS se encarga de administrarlos.

6.1.1. Beneficios

6.1.1.1. No es necesario instalar, provisionar ni mantener un servidor.

6.1.1.2. La aplicación se escala automáticamente o mediante la adaptación de su capacidad por unidad de consumo

6.1.1.3. No es necesario diseñar disponibilidad y tolerancia a fallos al ser incluidas

6.1.1.4. No es necesario aprovisionar previamente elementos como almacenamiento

7. Seguridad

7.1. Amazon Cognito

7.1.1. Proporciona funciones de administración y autenticación de usuarios para proteger la API de backend

7.1.1.1. Basado en estándares

7.1.1.1.1. Oauth 2.0

7.1.1.1.2. SAML 2.0

7.1.1.1.3. OpenID Connect

7.1.2. Posee un directorio de usuarios seguro y escalable

7.1.3. Permite el inicio de sesión mediante proveedores sociales como Google, Facebook y Amazon

7.1.4. Multifactor authentication & cifrado de datos en tránsito y reposo

7.1.5. Cumple con

7.1.5.1. HIPAA

7.1.5.2. PCI DSS

7.1.5.3. SOC

7.1.5.4. ISO/IEC 27001

7.1.5.5. ISO/IEC 27017

7.1.5.6. ISO/IEC 27018

7.1.5.7. ISO 9001

8. Ejemplos

8.1. No se pueden agregar en el mapa por lo que serán adjuntados en la tarea de Teams