O que são ambientes?

Os ambientes de implantação ou simplesmente ambientes, dentro de um projeto de software são muitos utilizados, mais ainda quando se trata de um projeto grande onde podemos contar com várias equipes trabalhando em conjunto.

Imagine algo, o seu cliente pede para ver como está indo o desenvolvimento do software que ele pediu e você sendo gestor de projeto quer mostrar que até agora já construíram muita coisa e está até bem adiantado. Mas o seu cliente está do outro lado do mundo e você precisa enviar um link para ele acessar a aplicação. Claro que ele não irá entender se você enviar o código-fonte ou até mesmo instruções para ele instalar na máquina dele. Hoje em dia é sempre muito comum no desenvolvimento ter ambientes que podemos partilhar com os cliente e até mesmo com a equipe o andamento do projeto e também ambientes de controle como iremos ver a seguir:

Ambiente Local

Este será o ambiente de desenvolvimento local de cada profissional que trabalha no projeto, sim cada máquina deverá possuir quase que uma cópia de produção se possível, para o profissional trabalhar diretamente em um ambiente mais próximo daquele que o usuário tem contacto.

Ambiente de desenvolvimento

O ambiente de desenvolvimento será um servidor dedicado onde o desenvolvedor irá fazer a entrega do seu código e entregar também os testes unitários. Por vezes é difícil no ambiente local, que falamos anteriormente, ter as mesmas características de um servidor, como um mesmo sistema operacional, ou até mesmo recursos(memória, cpu, gpu) para rodar a aplicação. Com isso o ambiente de desenvolvimento se torna uma boa idéia para todos os profissionais dentro da equipe rodarem os seus testes e ter uma boa precisão antes de entregar no próximo ambiente.

Ambiente de integração

Neste ambiente, como o nome já diz, é feito para fazer os testes de integração, isso significa perceber se o código de um desenvolvedor irá ter algum conflito com o código de outro profissional, assim sendo, basta a equipe de integração, juntamente com o desenvolvedor resolver o conflito e deixar tudo testado antes de entregar no próximo ambiente.

Ambiente de pré-aceitação ou qualidade

Aqui serão feitos os testes internos para a aceitação da aplicação ou parte dela. A equipe responsável pelos testes manuais, automatizados e de carga estarão encarregadas de fazer e reportar caso encontrem algum erro ou problema maior.

Ambiente de pré-produção ou aceitação

Este é o ambiente mais parecido com o real ou como falamos um espelho de produção. Geralmente onde os clientes devem testar e interagir com as novas funcionalidades antes de serem integradas no ambiente final. Serve também, mais uma vez, para a equipe de integração ter um real ensaio de como as coisas irão se comportar em um ambiente mais parecido com o de produção.

Ambiente de produção

Este é o ambiente final, tudo que está aqui já foi testado e aprovado e estará disponível para o usuário final da aplicação.

Conclusão

Todos os ambientes descritos acima poderão fazer parte de uma arquitetura de software, mas existem projetos que não precisam, ou não demandam todos os ambientes, primeiro que a complexidade da arquitetura poderá facilitar e não precisar de tantos ambientes, e segundo pelo tamanho da equipe e complexidade de gestão de muitos ambientes.

Se você estiver trabalhando sozinho deverá ponderar quantos ambientes e quais irá se adaptar melhor com o seu projeto. Existem ferramentas para facilitar a gestão de ambientes na nuvem com controle de versões automatizado, quem sabe poderemos abordar isso num próximo artigo?

Deixe um comentário