AW S A c a d e m y C l o u d A r c h i t e c t i n g
Módulo 12: Creación de
arquitecturas desacopladas
Información general sobre el
módulo
Secciones
1. Necesidad de arquitectura
2. Desacoplamiento de la arquitectura
3. Desacoplamiento con Amazon Simple Queue Service (Amazon SQS)
4. Desacoplamiento con Amazon Simple Notification Service
(Amazon SNS)
5. Envío de mensajes entre aplicaciones en la nube y en las instalaciones
con Amazon MQ
Evaluación de conocimientos
Objetivos del módulo
Una vez finalizado este módulo, debería ser capaz de lo
siguiente:
• Diferenciar entre arquitecturas de acoplamiento ajustado y de bajo
acoplamiento
• Identificar cómo funciona Amazon SQS y cuándo utilizarlo
• Identificar cómo funciona Amazon SNS y cuándo utilizarlo
• Describir Amazon MQ
Módulo 12: Creación de arquitecturas desacopladas
Sección 1: Necesidad de arquitectura
Requisito empresarial de la
cafetería
La arquitectura de la cafetería ahora admite cientos de miles de usuarios.
Sin embargo, es difícil realizar cambios en una capa de la aplicación sin afectar
las otras capas.
Módulo 12: Creación de arquitecturas desacopladas
Sección 2: Desacoplamiento de la
arquitectura
Arquitecturas de acoplamiento
ajustado
Capa web Capa de aplicación
Capa de base de datos
Amazon Amazon Relational
Route 53 Database Service
(Amazon RDS)
www.ejemplo.co
m
Los componentes están estrechamente conectados
entre sí.
Las arquitecturas de acoplamiento
ajustado impiden el escalado
Capa web Capa de aplicación
Capa de base de datos
Amazon Route 53 Amazon
RDS
www.ejemplo.com
Agregar recursos aumenta la complejidad e impide el
escalado.
Formas de acoplamiento del
sistema
Acoplamiento a Acoplamiento de la Acoplamiento Acoplamiento
nivel de aplicación: plataforma: espacial: temporal
Se relaciona con la Se relaciona con la Se relaciona con la (tiempo de
administración de interoperabilidad administración de ejecución):
dependencias de componentes de componentes a Se refiere a la
entrantes y sistemas nivel de topología capacidad de un
salientes heterogéneos de red o de componente del
protocolo sistema para
realizar un trabajo
significativo
mientras realiza
una operación de
bloqueo sincrónica.
Arquitecturas de bajo
acoplamiento
Capa web Capa de
aplicación
Capa de base
de datos
www.ejemplo.co Elastic Load Elastic Load
m Balancing Balancing
Utilice soluciones administradas como intermediarias entre
capas.
Consideraciones de las
arquitecturas de bajo
acoplamiento
Capa web Capa de
aplicación
Capa de base
de datos
www.ejemplo.co Elastic Load Elastic Load
m Balancing Balancing
Aprendizajes • Los sistemas de acoplamiento
ajustado tienen cadenas de
clave de la componentes estrechamente
Sección 2 integrados e impiden
el escalado.
• Puede implementar bajo
acoplamiento en su sistema
utilizando soluciones
administradas (por ejemplo,
Elastic Load Balancing) como
intermediarias entre capas.
Módulo 12: Creación de arquitecturas desacopladas
Sección 3: Desacoplamiento con
Amazon SQS
Colas de mensajes para
desacoplar arquitecturas
Productor: componente de la Consumidor: componente de la
aplicación que produce aplicación que sondea la cola de
mensajes mensajes y los procesa
y los agrega a la cola
Cola
Productor Consumidor
Un mensaje se utiliza para la comunicación
entre componentes de software, no entre
personas (es decir, no es un email o un
mensaje de texto).
Mecanismo de extracción
Amazon SQS
• Servicio de cola de mensajes
completamente administrado
• Utiliza un mecanismo de extracción
• Los mensajes se cifran y almacenan
hasta
Amazon Simple que se procesan y eliminan
Queue Service
(Amazon SQS) • Funciona como un búfer entre
productores
y consumidores
Lograr bajo acoplamiento con
Amazon SQS
Con Amazon SQS, puede
hacer lo siguiente:
Utilizar el Manejar los requisitos Recuperarse
procesamiento de rendimiento y fácilmente de los pasos
asincrónico para servicio aumentando erróneos, ya que los
obtener las la cantidad de mensajes permanecen
respuestas de cada instancias de trabajo en la cola
paso rápidamente
Casos de uso generales de
Amazon SQS
Colas de Operaciones Descarga de Activar
trabajo por lotes de solicitudes Amazon EC2
búfer Auto Scaling
Tipos de cola
Colas estándar Colas en que el primero en
entrar es el primero en salir
(FIFO)
4 3 2
5 4 3 2 1
3 5 1
• Se realizan entregas al menos una vez• Entrega en que el primero
• Orden para optimizar el esfuerzo en entrar es el primero en
• Rendimiento casi ilimitado salir
• Procesamiento por única
vez
• Alto rendimiento
Características de Amazon SQS (1
de 3)
Compatibilidad con cola
de mensajes fallidos
Características de Amazon SQS (2
de 3)
Compatibilidad con cola Tiempo de espera
de mensajes fallidos de visibilidad
Características de Amazon SQS (3
de 3)
Compatibilidad con cola Tiempo de espera Sondeo largo
de mensajes fallidos de visibilidad
Ciclo de vida de los mensajes
de Amazon SQS: creación
Servidores de SQS
Productor Consumidor
Cola
El productor envía un
1 mensaje a la cola, que se
distribuye de forma
redundante.
Ciclo de vida de los mensajes de
Amazon SQS: proceso
Servidores de SQS
Productor Consumidor
Cola
05
El mensaje se recoge para que Tiempo de
2 un consumidor lo procese, y espera de
comienza el tiempo de espera visibilidad
40
de visibilidad.
Ciclo de vida de los mensajes de
Amazon SQS: eliminación
Servidores de Amazon
SQS
Productor Consumidor
Cola
0
El consumidor elimina el 15Tiempo de
3 mensaje después de su espera de
procesamiento. visibilidad
40
Ejemplo de desacoplamiento:
Uso de Amazon SQS
Capa web Cola de
mensajes
fallidos Capa de base
Capa de
de datos
Mensaje aplicación
de pedido
Instancia de
base de
Elastic Load Cola de
datos
Balancing pedidos de
principal
clientes
Instancia de
base de
datos en
espera
Casos de uso de la cola de
mensajes
Comunicación de
servicio a servicio
Elementos de
trabajo asíncronos
Notificaciones de
cambio de estado
Casos de uso de la cola de
mensajes
Comunicación de Selección de
servicio a servicio mensajes
específicos
Elementos de Mensajes
trabajo asíncronos grandes
Notificaciones de
cambio de estado
Aprendizajes • Amazon SQS es un servicio de cola de
mensajes completamente administrado
clave de la que
Sección 3 le permite desacoplar los componentes
de la aplicación para que se ejecuten de
forma independiente.
• Amazon SQS admite las colas estándar y
las colas FIFO.
• Un productor envía un mensaje a una
cola.
Un consumidor procesa y elimina el
mensaje durante el tiempo de espera de
visibilidad.
• Los mensajes que no se pueden procesar
pueden enviarse a una cola de mensajes
fallidos.
Módulo 12: Creación de arquitecturas desacopladas
Sección 4: Desacoplamiento con
Amazon SNS
Mensajería de
publicación/suscripción
Publicador: componente que Suscriptor: componente que se
envía un mensaje a un tema suscribe a un tema
Suscriptor
Publicador
Tema Suscriptor
Publicador
Suscriptor
Mecanismo push
Amazon SNS
• Es un servicio de mensajería de
publicación/suscripción con alta
disponibilidad, duradero, seguro y
completamente administrado
Amazon Simple • Utiliza un mecanismo push
Notification Service
(Amazon SNS)
• Admite temas cifrados mediante
claves maestras de cliente (CMK)
Protocolos de transporte
admitidos
Email o email-JSON
HTTP o HTTPS
Clientes de servicio de mensajes
Publicador
cortos (SMS)
Tema de SNS
Colas de Amazon SQS
Funciones de AWS Lambda
Casos de uso generales de
Amazon SNS
Mensajes de texto
Alertas de y correo Notificaciones
aplicación y de electrónico con push móviles
sistema notificación push
Consideraciones de Amazon SNS
Publicación de Sin opciones Pedido y Política de
mensaje único de entrega no reintentos
recuperación garantizados para cada
protocolo de
entrega
Ejemplo de desacoplamiento: Uso de
Amazon S3 con Amazon SNS
Bucket de S3
para enviar
contenido a
Distribución de CloudFront
descargas de
Amazon CloudFro Bucket de S3 Grupo de
nt para la Auto Scaling
incorporación
de datos
Colas de SQS
a da
g
rNotificación
ca de Grupo de
Generación
gen eventos Auto Scaling
a de imagen en
Im miniatura
Tema de SNS Tamaño
para
Grupo de
móvil
Auto Scaling
Tamaño
para
web
Amazon SNS frente a Amazon SQS
Amazon SNS Amazon SQS
Característica (publicador/suscriptor (productor/consumido
) r)
Productor/
Publicar/suscribir Enviar/recibir
consumidor
Mecanismo de
Push (pasivo) Sondeo (activo)
entrega
Modelo de
Muchos a muchos De uno a uno
distribución
Persistencia de
No Sí
mensajes
Aprendizajes • Amazon SNS es un servicio web que
puede utilizar para configurar, ejecutar y
clave de la enviar notificaciones desde la nube.
sección 4 • Amazon SNS sigue el paradigma de
mensajería de publicación/suscripción.
• Cuando utiliza Amazon SNS, crea un
tema y establece políticas que restringen
quién puede publicar el tema o
suscribirse a este.
• Puede utilizar temas para desacoplar a
los publicadores de mensajes de los
suscriptores, distribuir mensajes a varios
destinatarios de una sola vez y eliminar
los sondeos en sus aplicaciones.
• Los servicios de AWS pueden publicar
mensajes en sus temas de SNS para
desencadenar flujos de trabajo e
informática dirigidos por eventos.
Módulo 12: Creación de arquitecturas desacopladas
Sección 5: Envío de mensajes entre
aplicaciones en la nube y en las
instalaciones con Amazon MQ
Amazon MQ
• Es un servicio administrado de agente
de mensajes para Apache ActiveMQ.
• Administra el aprovisionamiento, la
configuración y el mantenimiento de
ActiveMQ.
• Simplifica la migración de mensajes a la
Amazon nube.
MQ
• Es compatible con las API y los
protocolos estándar abiertos.
• JMS, NMS, AMQP, STOMP, MQTT y
WebSocket
Caso de uso de Amazon MQ: Entorno
de nube híbrida
Centro de datos corporativo Nube de AWS
Consumidor
de
mensajes
basados en
Productor de Agente de Amazon MQ la nube
mensajes en ActiveMQ en
las las
instalaciones instalaciones
El productor de El consumidor
mensajes está de mensajes
en las está basado en
instalaciones la nube
Amazon MQ frente a Amazon SQS y
Amazon SNS
Amazon MQ Amazon SQS y SNS
Para migración de aplicaciones Para aplicaciones nativas en la nube
Protocolos: JMS, NMS, AMQP, STOMP,
Protocolo: HTTPS
MQTT y WebSocket
Gran variedad de funciones Rendimiento casi ilimitado
Pago por hora y pago por GB Pago por solicitud
No se admite
publicación/suscripción en
Admite publicación/suscripción
Amazon SQS, pero sí en
Amazon SNS
Aprendizajes • Amazon MQ es un servicio
administrado de agentes de mensajes
clave de la para Apache ActiveMQ que le permite
configurar y operar los agentes de
sección 5 mensajes en la nube.
• Amazon MQ administra el
aprovisionamiento, la configuración y
el mantenimiento de ActiveMQ, que es
un conocido agente de mensajes de
código abierto.
• Amazon MQ es compatible con API y
protocolos estándar abiertos (es decir,
JMS, NMS, AMQP, STOMP, MQTT y
WebSocket).
• Usted puede utilizar Amazon MQ para
integrar entornos en las instalaciones
y en la nube mediante la característica
de red de agentes de ActiveMQ.
Módulo 12: Creación de arquitecturas
desacopladas
Conclusión del módulo
Resumen del módulo
A modo de resumen, en este módulo, aprendió a hacer lo
siguiente:
• Diferenciar entre arquitecturas de acoplamiento ajustado y de bajo
acoplamiento
• Identificar cómo funciona Amazon SQS y cuándo utilizarlo
• Identificar cómo funciona Amazon SNS y cuándo utilizarlo
• Describir Amazon MQ
Completar la evaluación de
conocimientos
Pregunta del examen de muestra
Una empresa debe realizar un procesamiento asincrónico e implementó
Amazon Simple Queue Service (Amazon SQS) como parte de una
arquitectura desacoplada. La empresa quiere asegurarse de que las
respuestas vacías de las solicitudes de sondeo se mantengan en una
cantidad mínima.
¿Qué debe hacer un arquitecto de soluciones para asegurarse de que se
reduzcan las respuestas vacías?
A. Aumentar el periodo máximo de retención de mensajes de la cola
B. Aumentar las recepciones máximas para la política de
redireccionamiento de la cola.
C. Aumentar el tiempo de espera de visibilidad predeterminado de la cola.
D. Aumentar el tiempo de espera de sondeo largo de la cola
Recursos adicionales
• Building Loosely Coupled, Scalable, C# Applications with Am
azon SQS and Amazon SNS
• Recursos de Amazon SQS
• Recursos de Amazon SNS
• Recursos de Amazon MQ
Gracias
© 2020, Amazon Web Services, Inc. o sus empresas afiliadas. Todos los derechos reservados. Este contenido no puede reproducirse ni redistribuirse,
total ni parcialmente, sin el permiso previo por escrito de Amazon Web Services, Inc. Queda prohibida la copia, el préstamo o la venta de carácter
comercial. Envíenos sus correcciones o comentarios relacionados con el curso a: aws-course-feedback@amazon.com. Si tiene cualquier otra duda,
contacte con nosotros en: https://aws.amazon.com/contact-us/aws-training/. Todas las marcas comerciales pertenecen a sus propietarios.