O blog da AWS

Crie arquiteturas de Análises incorporadas usando o Amazon QuickSight

Por Raghavarao Sodabathina, Raji Sivasubramaniam, e Srikanth Baheti
Os aplicativos de negócios geram muitos dados, como dados de fluxo de cliques, pedidos de vendas, métricas operacionais e muito mais. As organizações estão tentando entender esses dados e também querem compartilhar insights com os usuários de seus aplicativos. Os proprietários de aplicativos estão constantemente procurando novas maneiras de diferenciar seus aplicativos para permitir que seus usuários obtenham informações valiosas sobre dados; portanto, a incorporação de Analytics em seus aplicativos está surgindo como uma tendência importante. Eles estão modernizando seus aplicativos de negócios na nuvem com análises incorporadas para melhorar a tomada de decisões e criar melhores experiências para os clientes.Esta publicação ajuda arquitetos de nuvem, engenheiros de nuvem e desenvolvedores a criar arquiteturas de Analytics incorporadas na nuvem da AWS usando serviços de Analytics de dados específicos da AWS e o Amazon QuickSight, fornecendo vários padrões arquitetônicos para criar painéis personalizados com base na função do usuário ou função do trabalho. Também discutimos as melhores práticas e as principais considerações que mostram o poder da Analytics incorporada e compartilhamos recursos adicionais para começar a criar Analytics incorporadas na AWS.

Benefícios da criação de Análises incorporadas na nuvem

Criar Análises incorporadas com ferramentas e armazenamentos de dados locais pode ser desafiador e caro. Para criar uma experiência de Análises incorporada atraente, você precisa de engenheiros front-end, designers de UX e outros recursos focados na experiência de Analytics. Isso significa contratar esses recursos especializados ou desviar aqueles que você já alocou para o esforço principal do aplicativo. Essas experiências de Analytics também geralmente envolvem o uso de bibliotecas de gráficos, que precisam ser atualizadas e corrigidas, aumentando a sobrecarga de manutenção. Dependendo da complexidade dos dados, você também pode precisar de uma infraestrutura de Analytics de back-end, como um data warehouse ou data lake, para armazenar, processar e obter insights.

Além disso, isso pode ser demorado. Para criar uma experiência atraente, muitas vezes você precisa incorporar filtragem, detalhamento e interatividade em seus recursos visuais — recursos que refletem a funcionalidade típica de business intelligence (BI). A replicação desse conjunto de recursos pode ser um processo longo. À medida que você se aprofunda na experiência e deseja oferecer experiências mais personalizadas e diferenciadas, os ciclos do projeto podem se estender de meses planejados inicialmente a anos.

Por fim, depois de criar uma ótima experiência, você quer que ela cresça com o sucesso do seu aplicativo. Isso significa que, como você tem picos de crescimento planejados e não planejados, a experiência de Analytics deve permanecer tão rápida quanto era no primeiro dia. Para garantir isso, você precisa criar monitoramento e gerenciamento abrangentes e também gerenciar o crescimento da infraestrutura. Isso nos leva a soluções incorporadas de BI de terceiros, que agilizam a chegada ao mercado, mas apresentam vários desafios de escalabilidade, atualizações contínuas e integração com outras estruturas de aprendizado de máquina (ML), resultando em custos e tempo de lançamento no mercado mais altos. A Análise incorporada na nuvem permite que você crie e gerencie rapidamente painéis centrados na personalidade para melhorar o envolvimento do usuário.

O que é Análises incorporada?

A Análise incorporada permite que você integre recursos de Analytics de negócios em seus próprios aplicativos (como software como serviço) e portais da web. Essa integração permite que os usuários obtenham insights mais profundos e mais rápidos por meio da natureza incorporada de visualizações e painéis interativos, permitindo uma análise mais aprofundada dos dados.

Sem recursos de incorporação, as ferramentas de BI independentes forçam os usuários a alternar entre seu aplicativo preferido e a ferramenta de BI para acessar os recursos adequados necessários para analisar dados e obter insights. Essa necessidade contínua de sincronizar dados do seu aplicativo com uma solução de BI independente reduz a produtividade, a qualidade e o ritmo da tomada de decisões em sua organização. A Analytics incorporada integra recursos de BI diretamente em seu aplicativo, permitindo que os usuários descubram insights acionáveis sem lidar com as complexidades de uma ferramenta de BI separada.

A Análise incorporada permite uma combinação perfeita de Analytics em seu próprio portal ou aplicativo da web, facilitando que seus usuários adotem novos recursos de Analytics e melhorem a experiência do usuário. Ao diferenciar as ofertas de produtos, as empresas podem criar fluxos de receita adicionais por meio da venda adicional de recursos de análise incorporada para seus clientes. Por exemplo, um fornecedor independente de software (ISV) que vende software de automação de manufatura pode incorporar análises em seu software, permitindo que seus clientes finais analisem dados e obtenham insights de forma segura sobre seus próprios dados, agregando valor adicional aos clientes. Por meio de ML e recursos ad hoc (como a criação de painéis e relatórios personalizados), a análise incorporada permite que as empresas se autoatendam e gerem insights mais profundos para seus usuários.

Análise incorporada com o QuickSight

O QuickSight permite que você incorpore rapidamente painéis e visualizações interativos em seus aplicativos sem precisar criar seus próprios recursos de análise. O QuickSight fornece recursos abrangentes de incorporação para atender a todas as suas necessidades, seja incorporação em nível visual para aplicativos de alto tráfego, incorporação de painéis para análise no aplicativo, criação incorporada para usuários avançados, incorporação Q para insights de autoatendimento ou incorporação pública anônima em sites.

O QuickSight tem uma arquitetura sem servidor que escala automaticamente de dezenas a centenas de milhares de usuários, eliminando a necessidade de instalar, configurar ou gerenciar servidores. O QuickSight é totalmente gerenciado, para que você nunca precise se preocupar com a atualização manual para versões mais recentes.

O QuickSight oferece APIs e SDKs avançados que permitem integrar painéis do QuickSight, definir padrões, conectar controles e lidar com erros de acordo com a experiência do usuário de seus aplicativos. As APIs do QuickSight permitem que você gerencie programaticamente seus fluxos de trabalho de Analytics, como mover painéis entre contas, criar conjuntos de dados específicos para inquilinos, automatizar implantações e gerenciar o acesso de usuários com login único (SSO).

Com os recursos de ML do QuickSight, como detecção de anomalias, previsão e consultas em linguagem natural, você pode facilmente obter insights mais profundos sobre seus dados. Esses recursos oferecem novas formas de monetizar e diferenciar seus aplicativos. O QuickSight tem conectores nativos integrados de alta disponibilidade para uma variedade de fontes de dados, incluindo serviços da AWS, bancos de dados locais e aplicativos comerciais, além de controle de acesso granular, como segurança em nível de linha e coluna, para compartilhar com segurança seus dados somente com o público-alvo. O QuickSight oferece modelos de preços com pagamento conforme o uso, sem investimentos iniciais, para que você possa levar suas soluções ao mercado e escalar seus custos à medida que a adoção aumenta.

Padrões de arquitetura de análise incorporada

Ao criar uma arquitetura de análise incorporada na AWS, você deve primeiro entender suas personas de usuário e seu caso de uso específico para poder escolher o padrão de design certo para criar Analyticss incorporadas com seus aplicativos de negócios.

Essas arquiteturas podem ser divididas em duas categorias principais:

  • Arquiteturas sem código
  • Arquiteturas baseadas em código

Arquiteturas sem código

Os usuários de Analytics e, especialmente, de BI geralmente não estão tecnicamente equipados com linguagens de programação e não são tão fluentes em escrever código. Isso se torna um gargalo para escalar a adoção e a integração de painéis de BI em aplicativos de negócios. É nesse momento que as arquiteturas sem código são realmente poderosas, pois os analistas de negócios podem copiar o código incorporado para um painel com o clique de um botão, colá-lo no respectivo aplicativo e disponibilizá-lo aos usuários finais.

Há dois tipos principais de arquiteturas na incorporação sem código:

  • Incorpore painéis para o público
  • Incorpore painéis para empresas

Incorpore painéis para o público

Pode haver cenários em que você queira mostrar o mesmo painel para dezenas de milhares de usuários sem nenhum gerenciamento de usuários, e o painel contém os mesmos dados para todos os usuários. Para esse padrão de design, você pode incorporar recursos visuais e painéis em um site público que contém as estatísticas de dados que são atualizadas a cada hora e precisam ser compartilhadas com dezenas de milhares de usuários. O QuickSight oferece suporte a esses casos de uso e permite que você configure esses painéis e recursos visuais em minutos, sem nenhum provisionamento de usuários ou servidores.

Nessa arquitetura, o conceito de incorporação pública sem código é aplicado, em que você pode incorporar um visual ou painel em seu aplicativo usando um código incorporado. O diagrama a seguir ilustra o fluxo de trabalho da solução.

Embed dashboards for the public

As etapas do fluxo de trabalho são as seguintes:

  1. Copie o código incorporado do QuickSight para o site público.
  2. Permita listar o domínio do site público da Internet no QuickSight e tornar os painéis acessíveis ao público.
  3. O usuário acessa o portal.
  4. O painel ou o visual são renderizados em tempo de execução.

Nesse caso, o painel ou o visual podem ser acessados publicamente e devem ser usados somente em portais ou sites nos quais os dados devem ser acessíveis ao público. Os exemplos incluem informações do distrito escolar, indicadores de ações ou métricas populacionais de uma cidade ou vila.

Incorpore painéis para empresas

Em outros casos, pode haver painéis ou imagens que você gostaria de compartilhar em toda a empresa com os principais KPIs destinados a todos os funcionários em um portal interno. Nesses casos, você deseja manter o painel protegido e acessível somente pelos funcionários da sua organização, pois esse QuickSight oferece incorporação corporativa sem código. A única diferença entre a incorporação pública e a incorporação corporativa é que não há usuários para gerenciar na incorporação pública e o painel pode ser acessado publicamente.

Nessa arquitetura, o conceito de incorporação corporativa sem código é aplicado, em que você pode incorporar um visual ou painel em seu aplicativo usando um código incorporado. O diagrama a seguir ilustra o fluxo de trabalho.

Embed dashboards for enterprises

As etapas do fluxo de trabalho são as seguintes:

  1. Copie o código incorporado do QuickSight para o site público.
  2. Permita listar o domínio do portal da intranet no QuickSight e tornar os painéis acessíveis ao público.
  3. Os usuários acessam o portal.
  4. Se eles não forem autenticados com o QuickSight, eles serão solicitados a se autenticar.
  5. Após a autenticação bem-sucedida, o painel ou o visual é renderizado em tempo de execução.

Arquiteturas baseadas em código

O QuickSight oferece recursos para incorporar painéis e recursos visuais sem a necessidade de escrever código, mas isso vem com sua própria limitação de falta de interatividade perfeita entre o aplicativo e o painel ou o próprio visual. Nos casos em que você deseja ter esses recursos de interatividade e filtragem dinâmica de dados orientados por seu aplicativo, é recomendável implementar arquiteturas baseadas em código. Resumindo, o QuickSight oferece APIs de incorporação e um SDK incorporado que pode ser usado para uma integração perfeita. Vamos nos aprofundar em alguns dos diversos casos de uso nas seções a seguir.

Crie painéis incorporados para usuários do QuickSight

Há cenários em que você deseja mostrar painéis centrados na personalidade ou na função do usuário para seus usuários com base nas permissões e restrições de dados no nível do usuário. Nesse caso, quando o usuário acessa a página da Web ou o aplicativo e solicita a página com painéis incorporados, o servidor do aplicativo solicita o QuickSight para o painel incorporado com detalhes do usuário, e o QuickSight verifica se o usuário tem acesso ao painel e garante que as permissões em nível de linha e coluna sejam aplicadas. O QuickSight permite gerenciar e manter usuários nomeados, além da capacidade de manter permissões em nível de linha e coluna nos dados. Isso permite que você escale para dezenas de milhares de usuários em seus aplicativos, com o nível certo de permissões.

O diagrama a seguir ilustra o fluxo de trabalho para criar recursos visuais e painéis incorporados em aplicativos de negócios com usuários do QuickSight com base na função do usuário ou função do trabalho.

Build embedded dashboards for QuickSight users

As etapas são as seguintes:

  1. O usuário final acessa o aplicativo em um cliente web ou móvel.
  2. O cliente do aplicativo solicita uma página com um painel incorporado.
  3. O servidor do aplicativo confirma a identidade do usuário final no repositório de identidades. O repositório de identidades pode ser o AWS Identity and Access Management (IAM) ou um provedor de identidade externo, como Okta ou Ping Identity.
  4. Ao usar a API de incorporação do QuickSight, o servidor do aplicativo invoca uma chamada GenerateEmbedUrlForRegisteredUser para obter a URL do painel incorporado para o usuário específico. Consulte Incorporação de painéis de dados do QuickSight para usuários registrados e Incorporação de elementos visuais do QuickSight para usuários registrados para obter detalhes adicionais sobre como incorporar painéis e recursos visuais.
  5. O servidor do aplicativo incorpora a URL assinada do painel no aplicativo usando o SDK para JavaScript do QuickSight.
  6. O usuário final vê a página do aplicativo carregada com o painel incorporado do QuickSight.

Crie painéis incorporados sem provisionamento de usuários

Em uma empresa maior, há cenários em que um grande número de usuários (milhares) acessa aplicativos de negócios e não são usuários conhecidos. Nesses casos, o gerenciamento de usuários se torna um gargalo para a escalabilidade. Para dar suporte a esses casos de uso, o QuickSight oferece uma abordagem programática de uso de APIs para solicitar painéis para usuários que não existem em uma conta do QuickSight. O QuickSight permite que os usuários solicitem painéis ou imagens enquanto restringem os dados por meio de permissões em nível de linha. Isso permite que você escale para centenas de milhares de usuários em seus aplicativos, com o nível certo de permissões.

A autenticação do usuário acontece no nível do aplicativo. Se não houver autenticação do usuário como parte do aplicativo, o painel ou o visual carregado usando essa abordagem estarão acessíveis publicamente por meio do aplicativo comercial.

O diagrama a seguir ilustra o fluxo de trabalho para criar recursos visuais e painéis incorporados em aplicativos de negócios sem o provisionamento de usuários ou a criação de um painel corporativo incorporado comum.

Build embedded dashboards without user provisioning

As etapas são as seguintes:

  1. O usuário final acessa o aplicativo em um cliente web ou móvel, onde é solicitado que ele se autentique.
  2. Após a autenticação bem-sucedida, o cliente do aplicativo solicita a página com o painel incorporado.
  3. Ao usar a API de incorporação do QuickSight, o servidor do aplicativo invoca uma chamada GenerateEmbedUrlForAnonymousUser para obter a URL do painel incorporado. Consulte Incorporação de painéis de dados do QuickSight para usuários anônimos e Incorporação de elementos visuais do QuickSight para usuários anônimos para obter mais detalhes sobre a incorporação de painéis ou imagens para usuários que não são do QuickSight.
  4. O servidor do aplicativo incorpora uma URL de painel assinada no aplicativo usando o SDK para JavaScript do QuickSight.
  5. O usuário final vê o carregamento da página do aplicativo com o painel incorporado do QuickSight.

Crie criação de painéis personalizados em aplicativos

Há muitos casos em que seus usuários querem mais do que apenas painéis e relatórios prontos para uso. A criação do QuickSight pode ser incorporada em aplicativos, permitindo que você forneça uma experiência organizada de exploração de dados e criação de painéis em seus aplicativos de negócios. Isso fornece uma experiência escalável que pode fornecer novos fluxos de receita e uma forte diferenciação para seus aplicativos. A diferença aqui do fluxo do painel incorporado com usuários do QuickSight é que o servidor do aplicativo solicita uma sessão incorporada em vez de um painel específico, e a URL retornada abre a sessão para o usuário avançado.

O diagrama a seguir ilustra o fluxo de trabalho para criar análises incorporadas personalizadas em aplicativos de negócios.

Build custom dashboard authoring in applications As etapas são as seguintes:

  1. O usuário avançado acessa o aplicativo.
  2. O cliente do aplicativo solicita a página com a funcionalidade de criação incorporada.
  3. O servidor do aplicativo confirma a identidade do usuário avançado no repositório de identidades.
  4. O servidor do aplicativo invoca uma chamada GenerateEmbedUrlForRegisteredUser com o QuickSightConsole para configuração da sessão a fim de obter uma sessão de criação incorporada para o usuário específico.
  5. O servidor do aplicativo incorpora o URL de criação incorporado assinado na página da Web usando o SDK para JavaScript do QuickSight.
  6. O usuário final vê o carregamento da página do aplicativo com a funcionalidade de criação incorporada do QuickSight.

Crie uma arquitetura multilocatária com namespaces

Em muitos casos de uso de ISV, é necessário separar os clientes finais com configurações flexíveis para fornecer imagens e painéis incorporados em um único aplicativo. Você pode criar arquiteturas multilocatárias com namespaces do QuickSight, que fornecem agrupamento lógico e isolamento de usuários em uma conta do QuickSight.

O diagrama a seguir ilustra o fluxo de trabalho para criar painéis e recursos visuais incorporados personalizados em aplicativos de negócios com multilocação.Build a multi-tenant architecture with namespaces

As etapas são as seguintes:

  1. Primeiro, você deve criar conjuntos de dados com filtros específicos do cliente.
  2. Você pode criar um painel usando a API de modelos para criar painéis.
  3. Os namespaces permitem que autores e leitores de uma organização fiquem isolados uns dos outros.
  4. A partir do QuickSight, o servidor de aplicativos pode recuperar painéis personalizados para cada cliente.
  5. As credenciais do usuário são verificadas em relação ao repositório de identidades pelo servidor do aplicativo.
  6. Os painéis específicos do cliente do QuickSight são renderizados por um servidor de aplicativos.

Consulte Incorporar análises multilocatárias em aplicativos com o Amazon QuickSight para obter mais detalhes sobre esse padrão de design.

Crie recursos de consulta em linguagem natural em Analyticss incorporadas

Com os desenvolvimentos atuais em IA generativa, cada caso de uso e arquitetura exigem uma forma de integrar os recursos de linguagem natural aos aplicativos de negócios. Isso nos leva à opção de consulta em linguagem natural do QuickSight para aplicativos corporativos chamada Amazon QuickSight Q. O Q usa ML e modelos de linguagem grande (LLMs) integrados para entender automaticamente a intenção da pergunta feita e mapeá-la para os dados comerciais subjacentes para fornecer respostas instantâneas e precisas com visualizações relevantes. O Q também pode ser incorporado em aplicativos de negócios para que os usuários finais possam fazer perguntas em linguagem natural dentro do aplicativo e obter respostas instantâneas.

O diagrama a seguir ilustra o fluxo de trabalho para incorporar o recurso de consulta de linguagem natural em aplicativos de negócios.

Build natural language querying capabilities in embedded analytics

As etapas são as seguintes:

  1. O usuário final acessa o aplicativo em um cliente web ou móvel.
  2. O cliente do aplicativo solicita uma página com uma barra de pesquisa Q incorporada.
  3. O servidor do aplicativo confirma a identidade do usuário avançado no repositório de identidades. (Isso é opcional para usuários que não são do QuickSight.)
  4. Ao usar a opção de API de incorporação do QuickSight, o servidor do aplicativo invoca uma chamada GenerateEmbedUrlForRegisteredUser ou GenerateEmbedUrlForAnonymousUser para obter a URL da barra de pesquisa Q incorporada.
  5. O servidor do aplicativo incorpora o URL assinado da barra de pesquisa Q usando o SDK JavaScript do QuickSight.
  6. O usuário final vê o carregamento da página do aplicativo com a barra de pesquisa Q incorporada.
  7. O usuário pode fazer perguntas na barra de pesquisa Q e obter respostas instantaneamente.

Próximas etapas

Considere as próximas etapas a seguir para expandir sua Analytics incorporada:

  • Comece definindo os objetivos de negócios para seu aplicativo se você adicionar um componente de análise incorporado.
  • Identifique as personas de usuário de seus clientes, que consumirão os insights, e identifique como você pode ajudá-las a serem melhores em seu trabalho com Analyticss incorporadas. Isso pode traduzir KPIs e métricas em painéis ou recursos visuais incorporados em aplicativos de negócios.
  • Depois de identificar seus objetivos de negócios e os painéis e recursos visuais de incorporação associados, escolha um padrão de design de incorporação apropriado.
  • Garanta que seus clientes vejam apenas os painéis e os dados que eles podem ver configurando os controles de acesso corretos. Você pode usar restrições em nível de linha e coluna conforme necessário. Você também pode usar o SAML 2.0 para se federar com seu provedor de identidade externo para o gerenciamento de identidade.
  • Depois que sua Analytics de incorporação for lançada com sucesso, use o feedback do cliente para ajustar seu produto conforme necessário.

Conclusão

Esta postagem demonstrou vários padrões de design para incorporar recursos visuais e painéis de BI em seus aplicativos corporativos. Você pode criar sua própria análise incorporada com o QuickSight usando as informações desta publicação.

Para obter padrões arquitetônicos detalhados, consulte os seguintes recursos:

 

Este artigo foi traduzido do Blog da AWS em Inglês.

 


Sobre os autores

Raghavarao Sodabathina é arquiteto de soluções principal na AWS, com foco em Analytics de dados, IA/ML e segurança na nuvem. Ele interage com os clientes para criar soluções inovadoras que resolvam os problemas comerciais dos clientes e aceleram a adoção dos serviços da AWS. Em seu tempo livre, Raghavarao gosta de passar tempo com sua família, ler livros e assistir filmes.

 

 

 

 

Srikanth Baheti é arquiteto de soluções principal especializado em todo o mundo para o Amazon QuickSight. Ele começou sua carreira como consultor e trabalhou para várias organizações privadas e governamentais. Posteriormente, ele trabalhou para a PerkinElmer Health and Sciences & eResearch Technology Inc, onde foi responsável por projetar e desenvolver aplicativos web de alto tráfego, pipelines de dados altamente escaláveis e de fácil manutenção para plataformas de relatórios usando serviços da AWS e computação sem servidor.

 

 

 

 

Raji Sivasubramaniam é arquiteto sênior de soluções na AWS, com foco em Analytics. Raji é especializado na arquitetura de soluções completas de gerenciamento de dados corporativos, inteligência comercial e Analytics para empresas da Fortune 500 e Fortune 100 em todo o mundo. Ela tem profunda experiência em dados e Analyticss de saúde integrados com uma ampla variedade de conjuntos de dados de saúde, incluindo mercado gerenciado, segmentação médica e Analytics de pacientes.

 

 

 

 

Tradutor

Luiz Santos é um Arquiteto de Soluções. Atua ajudando clientes do setor Enterprise durante sua jornada na nuvem da AWS. Tem grande interesse na área de Analytics, Observabilidade e Serverless.