WhatsApp Facebook Twitter LinkedIn Mail

Amazon SQS: el servicio de cola de mensajes de AWS

Amazon SQS (Simple Queue Service) es la apuesta de Amazon Web Services por un servicio de cola de mensajes. Hoy en día, empieza a ser común que las empresas tengan sus aplicaciones y sistemas empresariales repartidos entre distintas instalaciones (on-premise o en la nube). Con herramientas como Amazon SQS, se pueden utilizar colas de mensajes para automatizar tareas y trabajos en aplicaciones. Esto es posible gracias al envío de mensajes con órdenes de comandos a dispositivos conectados a internet. Pero, ¿cómo funciona exactamente? ¿Existen otras herramientas similares? ¿Qué otros servicios pueden complementar Amazon SQS?

Índice:

  1. Funciones de Amazon SQS
  2. Amazon SQS vs. Amazon SWF
  3. Otras funcionalidades de AWS
  4. Precio de Amazon SQS

Funciones de Amazon SQS

Amazon SQS ofrece la posibilidad de establecer una cola de mensajes dónde almacenar mensajes mientras esperan a ser procesados por distintos equipos que estén conectados a internet. Estos mensajes pueden contener notificaciones para aplicaciones o listas de comandos para ser ejecutados por aplicaciones, ya sea en la nube o en internet, lo que permite crear flujos de trabajo automatizados. Por ejemplo, se puede utilizar Amazon SQS con Amazon EC2 u otros servicios de AWS para automatizar tareas como la realización de copias de seguridad periódicas o para crear redes de notificaciones en aplicaciones.

El servicio no necesita tareas de administración o mantenimiento y está orientado a que su uso sea sencillo, por lo que no necesita configuración previa. No obstante, esto puede ser un inconveniente para aquellos usuarios que quieran un sistema de cola de mensajes avanzado, en el que ellos puedan decidir cada uno de los aspectos del servicio. Puede encontrar aplicaciones y herramientas de cola de mensaje que permiten mayor libertad al usuario para la creación de colas de mensajes en la Guía de Cloud Computing.

amazon sqs funcionamiento

Amazon SQS vs. Amazon SWF

Amazon SQS no es la única aplicación de los servicios en la nube de Amazon que permite crear flujos de trabajo automatizados. De hecho, Amazon SWF (Simple WorkFlow) está orientado de forma específica a los procesos automatizados de aplicaciones, tanto dentro de AWS como con aplicaciones externas. Un usuario que empiece a utilizar AWS puede preguntarse cuáles son las diferencias entre ambos servicios, que principalmente se resumen en:

  • Amazon SWF incorpora un seguimiento de las tareas y eventos de cada aplicación a la que se le aplica un flujo de trabajo. Por otro lado, Amazon SQS no proporciona seguimiento a nivel de aplicación, por lo que hay que implementarlo de forma manual, sobre todo si una misma aplicación utiliza varias colas de mensajes distintas.
  • Amazon SWF evita que las tareas se repitan o se asignen más de una vez mientras que Amazon SQS necesita que sea el usuario el que gestione los mensajes que se repiten y que evite que cada mensaje pueda ser procesado en varias ocasiones.
  • Amazon SWF permite buscar y visualizar las tareas que se han ejecutado, presentar informes con todos los detalles de cada ejecución o administrar cada ejecución, entre otros. Amazon SQS necesita implementar esta funcionalidad de forma específica, por lo que puede que un usuario básico no encuentre forma de conseguir ver las ejecuciones realizadas a través de mensajes.
  • Amazon SQS ofrece una interfaz de programación de aplicaciones (Application Programming Interface, API) que se centra en el envío y recepción de mensajes. Amazon SWF, por su parte, presenta una API que se orienta a tareas y procesos, principalmente.
  • Con Amazon SWF también se puede contribuir al desarrollo de aplicaciones ya que ofrece funciones como la ejecución única, flexibilidad en la distribución de tareas, señalización, etc. Amazon SQS también lo permite, pero las funcionalidades deben ser implementadas por el propio usuario.

Amazon SWF tiene funciones y herramientas más específicas para la creación y administración de redes de flujo de trabajo, como la automatización de la recolección de datos para una aplicación de Business Intelligence. Aunque Amazon SQS también las incluye, es posible que un usuario sin demasiados conocimientos tenga demasiados problemas a la hora de implementar correctamente un flujo de trabajo de este tipo. En la Guía de Cloud Computing puede encontrar una comparativa de sistemas para la gestión de flujos de trabajo que puede servir para elegir la solución óptima de automatización de procesos en su empresa.

Otras funcionalidades para la gestión de flujos de trabajo de AWS

  • AWS OpsWorks: este servicio de gestión de aplicaciones incluye funciones de automatización para el escalado, que permite ampliar la aplicación dependiendo del tamaño o carga de trabajo que soporte. El flujo de trabajo de aplicaciones escalables se ve potenciado por OpsWorks, aunque su función no es esencialmente esa.
  • AWS CodeDeploy: las implementaciones de software pueden automatizarse con esta herramienta, tanto en Amazon EC2 como en instalaciones locales. CodeDeploy está orientado a evitar largos procesos de implementación de software y para el testeo de aplicaciones en distintos entornos.
  • AWS CodePipeline: aquellas empresas desarrolladoras pueden poner a disposición de los usuarios las aplicaciones creadas mediante CodePipeline. Con esta herramienta, se puede automatizar el lanzamiento de nuevas versiones y parches.
  • AWS CodeCommit: es un servicio de escalado automático de almacenamiento, que extiende la capacidad de recursos según sea necesario. De esta forma, un proyecto que crezca más de lo estimado siempre tendrá espacio para seguir creciendo, lo que evitará tener un parón de trabajo.

Precio de Amazon SQS

Tanto si lo utiliza como cola de mensajes de notificaciones como para crear flujos de trabajos automatizados, el precio de Amazon SQS tiene ciertas peculiaridades. En primer lugar, la tarifa se aplica tanto para mensajes enviados como recibidos mientras que en otros sistemas de cola de mensajes sólo se tienen en cuenta el envío. Esto puede traducirse en una factura desmesurada y si la carga de trabajo de Amazon SQS se dispara. Por otro lado, si no se tiene cuidado con la gestión de los mensajes un usuario puede aumentar el número de mensajes recibidos de forma drástica, con el consecuente incremento de la factura. Este tipo de descuidos son evitables si seguimos las pautas para la gestión de Amazon SQS que puede encontrar en la Guía de Cloud Computing.

¿Quiere usar este artículo como fuente? Haga clic para copiar.

European Knowledge Center for Information Technology (Ed.). (2015, 20 noviembre). Amazon SQS: el servicio de cola de mensajes de AWS. TIC Portal. https://www.ticportal.es/temas/cloud-computing/amazon-web-services/amazon-sqs