Aplicativo social para telemóvel e web com autenticação

Serviço de Aplicações - Aplicações Móveis
Funções
Gestor de Tráfego
Visual Studio
Xamarin

Ideias de solução

Este artigo é uma ideia de solução. Se quiser que expandamos o conteúdo com mais informações, tais como casos de uso potencial, serviços alternativos, considerações de implementação ou orientação de preços, informe-nos fornecendo feedback do GitHub.

Esta aplicação de cliente móvel oferece partilha de imagem social com uma aplicação web companheira. O serviço back-end da aplicação faz o processamento de imagem de fundo usando uma função Azure, e pode notificar os utilizadores do progresso através de um hub de notificação. Os dados de não imagem são armazenados em Azure Cosmos DB. A aplicação web acede aos dados e imagens do serviço de back-end através do Azure Traffic Manager.

Consulte os seguintes serviços, que estão em destaque nesta arquitetura de solução:

Potenciais casos de utilização

A aplicação de cliente móvel funciona em modo offline, o que lhe permite visualizar e carregar imagens, mesmo quando não tem uma ligação de rede.

Arquitetura

O diagrama de arquitetura mostra o percurso do Engenheiro para a Aplicação Insights.Faça o download de um SVG desta arquitetura.

Fluxo de dados

  1. Crie a aplicação utilizando o Visual Studio e o Xamarin.
  2. Adicione o serviço de final de Serviço de Aplicações do Azure Mobile Apps à solução de aplicação.
  3. Implementar a autenticação através de fornecedores de identidade social.
  4. Armazenar dados de não-imagem em Azure Cosmos DB e cache-os em Cache do Azure para Redis.
  5. Guarde imagens carregadas em Armazenamento de Blobs do Azure.
  6. Mensagens de fila sobre imagens recém-carregadas.
  7. Utilize Funções do Azure para descodionar mensagens e processar imagens recuperadas do armazenamento de bolhas.
  8. Envie notificações push aos utilizadores através de um centro de notificação.
  9. Construa e teste a aplicação através do Visual Studio App Center e publique-a.
  10. Controlar a distribuição do tráfego do utilizador para os pontos finais de serviço em diferentes datacenters.
  11. Utilize o Application Insights para monitorizar o serviço de aplicações.

Componentes

  • Construa a frente web, aplicações móveis e serviços de back end com C# no Visual Studio 2017 ou Visual Studio para Mac.
  • Xamarin: Criar aplicativos móveis para iOS e Android usando C# e Azure SDKs.
  • Visual Studio App Center: O App Center permite uma integração contínua e fluxo de trabalho de implementação, puxando código dos Serviços bitBucket, GitHub e Visual Studio Team.
  • Uma aplicação web Serviço de Aplicações pode acolher uma aplicação web virada para o cliente e um serviço que é usado tanto pelo cliente web como pelo cliente móvel.
  • Utilize Funções do Azure para processamento de fundo sem servidor. Por exemplo, uma função Azure pode automaticamente redimensionar novas bolhas quando são adicionadas a um recipiente, enquanto outra função ouve mensagens numa fila para eliminar várias imagens de fundo.
  • Insights de aplicação: Detetar problemas, diagnosticar falhas e rastrear o uso na sua aplicação web com o Application Insights. Tomar decisões informadas ao longo do ciclo de vida do desenvolvimento.
  • Azure Cosmos DB é um serviço de base de dados de documentos NoSQL totalmente gerido. Oferece consulta e processamento de transações sobre dados isentos de esquemas, desempenho previsível e fiável e desenvolvimento rápido.
  • O armazenamento da fila Azure é utilizado para mensagens duradouras entre o backend Serviço de Aplicações e o Funções do Azure.
  • Armazenamento blob: O Azure Storage acolhe ficheiros de imagem para tirar partido de uma melhor escalabilidade com menor custo. A comunicação entre a aplicação web e a função Azure é frequentemente realizada usando gatilhos blob e armazenamento da fila Azure.
  • Os Hubs de Notificação Azure são utilizados para notificações de push escaláveis e inter-plataformas.
  • O Azure Traffic Manager controla a distribuição do tráfego de utilizadores para pontos finais de serviço em diferentes datacenters, de forma a fornecer uma aplicação altamente responsiva e disponível.

Passos seguintes