Este post inicia uma nova série sobre cloud computing cujo intuito é dar noções iniciais sobre essa badalada tecnologia. Para que não sabe ou lembra, já escrevemos alguns posts introdutórios sobre o tema e cuja leitura é recomendada: Cloud Computing - Programando nas Nuvens, Aprenda Cloud Computing com a Microsoft e Quer começar a programar em nuvem? Veja aqui as opções.
Apesar de causar arrepios em alguns, com uma possível perda de privacidade, a ideia de cloud computing já está consolidada na Internet onde aparece desde redes sociais, passando por discos virtuais até reservatório de músicas.
Nesse pequeno post introdutório, vamos explicar resumidamente o que é o Google App Engine e seus principais pontos.
O Google App Engine é toda a infraestrutura de programação em nuvens provida pelo Google. Isso significa que sua aplicação ficará hospedada nos servidores do Google e estará disponível para acesso de qualquer lugar onde haja Internet.
O App Engine é gratuito mas com algumas limitações: 10 aplicativos por conta de desenvolvedor; cada aplicativo pode utilizar 500 MB de armazenamento e 5 milhões de visualizações de páginas por mês. Para mais recursos pode-se pagar, o que pode desanimar alguns, mas é fácil perceber que quando estiver próximo ao limite da cota, sua aplicação provavelmente já terá bastante receita para pagar por infraestrutura.
Várias linguagens de programação são suportadas, como Javascript e Ruby, mas o ambiente é fortemente orientado para Java e Python. O que acaba atendendo praticamente a todo o público de desenvolvedores, já que praticamente todo mundo aprende Java na faculdade.
As aplicações rodam em uma sandbox que permite um ambiente seguro para desenvolvimento e produção. O acesso ao sistema operacional das máquinas hospedeiras é limitadíssimo. Não é possível ler arquivos, exceto os fornecidos com o código fonte da aplicação. Toda a entrada e saída de dados é feita através de URLS e emails.
Outro ponto que merece destaque é o armazenamento de dados. Trata-se de uma forma não convencional de armazenamento, ou seja, nada do banco de dados relacional padrão. Ao invés disso definimos entidades com propriedades que são armazenadas remotamente. Este tópico será melhor abordado em um futuro post.
Um recurso bastante interessante é a possibilidade de utilizar contas do Google para fazer login na sua aplicação, assim não será necessário criar todo um sistema de controle de usuários e acesso.
O Google App Engine é um ótimo começo para quem pretende aprender a programar nas nuvens, pois não exige uma curva de aprendizado muito acentuada, bem como novas linguagens e paradigmas. No próximo post você aprenderá a preparar sua máquina para desenvolver aplicações na nuvem.