Introdução ao MongoDB Atlas, NodeJS e o Azure App Service
Avalie esse 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 a Plataforma de Dados para Desenvolvedores do 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 nos Aplicativos Web do Azure, parte do Serviço de Aplicativos do Azure, em algumas etapas simples. Ao final, 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 guiaComeç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 dados de documentos de propósito geral
- Express: Node.js estrutura da Web
- React: uma estrutura JavaScript do lado do cliente
- Node.js: o servidor da Web JavaScript mais amplamente 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 avaliação gratuita com $150 créditos gratuitos que você 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 terminando em.azurewebsites.net, mas, caso contrário, a escolha é sua.
- Publicar: Código.
- Pilha de execução: Node 18 LTS.
- OS: Linux.
- Região: escolha a mais próxima 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 Application Settings. NÃO a seção Connection String, apesar do nome. Clique no botão New application setting (Nova configuração de aplicativo) nessa seção para adicionar um valor.
- 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
- Obs.: 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. Depois de construir com sucesso, você poderá Go e visitar seu website.
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 Serviço de Aplicativo do Azure, adicionamos nossa string de conexão dentro do Azure e, em seguida, o 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 aplicativo. Super simples e mostra o que pode ser feito com o poder da nuvem e da Plataforma de Dados do Desenvolvedor do MongoDB!
Comece a usar o Atlas no Azure hoje mesmo!