Deploy e Criação de Aplicação .Net Core no Microsoft Azure
--
Microsoft Azure é um serviço, em nuvem, muito utilizado por empresas e pelos próprios desenvolvedores e saber como realizar o deploy de alguma aplicação ou configurar um banco de dados na plataforma é fundamental para a evolução de um projeto. Neste contexto, tem-se como objetivo mostrar como criar serviços de banco de dados e de hospedagem de aplicações na nuvem e de como configurar e publicar, através do Visual Studio Code, os mesmos.
Criação do grupo de recursos
Primeiramente, deve-se acessar o portal da Microsoft Azure, logo em seguida será apresentado uma tela contendo o seguinte menu:
Necessita-se criar um novo grupo de recursos, para isso clica-se na opção Resource groups, será exibido a seguinte tela:
Seleciona-se a opção Add para ser adicionado um grupo. Será apresentado a seguinte tela solicitando algumas informações, tais como o nome do grupo, a assinatura que o usuário possui e a localização a qual ficará o grupo:
Após preencher as informações, clica-se em Create para finalizar. Com isso, será retornado para a tela inicial do grupo de recurso, a qual já irá mostrar o grupo que acabou de ser criado.
Criação de plano de serviços
Seleciona-se o grupo que foi criado. E, agora, necessita-se adicionar as aplicações. Na tela exibida, clica-se em Add na tela exibida:
Será exibido uma tela a qual apresenta-se vários tipos de serviços oferecidos pela Azure. Primeiro, necessita-se criar um plano para poder utilizar demais serviços. Para isso, pesquisa-se sobre App Service Plan na barra de pesquisa e seleciona-se o mesmo, como é esboçado na imagem:
Após selecionar o serviço de plano, clica-se em Create para poder dar início a criação do mesmo. Irá ser solicitado algumas informações, tais como:
- Nome do plano
- Assinatura do usuário logado no Azure
- Grupo de recurso, o qual marca-se a opção Utilizar um Existente (Use Existing), e seleciona-se a opção do grupo de recursos já criado (modelo-azure)
- Sistema operacional (Linux ou Windows) no caso, a primeiro instante, seleciona-se o Windows
- Localização (o preço pode variar dependendo da localização), onde seleciona-se, a primeiro instante, Sul do Brasil (Brazil South)
- Camada de precificação, no caso terá que analisar qual irá atender ao cenário de cada um (seleciona-se, a primeiro momento, o tipo S1 do plano de Produção)
Após preencher todas as informações, clica-se em Create para realizar o deploy e finalizar. Ao acessar o grupo de recursos, novamente, nota-se que o plano criado já se encontra exibido lá:
Criação de serviço de aplicativos web
Nesta mesma tela, clica-se, novamente, em Add para adicionar os serviço que serão utilizados. Pesquisa-se por App Service, seleciona-se no item Web App e clica-se no botão Create para ser criado um novo serviço:
Após isso, será pedido algumas informações para criar o serviço de Web App, são eles:
- Nome do aplicativo
- Assinatura do usuário logado no Azure
- Grupo de recursos (utiliza-se o que foi criado)
- Sistema Operacional (seleciona-se, inicialmente, o Windows)
- O plano (seleciona-se o que foi criado)
- Se irá utilizar ou não o Application Insights (serviço de gerenciamento de desempenho de aplicativo, inicialmente não será utilizado)
Sendo preenchida todas as informações, clica-se no botão Create para iniciar o deploy do serviço e finalizar a criação do mesmo. Retornando na tela do grupo de recursos criado, nota-se a presença do serviço de aplicativo web.
Criação de serviço de banco de dados MySql
Novamente, seleciona-se a opção Add para ser adicionado um novo serviço ao nosso grupo de recursos. Pesquisa-se sobre Azure Database for MySQL, seleciona-se o item contendo o mesmo nome e clica-se no botão Create para iniciar o processo de criação do mesmo.
Será exigido algumas informações como:
- Nome do servidor (não poderá conter caracteres especiais e nem letras maiúsculas)
- Assinatura do usuário logado no Azure
- Grupo de recurso (utiliza-se o que foi criado)
- Tipo de banco (Blank ou Backup), caso possua algum backup no Azure e gostaria de restaurá-lo, seleciona-se a opção Backup, caso contrário, cria-se um servidor vazio, selecionando a opção Blank.
- Login administrador do servidor
- Senha do servidor (não poderá conter palavras sendo parte do login)
- Localização, no caso seleciona-se Sul do Brasil (Brazil South)
- Versão do banco de dados, seleciona-se a última versão presente (5.7)
- Camada de preço (deve-se analisar qual será a melhor dentro do cenário financeiro e da aplicação), para esboço seleciona-se o plano Básico (Basic)
Após preencher as informações, clica-se em Create onde será realizado o deploy e finalização da criação do serviço. Voltando para a página do grupo de recurso criado, vê-se o serviço de banco de dados presente e já criado.
Analisando configurações do banco de dados
Ainda na tela do grupo de recursos, clica-se no item referente ao banco de dados (modelodb), será apresentado a seguinte tela:
Nesta tela, vá-se no menu e seleciona a opção Properties (Propriedades), nesta seção será apresentado as propriedades do servidor do banco de dados e é onde encontra-se as informações para conexão do mesmo.
As informações que serão utilizadas para conectar no banco de dado será:
- Server: modelodb.mysql.database.azure.com
- Login: modelo@modelodb
- Password: azure@123
- Port: por padrão é 3306
Com essas informações já consegue-se conectar no servidor. Contudo, para conexão externa do Azure (MySql Workbench ou aplicação local na máquina, por exemplo), tem-se que habilitar. E para isso, vá-se no menu novamente e seleciona-se a opção Connection Security (Conexão Segura), onde esboça-se a seguinte tela:
Clica-se no botão Add client IP (Adicionar IP do cliente) e Save para salvar, onde será adicionado o IP referente a máquina que está operando, com isso será habilitado conexões externas para o IP inserido.
Para certificar de que está tudo funcionando, tenta-se acessar o servidor externamente via MySql Workbench, como conferido:
Por fim, a string de conexão para aplicações .net será:
Server=modelodb.mysql.database.azure.com;Port=3306;Database=[NOME_BANCO_DADOS];Uid=modelo@modelodb;Pwd=azure@123;SslMode=Preferred;
Configuração do plugin da Azure no VS Code
Finalizando, necessita-se realizar o deploy da aplicação .Net Core através do Visual Studio Code. Para tal feito, necessita-se baixar e instalar um plugin no VS Code para gestão de aplicações do Azure. Acessa-se o seguinte site:
Clica-se em Install (Instalar). Será solicitado a instalação para o VS Code, basta concordar e, após finalizar, reiniciar o mesmo (caso esteja aberto).
Após conclusão da instalação do plugin, no menu lateral do VS Code aparecerá um ícone referente ao Azure:
Preparação do projeto para Deploy
A partir do VS Code, seleciona-se alguma pasta referente a algum projeto em .Net Core. Abra o terminal dentro do mesmo e digita-se os seguintes comandos:
- dotnet clean (para limpar a saída do projeto)
- dotnet build -c Release (compilar o projeto e suas dependências em release)
- dotnet publish -c Release (empacota o aplicativo e suas dependências em uma pasta para implantação em um sistema de hospedagem, no caso será criado no caminho “\bin\Release\netcoreapp2.1\publish”)
Acessando conta da Azure
Acessa-se o plugin da Azure no menu lateral esquerdo. Será apresentado a seguinte tela, clica-se em Sign in Azure para realizar o acesso.
Após iniciar o processo de login, será exibido a seguinte notificação, a qual informa para abrir o navegador na URL informada e informar o seguinte código no site que for abrir. Para poupar trabalho, clica-se em Copy & Open, o qual já fará quase todo esse processo.
No site, informe o código, conforme orientado:
Após informar o código, clica-se em Continue (Continuar).
Logo após será solicitado informar uma conta já logada ou logar em alguma conta. Escolha-se a conta referente a conta utilizada no Azure.
Com isso, já estará logado no Azure pelo VS Code, como pode-se observar, já será exibido as assinaturas presentes na conta:
Deploy da aplicação
No menu lateral do VS Code, clica-se no ícone da Azure, será apresentado uma tela contendo todas as assinaturas encontradas em cache da máquina. Nesta tela, clica-se no ícone de deploy (circulado de vermelho na imagem):
Será solicitado a informação da pasta contendo os arquivos de publicação da aplicação. Seleciona-se a opção Browse para poder selecionar a pasta referente.
No caso, deverá ser selecionado o caminho de onde foi realizada a publicação da aplicação (\bin\Release\netcoreapp2.1\publish). Feito isso, deverá informar qual assinatura estará relacionado o deploy que será feito.
E, por fim, deverá ser informado qual serviço de aplicação será a hospedagem. Deve-se escolher o serviço criado anteriormente.
Será apresentado a seguinte mensagem. Basta clicar em Deploy.
Feito este processo, o deploy será iniciado. Ao finalizar será apresentado a URL o qual foi publicado a aplicação.
Ao acessar a seguinte URL, nota-se a aplicação em pleno funcionamento.
Conclusão
Nota-se que com alguns passos consegue-se realizar o deploy de uma aplicação em .Net Core direto do VS Code. Após realizar todos os procedimentos, não será necessário fazê-los mais, com exceção da publicação (dotnet publish -c Release) e o deploy (botão/ícone de deploy na tela inicial do plugin Azure) da aplicação. Além disso, foi mostrado como criar diferentes serviços no Azure como o Banco de Dados e Aplicativos Web.