Pipeline de Automação com SageMaker e Airflow
Apache Airflow é uma plataforma de gerenciamento de fluxo de trabalho (workflow management plataform) de código aberto (open-source), que começou na Airbnb como uma solução para gerenciar os fluxos de trabalho cada vez mais complexos da empresa.
Mas o Que São “Fluxos de Trabalho”?
Fluxos de trabalho, ou workflows, são a forma como as pessoas realizam o trabalho e podem ser ilustradas como uma série de etapas que precisam ser concluídas sequencialmente (por exemplo na publicação de um post, você ou as pessoas envolvidas precisam escrever, editar, revisar e por fim publicar – de uma forma bem simples).
Contudo, o fluxo de trabalho não pode ser confundido com uma tarefa ou com várias tarefas juntas, pois isso seria um processo. Podemos dizer então, que o fluxo de trabalho é uma cadeia de tarefas que acontecem em uma sequência, além de ser algo que você faz regularmente.
Mas Qual a Diferença Entre Fluxo de Trabalho e Processos?
Os processos em suma são uma sequência de atividades, que são subdivididas em tarefas organizadas de maneira lógica com o objetivo de entregar um produto, serviço, decisão, informação ou outra saída.
A cadeia de processos visa agregar valor à entrega final. Se a diferença positiva entre valor e os custos de produção/execução for grande, maior será o lucro/valor para a empresa, e quanto mais otimizado e melhorado o processo, melhor.
É nesse momento que o fluxo de trabalho e os processos se relacionam, uma vez que esse primeiro é uma ferramenta que melhora os processos da organização.
Podemos dizer que o fluxo de trabalho tem um conjunto de tecnologias e ferramentas que fazem com que os dados, informações e atividades sigam adequadamente pela organização para que os colaboradores sigam sua sequência e realizem procedimentos e atividades que facilitem o alcance de seus objetivos.
Quais as Principais Vantagens do Fluxo do Trabalho?
Existem várias vantagens, podemos citar algumas:
– Redução de custos e diminuição de desperdícios;
– Aumento da eficiência e eficácia dos processos;
– Maior transparência no uso e processamento de informações;
– Aumento da colaboração entre os membros do seu time e da equipe;
– Melhoria contínua dos processos.
E Como o Apache Airflow Ajuda em Tudo Isso?
Como foi dito lá em cima, ele é uma plataforma de gerenciamento de Fluxo de Trabalho, que vem permitir programar, agendar e monitorar esses fluxos. Em seu site, são apresentados seus princípios:
– Escalável (arquitetura modular, está preparado para escalar fluxos até o infinito);
– Dinâmico (Os pipelines são configurando usando Python permitindo geração dinâmica de pipelines – Não deixe de ler o post da Tabata sobre Pipelines);
– Extensível (Define seus operados, executores);
– Elegante (Seus pipelines são enxutos e explícitos);
– Cheio de recursos (muitos deles estudamos aqui na DSA): Você pode usar Python, possui uma interface amigável, permite uma enorme variedade de integrações (apenas para citar algumas: AWS DynamoDB, Apache Hive, AWS S3, Apache Sqoop, Machine Learning Engine, Hadoop HDFS, Cassandra, AutoML, Redshift, Azure, Apache Spark, Apache Pig, Amazon EC2, Google Spreadsheet, MongoDB, MySQL, Docker, Microsoft SQL Server, HTTP, Databrinks, PostgreSQL, Google Drive, JDBC, Oracle, SQLite, Kubernetes, SMTP, entre outros);
Referências:
Seus Dados em um Único Lugar com AirFlow
Este artigo foi produzido por um dos alunos da DSA, o Daniel Duarte, e compartilhado na timeline da Comunidade DSA em nosso portal. O Daniel e outros alunos tiveram a iniciativa de produzir alguns resumos para ajudar aqueles que estão começando agora sua jornada e assim compartilhar conhecimento. Isso não é maravilhoso? Sim, nós da DSA também achamos. E por isso decidimos compartilhar em nosso Blog para ajudar também outras pessoas.
Parabéns Daniel.
Da para fazer RPA com Airflow?
Dá sim.