Continuando a série de posts sobre o Google Cloud Platform vamos falar sobre App Engine. Caso não conheça o serviço de cloud computing do Google, aconselho a leitura do artigo de Introdução ao Google Cloud Platform. Também já falamos sobre o Compute Engine e como criar uma instancia de VM.
Curso Google Cloud - App Engine
Conhecer o cursoO que é o App Engine
O App Engine é um serviço da categoria de computação do Google Cloud Platform. Seu principal objetivo é permitir a publicação de aplicativos com o mínimo de configuração possível. Nesse modelo de publicação de aplicativos a empresa pode dar mais foco ao desenvolvimento e deixar a parte de ambiente nas mãos do App Engine.
O App Engine é um serviço do nível PaaS - Platform as a Service (Plataforma como serviço). Nesse modelo, o serviço oferece uma plataforma completa. Ela tem as seguintes responsabilidades:
- Cuidar do ambiente onde o software rodará;
- Cuidar de toda a parte de segurança do ambiente;
- Manter o sistema operacional usado internamente;
- Manter o hardware onde o serviço está alocado;
Basta ao usuário enviar seu projeto para o App Engine e tudo deve começar a funcionar. Não é necessário se preocupar em qual plataforma de hardware está rodando, a versão do sistema operacional e nem com a configuração de todo o ambiente usado.
História do App Engine
A maioria dos serviços do Google Cloud Platform surgiram das necessidades internas do próprio Google e em seguida foram publicados para o público geral. O App Engine é o primeiro serviço do Google Cloud Platform, seu lançamento data de 2008 quando pouquíssimas pessoas sequer ouviam falar em computação em nuvem. O principal objetivo na sua criação interna pelo Google era facilitar o provisionamento de ambientes para produção e teste, sem a necessidade de processos burocráticos de solicitações para a equipe de infraestrutura.
Veja a linha do tempo da história do serviço:
Tipos de Ambiente
Quando o Google criou o App Engine em 2008 não existiam serviços para integrar na aplicação. Se a aplicação precisasse usar um serviço como memcached ou armazenar imagens era muito complicado. Baseado nisso, o Google criou uma série de serviços que integravam facilmente com as aplicações hospedadas nele.
Com o passar do tempo, o Google Cloud Platform cresceu e ganhou vários serviços. A necessidade de ter diversos serviços internos no App Engine não era mais algo relevante. Nesse cenário, o Google resolveu criar um novo ambiente para o App Engine chamado Flexível e nomeou o inicial de ambiente padrão.
Além dos serviços, os ambientes também possuem diferentes características de escalabilidade, instâncias, cobrança, configurações e outros detalhes.
Curso Google Cloud - Primeiros Passos
Conhecer o cursoRuntime
Independentemente do tipo de ambiente que vamos utilizar é necessário escolher o Runtime (tempo de execução) da aplicação. O runtime nada mais é do que o conjunto de ferramentas necessários para rodar uma aplicação em uma linguagem de programação específica.
O App Engine possui suporte aos seguintes runtimes:
Fluxo de desenvolvimento e publicação
Uma das maiores vantagens do App Engine é a facilidade. Ao desenvolver uma aplicação que será publicada no serviço o fluxo de desenvolvimento quase não é alterado e a publicação é bem simples. Veja abaixo como fica o processo para enviar o software a primeira vez para o App Engine:
*Se for trabalhar com os serviços do ambiente padrão é necessário usar o SDK com as bibliotecas da linguagem para simular o ambiente na máquina local, o que muda um pouco o fluxo de desenvolvimento comparado com uma aplicação comum.
Realizando a publicação de aplicações
Publicando uma aplicação PHP Laravel:
Publicando uma aplicação Ruby on Rails: