Identificar as opções de tecnologia

Concluído

Você não tem muito tempo para integrar adequadamente os processos de negócios entre o seu sistema de aluguel de bicicletas existente e o sistema em uso no segundo campus. Você gostaria de aproveitar ao máximo sua experiência existente no Azure e leu que o Azure inclui várias tecnologias diferentes que você pode usar para resolver problemas como este.

Nesta unidade, exploraremos as opções de tecnologia do Azure disponíveis para automatizar e integrar seus processos de negócios.

Problemas comerciais comuns

Nos negócios, uma maneira de garantir produtos e serviços de alta qualidade aos clientes é projetar e implementar processos de negócios rigorosos. Esses processos podem envolver várias etapas, pessoas e pacotes de software. Cada processo pode ser executado em uma linha simples de atividades que os trabalhadores executam um após o outro, ou eles podem ramificar ou fazer loop. Cada processo pode ser executado rapidamente ou levar dias ou semanas para ser concluído.

Uma empresa frequentemente enfrenta problemas quando se funde com uma segunda empresa ou se integra a uma organização parceira. Como os administradores podem integrar os processos separados usados nas duas organizações, que podem ter sido implementados usando softwares diferentes?

Os processos de negócio modelados em software são muitas vezes denominados fluxos de trabalho. O Azure inclui quatro tecnologias diferentes que pode utilizar para criar e implementar fluxos de trabalho que integram múltiplos sistemas:

  • Azure Logic Apps
  • Microsoft Power Automate
  • WebJobs
  • Funções do Azure

Estas quatro tecnologias têm algumas semelhanças. Por exemplo:

  • Todas aceitam entradas. Uma entrada é um dado ou um arquivo fornecido ao fluxo de trabalho.
  • Todas executam ações. Uma ação é uma operação simples que o fluxo de trabalho executa e muitas vezes pode modificar dados ou fazer com que outra ação seja executada.
  • Todas incluem condições. Uma condição é um teste, geralmente executado contra uma entrada, que pode decidir qual ação executar em seguida.
  • Todas produzem saídas. Uma saída é uma parte dos dados ou um ficheiro criado pelo fluxo de trabalho.

Além disso, os fluxos de trabalho criados com essas tecnologias podem começar com base em um cronograma ou algum evento externo pode acioná-los.

Tecnologias baseadas em design

Quando os analistas de negócios discutem e planejam um processo de negócios, eles podem desenhar um fluxograma no papel. Com os Aplicativos Lógicos do Azure e o Microsoft Power Automate, você pode adotar uma abordagem semelhante para projetar um fluxo de trabalho. Ambos incluem interfaces de usuário onde você pode desenhar o fluxo de trabalho. Esta abordagem é denominada baseada em design.

Azure Logic Apps

Os Aplicativos Lógicos do Azure são um serviço dentro do Azure para automatizar, orquestrar e integrar componentes diferentes de um aplicativo distribuído. Usando a abordagem de design primeiro nos Aplicativos Lógicos do Azure, você pode desenhar fluxos de trabalho complexos que modelam processos de negócios complexos. A captura de tela a seguir mostra o designer de fluxo de trabalho e a tela de design que você usa para definir seu fluxo de trabalho.

Captura de ecrã do designer de fluxo de trabalho das Aplicações Lógicas do Azure no portal do Azure.

Em alternativa, se preferir trabalhar em código, pode criar ou editar um fluxo de trabalho na notação em JSON com a vista de código, conforme ilustrado na captura de ecrã seguinte.

Captura de ecrã do editor de códigos das Aplicações Lógicas do Azure no portal do Azure.

Uma razão pela qual os Aplicativos Lógicos do Azure são tão bons em integração é que mais de 1.000 conectores estão incluídos. Um conector é um componente de aplicativo lógico que fornece uma interface para um serviço externo. Por exemplo, o conector X permite-lhe enviar e recuperar mensagens curtas, enquanto o conector do Office 365 Outlook permite-lhe gerir o seu e-mail, calendário e contactos. Os Aplicativos Lógicos do Azure fornecem centenas de conectores pré-criados que você pode usar para criar seus aplicativos. Se você tiver um sistema incomum ou exclusivo que deseja chamar dos Aplicativos Lógicos do Azure, poderá criar seu próprio conector se o sistema expor uma API REST.

Microsoft Power Automate

O Microsoft Power Automate é um serviço para criar fluxos de trabalho mesmo quando você não tem experiência em desenvolvimento ou profissional de TI. Você pode criar fluxos de trabalho que integram e orquestram muitos componentes diferentes usando o site ou o aplicativo móvel Power Automatic.

Existem quatro tipos diferentes de fluxo que pode criar:

  • Automatizado: Começa por um gatilho de algum evento. Por exemplo, o evento pode ser a chegada de um novo post curto ou um novo arquivo sendo carregado.
  • Botão: executa uma tarefa repetitiva com um único toque no seu dispositivo móvel.
  • Programado: Funciona regularmente. Por exemplo, uma vez por semana, em uma data específica ou após 10 horas.
  • Processo comercial: modela um processo comercial, como o processo de pedido de estoque ou o procedimento de reclamações. O processo de fluxo pode ter: notificações às pessoas necessárias; com a sua aprovação registada; datas do calendário para as etapas; e registrou o tempo das etapas de fluxo.

O Microsoft Power Automate fornece uma superfície de projeto fácil de usar para criar esses tipos de fluxos. Como ilustra a captura de tela a seguir, o designer de fluxo facilita o design e o layout do seu processo.

Captura de ecrã do estruturador do Microsoft Power Automate a mostrar um fluxo de trabalho com um acionador de ficheiros, uma ação do Office para obter um perfil de utilizador e uma ação do Outlook para enviar um e-mail.

Nos bastidores, o Microsoft Power Automate é baseado em Aplicativos Lógicos do Azure. Este facto significa que o Power Automate suporta o mesmo intervalo de conectores e ações que as Aplicações Lógicas do Azure. Também pode utilizar conectores personalizados no Microsoft Power Automate.

Comparação de tecnologias baseadas em design

Como você pode ver na tabela a seguir, o Microsoft Power Automate é mais apropriado para a equipe não técnica usar. Se seus designers de fluxo de trabalho são profissionais de TI, desenvolvedores ou profissionais de DevOps, os Aplicativos Lógicos do Azure geralmente são mais adequados.

Microsoft Power Automate Azure Logic Apps
Utilizadores a que se destina Trabalhadores de escritório e analistas de negócio Programadores e profissionais de TI
Cenários a que se destina Criação de fluxos de trabalho self-service Projetos de integração avançada
Ferramentas de design Apenas GUI. Browser e aplicação móvel Designer de fluxo de trabalho no navegador, Visual Studio Code e Visual Studio. A edição de código é possível.
Gestão do Ciclo de Vida das Aplicações O Power Automate inclui ambientes de teste e produção. O código-fonte dos Aplicativos Lógicos do Azure pode ser incluído nos repositórios do Azure DevOps ou em outros sistemas de gerenciamento de código-fonte, como o GitHub.

Tecnologias baseadas em código

Os programadores na sua equipa provavelmente irão preferir escrever código quando quiserem orquestrar e integrar diferentes aplicações empresariais num único fluxo de trabalho. É o caso quando precisa de mais controlo sobre o desempenho do fluxo de trabalho ou tem de escrever código personalizado como parte do processo de negócio. Para essas pessoas, o Azure inclui WebJobs e Funções.

WebJobs e o SDK de WebJobs

O Serviço de Aplicações do Azure é um serviço de alojamento com base na cloud para aplicações Web, back-ends móveis e APIs RESTful. Muitas vezes, estas aplicações precisam de realizar algum tipo de tarefa em segundo plano. Por exemplo, no seu sistema de aluguer de bicicletas, quando um utilizador carrega uma fotografia de uma bicicleta, poderá ter de gerar uma fotografia em miniatura mais pequena.

Os WebJobs fazem parte do Serviço de Aplicações do Azure que pode utilizar para executar automaticamente um programa ou script. Existem dois tipos de WebJob:

  • Contínuo: Inicia imediatamente quando o WebJob é criado e executado em um loop contínuo. Por exemplo, pode utilizar um WebJob contínuo para verificar uma pasta partilhada para uma nova fotografia.
  • Acionado: inicia com base em um evento de vinculação, em uma agenda ou quando você o aciona manualmente (sob demanda).

Para determinar quais ações seu WebJob realiza, você pode escrever código em vários idiomas diferentes. Por exemplo, pode criar um script para o WebJob ao escrever código num Script de Shell (Windows, PowerShell, Bash). Como alternativa, você pode escrever um programa em PHP, Python, Java ou JavaScript.

Você também pode programar um WebJob usando .NET e uma linguagem .NET, como C# ou VB.NET. Neste caso, também pode utilizar o SDK de WebJobs para facilitar a tarefa. O SDK inclui uma variedade de classes, como JobHostConfiguration e HostBuilder, que reduzem a quantidade de código necessário para interagir com o Serviço de Aplicações do Azure.

O SDK de WebJobs suporta apenas C# e o gestor de pacotes NuGet.

Funções do Azure

Uma Função do Azure é uma maneira simples de executar pequenos pedaços de código na nuvem sem ter que se preocupar com a infraestrutura necessária para hospedar esse código. Você pode escrever a Função em C#, Java, JavaScript, PowerShell, Python ou qualquer uma das linguagens listadas no artigo Linguagens com suporte no Azure Functions . Além disso, com a opção de plano de consumo, só paga pelo tempo de execução do código. O Azure dimensiona automaticamente a sua função em resposta à procura dos utilizadores.

Quando cria uma Função do Azure, pode começar por escrever o código no portal. Como alternativa, se precisar de gerenciamento de código-fonte, você pode usar repositórios GitHub ou Azure DevOps.

Para criar uma Função do Azure, escolha de entre os vários modelos. A lista a seguir é uma amostra de alguns dos modelos disponíveis para você:

  • Gatilho HTTP: quando você deseja que o código seja executado em resposta a uma solicitação enviada por meio do protocolo HTTP.
  • Gatilho de temporizador: quando você deseja que o código seja executado de acordo com uma programação.
  • Gatilho de armazenamento de Blob: quando você deseja que o código seja executado quando um novo blob é adicionado a uma conta de Armazenamento do Azure.
  • Gatilho do Cosmos DB: quando você deseja que o código seja executado em resposta a documentos novos ou atualizados em um banco de dados NoSQL.

O Azure Functions pode integrar-se com muitos serviços diferentes, tanto no Azure como de terceiros. Esses serviços podem acionar sua função, enviar entrada de dados para sua função ou receber saída de dados de sua função.

Comparação de tecnologias baseadas em código

Na maioria dos casos, a administração simples e o modelo de codificação mais flexível que o Azure Functions fornece podem levá-lo a escolhê-los em preferência aos WebJobs. No entanto, você pode escolher WebJobs pelos seguintes motivos:

  • Você deseja que o código faça parte de um aplicativo do Serviço de Aplicativo existente e seja gerenciado como parte desse aplicativo; por exemplo, no mesmo ambiente de DevOps do Azure.
  • Precisa de ter mais controlo sobre o objeto que escuta eventos que acionam o código. Este objeto em questão é a classe JobHost e terá mais flexibilidade para modificar o respetivo comportamento no WebJobs.
WebJobs do Azure Funções do Azure
Idiomas suportados C# se você estiver usando o SDK WebJobs C#, Java, JavaScript, PowerShell e muito mais
Dimensionamento automático Não Sim
Desenvolvimento e teste em navegador Não Sim
Preços com pagamento por utilização Não Sim
Integração com Aplicativos Lógicos do Azure Não Sim
Gerenciadores de pacotes NuGet se você estiver usando o SDK WebJobs NuGet e npm
Pode fazer parte de um aplicativo do Serviço de Aplicativo Sim Sim (hospedado no plano do Serviço de Aplicativo)
Proporciona um controlo apertado de JobHost Sim No

Agora que sabe que as tecnologias baseadas em design e código estão disponíveis para si, como pode limitar as opções? Vamos analisar esta questão na unidade seguinte.