O provisionamento de ambientes é um processo muito utilizado no desenvolvimento de novas ferramentas e também na sua infraestrutura.
Isso, para que além de tornar os processos da aplicação mais ágeis, haja a segurança de que tudo funcionará conforme o esperado.
Esse ambiente virtual possui todas as especificações daquele em que a ferramenta irá funcionar no dia a dia.
Continue acompanhando esse material e saiba o que é um provisionamento de ambiente e como realizar de acordo com o modelo da Accurate.
Provisionamento de Ambientes, o que é?
Quando se fala em provisionamento de ambientes, deve-se pensar no sentido aberto da palavra que é provisionar.
Ou seja, trata-se de separar um ambiente/espaço virtual para que o processo de desenvolvimento e infraestrutura possua maior eficiência.
Uma vez que esses ambientes possuem as mesmas características do ambiente tradicional em que a aplicação irá funcionar.
Por meio do provisionamento há a facilidade no acesso a informações e recursos para o usuário do sistema.
Além disso, o processo de testagem que é realizado antes da entrega do projeto será mais assertivo por conta do ambiente.
Com o provisionamento a infraestrutura da aplicação também ganha agilidade ao trabalhar com dados simultâneos em ambientes provisionados para isso.
Nos dias de hoje torna-se então essencial garantir aplicações que se utilizem de provisionamentos para o seu funcionamento diário.
Dado que essa técnica trará também melhor performance da aplicação em momentos de pico na utilização, por exemplo.
Acompanhe então como a Accurate realiza o provisionamento nos seus projetos.
Como realizar o provisionamento?
Dedicar um espaço virtual para o processo virtual pode parecer muito simples, mas é preciso que seja realizado corretamente.
Assim como ser estudado o melhor ambiente para a realização do projeto, de acordo com as suas necessidades e especificidades.
Para isso aqui você encontrará um processo de provisionamento de Ambientes Kubernetes utilizado em um projeto da Accurate.
O desafio da empresa nesse projeto era conseguir provisionar ambientes kubernetes em cloud com Istio e Kong da forma mais automática possível.
Isso, para que seja possível replicar ambientes inteiros com o menor esforço, que é uma das vantagens desse tipo de ambiente.
Com ele é possível, por exemplo:
- efetuar tombamento de produção para homologação;
- gerar ambientes de desenvolvimento paralelos;
- de pré-produção para validação;
- ou para projetos específicos.
Além disso, os scripts de provisionamento devem ser genéricos para permitir utilização com Oracle Cloud e outras clouds com o menor nível de adaptação possível.
E devem também realizar a criação de todos os elementos necessários para a criação do cluster kubernetes e funcionamento do Istio e Kong.
Como foi realizado isso?
A estratégia adotada pela Accurate foi utilizar scripts IaC para geração dos clusters kubernetes em cloud com Istio e Kong.
Seguida da realização de mapeamento da ferramenta Terraform, para elaboração do script genérico.
Assim como a realização de diversos mapeamentos, sendo eles:
- de como montar um cluster kubernetes na Oracle Cloud e de todos os elementos necessários, rede, subnets, grupos de acesso, instâncias e etc;
- de como criar pods com Istio e suas configurações necessárias;
- e de como criar pods com Kong e suas configurações necessárias.
Para colocar isso em prática foi realizada a criação de uma conta na Oracle Cloud para montagem do projeto e realizada as configurações de pré requisitos na conta.
Foi criado um usuário que foi utilizado no script para provisionamento dos elementos.
E foi dada as seguintes permissões: “Gerenciar grupos dinâmicos” e “Gerenciar Políticas no Compartimento raiz” para o usuário.
Criação das chaves para autenticação de um compartimento e da policy necessária para a criação do cluster.
Realizou-se o desenvolvimento do script, utilizando Terraform e o provider para a Oracle Cloud.
Por fim criou-se dentro do script um arquivo “terraform.tfvars”, com todas as variáveis genéricas necessárias, por exemplo:
- cluster_name = “oke”, para o nome do cluster;
- region=”us-phoenix-1″, para a região onde será criado;
- node_pools = {np1 = [“VM.Standard2.1”, 6]}, para a criação de 1 node pool com 6 VMs do modelo Stantard2.1.
Problemas no Caminho e Resultados Obtidos
No início do desenvolvimento do script, após a criação do cluster, foram encontrados alguns problemas com a exportação das variáveis do kubeconfig.
Porém, o problema foi solucionado mediante a realização de algumas modificações no script.
Além disso, a quantidade de detalhes nos pré requisitos da Oracle Cloud, necessários para a criação do cluster, acabou trazendo alguns problemas.
Isso porque tal fator fez com que houvesse um pouco de demora para conseguir executar a criação do cluster kubernetes.
Mas por fim foi realizada a criação do cluster kubernetes solicitado pelo cliente com todos os requisitos.
E também a entrega de um script automatizado realizando a criação de todos os requisitos necessários.
Percebeu-se uma rapidez no provisionamento do cluster, a criação com todos os elementos necessários e com o Istio e o Kong demorou em média 15 minutos.
Se fosse realizar a execução de todos os passos manualmente, seria necessário de 1 a 2 dias, por exemplo.
Foi entregue também um Script genérico conforme solicitado para ser executado em outras clouds com algumas modificações.
Ao fim do projeto foram entregues automatização da montagem do ambiente kubernetes e aumento na eficiência do time de infraestrutura, para entrega de novos ambientes.
Projetos Automatizados e Eficientes é com a Accurate
A Accurate está sempre se preocupando em entregar projetos com altos níveis de eficiência e qualidade para seus clientes.
Para isso está sempre se preocupando em utilizar as melhores ferramentas e caminhos no processo de desenvolvimento.
Conheça hoje mesmo as mais diversas soluções que a Accurate pode oferecer para os seus clientes.
Além disso, se você é um profissional da área de Tecnologia da Informação e Desenvolvimento e deseja fazer parte da Accurate, dê uma olhada na nossa página de carreiras, temos sempre vagas abertas.
Não deixe também de compartilhar esse conteúdo e continuar acompanhando o Blog e as Redes Sociais da Accurate: Facebook, Instagram, Twitter, Linkedin e YouTube.
Autor
- Com mais de 12 anos de atuação em infraestrutura de servidores de aplicação, atuando como especialista Middleware e consultoria SAS, especializou-se em Devops e Cloud Computing acompanhando as tendências de mercado e tornando-se um profissional ainda mais completo com foco em tudo o que existe de novidade em tecnologia, mantendo-se atualizado e sempre pronto para todos os tipos de desafios.