Semelhante a outras plataformas, um aplicativo no Azure Service Fabric geralmente passa pelas seguintes fases: design, desenvolvimento, teste, implantação, atualização, manutenção e remoção. O Service Fabric dá um excelente suporte ao ciclo de vida completo dos aplicativos em nuvem, desde o desenvolvimento até a implantação, gerenciamento diário, manutenção e possível encerramento. O modelo de serviço permite que várias funções diferentes participem do ciclo de vida do aplicativo de forma independente. Este artigo fornece uma visão geral das APIs e como elas são usadas pelas diferentes funções em todas as fases do ciclo de vida de um aplicativo da Malha do Serviço.
Há dois utilitários da CLI usados para interagir com o Service Fabric. A CLI do Azure é usada para gerenciar os recursos do Azure, como um cluster do Service Fabric hospedado no Azure. A CLI do Service Fabric é usada para se conectar ao cluster do Service Fabric (independentemente de onde ele esteja hospedado) diretamente e gerenciar o cluster, aplicativos e serviços.
Funções do modelo de serviço
As funções do modelo de serviço são:
Desenvolvedor de serviço: desenvolve serviços modulares e genéricos que podem ser redefinidos e usados em vários aplicativos do mesmo tipo ou de tipos diferentes. Por exemplo, um serviço de fila pode ser usado para criar um aplicativo de emissão de tíquetes (assistência técnica) ou um aplicativo de comércio eletrônico (carrinho de compras).
Desenvolvedor de aplicativos: cria aplicativos integrando uma coleção de serviços para atender a determinados requisitos ou cenários. Por exemplo, um site de comércio eletrônico pode integrar o “Serviço de Front-End JSON sem Monitoração de Estado”, "Serviço de Monitoração de Estado do Leilão" e "Serviço de Monitoração de Estado da Fila" para criar uma solução de leilão.
Administrador do aplicativo: toma decisões sobre a configuração do aplicativo (preenchendo os parâmetros de configuração do modelo), implantação (mapeamento os recursos disponíveis) e qualidade do serviço. Por exemplo, um administrador do aplicativo decide a localidade do idioma do aplicativo (inglês para os EUA ou japonês para o Japão, por exemplo). Outro aplicativo implantado pode ter configurações diferentes.
Operador: implanta os aplicativos baseados na configuração do aplicativo e nos requisitos especificados pelo administrador do aplicativo. Por exemplo, um operador provisiona, implanta o aplicativo e verifica se ele está em execução no Azure. Os operadores de monitoram as informações de integridade e de desempenho do aplicativo e mantêm a infra-estrutura física conforme necessário.
Desenvolver
Um desenvolvedor de serviço desenvolve tipos diferentes de serviços usando o modelo de programação Reliable Actors ou Reliable Services.
Um desenvolvedor de serviços declarativamente descreve os tipos de serviço desenvolvidos em um arquivo de manifesto do serviço que consiste em um ou mais pacotes de código, configuração e dados.
Um desenvolvedor de aplicativos cria um aplicativo usando diferentes tipos de serviço.
Um desenvolvedor de aplicativos declarativamente descreve o tipo de aplicativo em um manifesto do aplicativo, referenciando os manifestos do serviço dos serviços de componentes e adequadamente substituindo e parametrizando diferentes configurações e definições de implantação dos serviços de componentes.
Um administrador do aplicativo personaliza o tipo de aplicativo para um aplicativo específico a ser implantado para um cluster Service Fabric especificando os parâmetros apropriados do elemento ApplicationType no manifesto do aplicativo.
Um operador carrega o pacote de aplicativos para o armazenamento de imagens do cluster usando o método CopyApplicationPackage ou o cmdlet Copy-ServiceFabricApplicationPackage. O pacote de aplicativo contém o manifesto do aplicativo e a coleção de pacotes de serviço. O Service Fabric implanta os aplicativos do pacote de aplicativos colocado no armazenamento de imagens, que pode ser um armazenamento de blobs do Azure ou o serviço do sistema Service Fabric.
Depois de implantar o cluster de desenvolvimento local ou um cluster de teste, um desenvolvedor de serviço executa o cenário de teste de failover interno usando as classes FailoverTestScenarioParameters e FailoverTestScenario ou o cmdlet Invoke-ServiceFabricFailoverTestScenario. O cenário de teste de failover executa um determinado serviço através de transições e failovers importantes para garantir que ainda estará disponível e funcionando.
Um desenvolvedor de serviço atualiza os serviços membros do aplicativo instanciado e/ou corrige erros e fornece uma nova versão do manifesto do serviço.
Um desenvolvedor de aplicativos substitui e parametriza as configurações de implantação e configuração dos serviços membros e fornece uma nova versão do manifesto do aplicativo. O desenvolvedor do aplicativo incorpora as novas versões dos manifestos do serviço no aplicativo e fornece uma nova versão do tipo de aplicativo em um pacote de aplicativo atualizado.
Um administrador de aplicativos incorpora a nova versão do tipo de aplicativo para o aplicativo de destino atualizando os parâmetros apropriados.
Um operador carrega o pacote de aplicativos atualizado no armazenamento de imagens de cluster usando o método CopyApplicationPackage ou o cmdlet Copy-ServiceFabricApplicationPackage. O pacote de aplicativo contém o manifesto do aplicativo e a coleção de pacotes de serviço.
Para patches e atualizações do sistema operacional, a Malha do Serviço faz a interface com a infraestrutura do Azure para garantir a disponibilidade de todos os aplicativos executados no cluster.
Para ver as atualizações e as correções para a plataforma Service Fabric, o Service Fabric se atualiza automaticamente sem perder a disponibilidade de qualquer aplicativo em execução no cluster.
Um administrador do aplicativo aprova a adição ou remoção de nós de um cluster depois de analisar os dados do histórico de utilização da capacidade e demanda futura projetada.
Um operador adiciona e remove nós especificados pelo administrador do aplicativo.
Quando novos nós são adicionados ou os nós existentes são removidos do cluster, o Service Fabric balanceia a carga automaticamente dos aplicativos em execução em todos os nós do cluster para obter o desempenho ideal.
Preservação de espaço em disco no repositório de imagens do cluster
O ImageStoreService mantém os pacotes copiados e provisionados, o que pode levar ao acúmulo de arquivos. O acúmulo de arquivos pode fazer com que o ImageStoreService (fabric:/System/ImageStoreService) encha o disco e pode aumentar o tempo de compilação das réplicas ImageStoreService.
Para evitar o acúmulo de arquivos, use a seguinte sequência de provisionamento:
Copiar pacote para ImageStore e usar a opção de compactação
Provisionar o pacote
Remover o pacote no repositório de imagens
Atualizar o aplicativo/cluster
Cancelar o provisionamento da versão antiga
As etapas 3 e 5 no procedimento acima impedem o acúmulo de arquivos no repositório de imagens.
Configuração para limpeza automática
Você pode automatizar a etapa 3 acima usando o PowerShell ou o XML. Isso fará com que o pacote de aplicativos seja excluído automaticamente, após o registro bem-sucedido do tipo de aplicativo.
Você pode automatizar a etapa 5 acima usando o XML. Isso fará com que o registro dos tipos de aplicativo não utilizados seja cancelado automaticamente.
A replicação de arquivos de aplicativo distribuirá eventualmente os arquivos para todos os nós, dependendo das ações de balanceamento. Isso pode criar pressão de disco dependendo do número de aplicativos e do tamanho do arquivo.
Mesmo quando nenhuma instância ativa estiver em execução em um nó, serão mantidos os arquivos de uma instância anterior. O mesmo vale para dados de coleções confiáveis usadas por serviços com estado. Isso serve à finalidade de maior disponibilidade. No caso de uma nova instância de aplicativo no mesmo nó, não deve ser copiado nenhum arquivo. Para coleções confiáveis, somente o delta deve ser replicado.
Para remover completamente os binários do aplicativo, você precisa cancelar o registro do tipo de aplicativo.
Unregister-ServiceFabricApplicationType libera espaço de armazenamento removendo os arquivos de tipo de aplicativo do serviço de repositório de imagens e todos os nós. O gerenciador de exclusão é executado a cada hora por padrão.
O Azure HPC é uma funcionalidade de nuvem criada com finalidade para a carga de trabalho de IA e HPC, usando processadores de ponta e interconexão InfiniBand da classe HPC para fornecer o melhor desempenho, escalabilidade e valor do aplicativo. O Azure HPC permite que os usuários obtenham inovação, produtividade e agilidade empresarial, por meio de uma variedade altamente disponível de tecnologias de HPC e IA que podem ser alocadas dinamicamente conforme as suas necessidades técnicas e empresariais mudam. E
Crie soluções de ponta a ponta no Microsoft Azure para criar Funções do Azure, implementar e gerenciar aplicativos Web, desenvolver soluções utilizando o Armazenamento do Microsoft Azure e muito mais.
A Service Fabric oferece duas estruturas para criação de serviços: a estrutura de atores e a estrutura de serviços. Elas oferecem vantagens e desvantagens distintas com relação à simplicidade e ao controle.
Saiba mais sobre os principais conceitos e as principais áreas do Azure Service Fabric. Fornece uma visão geral estendida do Service Fabric e como criar microsserviços.