O Amazon SWF ajuda os desenvolvedores a criar, executar e dimensionar trabalhos em segundo plano que têm etapas paralelas ou sequenciais. Pode-se pensar no Amazon SWF como um rastreador de estado e coordenador de tarefas totalmente gerenciado na nuvem.

Se as etapas de seu aplicativo levam mais de 500 milissegundos para serem concluídas, você precisa rastrear o estado do processamento. E se precisa recuperar ou tentar novamente se uma tarefa falha, o Amazon SWF pode ajudá-lo.


Visite a página de conceitos básicos para obter código de exemplo para etapas paralelas, sequenciais, de fan-out e outros padrões de fluxo de trabalho.

Comece a usar agora

Comece a usar a AWS gratuitamente

Crie uma conta gratuita

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

Consulte os detalhes do nível gratuito da AWS »

Amazon SWF promove uma separação entre o fluxo de controle da lógica das etapas do seu trabalho em segundo plano e as unidades reais de trabalho que contêm sua lógica de negócios exclusiva. Isso permite gerenciar, manter e dimensionar o "mecanismo de estado" do seu aplicativo separadamente da lógica de negócios central que o diferencia. À medida que seus requisitos de negócios mudam, você pode facilmente alterar a lógica do aplicativo, sem ter de se preocupar com o mecanismo de estado subjacente, o despacho de tarefas e o controle de fluxo.

O Amazon SWF é executado nos datacenters de alta disponibilidade da Amazon. Assim, o mecanismo de processamento de tarefas e rastreamento de estado estará disponível sempre que os aplicativos precisarem. O Amazon SWF armazena as tarefas de forma redundante, despacha-as com confiabilidade para os componentes do aplicativo, acompanha seu progresso e mantém seu estado mais recente.

O Amazon SWF substitui a complexidade de soluções de fluxo de trabalho de código personalizado e software de automação de processos com um serviço da web de fluxo de trabalho em nuvem 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.

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

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 localmente.

Codificação de vídeo usando o Amazon S3 e o Amazon EC2. Neste caso de uso, vídeos grandes são carregados no Amazon S3, em blocos. O carregamento de blocos precisa ser monitorado. Depois de ser carregado, o bloco é codificado ao ser descarregado para uma instância do Amazon EC2. O bloco codificado é armazenado em outra localização do Amazon S3. Após todos os blocos serem codificados dessa forma, eles são combinados em um arquivo codificado completo que é armazenado inteiramente de volta no Amazon S3. Podem ocorrer falhas durante esse processo devido a um ou mais erros de codificação achados nos blocos. Essas falhas precisam ser detectadas e tratadas por meio do gerenciamento de fluxo de trabalho em nuvem do Amazon SWF.

Migração de componentes do datacenter para a nuvem. Operações críticas de negócios estão hospedadas em um datacenter privado mas precisam ser movidas completamente para a nuvem, sem interrupções. Aplicativos baseados no Amazon SWF podem combinar operadores que combinam componentes em execução no datacenter com operadores executados na nuvem. Para fazer a transição de um operador de datacenter facilmente, novos operadores do mesmo tipo são implementados primeiro na nuvem. Os operadores no datacenter continuam a ser executados como sempre, junto com os novos operadores baseados na nuvem. Os operadores baseados na nuvem são testados e validados pelo roteamento de uma parte do carregamento através deles. Durante este teste, o aplicativo não é interrompido porque os operadores continuam sendo executados no datacenter. Após testes bem-sucedidos, os operadores no datacenter vão sendo suspendidos gradualmente, e aqueles na nuvem vão aumentando, para que migrem totalmente para um aplicativo de gerenciamento de fluxo de trabalho em nuvem. Esse processo de workflow em nuvem pode ser repetido para todos os outros operadores no datacenter, de modo que o aplicativo seja migrado para a nuvem por completo. Se, por alguma razão de negócios, certas etapas de processamento precisarem continuar a ser executadas no datacenter privado, esses operadores poderão continuar a ser executados no datacenter privado e ainda participar do aplicativo.

Processar grandes catálogos de produtos usando o Amazon Mechanical Turk. Enquanto dados são validados em catálogos grandes, os produtos do catálogo são processados em lotes. Lotes diferentes podem ser processados concomitantemente. Para cada lote, os dados do produto são extraídos de servidores no banco de dados e transformados em arquivos CSV (Valores separados por vírgula) exigidos pelo Requester User Interface (RUI) do Amazon Mechanical Turk. O CSV é carregado para preencher e executar as HITs (Tarefas de inteligência humana). Quando HITs são concluídas, o arquivo CSV resultante é transformado reversamente para que os dados sejam obtidos de volta em seu formato original. Os resultados são estimados e os operadores do Amazon Mechanical Turk são pagos por resultados aceitáveis. As falhas são eliminadas e reprocessadas, enquanto os resultados aceitáveis de HIT são usados para atualizar o catálogo. Conforme os lotes são processados, o sistema precisa acompanhar a qualidade dos operadores do Amazon Mechanical Turk e ajustar os pagamentos apropriadamente. HITs com falha são reorganizados em lote e enviados por meio da pipeline novamente.