Quanto custa manter um servidor para hospedar um novo produto web? Um servidor para aplicação, servidor de banco de dados, redundância… pode ser um valor bem alto dependendo das suas expectativas!
Mas…
Se você é do pensamento de começar pequeno e crescer conforme a necessidade, trabalhar com serviços na nuvem (cloud computing) pode ser a melhor forma de crescer conforme as suas expectativas. E de poder testar tecnologias e colocar protótipos no ar sem depender dos recursos tecnológicos do seu computador. 🙂
Mais usuários ou acessos? Mais recursos computacionais serão necessários para manter seu aplicativo funcionando. E se você escolher bem, isto pode se tornar uma tarefa simples e tranquila. E também pode se tornar seu novo e pior pesadelo.
Você pode buscar plataformas mais abertas que fazem provisionamento de infraestrutura (IaaS), como Amazon ou Azure, mas aqui quero mostrar um exemplo de Plataforma de Desenvolvimento (PaaS) Web como um Serviço. Onde a partir de um push em um repositório Git, você pode iniciar um deploy, em uma plataforma pronta para receber seu sistema. Vou citar muitos exemplos sobre o Heroku, que foi a primeira plataforma que usei neste sentido. É uma plataforma onde você cria aplicativos, e cada um é atrelado a um repositório Git. A partir disto, cada push que você faz empurrando código novo, causa um novo deploy. Você pode criar aplicativos que são sua base de teste, desenvolvimento, produção. Pode usar um pacote gratuito, pacote para aumentar o número de linhas de banco de dados (PostgreSQL), e ainda pode escalar em capacidade para atender a demanda.
Mas vou usar o Heroku para tudo?
Não necessariamente.
Depende do serviço que você está precisando. Se você está preocupado em ter um backend simplesmente (Backend as a Service – BaaS), pode buscar soluções como Azure Mobile Services ou Parse. Se você quer desenvolver apps mobile de forma simples, multiplataforma, podendo também contar com um backend, deve testar o uMov.me (yay!). Se você procura deploy de sites estáticos, pode olhar no próprio GitHub ou até pensar em fazer um deploy no Amazon S3.
Para seguir falando um pouco mais sobre Heroku, vou colocar algumas tecnologias e exemplos de referência do que pode ser feito na plataforma, e quando possível alguns projetos de exemplo que você pode estudar e olhar com mais calma. Escolha sua linguagem e bom deploy! 🙂
Node JS
Heroku, e olhar o projeto Vou de Bikepoa.
Ruby
Heroku, projeto Let’s Help It, e no final deixo uma palestra sobre o Heroku, que teve seu início do Ruby. O Let’s Help It está fora do ar (21/jan/2015) mas em breve ele volta pro ar. 🙂
Java
Heroku, e a dica é você aproveitar e aprender a trabalhar com o Play Framework. Mesmo assim, já que estamos aqui falando de Java, independente do Heroku sugiro que você conheça o VRaptor e por exemplo o projeto Mamute, da galera da Caelum. Também é legal conhecer o suporte no Google App Engine por exemplo.
Python
Heroku (Django!) e também ver o suporte no Google App Engine.
PHP
Veja como fazer deploy no Heroku. E o App Engine está com um suporte beta para PHP (nunca testei).
Para fechar, uma palestra onde Adam Wiggins (Heroku) fala um pouco sobre este momento de desenvolvimento de software que já estamos vivendo faz algum tempo e que cada vez mais desenvolvedores tem acesso para testar e usar em seus aplicativos.
— Daniel Wildt
Acompanhe exclusividades e novidades lá na minha lista.
Um pensamento sobre “Seu próximo deploy será na nuvem!”