Aplicativo social para cenários móvel e Web com autenticação

Serviço de Aplicativo – Aplicativos Móveis
Funções
Gerenciador de Tráfego
Visual Studio
Xamarin

Ideia da solução

Se você quiser nos ver, expanda este artigo com mais informações, detalhes de implementação, diretrizes de preços ou exemplos de código, fale conosco com os comentários do GitHub!

Este aplicativo cliente móvel oferece compartilhamento de imagens sociais com um aplicativo Web complementar. O serviço de back-end do aplicativo faz o processamento da imagem em segundo plano usando uma função do Azure e pode notificar os usuários sobre o progresso por meio de um hub Os dados que não são de imagem são armazenados em Cosmos DB. O aplicativo Web acessa os dados do serviço back-end e as imagens por meio do Gerenciador de tráfego.

O aplicativo cliente móvel funciona no modo offline, permitindo que você exiba e carregue imagens mesmo quando você não tem uma conexão de rede.

Os links para a direita fornecem a documentação sobre como implantar e gerenciar os produtos do Azure listados na arquitetura da solução acima.

Visual Studio Team Services

Visual Studio

Ferramentas do Visual Studio para Xamarin

Application Insights

Visual Studio App Center

Aplicativos Móveis do Serviço de Aplicativo

Arquitetura

Diagrama de arquitetura Baixe um SVG dessa arquitetura.

Fluxo de Dados

  1. Crie o aplicativo usando o Visual Studio e o Xamarin.
  2. Adicione o serviço de back-end dos aplicativos móveis do serviço de Azure App à solução de aplicativo.
  3. Implemente a autenticação por meio de provedores de identidade social.
  4. Armazene dados que não sejam de imagem em Cosmos DB e armazene-os no cache do Azure para Redis.
  5. Armazene imagens carregadas no armazenamento de BLOBs do Azure.
  6. Enfileirar mensagens sobre imagens carregadas recentemente.
  7. Use Azure Functions para remover mensagens da fila e processar imagens recuperadas do armazenamento de BLOBs.
  8. Enviar notificações por push aos usuários por meio de um hub de notificação.
  9. Crie e teste o aplicativo por meio de Visual Studio App Center e publique-o.
  10. Controle a distribuição do tráfego do usuário para pontos de extremidade de serviço em diferentes datacenters.
  11. Use Application Insights para monitorar o serviço de aplicativo.

Componentes

  • Crie o front-end da Web, os aplicativos móveis e os serviços de back-end com C# no visual studio 2017 ou no Visual Studio para Mac.
  • Xamarin: Crie aplicativos móveis para IOS e Android usando o C# e SDKs do Azure.
  • Visual Studio app Center: app Center permite um fluxo de trabalho de integração e implantação contínua ao obter o código de BitBucket, GitHub e Visual Studio Team Services.
  • Um aplicativo Web do serviço de aplicativo pode hospedar um aplicativo Web voltado para o cliente e um serviço que é usado pelo cliente Web e móvel.
  • Use Azure Functions para o processamento em segundo plano sem servidor. Por exemplo, uma função do Azure pode redimensionar automaticamente novos BLOBs quando eles são adicionados a um contêiner, enquanto outra função escuta mensagens em uma fila para excluir várias imagens de plano de fundo.
  • Application Insights: detectar problemas, diagnosticar falhas e acompanhar o uso em seu aplicativo Web com Application Insights. Tome decisões informadas em todo o ciclo de vida do desenvolvimento.
  • Azure Cosmos DB é um serviço de banco de dados de documentos NoSQL totalmente gerenciado. Ele oferece consulta e processamento de transações em dados sem esquemas, desempenho previsível e confiável e desenvolvimento rápido.
  • O armazenamento de filas do Azure é usado para mensagens duráveis entre o back-end do serviço de aplicativo e o Azure functions.
  • Armazenamento de BLOBs: o armazenamento do Azure hospeda arquivos de imagem para tirar proveito da melhor escalabilidade com menor custo. A comunicação entre o aplicativo Web e a função do Azure geralmente é executada usando gatilhos de BLOB e o armazenamento de filas do Azure.
  • Os hubs de notificação do Azure são usados para notificações por push escalonáveis entre plataformas.
  • O Gerenciador de tráfego do Azure controla a distribuição do tráfego do usuário para pontos de extremidade de serviço em diferentes datacenters para fornecer um aplicativo altamente responsivo e disponível.

Próximas etapas