Amazon Simple Workflow Service (beta)

O Amazon Simple Workflow Service (Amazon SWF) é um serviço de fluxo de trabalho para construção de aplicativos escaláveis e flexíveis. Automatização de processos de negócios para aplicativos de seguros ou financeiros, construção de aplicativos de análise de dados sofisticados ou gerenciamento de serviços de infraestrutura em nuvem, o Amazon SWF coordena de modo seguro todas as etapas de processamento em um aplicativo.

Com uma abordagem de desenvolvimento tradicional, é necessário tempo além de ser dispendioso construir e acompanhar etapas de processamento executadas em diferentes momentos e com durações distintas, enquanto garante-se que são executadas de modo confiável e sem duplicação. Quando a execução de aplicativos é distribuída entre vários sistemas, a coordenação de etapas de processamento nesses sistemas apresenta um desafio adicional. Com o Amazon SWF, desenvolvedores podem estruturar as várias etapas de processamento em um aplicativo como "tarefas" que direcionam trabalhos em aplicativos distribuídos, e o Amazon SWF coordena essas tarefas de modo escalável e seguro. O Amazon SWF gerencia dependências de execução de tarefas, programação e concorrência baseadas na lógica de aplicativo do desenvolvedor. O serviço armazena tarefas, despacha-as com segurança para os componentes do aplicativo, acompanha seu progresso e mantém seu estado mais recente.

O Amazon SWF é um serviço totalmente gerenciado, sem hardware ou software para administrar, escalar, ajustar, corrigir ou atualizar. O Amazon SWF fornece chamadas de API simples que podem ser executadas a partir de gravações de código em qualquer idioma e serem executadas nas suas instâncias do EC2, ou em qualquer uma de suas máquinas localizadas em qualquer lugar no mundo que tenham acesso à internet. Em máquinas in loco basta apenas iniciar uma conexão com a internet para solicitar tarefas a partir de APIs do SWF, sem precisar fazer mudanças nas regras de firewall. Relatórios detalhados sobre o status atual e o histórico de execuções de seus fluxos de trabalho estão disponíveis por meio AWS Management Console.

Leia a publicação do CTO da Amazon, Werner Vogels, no blog do Amazon SWF para saber mais sobre como o Amazon SWF lhe ajuda a aproveitar processamentos distribuídos e assíncronos em seus aplicativos.
Comece a usar
a AWS gratuitamente

O nível gratuito da AWS inclui 10.000 tarefas de atividade, 30.000 dias de fluxo de trabalho e 1.000 execuções iniciadas com o Amazon Simple Workflow (SWF).

Veja os detalhes do nível gratuito da AWS »

Visão geral do Amazon SWF

Imagem: Visão geral do Amazon SWF


Introdução ao Amazon SWF
Utilização do AWS Flow Framework


Esta página contém as seguintes categorias de informações. Clique para ir para baixo:

Funcionalidade do Amazon SWF

É fácil usar o Amazon SWF para gerenciar fluxos de trabalho no seu aplicativo O serviço Amazon SWF age como o hub de coordenação de todos os diferentes componentes de seu aplicativo:

  • Manter o estado do aplicativo
  • Acompanhar as execuções de fluxo de trabalho e registrar seu andamento
  • Aguardar e despachar tarefas
  • Controlar que tarefas hospedadas em cada um de seus aplicativos hospeda serão atribuídas para executar
Para usar o Amazon SWF, basta, simplesmente:
  • Use o AWS Management Console ou o Amazon SWF APIs para especificar os nomes dos fluxos de trabalho.
  • Use o Amazon SWF APIs para “começar” um novo fluxo de trabalho e criar uma sequência específica de tarefas – chamada de “execução do fluxo de trabalho” – que entrará imediatamente em ação.
  • Use o Amazon SWF APIs nas máquinas operárias (“operário” é um componente da sua aplicação que lida com tarefas específicas) para estabelecer a ordem de tarefas, administrar fluxos condicionais e executar o reinício de uma execução do fluxo de trabalho.
  • Use o Amazon SWF APIs nas máquinas operárias para solicitar e realizar tarefas nas nuvens ou no local.
  • Monitore a posição e o progresso das execuções nos fluxos de trabalho e suas respectivas tarefas no AWS Management Console.
O exemplo do passo a passo no AWS Management Console apresenta todas as etapas para registrar e executar uma aplicação modelo. Por favor, consulte a documentação para maiores detalhes sobre os serviços da Amazon SWF e APIs.

Destaques do serviço

Simples – O Amazon SWF substitui a complexidade de soluções de fluxo de trabalho personalizado codificado e software de automação de processo com um serviço da web totalmente gerenciado. Assim, os desenvolvedores não precisam gerenciar a análise de infraestrutura da automação do processo, podendo orientar sua energia exclusivamente na funcionalidade de seu aplicativo.

Escalável – O Amazon SWF é facilmente escalável com o uso de seu aplicativo. Não é necessária nenhuma administração manual de seu fluxo de trabalho conforme você adiciona mais fluxos de trabalho ao seu aplicativo ou aumenta a complexidade de seus fluxos de trabalho.

Flexível – O Amazon SWF permite que você grave os componentes de seu aplicativo e a lógica de coordenação em qualquer linguagem de programação e os execute na nuvem ou internamente.


Definição de preço

Pague somente pelo que usar. Não há taxa mínima. Estime sua fatura mensal usando a Calculadora Mensal da AWS.

Nível gratuito*

Como parte do Nível de uso gratuito da AWS, o Amazon SWF oferece o seguinte por mês a clientes novos e antigos:

  • 1.000 execuções de fluxo de trabalho podem ser iniciadas gratuitamente
  • 10.000 tarefas, temporizadores, indicadores e marcadores podem ser usados no todo, gratuitamente
  • 30.000 fluxos de trabalho-dia podem ser usados gratuitamente. Um fluxo de trabalho-dia refere-se a cada período de 24 horas em que uma execução é aberta ou retida no Amazon SWF.
O nível gratuito para transferência de dados é aplicável de acordo com o Nível de uso gratuito da AWS**

Execuções de fluxo de trabalho

Um fluxo de trabalho é um conjunto de tarefas executadas em uma determinada ordem (à vezes com um conjunto de loops ou fluxos condicionais). Sempre que um fluxo de trabalho é executado, é considerado uma execução de fluxo de trabalho diferente. Você paga pelas execuções de fluxo de trabalho quando elas são iniciadas (p.ex., a primeira tarefa torna-se disponível para hosts de aplicativos para execução) e por cada período de 24 horas até que elas sejam concluídas. As primeiras 24 horas de execução de fluxo de trabalho são gratuitas.

Tarefas, marcadores, temporizadores e indicadores

Até que uma execução de fluxo de trabalho esteja concluída, seu mecanismo de cliente ou operador executará tarefas adicionais, podendo adicionar "marcadores" (entradas de log de execução de fluxo de trabalho personalizadas), iniciar temporizadores ou receber sinais. É preciso pagar por cada um deles:

Todas os custos são calculados diariamente e cobrados mensalmente.

Transferência de dados**

Transferência de dados "para dentro" e "para fora" refere-se à transferência para dentro e para fora do Amazon SWF. A transferência de dados entre o Amazon SWF e outros serviços da AWS (p.e. Amazon EC2 onde os operadores e administradores podem estar implementados), em uma única região é gratuita (p.ex., 0,00 USD por GB). Os dados transferidos entre o Amazon SWF e outros serviços da AWS em diferentes regiões serão cobrados de acordo com as taxas da Transferência de dados via internet em ambos os lados da transferência.

* O uso gratuito é calculado por mês e aplicado automaticamente à sua fatura - o uso gratuito não se acumula.

** Como parte do Nível de uso gratuito da AWS, novos clientes AWS receberão 15 GB de transferência de dados para fora gratuitamente a cada mês agregado em todos os serviços AWS, durante um ano.

*** Os níveis de taxas de transferência para fora agregam a transferência de dados de saída no Amazon EC2, Amazon S3, Amazon RDS, Amazon SimpleDB, Amazon DynamoDB, Amazon SWF, Amazon SQS, Amazon SNS, AWS Storage Gateway e Amazon VPC.

Exemplo de cálculo de custos

Para ilustrar a definição de preços do Amazon SWF, considere um aplicativo de processamento de vídeos simples com três tarefas: descarregar um vídeo, codificá-lo e armazenar o vídeo codificado no Amazon S3. Esse aplicativo é usado para codificar 10.000 vídeos, cada um deles compreendendo uma única execução de fluxo de trabalho. Os operadores e administradores nesse aplicativo estão todos sendo executados no Amazon EC2 na mesma região que o Amazon SWF. O custo para a executar 10.000 execuções de fluxo de trabalho desse fluxo de trabalho diariamente é 1,75 USD da seguinte forma:

  • 1,00 USD para iniciar 10.000 execuções de fluxo de trabalho (10.000 x 0,0001 USD)
  • 0,75 USD para iniciar tarefas (0,000025 USD por tarefa x 3 tarefas por execução de fluxo de trabalho x 10.000 execuções de fluxo de trabalho)
  • Consideramos que um vídeo pode ser codificado e carregado para o S3 em menos de 24 horas. Sendo assim, uma execução de fluxo de trabalho é concluída dentro de 24 horas de seu início, e não há custos pela execução de fluxo de trabalho em andamento.

Vamos supor que você também queira que o Amazon SWF retenha informações sobre a codificação das execuções de fluxo de trabalho por sete dias após sua conclusão. O custo pela retenção de informações sobre as execuções de fluxo de trabalho é de 0,35 USD (0,000005 USD por dia por execução x 7 fluxos de trabalho-dia de retenção x 10.000 execuções de fluxo de trabalho).

No total, o custo do Amazon SWF para coordenar a codificação e carregamento de 10.000 vídeos e para reter informações sobre as execuções de fluxo de trabalho associadas, além de processar etapas por sete dias é: 2,10 USD (1,75 USD para executar execuções de fluxo de trabalho + 0,35 USD para reter informações sobre elas).


Recursos


Descrição detalhada

O Amazon SWF é um serviço de fluxo de trabalho totalmente gerenciado para construção de aplicativos escaláveis e flexíveis. O Amazon SWF fornece chamadas de API simples que podem ser executadas a partir de gravações de código em qualquer idioma e serem executadas nas suas instâncias do EC2, ou quem qualquer uma de suas máquinas localizadas em qualquer lugar no mundo que tenham acesso à internet.

O Amazon SWF atua como um hub de coordenação com o qual seus hosts de aplicativo interagem. Você cria os fluxos de trabalho desejados com suas tarefas associadas e qualquer lógica condicional que queira aplicar e as armazena no Amazon SWF. Cada momento em que executa um fluxo de trabalho, é considerado uma execução de fluxo de trabalho diferente. Você programa os componentes de seu aplicativo para solicitarem várias tarefas a serem desempenhadas na sua execução de fluxo de trabalho, e o Amazon SWF coordena a realização das tarefas, na ordem que especificar, nos seus hosts (estando os hosts localizados na nuvem ou in loco). Aplicativos comunicam-se com o Amazon SWF usando APIs para registrar erros ou êxitos de tarefas. Então o Amazon SWF continua a sequência de tarefas atribuindo a próxima tarefa de fluxo de trabalho a um host de aplicativo, ou efetua novamente a execução da tarefa com erro, dependendo de sua lógica de negócios.

Efetue o log-in no AWS Management Console para começar uma execução de fluxo de trabalho do Amazon SWF. De modo alternativo, você pode iniciar uma execução de fluxo de trabalho por meio das nossas APIs do Amazon SWF. O Amazon SWF emprega uma interface de serviço da AEB simples, fácil de usar e altamente flexível:

  • StartWorkflowExecution: inicia uma sequência de tarefas de fluxo de banco de dados e torna a primeira tarefa disponível para um dos seus hosts de aplicativo.
  • DescribeWorkflowExecution: fornece status de suas tarefas e execuções de fluxo de trabalho.
  • PollForActivityTask: seus hosts de aplicativo (na nuvem ou in loco) solicitam e executam tarefas de fluxo de trabalho e um loop contínuo.
  • RespondActivityTaskCompleted: um host de aplicativo informa ao Amazon SWF que uma tarefa foi concluída com êxito. Então o Amazon SWF continuará a execução de fluxo de trabalho, tornando a próxima tarefa disponível para um host de aplicativo.
  • TerminateWorkflowExecution: para de enviar uma execução de fluxo de trabalho específica. O Amazon SWF não irá atribuir mais nenhuma tarefa dessa execução de fluxo de trabalho específica para o host do aplicativo.

Conceitos básicos

A melhor maneira de entender o Amazon SWF é analisando a documentação. Use o recurso Iniciar walkthrough de amostra apresentado no AWS Management Console para executar um fluxo de trabalho de amostra que lhe introduzirá aos conceitos básicos do Amazon SWF.


Uso pretendido e restrições

O uso deste serviço está sujeito ao Acordo do Cliente da Amazon Web Services.

©2013, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.