A arquitetura a seguir estende a análise de ponta a ponta com o cenário do Azure Synapse Analytics . Ele permite que um modelo de aprendizado de máquina (ML) personalizado seja treinado no Azure Machine Learning e implementado com um aplicativo personalizado criado usando o Microsoft Power Platform.
Arquitetura
Baixe um arquivo Visio desta arquitetura.
Fluxo de Trabalho
O fluxo de trabalho consiste nos seguintes passos:
- Ingerir
- Armazenamento
- Preparar e implementar um modelo
- Consumir
Ingerir
Use o Azure Synapse Pipelines para extrair dados em lote de várias fontes, tanto no local quanto na nuvem. Essa arquitetura lambda tem dois fluxos de ingestão de dados: streaming e batch. Eles são descritos aqui:
- Streaming: Na metade superior do diagrama de arquitetura anterior estão os fluxos de dados de streaming (por exemplo, fluxos de big data e dispositivos IoT).
- Você pode usar os Hubs de Eventos do Azure ou o Hub IoT do Azure para ingerir fluxos de dados gerados por aplicativos cliente ou dispositivos IoT. Os Hubs de Eventos ou o Hub IoT ingerem e armazenam dados de streaming, preservando a sequência de eventos recebidos. Os consumidores podem se conectar a pontos de extremidade de hub para recuperar mensagens para processamento.
- Lote: Na metade inferior do diagrama de arquitetura, os dados são ingeridos e processados em lotes como:
Dados não estruturados (por exemplo, vídeo, imagens, áudio e texto livre)
Dados semiestruturados (por exemplo, JSON, XML, CSV e logs)
Dados estruturados (por exemplo, bancos de dados relacionais e Serviços de Dados do Azure)
O Azure Synapse Link cria uma integração perfeita entre o Azure Cosmos DB e o Azure Synapse Analytics. Os Pipelines do Azure Synapse podem ser acionados com base em uma agenda predefinida ou em resposta a um evento. Eles também podem ser invocados chamando APIs REST.
Armazenamento
Os dados ingeridos podem aterrar diretamente em formato bruto e, em seguida, ser transformados no Azure Data Lake. Uma vez selecionados e transformados em estruturas relacionais, os dados podem ser apresentados para consumo no Azure Synapse Analytics.
Preparar e implementar um modelo
O Machine Learning fornece um serviço de ML de nível empresarial para criar e implantar modelos mais rapidamente. Ele fornece aos usuários em todos os níveis de habilidade um designer low-code, ML automatizado e um ambiente de notebook Jupyter hospedado. Os modelos podem ser implantados como pontos de extremidade em tempo real no Serviço Kubernetes do Azure ou como um ponto de extremidade gerenciado pelo Aprendizado de Máquina. Para inferência em lote de modelos de ML, você pode usar pipelines de Machine Learning.
Consumir
Um modelo em lote ou em tempo real publicado no Machine Learning pode gerar um ponto de extremidade REST que pode ser consumido em um aplicativo personalizado criado usando a plataforma Power Apps de baixo código. Você também pode chamar um ponto de extremidade de Aprendizado de Máquina em tempo real a partir de um relatório do Power BI para apresentar previsões em relatórios de negócios.
Nota
Tanto o Machine Learning quanto a pilha Microsoft Power Platform têm uma gama de conectores integrados para ajudar a ingerir dados diretamente. Esses conectores podem ser úteis para um produto mínimo viável (MVP) único. No entanto, as seções "Ingerir" e "Armazenar" da arquitetura aconselham sobre o papel de pipelines de dados padronizados para o fornecimento e armazenamento de dados de diferentes fontes em escala. Esses padrões geralmente são implementados e mantidos pelas equipes da plataforma de dados corporativos.
Componentes
Você pode usar os seguintes componentes.
Serviços da Microsoft Power Platform
- Power Platform: Um conjunto de ferramentas para analisar dados, criar soluções, automatizar processos e criar agentes virtuais. Inclui Power Apps, Power Automate, Power BI e Microsoft Copilot Studio (anteriormente Power Virtual Agents).
- Power Apps: um conjunto de aplicações, serviços, conectores e plataforma de dados. Ele fornece um ambiente de desenvolvimento rápido de aplicativos para criar aplicativos personalizados para suas necessidades de negócios.
- Power Automate: um serviço que ajuda você a criar fluxos de trabalho automatizados entre seus aplicativos e serviços favoritos. Use-o para sincronizar arquivos, receber notificações, coletar dados e assim por diante.
- Power BI: Uma coleção de serviços de software, aplicativos e conectores que trabalham juntos para transformar suas fontes de dados não relacionadas em insights coerentes, visualmente imersivos e interativos.
Serviços do Azure
- Machine Learning: um serviço de ML de nível empresarial para criar e implantar modelos rapidamente. Ele fornece aos usuários em todos os níveis de habilidade um designer de baixo código, ML automatizado e um ambiente de notebook Jupyter hospedado para suportar seu próprio IDE preferido de escolha.
- Pontos de extremidade gerenciados do Machine Learning: pontos de extremidade on-line que permitem que você implante seu modelo sem precisar criar e gerenciar a infraestrutura subjacente.
- Serviço Kubernetes do Azure: o ML tem suporte variável em diferentes destinos de computação. O Serviço Kubernetes do Azure é um desses destinos, que é uma ótima opção para pontos de extremidade de modelo em tempo real de nível empresarial.
- Azure Data Lake: um sistema de arquivos compatível com Hadoop. Ele tem um namespace hierárquico integrado e a enorme escala e economia do Armazenamento de Blobs do Azure.
- Azure Synapse Analytics: um serviço de análise ilimitado que reúne integração de dados, armazenamento de dados corporativos e análise de big data.
- Hubs de Eventos e Hub IoT: Ambos os serviços ingerem fluxos de dados gerados por aplicativos cliente ou dispositivos IoT. Em seguida, ingerem e armazenam dados de streaming, preservando a sequência de eventos recebidos. Os consumidores podem se conectar aos pontos de extremidade do hub para recuperar mensagens para processamento.
Serviços de plataforma
Para melhorar a qualidade das suas soluções do Azure, siga as recomendações e diretrizes no Azure Well-Architected Framework. A estrutura consiste em cinco pilares de excelência arquitetônica:
- Otimização de custos
- Excelência operacional
- Eficiência de desempenho
- Fiabilidade
- Segurança
Para criar um design que respeite essas recomendações, considere os seguintes serviços:
- Microsoft Entra ID: serviços de identidade, logon único e autenticação multifator em cargas de trabalho do Azure.
- Microsoft Cost Management: Governança financeira sobre suas cargas de trabalho do Azure.
- Azure Key Vault: gerenciamento seguro de credenciais e certificados.
- Azure Monitor: Coleta, análise e exibição de telemetria de seus recursos do Azure. Use o Monitor para identificar problemas de forma proativa e maximizar o desempenho e a confiabilidade.
- Microsoft Defender for Cloud: Fortaleça e monitore a postura de segurança de suas cargas de trabalho do Azure.
- Azure DevOps & GitHub: implemente práticas de DevOps para impor a automação e a conformidade de seus pipelines de desenvolvimento e implantação de carga de trabalho para o Azure Synapse Analytics e Machine Learning.
- Política do Azure: implemente padrões organizacionais e governança para consistência de recursos, conformidade regulamentar, segurança, custo e gerenciamento.
Alternativas
Um MVP de aprendizado de máquina se beneficia da velocidade ao resultado. Em alguns casos, as necessidades de um modelo personalizado podem ser atendidas pelos Serviços Cognitivos do Azure pré-treinados ou pelos Serviços de IA Aplicada do Azure. Em outros casos, o Power Apps AI Builder pode fornecer um ajuste para um modelo de finalidade.
Detalhes do cenário
Uma tendência geral da tecnologia é a crescente popularidade dos papéis de IA cidadã. Tais funções são profissionais de negócios que procuram melhorar os processos de negócios através da aplicação de tecnologias de ML e IA. Um contribuinte significativo para essa tendência é a crescente maturidade e disponibilidade de ferramentas low-code para desenvolver modelos de ML.
Devido a uma alta taxa de falha bem conhecida para tais iniciativas, a capacidade de prototipar e validar rapidamente um aplicativo de IA em um cenário do mundo real torna-se um facilitador fundamental para uma abordagem à prova de falhas. Existem duas ferramentas fundamentais para o desenvolvimento de modelos que modernizam processos e geram resultados transformadores:
- Um kit de ferramentas de ML para todos os níveis de habilidade
- Suporta no-code para desenvolvimento de ML totalmente codificado
- Tem uma interface gráfica do usuário (GUI) flexível e low-code
- Permite que os usuários obtenham e preparem dados rapidamente
- Permite que os usuários criem e implantem modelos rapidamente
- Possui recursos avançados e automatizados de ML para o desenvolvimento de algoritmos de ML
- Um kit de ferramentas de desenvolvimento de aplicativos low-code
- Permite que os usuários criem aplicativos personalizados e fluxos de trabalho de automação
- Cria fluxos de trabalho para que os consumidores e os processos de negócios possam interagir com um modelo de ML
O Machine Learning cumpre o papel de uma GUI low-code para o desenvolvimento de ML. Ele automatizou o ML e a implantação em pontos de extremidade em lote ou em tempo real. A Power Platform, que inclui Power Apps e Power Automate, fornece os kits de ferramentas para criar rapidamente um aplicativo e fluxo de trabalho personalizados que implementam seu algoritmo de ML. Os usuários corporativos agora podem criar aplicativos de ML de nível de produção para transformar processos de negócios herdados.
Potenciais casos de utilização
Esses kits de ferramentas minimizam o tempo e o esforço necessários para prototipar os benefícios de um modelo de ML em um processo de negócios. Você pode facilmente estender um protótipo para uma aplicação de nível de produção. Os usos para essas técnicas incluem:
- Operações de fabricação com aplicativos legados que usam previsões determinísticas desatualizadas. Tais situações podem se beneficiar da precisão aprimorada de um modelo de ML. Provar a precisão aprimorada requer um esforço de modelo e desenvolvimento para integrar com sistemas legados no local.
- Operações de call center com aplicativos herdados que não se ajustam quando os dados se desviam. Os modelos que se reciclam automaticamente podem fornecer um aumento significativo na previsão de rotatividade ou na precisão do perfil de risco. A validação requer integração com os sistemas existentes de gestão de relacionamento com o cliente e gestão de tickets. A integração pode ser dispendiosa.
Considerações
Quando você usa esses serviços para criar uma prova de conceito ou MVP, você não está concluído. Há mais trabalho para fazer uma solução de produção. Frameworks como o Well-Architected Framework fornecem orientação de referência e práticas recomendadas para aplicar à sua arquitetura.
Disponibilidade
A maioria dos componentes usados neste cenário de exemplo são serviços gerenciados que são dimensionados automaticamente. A disponibilidade dos serviços usados neste exemplo varia de acordo com a região.
Os aplicativos baseados em ML normalmente exigem um conjunto de recursos para treinamento e outro para servir. Os recursos necessários para o treinamento geralmente não precisam de alta disponibilidade, pois as solicitações de produção ao vivo não atingem diretamente esses recursos. Os recursos necessários para atender solicitações precisam de alta disponibilidade.
DevOps
As práticas de DevOps são usadas para orquestrar a abordagem de ponta a ponta usada neste exemplo. O guia de DevOps de Machine Learning apresenta as melhores práticas e aprendizados sobre a adoção de operações de ML (MLOps) na empresa com Machine Learning.
A automação de DevOps pode ser aplicada à solução Microsoft Power Platform fornecida neste exemplo. Para obter mais informações sobre o Microsoft Power Platform DevOps, consulte Power Platform Build Tools for Azure DevOps: Power Platform.
Otimização de custos
A otimização de custos consiste em procurar formas de reduzir despesas desnecessárias e melhorar a eficiência operacional. Para obter mais informações, consulte Visão geral do pilar de otimização de custos.
Preços do Azure: os serviços de infraestrutura como serviço (IaaS) e plataforma como serviço (PaaS) no Azure usam um modelo de preços baseado no consumo. Eles não exigem uma licença ou taxa de assinatura. No geral, utilize a calculadora de preços do Azure para prever os custos. Para outras considerações, consulte Otimização de custos no Well-Architected Framework.
Preços da Power Platform: Power Apps, Power Automate e Power BI são aplicativos de software como serviço (SaaS) e têm seus próprios modelos de preços, incluindo por plano de aplicativo e por usuário.
Implementar este cenário
Considere este cenário de negócios. Um agente de campo usa um aplicativo que estima o preço de mercado de um carro. Você pode usar o Machine Learning para prototipar rapidamente um modelo de ML deste aplicativo. Você usa um designer low-code e recursos de ML para criar o modelo e, em seguida, implantá-lo como um ponto de extremidade REST em tempo real.
O modelo pode provar o conceito, mas um usuário não tem uma maneira fácil de consumir um modelo implementado como uma API REST. O Microsoft Power Platform pode ajudar a fechar esta última milha, conforme representado aqui.
Aqui está uma interface de usuário para o aplicativo, criada no Power Apps usando a interface low-code que o Power Apps fornece.
Você pode usar o Power Automate para criar um fluxo de trabalho low-code para analisar a entrada do usuário, passá-la para o ponto de extremidade do Machine Learning e recuperar a previsão. Você também pode usar o Power BI para interagir com o modelo de Aprendizado de Máquina e criar relatórios e painéis de negócios personalizados.
Para implantar este exemplo de ponta a ponta, siga as instruções passo a passo em Car Price Predictor - Azure ML + Power App Solution.
Cenários estendidos
Considere os seguintes cenários.
Implantar no Teams
O aplicativo de exemplo fornecido no exemplo anterior também pode ser implantado no Microsoft Teams. O Teams fornece um ótimo canal de distribuição para seus aplicativos e fornece aos usuários uma experiência de aplicativo colaborativa. Para obter mais informações sobre como implantar um aplicativo no Teams usando o Power Apps, consulte Publicar seu aplicativo usando o Power Apps no Teams: Power Apps.
Consuma a API de vários aplicativos e automações
Neste exemplo, configuramos um fluxo de nuvem do Power Automate para consumir o ponto de extremidade REST como uma ação HTTP. Em vez disso, podemos configurar um conector personalizado para o ponto de extremidade REST e consumi-lo diretamente do Power Apps ou do Power Automate. Essa abordagem é útil quando queremos que vários aplicativos consumam o mesmo ponto de extremidade. Ele também fornece governança usando a política de prevenção de perda de dados (DLP) do conector no centro de administração do Microsoft Power Platform. Para criar um conector personalizado, consulte Usar um conector personalizado de um aplicativo Power Apps. Para obter mais informações sobre o Microsoft Power Platform connector DLP, consulte Políticas de prevenção de perda de dados: Power Platform.
Contribuidores
Este artigo é mantido pela Microsoft. Foi originalmente escrito por:
- Vyas Dev Venugopalan - Brasil | Especialista Sr. - Azure Data & AI
Próximos passos
- Como funciona o Machine Learning: arquitetura e conceitos
- Criar aplicações inteligentes incorporadas com IA de classe mundial