Introdução ao MongoDB Atlas, NodeJS e o Azure App Service
Avaliar este tutorial
MongoDB Atlas e Azure são grandes amigos! Na verdade, eles se tornaram ainda melhores amigos recentemente com a adição da assinatura de Software como Serviço (SaaS) pré-pago do MongoDB Atlas ao Azure Marketplace, permitindo que você use seus créditos Azure existentes para aproveitar todos os benefícios do o MongoDB Atlas. Portanto, não há melhor momento para aprender como você pode aproveitar ambos.
Neste artigo, veremos como você pode implantar um aplicativo de pilha MERN em Azure Web Apps, parte do Azure App Service, em algumas etapas simples. Ao final disso, você terá sua própria versão do site que pode ser encontrada aqui.
Há alguns aspectos que você precisará ter em mãos para seguir este artigo.
- Cluster de conta e banco de dados Atlas. obs.: você pode seguir o guia Começando com o Atlas para saber como criar uma conta gratuita do Atlas, criar seu primeiro cluster gratuito para sempre e obter sua importante connection string para o banco de dados.
O MongoDB Atlas vem com segurança no nível do banco de dados pronta para uso. Isso inclui não apenas os usuários que podem se conectar, mas também de onde você pode se conectar. Por esse motivo, você precisará configurar regras de acesso à rede para quem ou o que pode acessar seus aplicativos.
A técnica de conexão mais comum é via endereço IP. Se quiser usar isso com o Azure, você precisará permitir o acesso de qualquer lugar dentro do Atlas, pois não podemos prever quais serão os endereços IP do seu aplicativo ao longo do tempo.
O Atlas também oferece suporte ao uso de peering de rede e conexões privadas usando os principais provedores de nuvem. Isso inclui o Azure Private Link ou aAzure Virtual Private Connection (VPC) se você estiver usando um cluster M10 ou superior.
Antes de começarmos a implantar nosso aplicativo MERN Stack no Azure, é bom abordar o que é a MERN Stack. MERN significa MongoDB, Express, React, Node e recebe o nome das tecnologias que compõem a pilha.
- MongoDB: um banco de banco de dados de documento de uso geral
- Expresso: estrutura web do Node.js
- React: uma estrutura JavaScript do lado do cliente
- Node.js: o servidor web JavaScript mais usado

Portanto, temos as peças de que precisamos, incluindo um local para armazenar dados e um incrível repositório MERN pronto para Go. Agora precisamos criar nossa instância do Azure App Service para que possamos aproveitar seus recursos de implantação e hospedagem:
- Dentro do Portal do Azure, na caixa de pesquisa na parte superior, procure por App Services e selecione-o.
- Clique em Criar para trigger o assistente de criação.
- Insira as seguintes informações:
- Assinatura: escolha sua assinatura existente preferida . Observação: ao criar uma conta pela primeira vez, você recebe uma assinatura de teste grátis com $150 de crédito grátis que pode usar
- Grupo de recursos: use um existente ou clique no linkCriar novo abaixo da caixa para criar um novo.
- Nome: escolha como você gostaria de chamá-lo. O nome deve ser exclusivo, pois é usado para criar um URL que termine .azurewebsites.net , mas, caso contrário, a escolha é sua.
- Publicar: código.
- Pilha de tempo de execução : Nó 18 LTS.-
- OS: Linux.
- Região: escolha o mais próximo de você.
- Planos de preços: F1 - esta é a versão gratuita.

- Quando estiver satisfeito, selecione Revisar + criar no canto inferior esquerdo.
- Clique em Criar no canto inferior esquerdo e aguarde o sistema.
- Depois de criado, ele permitirá que você navegue até o seu novo serviço de aplicativo para que possamos começar a configurá-lo.
Agora que configuramos o App Service, precisamos adicionar nossa connection string ao cluster do MongoDB Atlas às configurações do aplicativo assim, quando implementado, o aplicativo poderá encontrar o valor e se conectar com sucesso.
- No menu do lado esquerdo no Portal do Azure dentro do seu recém-criado App Service, clique em Configuração na seção Configurações.
- Em seguida, precisamos adicionar um novo valor na seção Configurações do aplicativo. NÃO a seção de string de conexão, apesar do nome. Clique no botão Nova configuração do aplicação nesta seção para adicionar uma.
- Adicione os seguintes valores:
- Nome: Atlas_URI

Temos nosso aplicativo, temos nosso serviço de aplicativo e temos nossa connection string armazenada. Agora é hora de vincular-se ao nosso repositório do GitHub para aproveitar as vantagens do CI/CD no Azure App Services.
- Dentro do aplicativo do serviço de aplicativo, clique em Centro de Implantação à esquerda na seção Implantação.
- Na aba Configurações que é aberta por padrão, em Fonte, selecione GitHub.
- Preencha as caixas na seção GitHub que aparece para selecionar a ramificação principal da sua bifurcação do repositório de pilha MERN.
- Em Opção de fluxo de trabalho: Certifique-se de que Adicionar um fluxo de trabalho seja a opção selecionada.
- Clique em Salvar na parte superior.
Isso desencadeará uma construção de ações do GitHub. Se você visualizar isso no GitHub, verá que ele falhará porque precisamos fazer algumas alterações no arquivo YAML que ele criou para permitir que ele seja criado e implantado com sucesso.
Agora que conectamos o GitHub Actions e o App Services, há uma nova pasta no repositório do GitHub chamada .github com uma subpasta chamada fluxos de trabalho. É aqui que você encontrará os arquivos yaml que os App Services geraram automaticamente para nós na última seção.
No entanto, conforme mencionado, precisamos ajustá-lo um pouco para funcionar para nós:
- Na seção de empregos, haverá uma subseção para o trabalho de construção. Dentro disso, precisamos substituir toda a seção de etapas pelo código encontrado nesta essência
- DN A razão pela qual está em um Gist é porque a indentação é realmente crucial no YAML e isso garante que o layout permaneça como deve ser para facilitar sua vida.
- Como parte disso, nomeamos nosso aplicativo como "mern-app", portanto, precisamos nos certificar de que isso corresponda à etapa de implementação. Mais abaixo, na seção jobs do arquivo yaml, você encontrará a seção deploy e sua própria subseção de etapas. Na primeira etapa do nome, você verá um pouco onde diz node-app. Altere isso para mer-app. Isso associa a criação e a implantação de aplicativos.
É isso ai! Tudo que você precisa fazer agora é confirmar as alterações no arquivo. Isso trigger a execução do fluxo de trabalho da ação do Github.
Uma vez construído com sucesso, você pode Go em frente e visitar seu site.
Para encontrar a URL do seu site, visite o projeto dentro do Portal do Azure e, na seção Visão geral, você encontrará o link.

Agora você deve ter um aplicativo NodeJS em funcionamento que usa o MongoDB Atlas implantado no Azure App Services.
Agora você está no caminho do sucesso com o Azure App Services, NodeJS e MongoDB Atlas!
Neste artigo, criamos um Azure App Service, adicionamos nossa string de conexão dentro do Azure e a vinculamos ao nosso repositório de exemplo de pilha MERN existente no Github, antes de personalizar o arquivo de fluxo de trabalho gerado para nosso aplicação. Super simples e mostra o que pode ser feito com o poder da nuvem e o banco de dados moderno do MongoDB!