Amazon Simple Workflow Service (beta)

Amazon Simple Workflow Service (Amazon SWF) es un servicio de flujo de trabajo indicado para crear aplicaciones escalables y flexibles. Tanto si se trata de la automatización de procesos empresariales para aplicaciones financieras o de seguros, la creación de aplicaciones complejas de análisis de datos o la gestión de servicios de infraestructura en la nube, Amazon SWF coordina de forma fiable todos los pasos de procesamiento en una aplicación.

Con los enfoques de desarrollo tradicionales, cuesta mucho tiempo y dinero crear y llevar el seguimiento de los pasos de procesamiento que se ejecutan en diferentes momentos y tienen duraciones diferentes, asegurándose a la vez de que se ejecutan de forma fiable y sin duplicarse. Cuando la ejecución de aplicaciones se distribuye entre varios sistemas, la coordinación de los pasos de procesamiento entre esos sistemas supone una dificultad añadida. Al utilizar Amazon SWF, los desarrolladores pueden estructurar los diversos pasos de procesamiento de una aplicación en "tareas" que dirigen el trabajo en aplicaciones distribuidas y Amazon SWF se encarga de coordinar estas tareas de forma fiable y escalable. Amazon SWF gestiona las dependencias de la ejecución de las tareas, la programación y la concurrencia en función de la lógica de la aplicación de un desarrollador. El servicio almacena tareas, las envía de forma fiable a componentes de aplicaciones, realiza un seguimiento de su progreso y mantiene su estado más reciente.

Amazon SWF es un servicio totalmente gestionado para el que no se necesita ningún hardware ni software que administrar, escalar, ajustar, aplicar parches o actualizar. Amazon SWF proporciona llamadas sencillas a la API que se pueden ejecutar a partir de un código escrito en cualquier lenguaje y ejecutarse en sus instancias de EC2 o desde cualquiera de sus máquinas ubicadas en cualquier lugar del mundo desde el que tengan acceso a Internet. Las máquinas ubicadas en sus instalaciones solo tienen que abrir una conexión con Internet y solicitar tareas a las API de SWF, sin necesidad de cambiar las reglas del cortafuegos. A través de AWS Management Console se proporcionan informes detallados sobre el estado actual y el historial de ejecución de sus flujos de trabajo.

Es fácil contratarla,
pague sólo por el consumo realizado
Registrarse


Descripción general de Amazon SWF

Imagen: Descripción general de Amazon SWF



Seminario web: Amazon SWF
22 de febrero de 2012, 10-11 a. m. PST

Esta página contiene las siguientes categorías de información. Haga clic para saltar:

Funcionalidad de Amazon SWF

La utilización de Amazon SWF para gestionar sus flujos de trabajo dentro de una aplicación resulta fácil. El servicio Amazon SWF actúa como núcleo de coordinación para todos los componentes diferentes de su aplicación:

  • Mantenimiento del estado de la aplicación
  • Seguimiento de las ejecuciones del flujo de trabajo y registro de su progreso
  • Conservación y despacho de tareas
  • Control de qué tareas tendrá asignadas para ejecutar cada uno de sus hosts de aplicaciones
Para utilizar Amazon SWF, simplemente necesita:
  • Utilizar AWS Management Console o las API de Amazon SWF para especificar los nombres de los flujos de trabajo.
  • Utilizar las API de Amazon SWF para "iniciar" un flujo de trabajo nuevo, que resulta en la puesta en marcha de una secuencia particular de tareas de flujo de trabajo, llamada "ejecución de flujo de trabajo".
  • Utilizar las API de Amazon SWF desde sus máquinas de trabajadores (un "trabajador" es un componente de su aplicación que gestiona tareas específicas) para establecer el orden de las tareas, gestionar flujos condicionales y ejecutar bucles para la ejecución de un flujo de trabajo.
  • Utilizar las API de Amazon SWF desde sus máquinas de trabajadores para solicitar y ejecutar tareas de flujo de trabajo en la nube o en sus instalaciones.
  • Supervisar el estado y el progreso de las ejecuciones de flujo de trabajo y sus tareas asociadas en AWS Management Console.
El ejemplo detallado de AWS Management Console le muestra uno a uno los pasos para registrar y ejecutar una aplicación de muestra. Consulte la documentación si desea obtener más información sobre el servicio Amazon SWF y sus API.

Aspectos destacados del servicio

Sencillo – Amazon SWF sustituye las complejas soluciones de flujo de trabajo y software de automatización de procesos con código personalizado, con un servicio web totalmente gestionado. Esto elimina la necesidad de que los desarrolladores gestionen la infraestructura subyacente de la automatización de procesos para poder centrar su energía en la funcionalidad exclusiva de su aplicación.

Escalable – Amazon SWF crece sin problemas con el uso de su aplicación. No se necesita ninguna administración manual del servicio de flujo de trabajo para añadir más flujos de trabajo a su aplicación o aumentar la complejidad de sus flujos de trabajo.

Flexible – Amazon SWF le permite escribir los componentes de una aplicación y la lógica de coordinación en cualquier lenguaje de programación y ejecutarlos en la nube o en sus instalaciones.


Fijación de precios

Pague sólo por lo que utilice. Sin cuota mínima. Realice una estimación de su factura mensual con la Calculadora mensual sencilla.

Nivel de uso gratuito*

Como parte de la capa gratuita de uso de AWS, Amazon SWF ofrece lo siguiente al mes a los clientes nuevos y existentes:

  • 1.000 ejecuciones de flujo de trabajo que se pueden iniciar sin ningún coste adicional
  • 10.000 tareas, temporizadores, señales y marcadores que se pueden usar de forma agregada sin ningún coste adicional
  • 30.000 flujos de trabajo-días que se pueden utilizar de forma gratuita. Un flujo de trabajo-día es cada periodo de 24 horas que una ejecución está abierta o retenida en Amazon SWF.
La capa gratuita para la transferencia de datos se aplica según los términos de la capa gratuita de uso de AWS**

Ejecuciones de flujo de trabajo

Un flujo de trabajo es un conjunto de tareas ejecutadas en un orden determinado (en ocasiones, con un conjunto de flujos o bucles condicionales). Cada vez que se ejecuta un flujo de trabajo, se considera como una ejecución distinta. Usted paga por las ejecuciones de flujo de trabajo cuando las inicia (es decir, cuando la primera tarea pasa a estar a disposición de los hosts de aplicaciones para que la ejecuten) y por cada periodo de 24 horas hasta que se completan. Las primeras 24 horas de ejecución de un flujo de trabajo son gratuitas.

  • Para iniciar una ejecución de flujo de trabajo: 0,0001 USD por cada ejecución de flujo de trabajo (es decir, 0,10 USD por cada 1.000 inicios de ejecución de flujos de trabajo)
  • Hasta que se completa la ejecución de un flujo de trabajo: 0,000005 USD por cada ejecución de flujo de trabajo (es decir, 0,05 USD por cada 10.000 ejecuciones de flujos de trabajo) por cada periodo de 24 horas o porción del mismo (observe que después de iniciar una ejecución de flujo de trabajo, las primeras 24 horas de la misma son gratuitas).
  • Para retener una ejecución de flujo de trabajo completada: 0,000005 USD por cada ejecución de flujo de trabajo retenida (es decir, 0,05 USD por cada 10.000 ejecuciones de flujos de trabajo retenidas) al día (Nota: puede configurar el tiempo durante el que Amazon SWF retiene la información acerca de ejecuciones de flujos de trabajo completadas. Paga por cada día que la información sobre una ejecución de flujo de trabajo completada se retiene en Amazon SWF).

Tareas, marcadores, temporizadores y señales

Hasta que se completa una ejecución de flujo de trabajo, sus máquinas de trabajador o cliente ejecutarán tareas adicionales y puede que añadan "marcadores" (entradas de registro personalizadas de la ejecución del flujo de trabajo), inicien temporizadores o reciban señales. Por cada uno de estos paga:

  • 0,000025 USD (es decir, 0,25 USD por cada 10.000)

Todos los cargos se calculan a diario y se facturan mensualmente.

Transferencia de datos**

Región: EE.UU. Este (Norte de Virginia) Esquema de precios
Transferencia entrante de datos
Todas las transferencias de datos entrantes 0,000 USD por GB
Transferencia saliente de datos***
Primer GB/mes 0,000 USD por GB
Hasta 10 TB/mes 0,120 USD por GB
Siguientes 40 TB/mes 0,090 USD por GB
Siguientes 100 TB/mes 0,070 USD por GB
Siguientes 350 TB por mes 0,050 USD por GB
Siguientes 524 TB/mes Contacte con nosotros
Siguientes 4 PB por mes Contacte con nosotros
Más de 5 PB por mes Contacte con nosotros

La transferencia de datos “entrantes” y “salientes” se refiere a una transferencia que entra o sale de Amazon SWF. Los datos transferidos entre Amazon SWF y otros servicios de AWS (como, p. ej., Amazon EC2 en el que pueden estar implementados los trabajadores y los decisores) dentro de la misma región son gratuitos. Los datos transferidos entre Amazon SWF y otros servicios de AWS en diferentes regiones se cobrarán según las tarifas de transferencia de datos por Internet a ambos lados de la transferencia.

* El uso gratuito se calculará cada mes y se aplicará de forma automática a su factura; el uso gratuito no es acumulable.

** Como parte del Nivel de uso gratuito de AWS, los clientes de AWS recibirán cada mes 15 GB gratuitos de transferencia de datos salientes en conjunto por todos los servicios de AWS durante un año.

*** Las capas de transferencia de datos salientes suman la transferencia saliente de datos a través de Amazon EC2, Amazon S3, Amazon RDS, Amazon SimpleDB, Amazon DynamoDB, Amazon SWF, Amazon SQS, Amazon SNS, AWS Storage Gateway y Amazon VPC.

Ejemplo de cálculo de coste

Para ilustrar el esquema de precios de Amazon SWF, piense en una aplicación sencilla de procesamiento de vídeo con tres tareas: descargar un vídeo, codificarlo y guardar el vídeo codificado en Amazon S3. Esta aplicación se utiliza para codificar 10.000 vídeos, cada uno de los cuales comprende una ejecución de flujo de trabajo única. Los trabajadores y los decisores de esta aplicación se ejecutan en Amazon EC2 en la misma región que Amazon SWF. El coste diario de ejecutar 10.000 ejecuciones de este flujo de trabajo es de 1,75 USD:

  • 1,00 USD por iniciar 10.000 ejecuciones de flujo de trabajo (10.000 x 0,0001 USD)
  • 0,75 USD por iniciar tareas (0,000025 USD por tarea x 3 tareas de cada ejecución de flujo de trabajo x 10.000 ejecuciones de flujo de trabajo)
  • Damos por hecho que un vídeo puede estar codificado y cargado en S3 en menos de 24 horas. Como resultado, la ejecución del flujo de trabajo se completa en menos de 24 horas desde su inicio y no se cobra por la ejecución de flujo de trabajo continuada.

Supongamos que también desea que Amazon SWF retenga la información acerca de la codificación de las ejecuciones del flujo de trabajo durante 7 días desde que se completan. El coste de retener información acerca de las ejecuciones de flujo de trabajo es de 0,35 USD (0,000005 USD al día por ejecución x 7 días de retención del flujo de trabajo x 10.000 ejecuciones de flujo de trabajo).

En total, el coste de Amazon SWF por coordinar la codificación y la carga de 10.000 vídeos y retener la información acerca de las ejecuciones de flujo de trabajo y los pasos de procesamiento asociados durante 7 días es de 2,10 USD (1,75 USD por las ejecuciones de flujo de trabajo + 0,35 USD por retener la información acerca de ellas).


Descripción detallada

Amazon SWF es un servicio de flujo de trabajo completamente gestionado para crear aplicaciones escalables y flexibles. Amazon SWF proporciona llamadas sencillas a la API que se pueden ejecutar a partir de un código escrito en cualquier lenguaje y ejecutarse en sus instancias de EC2 o desde cualquiera de sus máquinas ubicadas en cualquier lugar del mundo desde el que tengan acceso a Internet.

Amazon SWF actúa como núcleo de coordinación con el que interactúan sus hosts de aplicaciones. Usted crea los flujos de trabajo que desee con sus tareas asociadas y la lógica condicional que desee aplicar y los guarda en Amazon SWF. Cada vez que ejecuta un flujo de trabajo, se considera una ejecución de flujo de trabajo diferente. Usted programa los componentes de la aplicación para solicitar diversas tareas que se llevarán a cabo en su ejecución de flujo de trabajo y Amazon SWF se encarga de coordinar que las tareas se lleven a cabo, en el orden que haya especificado, en sus hosts (tanto si se encuentran en la nube como en sus instalaciones). Las aplicaciones se comunican con Amazon SWF mediante diferentes API para registrar el éxito o el fracaso de las tareas. Amazon SWF entonces continúa la secuencia de tareas asignando la siguiente tarea de flujo de trabajo a un host de aplicaciones o volviendo a ejecutar la tarea fallida, en función de su lógica empresarial.

Identifíquese en AWS Management Console para iniciar una ejecución de flujo de trabajo de Amazon SWF. De forma alternativa, puede iniciar una ejecución de flujo de trabajo por medio de las API de Amazon SWF. Amazon SWF emplea una interfaz de servicio web sencilla que es fácil de utilizar y muy flexible:

  • StartWorkflowExecution: inicia una secuencia de tareas de flujo de trabajo y pone la primera tarea a disposición de uno de sus hosts de aplicaciones.
  • DescribeWorkflowExecution: proporciona el estado de sus ejecuciones y tareas de flujo de trabajo.
  • PollForActivityTask: sus hosts de aplicaciones (en la nube o en sus instalaciones) solicitan y ejecutan tareas de flujo de trabajo en un bucle continuo.
  • RespondActivityTaskCompleted: un host de aplicaciones indica a Amazon SWF que ha completado con éxito una tarea. Amazon SWF entonces continuará con la ejecución del flujo de trabajo poniendo a disposición del host de aplicaciones la siguiente tarea.
  • TerminateWorkflowExecution: detiene el avance de una ejecución de flujo de trabajo. Amazon SWF no asignará más tareas de esta ejecución de flujo de trabajo determinada al host de aplicaciones.

Cómo empezar

La mejor forma de comprender Amazon SWF es consultar la documentación. Utilice el ejemplo detallado Launch Sample Walkthrough en AWS Management Console para ejecutar un flujo de trabajo de muestra que le mostrará los aspectos básicos de Amazon SWF.


Uso indicado y restricciones

El uso que realice de este servicio está sujeto al Contrato de cliente de Amazon Web Services.

©2011, Amazon Web Services LLC o sus afiliados. Todos los derechos reservados.