Google Run
Introdução
A plataforma Devprime acelera a produtividade do desenvolvedor de software, oferecendo um projeto completo de arquitetura de software, componentes com comportamentos inteligentes, aceleradores para implementação de código e atualizações com novos recursos.
Neste artigo, abordaremos o uso do Google Run, uma plataforma para containers serverless baseada no stack do Google Cloud. A implementação desse cenário utilizará um microsserviço baseado na plataforma Devprime. Este microsserviço será vinculado a uma conta ativa no Google Cloud, com um projeto contendo um Stream criado no Google Pub/Sub, um banco de dados no Google Cloud SQL (compatível com MySQL, PostgreSQL e SQL Server), um repositório no Google Artifact Registry e um novo serviço no Google Run.
Durante este artigo, utilizaremos um microsserviço com uma regra de negócio relacionada a pedidos, e o banco de dados PostgreSQL estará integrado a uma fila criada no Google Pub/Sub. Demonstraremos os passos para criar o microsserviço e, em seguida, abordaremos as configurações necessárias para disponibilizá-lo no Google Run.
Cheklist e preperação do ambiente inicial:
- Abra uma conta na plataforma Devprime e adquira uma licença (Developer/Enterprise).
- Instale uma versão atualizada do .NET (Linux, macOS e Windows)
- Instale e/ou atualize o Visual Studio Code e/ou o Visual Studio 2023 Community / Professional / Enterprise.
- Instale e/ou atualize o Docker (Para Windows, utilize o WSL2).
- Instale o Powershell ou utilize o Bash no Linux
- Instale e ative a versão mais nova do Devprime CLI.
- Crie uma pasta para os seus projetos e defina as permissões de leitura e gravação.
- Consulte o artigo “Criando o primeiro microsserviço” para explorar os primeiros passos na plataforma Devprime.
Checklist Google Cloud
- Uma conta ativa no Google Cloud.
- Instale o Google Cloud CLI.
- Efetue o login pelo Google CLI (
gcloud init
). - Crie um banco de dados PostgreSQL no Google Cloud SQL.
- Obtenha o IP e credenciais do PostgreSQL e libere o network 0.0.0.0/0 para acesso externo.
- Crie um tópico “oderevents” no Google Pub/Sub (https://console.cloud.google.com/cloudpubsub).
- Crie e obtenha json com as credenciais as permissões de aceesso aos serviços.
- A criação e publicação no Google Artifact Registry e um novo serviço no Google Run será feita pelo script.
- Você pode utilizar localmente um cliente PostgreSQL para validar acesso ao Google Cloud SQL.
Criando um novo microsserviço
- Criando o primeiro microsserviço
dp new ms-order --stream googlepubsub --state postgresql
- Adicionando uma regra de negócio de exemplo
dp marketplace order
- Inicializando e acelerando implementações do microsserviço
dp init
Neste momento, o microsserviço destinado a este exemplo já está pronto para utilização em produção, sendo possível sua execução local. O próximo passo consistirá na adição das credenciais do Google Cloud ao microsserviço.
Adicionando credenciais no microsserviço
Esse microsserviço utilizará utilizando as credenciais para acesso ao Google PubSub e Google Cloud SQL e devem ser informadas no arquivo de configuração src/App/appsettings.json
conforme padrão definido no Adapter de Stream com o Google PubSub e no Adapter de State com o PostgreSQL.
Abra no Visual Studio Code
code src/App/appsettings.json
- Localize as configurações do Adapter ed Stream e inclua as credenciais obtidas
no json
|
|
- Localize a chave Adapter de State e coloque as credenciais de acesso ao Google Cloud SQL
como o endereço IP a ser informado no Host, usuário e senha.
|
|
Aplicando estrutura do banco de dados
O banco de dados nesse cenário é o PostgreSQL e antes de executar o microsserviço é fundamental executar um script para criação das tabelas no banco de dados necessárias ao microsserviço. Você pode utilizar a ferramenta do Devprime CLI para gerar os arquivos SQL e aplicar manualmente ou aplicar diretamente no banco de dados.
Execute o comando para aplicar no banco de dados.
dp state apply state1
Exportando configurações para publicação no Google Run
O Devprime CLI oferece um utilitário para facilitar a criação de um script com o objetivo de realizar a publicação da imagem Docker do microsserviço no repositório privado do Google Artifact Registry e, em seguida, a criação de um novo serviço no Google Run.
Execute o comando export
dp export googlerun
Após o export, serão criados dois arquivos (Powershell ou Bash) que contêm o script para executar a publicação no Google Cloud.
Escolha o arquivo de preferência e edite-o usando o Visual Studio Code, alterando as configurações iniciais, como nome do projeto no Google Cloud, nome da aplicação e repositório.
Abra pelo Visual Studio Code
code .devprime/google/googlerun.ps1
code .devprime/google/googlerun.sh
Executando o script
Antes de rodar o script, verifique se o Docker está em execução no seu ambiente, se você está logado nele e se o CLI do Google Cloud está instalado e ativo. O script deve ser executado a partir do diretório raiz do projeto.
Execute um dos comandos:
.\.devprime\google\googlerun.ps1
(Windows).devprime/google/googlerun.sh
(MacOS and Linux)
Considerações finais
Neste exemplo, você pode conferir como é fácil desenvolver um novo microsserviço utilizando a plataforma Devprime e seus aceleradores, seguido pelo processo de publicação no Google Cloud em questão de segundos.
- Substitua esse script por um processo de DevOps, automatizando o procedimento.
- No ambiente de produção, implemente medidas de segurança, como um API Gateway e um vault para armazenamento seguro de credenciais.
- Adote os procedimentos isolando a rede para export apenas os serviços públicos.