Quando queremos desenvolver um projeto, pensamos no problema a ser resolvido, na solução que queremos criar, o quanto vai custar, se vai trazer dinheiro ou não, e muitas vezes ignoramos detalhes técnicos que podem colocar a perder todo um bom projeto, ou que, quando feita uma escolha acertada, podem levar sua escalabilidade e serviço para um nível muito superior ao da concorrência. O conceito de computação em nuvem não é novo, mas é uma dessas coisas que ignoramos.
Gosto de uma frase clássica da gestão: “Custa menos comprar o leite do que sustentar uma vaca”. E essa é a verdade pra quem desenvolve hoje. Ter um bom servidor se tornou tão complexo e dá tanto trabalho pra configurar, que é muito mais fácil se você tiver acesso à boas ferramentas prontas pra uso. Essa é a razão pela qual 90% das empresas utilizarão algum tipo de nuvem em 2015, de acordo com a Gartner, tendo o conceito de computação em nuvem como qualquer aplicação que é utilizada em um servidor distante com redundância de rede.
Coletei várias opiniões sobre as principais razões pra utilizar a nuvem, e as principais que emergiram foram:
Ou seja, testar uma aplicação o mais rápido possível. Muitas vezes, como desenvolvedores, é difícil encontrar o ambiente certo para testar nossa solução que não seja colocá-la live. A maioria das soluções nuvem oferece opções muito fáceis em que você só precisar dar “Play” para testar se todo o código está correto e ir fazendo os ajustes necessários. Outra vantagem ainda é a facilidade de copiar o material rapidamente pra fazer testes A/B, sem tirar a cópia funcionante do ar. Mais uma vez, o conceito de computação em nuvem faz a diferença para startups ágeis que tem o Lean Startup como filosofia.
Melhor ainda, é pode fazer integração contínua (Continuous Integration), que significa que cada vez que você checar o código, o sistema faz automaticamente várias cópias para testar em paralelo e outros desenvolvedores podem alterar essas cópias. Em alguns minutos, você pode ter um servidor (ou cinco) rodando pra você. Nada de esperar pelo hardware certo, reinstalar o sistema operacional, ou qualquer dessas dores de cabeça que comem nossa produvitidade. Terminou os testes? Só cancelar a instância sem custo adicional.
Com a computação em nuvem, diferentes partes de uma aplicação podem estar em diferentes lugares na nuvem, por exemplo, uma no Facebook, outra na Azure, outra na Amazon, etc. Antes disso, tinhamos que desenvolver uma aplicação inteira no mesmo servidor. Essa infra-estrutura automatizada também reduz o risco de erros com códigos repetidos e o servidor já tem vários processos prontos comuns à maioria das aplicações que economizam tempo e de novo, são à prova de nossos erros de código.