Lets talk about testing using cloud computing with Amazon Web Services

Você já pensou na relação entre teste de software e computação na nuvem? Como QA, você percebe diferenças e issues entre ambientes de desenvolvimento, homologação e produção, os quais não existiriam se os ambientes fossem todos os iguais? Você já precisou de infra-estrutura de TI para testes de um projeto experimental e não pode fazer por questões de custo? Como fazer para testar a performance e escalabilidade de sua aplicação com facilidade? Preciso testar uma nova ferramenta de teste, mas não tenho o mínimo requerido de hardware ou software para rodar a mesma? E software livre? Como criar uma aplicação utilizando tecnologia open source, com baixo ou nenhum custo?

Hoje em dia, a computação em nuvem está aí para ajudar-nos a responder estas perguntas. O Gartner define cloud computing como um estilo de computação escalável e elástica na qual os recursos de TI são fornecidos como um serviço para clientes externos, a partir da internet. Ou seja, quando se fala em computação na nuvem, deve-se pensar em uma infra-estrutura baseada em serviços, os quais são utlilizados de acordo com a demanda, onde evita-se o desperdício, com recursos compartilhados, o que diminui custos, medidos por uso, ou seja, paga-se pelo que se usa, e por último mas não menos importante, utilizando-se de recursos da internet, estando disponível ao redor do mundo.

Com a AWS é possível desenvolver aplicações, “fechar pacotes”, e então disponibilizar o mesmo pacote em diferentes instâncias, as quais tem as mesmas configurações computacionais, porém, uma instância pode ser seu ambiente de homologação, e as outras sua produção, evitando diferenças de ambientes. Além disso, estes pacotes fechados, podem ser uma imagem de sua aplicação, com o bootstrap bem configurado, viabilizando poder-se derrubar uma instância na qual se está rodando o sistema, e a aplicação se “levanta” sozinha.

As vezes, também existe a necessidade de somente testarmos uma hipótese, para coletar feedback sobre um produto e então ir melhorando o mesmo, antes da publicação em produção. Com a AWS, estes testes experimentais podem ser realizados com baixo custo, visto que pode-se testar sua hipótese com instâncias menores e mais baratas, ou mesmo gratuitas, e podendo desligar estas instâncias quando não estão em uso, para otimização de custos, pois se paga somente pelo que se utiliza.

Testes de performance por exemplo, podem ser realizados utilizado-se de infra-estrutura computacional na nuvem, pensando-se em escalabilidade horizontal, onde pode-se criar regras de auto-scaling para instâncias pequenas e de baixo custo, porém, com um balanceador de carga, o qual utiliza as regras de auto scaling para “levantar” ou “derrubar” instâncias, de acordo com a demanda, viabilizando por exemplo, você ligar um JMeter estressando sua aplicação, e entender os limites que sua aplicação ou arquitetura aguentam, a fim de otimizações e testes, pensando em ter uma aplicação sempre disponível.

Outro serviço interessante e novo, é o Amazon Workspace da AWS, em um modelo um pouco diferente, de pagamento mensal por estações de trabalho. Com este tipo de serviço, é possível instanciar estações com Windows 7, MS Office (caso necessário), e a possibilidade de instalação de outros aplicativos, para por exemplo, a finalidade de testar uma nova aplicação de criação de testes automatizados, a instalação de versões Trial para experimentações, antes do pagamento de uma licença, etc., e então, viabilizando validação de novas tecnologias que podem ser essenciais para para o sucesso de seu negócio.

Na AWS, você pode criar instâncias Windows, pagando por hora (a instância e a licença da Microsoft), mas também, podemos lançar instâncias Linux, viabilizando projetos com custo ainda mais baixo, ou mesmo zero (utilizando-se do nível gratuito por um ano). Neste modelo, percebe-se a possibilidade da criação de projetos com alta tecnologia, a um custo muito baixo, viabilizando testar a solução de um problema e então a criação de um produto ou serviço para oferecer ao mercado, e então rentabilizar.

Com isto, minha conclusão é mais uma vez de que temos todas as ferramentas e tecnologias necessárias para a criação de produtos e serviços potenciais de sucesso. Além disso, pode-se evitar problemas e economizar tempo, com issues relacionadas a problemas de ambiente. É possível desligar instâncias por questões de reduções de custo. Pode-se testar facilmente questões relacionadas a performance de sua aplicação. Podemos testar novas tecnologias recém lançadas e então validá-las, e mesmo gerar novas possibilidades de renda.

Agora, é só sair usando. A tecnologia e documentação estão na rede mundial (Internet), basta querer aprender.

Aguardo seus comentários e sugestões, e até mais!

Dica de QA: Nível de uso gratuito da AWS –> https://aws.amazon.com/pt/free/

Um comentário em “Lets talk about testing using cloud computing with Amazon Web Services

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s