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:
- Visual Studio Team Services
- Visual Studio
- Ferramentas do Visual Studio para Xamarin
- Application Insights
- Visual Studio App Center
- Aplicações Móveis do Serviço de Aplicações
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
Faça o download de um SVG desta arquitetura.
Fluxo de dados
- Crie a aplicação utilizando o Visual Studio e o Xamarin.
- Adicione o serviço de final de Serviço de Aplicações do Azure Mobile Apps à solução de aplicação.
- Implementar a autenticação através de fornecedores de identidade social.
- Armazenar dados de não-imagem em Azure Cosmos DB e cache-os em Cache do Azure para Redis.
- Guarde imagens carregadas em Armazenamento de Blobs do Azure.
- Mensagens de fila sobre imagens recém-carregadas.
- Utilize Funções do Azure para descodionar mensagens e processar imagens recuperadas do armazenamento de bolhas.
- Envie notificações push aos utilizadores através de um centro de notificação.
- Construa e teste a aplicação através do Visual Studio App Center e publique-a.
- Controlar a distribuição do tráfego do utilizador para os pontos finais de serviço em diferentes datacenters.
- 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
- Documentação do Visual Studio
- Documentação Xamarin
- Documentação do Centro de Aplicações do Estúdio Visual
- Visão geral Serviço de Aplicações do Azure
- Documentação Funções do Azure
- Documentação do Application Insights
- Documentação da BD do Cosmos para o Azure
- Documentação de armazenamento de fila
- Documentação de armazenamento de blob
- Documentação dos Centros de Notificação
- Documentação do Gestor de Tráfego