PaaS ou IaaS: Prefira ambientes híbridos

Estou super empolgado. O Google acabou de anunciar, dia 25 de março, as “Managed VMs” (http://goo.gl/yv1w6F), confirmando o que eu acredito e já digo há algum tempo: a PaaS não morreu e deve ser uma peça importante da sua estratégia de arquitetura. A consideração crucial deve ser que a plataforma *não* vai atender a todas as suas necessidades, mas em vez de descartá-la por causa disso, você tem que planejar uma solução híbrida na nuvem, usando tanto PaaS quanto IaaS.

Veja bem: não há nada de errado com PaaS

As diretrizes gerais para essa abordagem são:

1) Use PaaS o máximo que puder. Idealmente, ela deve controlar todos os HTTP requests dos usuários finais, mantendo o uso do IaaS para tarefas de backend. Lembre-se: você definitivamente deve tirar vantagem da escalabilidade facilitada pela plataforma.

2) Se possível, tente criar um MVP (mínimo produto viável) que possa ser entregue usando apenas os recursos disponibilizados pela plataforma. Fazendo isso, você terá um melhor time-to-market, diminuindo os riscos e custos.

3) Tenha em mente que você precisará usar a flexibilidade da infraestrutura em algum momento. Tudo bem! Projete um mecanismo que permita com que todos os seus servidores se comuniquem com a plataforma. Recomendo o uso de filas para isso (exemplo: Task Queues). Falando nisso, obrigado, Google, por resolver este problema para nós!

4) Comunique-se de maneira assíncrona sempre que possível.

5) Só mais uma coisa: quando precisar de algo que a plataforma não oferece, antes de correr para IaaS para resolver o problema, certifique-se de que não há outras companhias oferecendo esse recurso como um serviço / APIs. Por exemplo: você não tem que desenvolver um recurso de decodificação de vídeo em cima da sua distribuição do Linux só porque a plataforma não fornece esse serviço. Há ótimos serviços de codificação de vídeo disponíveis para uso.

Estou ansioso para testar essas Managed VMs, bem empolgado. Vida longa aos ambientes PaaS, IaaS e ambientes híbridos!