0% encontró este documento útil (0 votos)
8 vistas55 páginas

ACAv2 ES SG M12

El Módulo 12 del curso AWS Academy Cloud Architecting se centra en la creación de arquitecturas desacopladas, abordando la necesidad de desacoplamiento y presentando herramientas como Amazon SQS, SNS y MQ. Al finalizar, los estudiantes deben ser capaces de diferenciar entre arquitecturas de acoplamiento ajustado y bajo acoplamiento, así como identificar el uso adecuado de los servicios mencionados. El módulo incluye una evaluación para medir la comprensión de los conceptos clave discutidos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
8 vistas55 páginas

ACAv2 ES SG M12

El Módulo 12 del curso AWS Academy Cloud Architecting se centra en la creación de arquitecturas desacopladas, abordando la necesidad de desacoplamiento y presentando herramientas como Amazon SQS, SNS y MQ. Al finalizar, los estudiantes deben ser capaces de diferenciar entre arquitecturas de acoplamiento ajustado y bajo acoplamiento, así como identificar el uso adecuado de los servicios mencionados. El módulo incluye una evaluación para medir la comprensión de los conceptos clave discutidos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 55

AWS Academy Cloud Architecting (ES)

Module 12 Student Guide


Versión 2.0.2
200-ACACAD-20-ES-SG
© 2021 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.

Para correcciones o comentarios relacionados con el curso,


contacte con nosotros en:
https://support.aws.amazon.com/#/contacts/aws-training.

Todas las marcas comerciales pertenecen a sus propietarios.


Formación y certificación de AWS AWS Academy Cloud Architecting (ES)

Contenido

Módulo 12: Creación de arquitecturas desacopladas 4

© 2021 Amazon Web Services, Inc. o sus filiales Todos los derechos reservados. 3
Formación y certificación de AWS Módulo 12: Creación de arquitecturas desacopladas

Bienvenido al Módulo 12: Creación de arquitecturas desacopladas.

© 2021 Amazon Web Services, Inc. o sus filiales Todos los derechos reservados. 4
Formación y certificación de AWS Módulo 12: Creación de arquitecturas desacopladas

Este módulo incluye las siguientes 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

Al final de este módulo, se le solicitará que complete una evaluación de


conocimientos que probará su nivel de comprensión de los conceptos clave
analizados en este módulo.

© 2021 Amazon Web Services, Inc. o sus filiales Todos los derechos reservados. 5
Formación y certificación de AWS Módulo 12: Creación de arquitecturas desacopladas

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

© 2021 Amazon Web Services, Inc. o sus filiales Todos los derechos reservados. 6
Formación y certificación de AWS Módulo 12: Creación de arquitecturas desacopladas

Presentación de la sección 1: Necesidad de arquitectura

© 2021 Amazon Web Services, Inc. o sus filiales Todos los derechos reservados. 7
Formación y certificación de AWS Módulo 12: Creación de arquitecturas desacopladas

La arquitectura de la cafetería ahora admite cientos de miles de usuarios. Sin


embargo, los sistemas de la cafetería tienen acoplamiento ajustado. Es difícil
realizar cambios en una capa de la aplicación sin afectar las otras capas. Por
ejemplo, los informes de los pedidos diarios se generan desde el mismo servidor
web que también tiene el sitio web de la cafetería para los clientes.

Además, Frank mencionó que no recibe el informe regular a las 17:00 los viernes.
Después de investigar, Sofía y Nikhil observan que el periodo de mantenimiento
programado coincide con el momento en que el sistema de informes intenta
generar el informe.

Hablan con Olivia, quien recomienda desacoplar la arquitectura. Al trasladar el


proceso de generación de informes a otro sistema, los datos de informes no se
perderán, incluso si el servidor web no está disponible temporalmente. Además, la
necesidad de generar un informe se pondrá en cola y se manejará.

© 2021 Amazon Web Services, Inc. o sus filiales Todos los derechos reservados. 8
Formación y certificación de AWS Módulo 12: Creación de arquitecturas desacopladas

Presentación de la Sección 2: Desacoplamiento de la arquitectura

© 2021 Amazon Web Services, Inc. o sus filiales Todos los derechos reservados. 9
Formación y certificación de AWS Módulo 12: Creación de arquitecturas desacopladas

Las infraestructuras tradicionales tienen cadenas de componentes estrechamente


integrados. Cada componente tiene un propósito específico. Cuando un
componente deja de funcionar, la interrupción que se produce en el sistema puede
ser crítica.

Considere este ejemplo de una arquitectura de tres niveles para una aplicación web
que procesa pedidos de clientes. Cada instancia del nivel web se comunica con cada
instancia del nivel de aplicación. Cada instancia del nivel de aplicación conserva los
datos en una base de datos backend. Un error de instancia en los niveles web o de
aplicación también causaría un error en la persistencia de algunos datos de los
pedidos de los clientes.

© 2021 Amazon Web Services, Inc. o sus filiales Todos los derechos reservados. 10
Formación y certificación de AWS Módulo 12: Creación de arquitecturas desacopladas

En un sistema de acoplamiento ajustado, el escalado también se ve afectado: si


agrega servidores a una capa, también debe conectarlos a servidores de cada capa
de conexión. Si seguimos con el ejemplo de la arquitectura de tres niveles, una
instancia que se agrega al nivel web debe estar conectada a cada instancia del nivel
de aplicación.

© 2021 Amazon Web Services, Inc. o sus filiales Todos los derechos reservados. 11
Formación y certificación de AWS Módulo 12: Creación de arquitecturas desacopladas

Un sistema puede acoplarse de muchas maneras, y debe tenerlas en cuenta cuando


cree aplicaciones distribuidas en la nube:

El acoplamiento a nivel de aplicación se relaciona con la administración de


dependencias entrantes y salientes
El acoplamiento de plataforma se relaciona con la interoperabilidad de
componentes de sistemas heterogéneos
El acoplamiento espacial se relaciona con la administración de componentes a nivel
de topología de red o protocolo
El acoplamiento temporal (o de tiempo de ejecución) se refiere a la capacidad de un
componente del sistema para realizar un trabajo significativo mientras realiza una
operación de bloqueo sincrónica

© 2021 Amazon Web Services, Inc. o sus filiales Todos los derechos reservados. 12
Formación y certificación de AWS Módulo 12: Creación de arquitecturas desacopladas

Para garantizar que la aplicación se escale con una carga creciente y que no haya
cuellos de botella ni puntos únicos de errores en el sistema, implemente bajo
acoplamiento. Con bajo acoplamiento, reduce las dependencias en su sistema
mediante el uso de soluciones administradas como intermediarios entre las capas
del sistema. De esta manera, los intermediarios se encargan de administrar
automáticamente los errores y el escalado de componentes o capas.

Vuelva a considerar la arquitectura de aplicaciones web de tres niveles. Puede


implementar bajo acoplamiento agregando balanceadores de carga delante de los
niveles web y de aplicaciones para distribuir el tráfico en cada capa. Si un servidor
no funciona, el balanceador de carga dirigirá automáticamente el tráfico a las
instancias en buen estado.

© 2021 Amazon Web Services, Inc. o sus filiales Todos los derechos reservados. 13
Formación y certificación de AWS Módulo 12: Creación de arquitecturas desacopladas

En el caso de uso empresarial del flujo de trabajo de procesamiento de pedidos, un


punto potencial de vulnerabilidad es guardar los datos del pedido en la base de
datos. Si el negocio requiere que los datos de los pedidos permanezcan en la base
de datos, entonces diversos casos, como un posible bloqueo, una condición de
carrera o un problema de red, podrían provocar un error en la persistencia del
pedido. En este caso, el pedido se perdería y no podría restaurarlo.

© 2021 Amazon Web Services, Inc. o sus filiales Todos los derechos reservados. 14
Formación y certificación de AWS Módulo 12: Creación de arquitecturas desacopladas

Estos son algunos de los aprendizajes clave de esta sección del módulo:

• Los sistemas de acoplamiento ajustado tienen cadenas de componentes


estrechamente integrados e impiden el escalado.
• Puede implementar bajo acoplamiento en su sistema utilizando soluciones
administradas (por ejemplo, Elastic Load Balancing) como intermediarias entre
capas

© 2021 Amazon Web Services, Inc. o sus filiales Todos los derechos reservados. 15
Formación y certificación de AWS Módulo 12: Creación de arquitecturas desacopladas

Presentación de la Sección 3: Desacoplamiento con Amazon SQS.

© 2021 Amazon Web Services, Inc. o sus filiales Todos los derechos reservados. 16
Formación y certificación de AWS Módulo 12: Creación de arquitecturas desacopladas

Las colas de mensajes son otro componente que lo ayuda a implementar una
arquitectura desacoplada. Las colas de mensajes proporcionan comunicación y
coordinación para estas aplicaciones distribuidas.

Una cola de mensajes es un repositorio temporal de mensajes que están esperando


ser procesados. Los mensajes suelen ser pequeños y pueden ser cosas como
solicitudes, respuestas, mensajes de error o información. Ejemplos de mensajes
incluyen registros de clientes, pedidos de productos, facturas, registros de
pacientes, etc.

Para enviar un mensaje, un componente llamado productor agrega un mensaje a la


cola. El mensaje se almacena en la cola hasta que otro componente llamado
consumidor lo recupera y procesa.

© 2021 Amazon Web Services, Inc. o sus filiales Todos los derechos reservados. 17
Formación y certificación de AWS Módulo 12: Creación de arquitecturas desacopladas

Amazon Simple Queue Service (Amazon SQS) es un servicio de cola de mensajes


completamente administrado que le permite desacoplar los componentes de la
aplicación para que se ejecuten de forma independiente. Permite a las aplicaciones
de servicios web poner en cola los mensajes que genera un componente de la
aplicación para que los consuma otro componente.

Una cola es un repositorio temporal de mensajes que están esperando ser


procesados. Los mensajes se almacenan hasta que se procesan y eliminan (de 1 a
14 días; la cantidad predeterminada es 4 días). Los mensajes pueden contener hasta
256 KB de texto en cualquier formato. Amazon SQS funciona a muy gran escala y
procesa miles de millones de mensajes al día. Almacena todas las colas de mensajes
y los mensajes dentro de una región única de AWS de alta disponibilidad con varias
zonas de disponibilidad redundantes. Ningún error en el equipo, la red o la zona de
disponibilidad puede hacer que los mensajes sean inaccesibles. Los mensajes
pueden enviarse y leerse de manera simultánea.

Usted puede compartir de manera segura colas de Amazon SQS anónimamente o


con cuentas de AWS específicas. También puede restringir el uso compartido de
colas por dirección IP y por hora del día. Los mensajes de las colas de SQS están
cifrados con cifrado del lado del servidor (SSE) mediante claves administradas en
AWS Key Management Service (AWS KMS). Amazon SQS descifra los mensajes
únicamente cuando se envían a un consumidor autorizado.

© 2021 Amazon Web Services, Inc. o sus filiales Todos los derechos reservados. 18
Formación y certificación de AWS Módulo 12: Creación de arquitecturas desacopladas

Amazon SQS admite que varios productores y consumidores interactúen con la


misma cola. Amazon SQS se puede utilizar con varios servicios de AWS, entre ellos:
Amazon Elastic Compute Cloud (Amazon EC2), Amazon Simple Storage Service
(Amazon S3), Amazon Elastic Container Service (Amazon ECS), AWS Lambda y
Amazon DynamoDB.

© 2021 Amazon Web Services, Inc. o sus filiales Todos los derechos reservados. 19
Formación y certificación de AWS Módulo 12: Creación de arquitecturas desacopladas

Amazon SQS le permite lograr bajo acoplamiento en su arquitectura.

• Realiza un procesamiento asincrónico para que pueda obtener respuestas de


cada paso rápidamente.
• Puede manejar los requisitos de rendimiento y servicio aumentando la cantidad
de instancias de trabajo.
• Su aplicación puede recuperarse fácilmente de pasos erróneos, ya que los
mensajes permanecen en la cola.

© 2021 Amazon Web Services, Inc. o sus filiales Todos los derechos reservados. 20
Formación y certificación de AWS Módulo 12: Creación de arquitecturas desacopladas

Amazon SQS se puede utilizar de muchas maneras diferentes:

• Colas de trabajo: desacople los componentes de una aplicación distribuida que


puede que no procesen todos la misma carga de trabajo al mismo tiempo.
• Operaciones por lotes de búfer: agregue escalabilidad y fiabilidad a la arquitectura
y atenúe los picos de volumen temporales sin perder mensajes y sin aumentos
de latencia.
• Descarga de solicitudes: ponga solicitudes en cola para retirar las operaciones
lentas de las rutas de solicitud interactivas.
• Desencadenamiento de Amazon EC2 Auto Scaling: utilice colas de SQS para
ayudar a determinar la carga en una aplicación. Cuando se combinan con
Amazon EC2 Auto Scaling, puede escalar el número de instancias EC2 en forma
ascendente o descendente, según el volumen de tráfico.

© 2021 Amazon Web Services, Inc. o sus filiales Todos los derechos reservados. 21
Formación y certificación de AWS Módulo 12: Creación de arquitecturas desacopladas

Existen dos tipos de colas de SQS:

Las colas estándar ofrecen lo siguiente:


• Al menos una entrega: los mensajes se entregan al menos una vez, aunque en
ocasiones se entregan varias copias del mensaje.
• Orden para optimizar el esfuerzo: en ocasiones, los mensajes se entregan en un
orden distinto al que se enviaron.
• Capacidad de procesamiento casi ilimitada: las colas estándar admiten un
número casi ilimitado de transacciones por segundo (TPS) para cada acción de la
API.

Colas en que el primero en entrar es el primero en salir (FIFO):


• Están diseñadas para garantizar que los mensajes se procesen exactamente una
vez, en el orden exacto en el que se enviaron.
• Capacidad de procesamiento alta: las colas FIFO admiten hasta 300 mensajes por
segundo (300 operaciones de envío, recepción o eliminación por segundo). Si
agrupa 10 mensajes por operación (máximo), las colas FIFO pueden admitir hasta
3000 mensajes por segundo.

© 2021 Amazon Web Services, Inc. o sus filiales Todos los derechos reservados. 22
Formación y certificación de AWS Módulo 12: Creación de arquitecturas desacopladas

Amazon SQS ofrece compatibilidad con colas de mensajes fallidos. Una cola de
mensajes fallidos (DLQ) es una cola de mensajes que no pudieron procesarse. Recibe
los mensajes una vez que se alcanza el número máximo de intentos de
procesamiento. Una DLQ es como cualquier otra cola de SQS: los mensajes se
envían y se reciben. Puede crear una DLQ desde la API de Amazon SQS y la consola.

© 2021 Amazon Web Services, Inc. o sus filiales Todos los derechos reservados. 23
Formación y certificación de AWS Módulo 12: Creación de arquitecturas desacopladas

Otra característica de Amazon SQS es el tiempo de espera de visibilidad. El tiempo


de espera de visibilidad es el intervalo en el que Amazon SQS impide que otros
consumidores reciban y procesen el mismo mensaje. El tiempo de espera ayuda a
garantizar que un trabajo no se procese varias veces y ocasione una duplicación.
Durante el tiempo de espera de visibilidad, el componente que recibió el mensaje lo
procesa y, a continuación, lo elimina de la cola. El tiempo de espera de visibilidad
predeterminado para un mensaje es de 30 segundos y el máximo es de 12 horas.

Si el consumidor no procesa y elimina el mensaje antes de que expire el tiempo de


espera de visibilidad, el mensaje se vuelve visible para otros consumidores y podría
procesarse de nuevo. Normalmente, debe establecer el tiempo de espera de
visibilidad como el tiempo máximo que tarda su aplicación en procesar y eliminar
un mensaje de la cola.

© 2021 Amazon Web Services, Inc. o sus filiales Todos los derechos reservados. 24
Formación y certificación de AWS Módulo 12: Creación de arquitecturas desacopladas

Por último, Amazon SQS admite sondeo corto y sondeo largo para recuperar
mensajes de las colas de SQS. De forma predeterminada, las colas usan sondeo
corto.

El sondeo corto consulta solo un subconjunto de los servidores (en función de una
distribución aleatoria ponderada) para encontrar mensajes que puedan incluirse en
la respuesta. Amazon SQS envía la respuesta inmediatamente, incluso si la consulta
no encontró ningún mensaje.

Por el contrario, el sondeo largo consulta todos los servidores en busca de


mensajes. Amazon SQS envía la respuesta después de que recopila el número
máximo de mensajes para la respuesta o de que expira el tiempo de espera del
sondeo.

El sondeo largo permite la recuperación de los mensajes de la cola de mensajes de


SQS tan pronto como están disponibles. El sondeo largo puede reducir el costo de
uso de Amazon SQS, ya que se reduce el número de recepciones vacías.

© 2021 Amazon Web Services, Inc. o sus filiales Todos los derechos reservados. 25
Formación y certificación de AWS Módulo 12: Creación de arquitecturas desacopladas

El ciclo de vida de un mensaje en una cola de SQS se puede ilustrar con el siguiente
caso. Primero, un productor envía un mensaje a la cola y el mensaje se distribuye
entre los servidores de SQS de forma redundante.

© 2021 Amazon Web Services, Inc. o sus filiales Todos los derechos reservados. 26
Formación y certificación de AWS Módulo 12: Creación de arquitecturas desacopladas

Cuando un consumidor está listo para procesar el mensaje, recupera el mensaje de


la cola. Mientras el mensaje se procesa, permanece en la cola.

Durante el tiempo de espera de visibilidad, otros consumidores no pueden procesar


el mensaje. En este ejemplo, el tiempo de espera de visibilidad es de 40 segundos.

© 2021 Amazon Web Services, Inc. o sus filiales Todos los derechos reservados. 27
Formación y certificación de AWS Módulo 12: Creación de arquitecturas desacopladas

Después de procesar el mensaje, el consumidor elimina el mensaje de la cola. Esta


acción evita que el mensaje se reciba y procese de nuevo cuando expire el tiempo
de espera de visibilidad.

Amazon SQS no elimina automáticamente el mensaje. Dado que Amazon SQS es


un sistema distribuido, no hay garantías de que el consumidor reciba realmente el
mensaje (por ejemplo, debido a un problema de conectividad o a un problema en la
aplicación del consumidor). Por lo tanto, el consumidor debe eliminar el mensaje de
la cola después de recibirlo y procesarlo.

© 2021 Amazon Web Services, Inc. o sus filiales Todos los derechos reservados. 28
Formación y certificación de AWS Módulo 12: Creación de arquitecturas desacopladas

Nuevamente, considere la aplicación de procesamiento de pedidos sobre la que


aprendió en la sección anterior. Puede desacoplar la arquitectura de esta aplicación
introduciendo una cola de SQS. Puede utilizar la cola para aislar la lógica de
procesamiento en su propio componente para que se ejecute en un proceso
separado de la aplicación web.

Este diseño permite que el sistema sea más resistente a los picos de tráfico.
Además, permite que el trabajo se realice tan rápido como sea necesario para
administrar los costos.

Además, ahora tiene un mecanismo para almacenar los pedidos como mensajes
(con la cola que funciona como una base de datos temporal). También movió el
alcance de su transacción con su base de datos más abajo en la pila. Si se produce
un error en la excepción de aplicación o transacción, este diseño ayuda a garantizar
que el procesamiento de pedidos pueda retirarse o redireccionarse a una cola de
mensajes fallidos para su reprocesamiento en una etapa posterior.

Para obtener más información acerca este caso de uso, consulte esta publicación
del blog de informática de AWS.

© 2021 Amazon Web Services, Inc. o sus filiales Todos los derechos reservados. 29
Formación y certificación de AWS Módulo 12: Creación de arquitecturas desacopladas

Estos casos de uso comunes demuestran dónde es muy adecuada una cola de
mensajes:

• Comunicación de servicio a servicio: por ejemplo, considere un sitio web del


frontend que debe actualizar la dirección de entrega de un cliente en un servicio
de gestión de relaciones con clientes (CRM) del backend. Puede hacer que el
código del sitio web del frontend envíe mensajes a una cola de SQS y que el
servicio CRM del backend los consuma.
• Elementos de trabajo asíncronos: por ejemplo, supongamos que el sistema de
reserva de un hotel debe cancelar una reserva, que es un proceso que toma
mucho tiempo. Puede enviar mensajes a una cola de SQS y hacer que el mismo
sistema de reserva del hotel consuma esos mensajes y realice cancelaciones
asincrónicas.
• Notificaciones de cambio de estado: por ejemplo, supongamos que tiene un
servicio que administra algún recurso. Quiere que otros servicios reciban
actualizaciones sobre los cambios realizados en ese recurso. Un sistema de
inventario podría publicar notificaciones cuando las existencias de un elemento
determinado son bajas y es necesario hacer un pedido.

© 2021 Amazon Web Services, Inc. o sus filiales Todos los derechos reservados. 30
Formación y certificación de AWS Módulo 12: Creación de arquitecturas desacopladas

También es importante saber cuándo una tecnología en particular no se ajusta bien


a su caso de uso. La mensajería tiene su propio conjunto de antipatrones
habituales.

• Selección de mensajes específicos: es posible que desee recibir selectivamente


mensajes de una cola que coincidan con un determinado conjunto de atributos o
con una consulta lógica ad hoc. Por ejemplo, un servicio solicita un mensaje con
un atributo determinado porque contiene una respuesta a otro mensaje enviado
por el servicio. En este caso, la cola puede tener mensajes que nadie sondea y
que nunca se consumen.
• Mensajes grandes: la mayoría de los protocolos y las implementaciones de
mensajería funcionan mejor con mensajes de tamaño razonable (en decenas o
cientos de KB). A medida que aumentan los tamaños de los mensajes, es mejor
utilizar un sistema de almacenamiento exclusivo (como Amazon S3) y pasar una
referencia a un objeto del almacén que es el mensaje propiamente dicho.

© 2021 Amazon Web Services, Inc. o sus filiales Todos los derechos reservados. 31
Formación y certificación de AWS Módulo 12: Creación de arquitecturas desacopladas

Estos son algunos de los aprendizajes clave de esta sección del módulo:

• Amazon SQS es un servicio de cola de mensajes completamente administrado


que 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.
• El sondeo largo es una forma de recuperar una gran cantidad de mensajes de las
colas de SQS.

© 2021 Amazon Web Services, Inc. o sus filiales Todos los derechos reservados. 32
Formación y certificación de AWS Módulo 12: Creación de arquitecturas desacopladas

Presentación de la Sección 4: Desacoplamiento con Amazon SNS.

© 2021 Amazon Web Services, Inc. o sus filiales Todos los derechos reservados. 33
Formación y certificación de AWS Módulo 12: Creación de arquitecturas desacopladas

En la arquitectura de la nube moderna, las aplicaciones se desacoplan en bloques


pequeños e independientes que son más fáciles de desarrollar, implementar y
mantener. La mensajería de publicación/suscripción (pub/sub) proporciona
notificaciones instantáneas de eventos para aplicaciones distribuidas.

El modelo de publicación/suscripción permite que los mensajes se transmitan a


diferentes partes de un sistema de forma asíncrona. El tema de un mensaje
proporciona un mecanismo ligero para transmitir notificaciones de eventos
asincrónicas. También proporciona puntos de enlace que permiten que los
componentes de software se conecten al tema para que puedan enviar y recibir
esos mensajes.

Para transmitir un mensaje, un componente denominado publicador envía un


mensaje al tema. A diferencia de las colas de mensajes, que colocan mensajes en
lotes hasta que se recuperan, los temas de mensajes transfieren mensajes con un
uso reducido o inexistente de la cola y los envía inmediatamente a todos los
suscriptores. Un suscriptor recibirá cada mensaje que se transmita, a menos que
establezca una política de filtrado de mensajes. Algunos ejemplos de suscriptores
incluyen servidores web, direcciones de email, colas de Amazon SQS y funciones de
AWS Lambda.

© 2021 Amazon Web Services, Inc. o sus filiales Todos los derechos reservados. 34
Formación y certificación de AWS Módulo 12: Creación de arquitecturas desacopladas

Los suscriptores al tema del mensaje suelen realizar diferentes funciones y cada
uno puede hacer algo diferente con el mensaje en paralelo. El publicador no
necesita saber quién está utilizando la información que transmite, y los suscriptores
no necesitan saber de quién proviene el mensaje. Este estilo de mensajería es un
poco diferente de las colas de mensajes, donde el componente que envía el
mensaje a menudo conoce el destino al que se envía.

En el paradigma de mensajería de publicación/suscripción, las notificaciones se


entregan a los clientes con un mecanismo push que elimina la necesidad de verificar
o sondear regularmente para obtener información nueva y actualizaciones.

© 2021 Amazon Web Services, Inc. o sus filiales Todos los derechos reservados. 35
Formación y certificación de AWS Módulo 12: Creación de arquitecturas desacopladas

Amazon Simple Notification Service (Amazon SNS) es un servicio web que puede
utilizar para configurar, operar y enviar notificaciones desde la nube. El servicio
sigue el paradigma de mensajería de publicación/suscripción, donde las
notificaciones se entregan a los clientes mediante un mecanismo push.
Amazon SNS está diseñado para satisfacer las necesidades de las aplicaciones más
grandes y exigentes, y permite a las aplicaciones publicar un número ilimitado de
mensajes en cualquier momento.

Cuando utiliza Amazon SNS, crea un tema y establece políticas que restringen
quién puede publicar el tema o suscribirse a este. Un publicador envía mensajes a
los temas que ha creado o en los que tiene permiso para publicar. Amazon SNS
compara el tema con una lista de los suscriptores que se han suscrito a él y entrega
el mensaje a cada uno de ellos. Cada tema tiene un nombre único que define el
punto de enlace de Amazon SNS para que los publicadores puedan publicar
mensajes y los suscriptores puedan registrarse para recibir notificaciones. Los
suscriptores recibirán todos los mensajes que están publicados en los temas a los
que se suscriban; por tanto, todos ellos recibirán los mismos mensajes.

Amazon SNS admite temas cifrados. Después de publicar mensajes en temas


cifrados, Amazon SNS utiliza claves maestras de cliente (CMK) para cifrar los
mensajes. Las CMK son los recursos principales de AWS KMS. Amazon SNS admite
CMK administradas tanto por el cliente como por AWS.

© 2021 Amazon Web Services, Inc. o sus filiales Todos los derechos reservados. 36
Formación y certificación de AWS Módulo 12: Creación de arquitecturas desacopladas

Cuando Amazon SNS recibe sus mensajes, se cifran usando un algoritmo Advanced
Encryption Standard-Galois/Counter Mode (AES-GCM) de 256 bits. Los mensajes
cifrados se almacenan de forma redundante en varios servidores y centros de
datos, y en varias zonas de disponibilidad para mayor durabilidad. Los mensajes se
descifran justo antes de que se entreguen a los puntos de enlace suscritos. Para
obtener más información acerca del cifrado de mensajes publicados en
Amazon SNS, lea esta publicación del blog de informática de AWS.

© 2021 Amazon Web Services, Inc. o sus filiales Todos los derechos reservados. 37
Formación y certificación de AWS Módulo 12: Creación de arquitecturas desacopladas

Amazon SNS admite los siguientes protocolos de transporte para la entrega de


mensajes:

• Email o email-JSON: los mensajes se envían por email a las direcciones


registradas. Email-JSON envía notificaciones como objetos de notación de
objetos de JavaScript (JSON) e email envía mensajes de email basados en texto.
• Protocolo de transferencia de hipertexto (HTTP) o HTTP seguro (HTTPS): durante el
registro de suscripción, los suscriptores especifican una URL. Los mensajes se
entregan a través de una solicitud HTTP POST a la URL especificada.
• Servicio de mensajes cortos (SMS): los mensajes se envían como mensajes de
texto SMS a números de teléfono registrados.
• Colas de Amazon SQS: los usuarios especifican una cola estándar de SQS como
punto de enlace. Amazon SNS pondrá en cola un mensaje de notificación en la
cola especificada. No se admiten las colas FIFO.
• Funciones de AWS Lambda: los mensajes se entregan a las funciones de
AWS Lambda, que administran las personalizaciones de los mensajes, posibilitan
la persistencia de los mensajes o se comunican con otros servicios de AWS.

© 2021 Amazon Web Services, Inc. o sus filiales Todos los derechos reservados. 38
Formación y certificación de AWS Módulo 12: Creación de arquitecturas desacopladas

Existen muchas formas de utilizar Amazon SNS:

• Alertas de aplicaciones y sistemas: puede utilizar Amazon SNS para recibir


notificaciones inmediatas cuando se produce un evento, como un cambio en un
grupo de Auto Scaling.
• Mensajes de texto e email con notificación push: puede utilizar Amazon SNS para
enviar, mediante un mecanismo push, titulares de noticias específicas a los
suscriptores por email o SMS.
• Notificaciones push móviles: puede utilizar Amazon SNS para enviar
notificaciones a una aplicación, para indicar que hay una actualización
disponible. El mensaje de notificación puede incluir un enlace para descargar e
instalar la actualización.

© 2021 Amazon Web Services, Inc. o sus filiales Todos los derechos reservados. 39
Formación y certificación de AWS Módulo 12: Creación de arquitecturas desacopladas

Si planea utilizar Amazon SNS, tenga en cuenta los siguientes puntos:

• Cada mensaje de notificación contiene un único mensaje publicado.

• Cuando un mensaje se entrega correctamente, no hay forma de recuperarlo.

• Amazon SNS intentará enviar los mensajes del publicador en el orden en el que
se publicaron en el tema. No obstante, los problemas de red pueden desordenar
los mensajes en el lado del suscriptor.

• Amazon SNS define una política de entrega para cada protocolo de entrega. La
política de entrega define cómo Amazon SNS reintenta la entrega de mensajes
cuando se producen errores en el servidor (es decir, cuando el sistema que aloja
el punto de enlace suscrito deja de estar disponible). Si un mensaje no se puede
entregar correctamente en el primer intento, Amazon SNS utiliza una política de
reintentos de cuatro fases:
1. Reintentos sin retraso entre intentos;
2. Reintentos con un retraso mínimo entre intentos;
3. Reintentos de acuerdo con un modelo de retardo;
4. Reintentos con el máximo retraso entre intentos. Cuando se agotan las
etapas de la política de reintentos, Amazon SNS puede mover el mensaje
a una DLQ.

© 2021 Amazon Web Services, Inc. o sus filiales Todos los derechos reservados. 40
Formación y certificación de AWS Módulo 12: Creación de arquitecturas desacopladas

Con Amazon SNS, 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.

Puede utilizar Amazon SNS para enviar mensajes en una sola cuenta o a recursos de
cuentas diferentes.

Los servicios de AWS (como Amazon EC2, Amazon S3 y Amazon CloudWatch)


pueden publicar mensajes en sus temas de SNS para desencadenar flujos de trabajo
e informática dirigidos por eventos. En este ejemplo, después de cargar una imagen
en un bucket de S3, Amazon S3 activa una notificación de evento, que envía
automáticamente el mensaje al tema de SNS. A continuación, Amazon SNS entrega
la notificación de evento de S3 a los suscriptores de la cola de SQS. Los grupos de
Auto Scaling de instancias EC2 procesan los mensajes en las colas de SQS y
publican las imágenes procesadas en un bucket de S3 que proporciona contenido a
Amazon CloudFront.

© 2021 Amazon Web Services, Inc. o sus filiales Todos los derechos reservados. 41
Formación y certificación de AWS Módulo 12: Creación de arquitecturas desacopladas

• Amazon SNS utiliza un paradigma de mensajería de publicación/suscripción y


permite a las aplicaciones enviar mensajes de alta prioridad a varios suscriptores
a través de un mecanismo push.
• Amazon SQS utiliza un paradigma de mensajería de envío y recepción e
intercambia mensajes según un modelo de sondeo en el que los componentes
que se envían y se reciben se desacoplan.
• Amazon SQS proporciona flexibilidad a los componentes distribuidos de las
aplicaciones; pueden enviar y recibir mensajes sin necesidad de que los
componentes estén disponibles al mismo tiempo.

© 2021 Amazon Web Services, Inc. o sus filiales Todos los derechos reservados. 42
Formación y certificación de AWS Módulo 12: Creación de arquitecturas desacopladas

Estos son algunos de los aprendizajes clave de esta sección del módulo:

• Amazon SNS es un servicio web que puede utilizar para configurar, ejecutar y
enviar notificaciones desde la nube.
• 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.

© 2021 Amazon Web Services, Inc. o sus filiales Todos los derechos reservados. 43
Formación y certificación de AWS Módulo 12: Creación de arquitecturas desacopladas

Presentación de la Sección 5: Envío de mensajes entre aplicaciones en la nube y en


las instalaciones con Amazon MQ.

© 2021 Amazon Web Services, Inc. o sus filiales Todos los derechos reservados. 44
Formación y certificación de AWS Módulo 12: Creación de arquitecturas desacopladas

Amazon MQ es un servicio administrado de agentes de mensajes para


Apache ActiveMQ que le permite configurar y operar los agentes de mensajes en la
nube. Los agentes de mensajes permiten que diferentes sistemas de software se
comuniquen e intercambien información, por lo general, mediante el uso de
distintos lenguajes de programación y en diferentes plataformas. Amazon MQ
reduce su carga operativa mediante el aprovisionamiento, la configuración y el
mantenimiento de ActiveMQ, un conocido agente de mensajes de código abierto.

Con Amazon MQ, puede migrar la mensajería a la nube mientras se conservan las
conexiones existentes entre las aplicaciones. Admite protocolos y API estándar
abiertos para mensajería, incluidos Java Message Service (JMS),
.NET Message Service (NMS), Advanced Message Queuing Server Protocol (AMQP),
Streaming Text Oriented Messaging Protocol (STOMP), Transporte de telemetría de
cola de mensajes (MQTT) y WebSocket. Puede pasar de cualquiera de los agentes
de mensajes que utilicen estos estándares a Amazon MQ, normalmente sin
necesidad de volver a escribir ningún código de mensajería. En la mayoría de los
casos, puede actualizar los puntos de enlace de sus aplicaciones para que se
conecten a Amazon MQ y empiecen a enviar mensajes.

© 2021 Amazon Web Services, Inc. o sus filiales Todos los derechos reservados. 45
Formación y certificación de AWS Módulo 12: Creación de arquitecturas desacopladas

Muchas organizaciones, en particular las empresas, dependen de los agentes de


mensajes para conectar y coordinar diferentes sistemas. Los agentes de mensajes
permiten que las aplicaciones distribuidas se comuniquen entre sí. Funcionan como
la columna vertebral tecnológica de su entorno de TI y, en última instancia, de sus
servicios empresariales. Las aplicaciones dependen de la mensajería para funcionar.

En muchos casos, estas organizaciones han comenzado a crear nuevas aplicaciones


nativas en la nube o a migrar aplicaciones a AWS. Hay aplicaciones, como sistemas
mainframe, cuya migración es demasiado costosa. En estos casos, las aplicaciones
en las instalaciones aún necesitan interactuar con componentes basados en la
nube.

Amazon MQ permite a las organizaciones enviar mensajes entre aplicaciones en la


nube y aplicaciones en las instalaciones para permitir el uso de entornos híbridos y
la modernización de las aplicaciones. Por ejemplo, puede invocar AWS Lambda
desde colas y temas administrados por los agentes de Amazon MQ para integrar
sistemas antiguos con arquitecturas sin servidor.

En el ejemplo, se muestra cómo utilizar Amazon MQ para integrar entornos en las


instalaciones y en la nube mediante la característica de red de agentes de
ActiveMQ. En el diagrama, se muestra el ciclo de vida del mensaje desde el
productor en las instalaciones hasta el agente en las instalaciones, que pasa por la
conexión híbrida entre el agente en las instalaciones y Amazon MQ. Por último, el
mensaje pasa a consumo dentro de la nube de AWS.

© 2021 Amazon Web Services, Inc. o sus filiales Todos los derechos reservados. 46
Formación y certificación de AWS Módulo 12: Creación de arquitecturas desacopladas

Para obtener más información acerca de cómo utilizar Amazon MQ para integrar
entornos en las instalaciones y en la nube, lea esta publicación del blog de
informática de AWS.

© 2021 Amazon Web Services, Inc. o sus filiales Todos los derechos reservados. 47
Formación y certificación de AWS Módulo 12: Creación de arquitecturas desacopladas

Amazon MQ es un servicio de agente de mensajes administrado que proporciona


compatibilidad con muchos agentes de mensajes conocidos. Amazon SQS y
Amazon SNS son servicios de cola y tema, respectivamente, altamente escalables,
sencillos de usar y que no necesitan la configuración de agentes de mensajes.

• Si utiliza mensajería con aplicaciones existentes y desea migrar sus mensajes a la


nube, AWS recomienda utilizar Amazon MQ. Es compatible con las API y los
protocolos estándar abiertos. Puede cambiar de cualquier agente de mensajes
basado en estándares a Amazon MQ sin necesidad de volver a escribir el código
de mensajería en sus aplicaciones.
• Si está creando nuevas aplicaciones en la nube, AWS recomienda utilizar
Amazon SQS y Amazon SNS.

© 2021 Amazon Web Services, Inc. o sus filiales Todos los derechos reservados. 48
Formación y certificación de AWS Módulo 12: Creación de arquitecturas desacopladas

Estos son algunos de los aprendizajes clave de esta sección del módulo:

• Amazon MQ es un servicio administrado de agente de mensajes para


Apache ActiveMQ que le permite configurar y operar los agentes de 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.

© 2021 Amazon Web Services, Inc. o sus filiales Todos los derechos reservados. 49
Formación y certificación de AWS Módulo 12: Creación de arquitecturas desacopladas

Ha llegado el momento de hacer un repaso del módulo y concluir con una


evaluación de conocimientos y un debate sobre una pregunta del examen de
certificación como práctica.

© 2021 Amazon Web Services, Inc. o sus filiales Todos los derechos reservados. 50
Formación y certificación de AWS Módulo 12: Creación de arquitecturas desacopladas

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

© 2021 Amazon Web Services, Inc. o sus filiales Todos los derechos reservados. 51
Formación y certificación de AWS Módulo 12: Creación de arquitecturas desacopladas

Ha llegado el momento de completar la evaluación de conocimientos de este


módulo.

© 2021 Amazon Web Services, Inc. o sus filiales Todos los derechos reservados. 52
Formación y certificación de AWS Módulo 12: Creación de arquitecturas desacopladas

Observe las opciones de respuesta y descarte las opciones incorrectas en función de


las palabras clave que se destacaron antes.

La respuesta correcta es la D: “Aumentar el tiempo de espera de sondeo largo de la


cola”. Cuando la propiedad ReceiveMessageWaitTimeSeconds de una cola se
establece en un valor mayor que cero, entra en acción el sondeo largo. El sondeo
largo reduce la cantidad de respuestas vacías permitiendo que Amazon SQS espere
hasta que un mensaje esté disponible antes de enviar una respuesta a una solicitud
de ReceiveMessage.

© 2021 Amazon Web Services, Inc. o sus filiales Todos los derechos reservados. 53
Formación y certificación de AWS Módulo 12: Creación de arquitecturas desacopladas

Si desea obtener más información acerca de los temas que se trataron en este
módulo, puede que le resulten útiles los siguientes recursos adicionales:

• Building Loosely Coupled, Scalable, C# Applications with Amazon SQS and


Amazon SNS
• Recursos de Amazon SQS
• Recursos de Amazon SNS
• Recursos de Amazon MQ

© 2021 Amazon Web Services, Inc. o sus filiales Todos los derechos reservados. 54
Formación y certificación de AWS Módulo 12: Creación de arquitecturas desacopladas

Gracias por completar este módulo.

© 2021 Amazon Web Services, Inc. o sus filiales Todos los derechos reservados. 55

También podría gustarte