Noções básicas do ALM com o Microsoft Power Platform

Este artigo descreve os componentes, ferramentas e processos necessários para implementar o ALM (gestão do ciclo de vida das aplicações).

Ambientes

Os ambientes são um espaço para armazenar, gerir e partilhar os dados de negócio, as aplicações e os processos de negócio da sua organização. Também servem como contentores para aplicações separadas que podem ter diferentes funções, requisitos de segurança ou públicos alvo. Cada ambiente só pode ter uma base de dados Microsoft Dataverse. Mais informações: Descrição geral de ambientes

Importante

Quando cria um ambiente, pode optar por instalar as aplicações do Dynamics 365, tal como o Dynamics 365 Sales e o Dynamics 365 Marketing. É importante determinar nessa altura se estas aplicações são necessárias ou não, porque não podem ser desinstaladas ou instaladas mais tarde. Se não estiver a compilar nestas aplicações e não precisar delas no futuro, recomendamos que não as instale nos seus ambientes. Isto ajudará a evitar complicações de dependências quando distribuir soluções entre ambientes.

Tipos de ambientes utilizados no ALM

Utilizando o centro de administração do Power Platform, pode criar estes tipos de ambientes do Power Platform:

  • Sandbox Um ambiente sandbox é qualquer ambiente de não produção do Dataverse. Isolado da produção, um ambiente de sandbox é o local para desenvolver e testar em segurança alterações às aplicações com baixo risco. Os ambientes de sandbox incluem capacidades que poderiam ser prejudiciais num ambiente de produção, tais como as operações de reposição, eliminação e cópia. Mais informações em: Gerir ambientes de sandbox

  • Produção O ambiente em que as aplicações e outros softwares são colocados em operação para a utilização pretendida.

  • Programador (formalmente denominado Comunidade). O plano para programadores do Power Apps permite-lhe aceder às funcionalidades premium do Power Apps, ao Dataverse e ao Power Automate para uma utilização individual. Este plano destina-se principalmente à criação e testagem com o Power Apps, Power Automate e Microsoft Dataverse, ou para fins de aprendizagem. Um ambiente de programador é um ambiente de utilizador único e não pode ser utilizado para executar ou partilhar aplicações de produção.

  • Predefinição É criado automaticamente um ambiente único predefinido para cada inquilino e partilhado por todos os utilizadores nesse inquilino. O inquilino identifica o cliente, que pode ter uma ou mais subscrições e serviços Microsoft associados. Sempre que um novo utilizador se inscrever no Power Apps, é automaticamente adicionado à função de Criador do ambiente predefinido. O ambiente predefinido é criado na região mais próxima à região predefinida do inquilino do Microsoft Entra e é nomeado: "{nome do inquilino do Microsoft Entra} (predefinido)"

Crie e utilize o ambiente correto para uma finalidade específica, tal como o desenvolvimento, teste ou produção.

Para mais informações sobre ambientes, consulte Descrição geral de ambientes.

Quem deve ter acesso?

Definir e gerir a segurança dos seus recursos e dados no Microsoft Dataverse. Microsoft Power Platform fornece funções de administração a nível do ambiente para efetuar tarefas. Dataverse inclui direitos de acesso que definem o nível de acesso a aplicações, componentes de aplicação e recursos da aplicação e que os utilizadores têm no Dataverse.

Finalidade do ambiente Funções que têm acesso Comentários
Desenvolvimento Criadores e programadores da aplicação. Os utilizadores da aplicação não devem ter acesso. Os programadores necessitam de, como mínimo, direito de acesso de Criador de Ambiente para criar recursos.
Testar Administradores e pessoas que estão a testar. Os criadores, programadores e utilizadores da aplicação de produção não devem ter acesso. Os utilizadores de teste têm de ter apenas privilégios suficientes para efetuar testes.
Produção Administradores e utilizadores da aplicação. Os utilizadores só devem ter acesso suficiente para efetuarem as respetivas tarefas relativas às aplicações que utilizam. Os programadores da aplicação e os programadores não devem ter acesso ou só devem ter privilégios a nível de utilizador.
Predefinição Por predefinição, todos os utilizadores do seu inquilino podem criar e editar aplicações num ambiente do Dataverse predefinido que tenha uma base de dados. Recomendamos vivamente que crie ambientes para um fim específico e conceda as funções e privilégios apropriados apenas para as pessoas que o necessitam.

Mais informações:

Soluções

As soluções são utilizadas para transportar aplicações e componentes de um ambiente para outro ou para aplicar um conjunto de personalizações a aplicações existentes.

As soluções têm estas funcionalidades:

  • Incluem metadados e determinadas entidades com dados de configuração. As soluções não contêm dados de negócio.

  • Podem conter muitos componentes diferentes do Microsoft Power Platform, tais como aplicações orientadas por modelos, aplicações de tela, mapas do site, fluxos, entidades, formulários, conectores personalizados, recursos web, conjuntos de opções, gráficos e campos. Ter em atenção que nem todas as entidades podem ser incluídas numa solução. Por exemplo, as tabelas do sistema de Utilizador de Aplicações, API Personalizada e Definição da Organização não podem ser adicionadas a uma solução.

  • São embaladas como uma unidade a ser exportada e importada para outros ambientes, ou desconstruídas e verificadas no controlo de origem como código de origem para ativos. As soluções também são utilizadas para aplicar alterações a soluções existentes.

  • As soluções geridas são utilizadas para implementar em qualquer ambiente que não seja um ambiente de desenvolvimento para essa solução. Isso inclui teste, teste de aceitação de utilizadores (UAT), teste de integração de sistemas (SIT) e ambientes de produção. As soluções geridas podem ser atendidas (atualizar, corrigir e eliminar) independentemente de outras soluções geridas num ambiente. Como uma melhor prática do ALM, as soluções geridas devem ser geradas por um servidor de compilação e consideradas um artefacto de compilação.

  • As atualizações a um solução gerida são implementadas na versão anterior da solução gerida. Isso não cria uma camada adicional de solução. Não pode eliminar componentes utilizando uma atualização.

  • Um patch só contém as alterações relativas a uma solução gerida de elemento principal. Só deve utilizar patches ao efetuar pequenas atualizações (semelhante a uma correção) e necessitar que talvez sejam desinstaladas. Quando se importam correções, são colocadas por cima da solução principal. Não pode eliminar componentes utilizando um patch.

  • A atualização de uma solução instala uma nova camada de solução imediatamente sobre a camada base e quaisquer patches existentes.

    • A aplicação de upgrades de soluções envolve a eliminação de todos os patches e a camada base.

    • As atualizações de soluções eliminam componentes que já existiam, mas já não estão incluídos na versão atualizada.

Mais informações: conceitos de solução

Controlo de origem

O controlo de origem, também conhecido como controlo de versão, é um sistema que mantém e armazena de forma segura ativos de desenvolvimento de software e que monitoriza alterações nesses ativos. O controlo de alterações é especialmente importante quando vários criadores e programadores da aplicação estão a trabalhar no mesmo conjunto de ficheiros. Um sistema de controlo de origem também lhe dá a capacidade de reverter alterações ou restaurar ficheiros eliminados.

Um sistema de controlo de origem ajuda as organizações a atingir o ALM de bom estado de funcionamento uma vez que os ativos mantidos no sistema de controlo de origem são a "origem única de verdade" – ou, por outras palavras, o ponto único de acesso e a modificação para as suas soluções.

Estratégia de ramificação e intercalação

Praticamente todos os sistemas de controlo de origem têm alguma forma de suporte de ramificação e intercalação. A ramificação significa que é possível convergir a partir da linha principal de desenvolvimento e continuar a efetuar o trabalho sem alterar a linha principal. O processo de intercalação consiste em combinar uma ramificação com outra, tal como a de uma filial de desenvolvimento num ramo de linha principal. Algumas estratégias de ramificação comuns são ramificação baseada em tronco, ramificação de versão e ramificação de funcionalidades. Mais informações: adotar uma estratégia de ramificação do Git

Processo de controlo de origem utilizando uma solução

Existem dois caminhos principais que pode utilizar quando trabalha com soluções num sistema de controlo de origem:

  • Exporte a solução não gerida e coloque-a como desembalada no sistema de controlo de origem. O processo de compilação importa a solução embalada como não gerida para um ambiente de compilação temporário (ambiente sandbox). Em seguida, exporte a solução como gerida e guarde-a como artefacto de compilação no sistema de controlo de origem.
  • Exporte a solução como não gerida e exporte também a solução como gerida e coloque ambas no sistema de controlo de origem. Apesar de este método não necessitar de um ambiente de compilação, é necessário manter duas cópias de todos os componentes (uma cópia de todos os componentes não geridos da solução não gerida e uma cópia de todos os componentes geridos a partir da solução gerida).

Controlo de origem utilizando uma solução.

Mais informações: criar tarefas de ferramenta

Automatização

A automatização é uma parte fundamental do ciclo de vida da aplicação que melhora a produtividade, fiabilidade, qualidade e eficiência do ALM. As ferramentas e tarefas de automatização são utilizadas para validar, exportar, embalar, desembalar e exportar soluções, para além de criar e redefinir ambientes de área restrita.

Mais informações: O que são as Ferramentas de Compilação do Microsoft Power Platform?

Desenvolvimento de equipa com o controlo de origem partilhada

É importante considerar como é que a sua equipa de desenvolvimento irá funcionar em conjunto para criar o projeto. Dividir os silos e incentivar vistas e conversas pode permitir que a sua equipa forneça um software melhorado. Algumas ferramentas e fluxos de trabalho – tais como os fornecidos no Git, no GitHub e no Azure DevOps – foram concebidos para a finalidade expressa da melhoria da comunicação e da qualidade do software. Tenha em atenção que trabalhar com configurações num sistema de soluções pode criar desafios para o desenvolvimento da equipa. As organizações têm de orquestrar alterações de vários programadores para evitar, o máximo possível, conflitos de intercalação, pois os sistemas de controlo de origem têm limitações na forma como as intercalações ocorrem. Recomendamos que evitar situações em que várias pessoas efetuem alterações a componentes complexos, tais como formulários, fluxos e aplicações de tela, ao mesmo tempo.

Mais informações: cenário 5: suporte ao desenvolvimento de equipa

Integração e implementação contínuas

Pode utilizar qualquer sistema de controlo de origem e criar um pipeline para começar a integração e implementação contínuas (CI/CD). No entanto, este guia concentra-se no GitHub e no Azure DevOps. O GitHub é uma plataforma de desenvolvimento utilizada por milhões de programadores. O Azure DevOps fornece serviços de programadores para equipas de suporte para planear trabalho, colaborar com o desenvolvimento de código e criar e implementar aplicações.

Para começar, deve seguir estes procedimentos:

Mais informações: criar o seu primeiro pipeline

Licenciamento

Para criar ou editar aplicações e fluxos utilizando o Power Apps e o Power Automate, respetivamente, os utilizadores terão de ter uma licença por utilizador para o Power Apps ou o Power Automate ou uma licença de aplicação Dynamics 365 apropriada. Para mais informações, consulte descrição geral do licenciamento do Microsoft Power Platform. Também recomendamos que contacte o seu representante de conta da Microsoft para discutir as suas necessidades de licenciamento.

Considerações sobre o ALM

Quando considerar o ALM como parte integrante da criação de aplicações no Microsoft Power Platform, pode melhorar drasticamente a velocidade, a fiabilidade e a experiência de utilizador da aplicação. Também assegura que vários programadores, os programadores tradicionais que escrevem código e os programadores cidadãos, possam contribuir em conjunto para a aplicação que está a ser construída.

Consulte os artigos seguintes que abordam vários itens a considerar no início de qualquer desenvolvimento de aplicação: