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

Este artigo descreve os componentes, as ferramentas e os processos necessários para implementar o gerenciamento do ciclo de vida do aplicativo (ALM).

Ambientes

Os ambientes são um espaço para armazenar, gerenciar e compartilhar dados corporativos, aplicativos e processos empresariais. Eles também servem como ambientes para separar aplicativos que podem ter diferentes funções, requisitos de segurança ou públicos-alvo. Cada ambiente pode ter apenas um banco de dados do Microsoft Dataverse. Mais informações: Visão geral de ambientes

Importante

Ao criar um ambiente, você pode optar por instalar aplicativos do Dynamics 365, como o Dynamics 365 Sales e o Dynamics 365 Marketing. É importante determinar naquele momento se esses aplicativos são necessários ou não, porque não podem ser desinstalados ou instalados posteriormente. Se você não desenvolver esses aplicativos e não precisar deles no futuro, recomendamos que você não os instale em seus ambientes. Isso ajudará a evitar complicações de dependência ao distribuir soluções entre ambientes.

Tipos de ambientes usados no ALM

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

  • Área restrita Um ambiente de área restrita é qualquer ambiente do Dataverse que não seja de produção. Isolado da produção, um ambiente de área restrita é inserido para desenvolver com segurança e testar as alterações do aplicativo com baixo risco. Os ambientes de área restrita incluem recursos que seriam prejudiciais em um ambiente de produção, como as operações redefinir, excluir e copiar. Para obter mais informações, consulte Gerenciar ambientes de área restrita

  • Produção O ambiente em que aplicativos e outros softwares são colocados em operação para o uso pretendido.

  • Desenvolvedor (formalmente chamado de Comunidade). O Plano de Desenvolvedor do Power Apps oferece acesso à funcionalidade premium do Power Apps, Dataverse e Power Automate para uso individual. Este plano destina-se principalmente a criar e testar com o Power Apps, Power Automate e Microsoft Dataverse ou para fins de aprendizagem. Um ambiente de desenvolvimento é um ambiente de usuário único e não pode ser usado para executar ou compartilhar aplicativos de produção.

  • Padrão Um único ambiente padrão é criado automaticamente para cada locatário e compartilhado por todos os usuários nesse locatário. O locatário identifica o cliente, que pode ter uma ou mais assinaturas do Microsoft e de serviços associados. Sempre que um novo usuário se inscreve no Power Apps, ele é adicionado automaticamente à função Criador do ambiente padrão. O ambiente padrão é criado na região mais próxima à região padrão do locatário do Microsoft Entra e é nomeado como: {nome do locatário do Microsoft Entra} (padrão)"

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

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

Quem deve ter acesso?

Defina e gerencie a segurança dos recursos e dos dados no Microsoft Dataverse. O Microsoft Power Platform oferece funções de administrador no nível do ambiente para executar tarefas. O Dataverse inclui direitos de acesso que definem o nível de acesso a aplicativos, componentes de aplicativos e aplicativos de recursos que criadores e usuários têm no Dataverse.

Finalidade do ambiente Funções que têm acesso Comentários
Desenvolvimento Criadores e desenvolvedores de aplicativos. Os usuários de aplicativos não devem ter acesso. Os desenvolvedores exigem pelo menos o direito de acesso Criador de Ambiente para criar recursos.
Testar Administradores e pessoas que estão realizando testes. Criadores, desenvolvedores e usuários de aplicativos de produção não devem ter acesso. Os usuários de teste devem ter privilégios suficientes para realizar os testes.
Produção Administradores e usuários de aplicativos. Os usuários devem ter acesso suficiente para realizar as tarefas dos aplicativos usados. Os criadores e desenvolvedores de aplicativos não devem ter acesso ou devem ter somente privilégios no nível de usuário.
Padrão Por padrão, todos os usuários em seu locatário podem criar e editar aplicativos em um ambiente padrão do Dataverse com um banco de dados. É altamente recomendável criar ambientes para uma finalidade específica e conceder as funções e os privilégios apropriados somente para as pessoas que precisarem.

Para obter mais informações:

Soluções

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

As soluções têm os seguintes recursos:

  • Eles incluem metadados e algumas entidades com dados de configuração. As soluções não contêm dados corporativos.

  • Elas podem conter vários componentes diferentes do Microsoft Power Platform, como aplicativos baseados em modelo, aplicativos de tela, mapas de sites, fluxos, entidades, formulários, conectores personalizados, recursos da Web, conjuntos de opções, gráficos e campos. Observe que nem todas as entidades podem ser incluídas em uma solução. Por exemplo, as tabelas de sistema Usuário do Aplicativo, API Personalizada e Configuração da Organização não podem ser adicionadas a uma solução.

  • Elas são empacotadas como uma unidade a ser exportada e importada para outros ambientes ou descontruídas e verificadas no controle do código-fonte como código-fonte de ativos. As soluções também são usadas para aplicar alterações a soluções existentes.

  • As soluções gerenciadas são usadas para implantar a qualquer ambiente que não seja um ambiente de desenvolvimento para essa solução. Isso inclui, teste, teste de aceitação do usuário (UAT), teste de integração do sistema (SIT) e ambientes de produção. As soluções gerenciadas podem ser atendidas (atualização, patch e exclusão) independentemente de outras soluções gerenciadas em um ambiente. Como prática recomendada do ALM, as soluções gerenciadas devem ser geradas por um servidor de compilação e consideradas um artefato de compilação.

  • As atualizações de solução gerenciada são implantadas à versão anterior da solução gerenciada. Isso não cria uma camada de solução adicional. Não é possível excluir componentes usando uma atualização.

  • Um patch contém somente as alterações de uma solução pai gerenciada. Você deve usar patches somente ao fazer pequenas atualizações (semelhante a um hotfix) e ao exigir que ele possa ser desinstalado. Quando os patches são importados, eles são sobrepostos no topo da solução primária. Não é possível excluir componentes usando um patch.

  • Atualizar uma solução instalará uma nova camada de solução imediatamente acima da camada base e quaisquer patches existentes.

    • Aplicar atualizações de solução inclui excluir todos os patches existentes e a camada base.

    • As atualizações da solução excluirão os componentes existentes, mas que não serão mais incluídos na versão atualizada.

Mais informações: Conceitos da solução

Controle do código-fonte

O controle do código-fonte, também conhecido como controle de versão, é um sistema que mantém e armazena ativos de desenvolvimento de software de forma segura e controla as alterações feitas nesses ativos. O controle de alterações é especialmente importante quando múltiplos criadores e desenvolvedores de aplicativos estão trabalhando no mesmo conjunto de arquivos. Um sistema de controle do código-fonte também permite reverter alterações ou restaurar arquivos excluídos.

Um sistema de controle do código-fonte ajuda as organizações a alcançar um ALM íntegro, porque os ativos mantidos no sistema de controle do código-fonte são a "única fonte de verdade'ou, em outras palavras, o único ponto de acesso e modificação para suas soluções.

Estratégia de ramificação e mesclagem

Quase todo sistema de controle do código-fonte tem algum tipo de suporte para ramificação e mesclagem. A ramificação significa que você diverge da linha principal de desenvolvimento e continua trabalhando sem alterar a linha principal. O processo de mesclagem consiste na combinação de uma ramificação com outra, como uma ramificação de desenvolvimento e uma ramificação da linha principal. Algumas estratégias comuns de ramificação são ramificações baseadas em tronco, ramificação de versão e ramificação de recursos. Mais informações: Adotar uma estratégia de ramificação do Git

Processo de controle do código-fonte usando uma solução

Existem dois caminhos principais que você pode usar ao trabalhar com soluções em um sistema de controle do código-fonte:

  • Exporte a solução não gerenciada e coloque-a como descompactada no sistema de controle do código-fonte. O processo de compilação importa a solução compactada como não gerenciada em um ambiente de compilação temporário (ambiente de área restrita). Em seguida, exporte a solução como gerenciada e armazene-a como artefato de compilação no sistema de controle do código-fonte.
  • Exporte a solução como não gerenciada e exporte também a solução como gerenciada, e coloque ambas no sistema de controle do código-fonte. Embora esse método não exija um ambiente de compilação, ele exige a manutenção de duas cópias de todos os componentes (uma cópia de todos os componentes não gerenciados da solução não gerenciada e uma cópia de todos os componentes gerenciados da solução gerenciada).

Controle do código-fonte usando uma solução.

Mais informações: Tarefas da ferramenta de compilação

Automação

A automação é uma parte essencial do ciclo de vida do aplicativo que melhora a produtividade, confiabilidade, qualidade e eficiência do ALM. As ferramentas e as tarefas de automação são usadas para validar, exportar, compactar, descompactar e exportar soluções, além de criar e redefinir ambientes de área restrita.

Mais informações: O que são Microsoft Power Platform Build Tools?

Desenvolvimento em equipe usando controle do código-fonte compartilhado

É importante considerar como você e a sua equipe de desenvolvimento trabalharão juntos para criar o projeto. Dividir silos e promover exibições e conversas pode permitir que a sua equipe entregue um software melhor. Algumas ferramentas e fluxos de trabalho como aqueles fornecidos no Git, GitHub e Azure DevOps foram desenvolvidos para expressar a finalidade de aprimorar a comunicação e a qualidade do software. Observe que trabalhar com configurações em um sistema de soluções pode criar desafios para o desenvolvimento em equipe. As organizações devem orquestrar alterações de vários desenvolvedores para evitar conflitos de mesclagem, tanto quanto possível, pois os sistemas de controle do código-fonte têm limitações em relação a como as mesclagens ocorrem. Recomendamos evitar situações nas quais múltiplas pessoas fazem alterações em componentes complexos, como formulários, fluxos e aplicativos de tela, ao mesmo tempo.

Mais informações: Cenário 5: Suporte ao desenvolvimento em equipe

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

Você pode usar qualquer sistema de controle do código-fonte e criar um pipeline como um processo inicial para a integração e a implantação contínuas (CI/CD). No entanto, esse guia enfoca o GitHub e o Azure DevOps. O GitHub é uma plataforma de desenvolvimento usada por milhões de desenvolvedores. O Azure DevOps oferece serviços do desenvolvedor para equipes de suporte planejar o trabalho, colaborar no desenvolvimento de código, além de criar e implantar aplicativos.

Para começar, você precisará de:

  • Uma conta do GitHub na qual você poderá criar um repositório. Se você não tiver uma conta, é possível criar uma gratuitamente.

  • Uma organização do Azure DevOps. Se você não tiver uma conta, é possível criar uma gratuitamente.

Mais informações: Criar seu primeiro pipeline

Licenciamento

Para criar ou editar aplicativos e fluxos usando o Power Apps e Power Automate, respectivamente, os usuários precisarão de uma licença por usuário para o Power Apps ou Power Automate, ou uma licença de aplicativo do Dynamics 365 apropriada. Para obter mais informações, consulte a Visão geral de licenciamento do Microsoft Power Platform. Também recomendamos entrar em contato com o seu representante da conta Microsoft para discutir sobre as suas necessidades de licenciamento.

Considerações do ALM

Quando você considera o ALM como parte integrante da criação de aplicativos no Microsoft Power Platform, ele poderá melhorar significativamente a velocidade, confiabilidade e experiência do usuário do aplicativo. Ele também garante que vários desenvolvedores – tanto desenvolvedores tradicionais que gravam códigos, quanto desenvolvedores cidadãos – possam contribuir em conjunto para o aplicativo que está sendo criado.

Consulte os seguintes artigos sobre os diversos itens a serem considerados no início do desenvolvimento de qualquer aplicativo: