Início rápido do Ruby no ambiente flexível do App Engine

Neste guia de início rápido, você aprenderá a criar um pequeno aplicativo do App Engine que exibe uma mensagem curta.

Antes de começar

Antes de executar e implantar a amostra, siga estas etapas:

  1. Use o Console do GCP para criar um novo projeto do GCP e um aplicativo do App Engine. Depois, ative o faturamento:
    Acessar o App Engine

    Quando solicitado, selecione uma região para o aplicativo do App Engine e ative o faturamento.

  2. Instale os seguintes pré-requisitos localmente:
    1. Faça o download do Git e instale-o.
    2. Faça o download e instale o Cloud SDK. Siga as instruções na página do Cloud SDK para inicializar e definir o código do seu projeto do GCP na ferramenta de linha de comando gcloud:
      Faça o download do SDK
  3. Se preferir, use o Google Cloud Shell. Ele vem com o Git e o Cloud SDK instalados, além de muitos outros recursos, como suporte a linguagens e editores de código.

    Depois que o Google Cloud Shell for iniciado, prossiga com este tutorial e execute os comandos no Cloud Shell.

Locais do App Engine

O App Engine é regional. Isso significa que a infraestrutura de execução dos aplicativos está em uma determinada região e é gerenciada pelo Google para estar disponível de modo redundante em todas as zonas dessa região.

Os requisitos de latência, disponibilidade ou durabilidade são os principais fatores considerados ao selecionar a região em que os aplicativos serão executados. Em geral, você escolhe a região mais próxima dos usuários do app. No entanto, pense também no local dos outros produtos e serviços do GCP utilizados pelo app. Se você usa os serviços em vários locais, a latência e o preço do app podem ser afetados.

O App Engine está disponível nas seguintes regiões:

  • northamerica-northeast1 (Montreal)
  • us-central (Iowa)
  • us-west2 (Los Angeles)
  • us-east1 (Carolina do Sul)
  • us-east4 (Virgínia do Norte)
  • southamerica-east1 (São Paulo)*
  • europe-west (Bélgica)
  • europe-west2 (Londres)
  • europe-west3 (Frankfurt)
  • asia-northeast1 (Tóquio)
  • asia-south1 (Mumbai)
  • australia-southeast1 (Sydney)

*Para clientes que usam a região de São Paulo, todos os SLAs de produtos regionais permanecerão em vigor. No entanto, funcionalidades de várias regiões e entre regiões que abrangem América do Norte e América do Sul podem sofrer uma redução temporária de disponibilidade ou desempenho.

Não é possível alterar a região de um app depois de defini-la.

Você poderá ver a região se já tiver criado um aplicativo do App Engine. Basta executar o comando gcloud app describe ou abrir o painel do App Engine no console do GCP. A região do seu aplicativo do App Engine será listada em http://[YOUR_PROJECT_ID].appspot.com.

Neste guia de início rápido, demonstramos um aplicativo simples do Ruby escrito com a biblioteca da Web Sinatra. Ele pode ser implantado no App Engine. Essa amostra usa o Sinatra, mas você pode usar outras bibliotecas, como Ruby on Rails.

Fazer o download do aplicativo Hello World

Criamos um aplicativo Hello World simples para o Ruby. Assim você pode perceber rapidamente como é a implantação de um aplicativo no ambiente flexível do App Engine. Siga as etapas abaixo usando uma linha de comando para fazer o download de Hello World na máquina local.

Faça o download do app de amostra e acesse o diretório dele:

  1. Clone o repositório do app de amostra Hello World na máquina local:

    git clone https://github.com/GoogleCloudPlatform/ruby-docs-samples
    

    Uma alternativa é fazer o download da amostra como um arquivo zip e extraí-lo.

  2. Acesse o diretório que contém o código de amostra:

    cd ruby-docs-samples/appengine/hello_world
    

Executar o aplicativo Hello World na máquina local

Para executar o aplicativo Hello World no computador local:

  1. Instale as dependências desse projeto digitando o seguinte comando:

    bundle install
    
  2. Inicie um servidor da Web local:

    bundle exec ruby app.rb -p 8080
    
  3. No navegador da Web, digite este endereço:

    http://localhost:8080
    

    Você verá a mensagem Hello World do aplicativo de amostra na página.

    Na janela de terminal, pressione Ctrl+C para sair do servidor da Web.

    Implantar e executar o Hello World no App Engine

    Para implantar o aplicativo Hello World no ambiente flexível do App Engine:

    1. Execute o seguinte comando no diretório hello_world:
      gcloud app deploy
      Saiba mais sobre as sinalizações opcionais.

      Sinalizações comuns do comando gcloud

      • Inclua a sinalização --version para especificar um código exclusivo da versão do seu app. Quando a sinalização não é incluída, o código é gerado automaticamente. Exemplo: --version [YOUR_VERSION_ID]
      • Inclua a sinalização --project para especificar um código do projeto do GCP como alternativa ao código definido como padrão na ferramenta gcloud. Exemplo: --project [YOUR_PROJECT_ID]

      Exemplo:

      gcloud app deploy --version pre-prod-5 --project my-sample-app

      Para aprender a implantar o app pela linha de comando, consulte Como testar e implantar o app. Para ver uma lista de todas as sinalizações de comando, consulte a referência do gcloud app deploy.

    2. Abra o navegador e veja o aplicativo em http://YOUR_PROJECT_ID.appspot.com executando o seguinte comando:
      gcloud app browse
    Nesse momento, a página que exibe a mensagem “Hello World” é enviada por um servidor da Web em execução em uma instância do App Engine.

    Parabéns! Você implantou seu primeiro aplicativo do Ruby no ambiente flexível do App Engine.

    Nas próximas seções, consulte informações sobre a limpeza e links para as possíveis próximas etapas.

Limpeza

Exclua seu projeto do GCP para não ser cobrado pelos recursos usados nele.

  1. No Console do GCP, acesse a página "Projetos".

    Acessar a página Projetos

  2. Na lista de projetos, selecione um e clique em Excluir projeto.
  3. Na caixa de diálogo, digite o código do projeto e clique em Encerrar para excluí-lo.

Próximas etapas

Conheça a plataforma inteira

Agora que você já sabe como é desenvolver e implantar aplicativos no App Engine, você pode expandir seus horizontes e conhecer o restante do Google Cloud Platform. Você já instalou o Google Cloud SDK, que inclui as ferramentas necessárias para interagir com outros produtos, como o Google Cloud SQL, o Google Cloud Storage, o Google Cloud Datastore e muito mais.

Para ver instruções orientadas sobre como criar um aplicativo que usa a plataforma toda, e não somente o App Engine, confira nosso início rápido sobre a criação do aplicativo Bookshelf.

Saiba mais sobre o ambiente flexível do App Engine

Aqui vão alguns tópicos para você continuar aprendendo sobre o App Engine.

Revisão do código do app Hello World

Hello World é o app mais simples possível do App Engine. Nele, há apenas um serviço, uma versão e todo o código é armazenado no diretório raiz. Nesta seção, você verá uma descrição detalhada dos arquivos do aplicativo.

app.rb

Hello World é um aplicativo bem básico da biblioteca Sinatra, com apenas um arquivo.

require "sinatra"

get "/" do
  "Hello world!"
end

app.yaml

No arquivo app.yaml, você encontra detalhes sobre a configuração de implantação de um aplicativo:

runtime: ruby
env: flex
entrypoint: bundle exec ruby app.rb

# This sample incurs costs to run on the App Engine flexible environment.
# The settings below are to reduce costs during testing and are not appropriate
# for production use. For more information, see:
# https://cloud.google.com/appengine/docs/flexible/ruby/configuring-your-app-with-app-yaml
manual_scaling:
  instances: 1
resources:
  cpu: 1
  memory_gb: 0.5
  disk_size_gb: 10

O ambiente de execução usado pelo aplicativo é especificado no app.yaml. Ele também contém a instrução env: flex, que determina o uso do ambiente flexível pelo aplicativo.

Gemfile

O Gemfile é usado para especificar as dependências de RubyGem do aplicativo, e o Bundler é usado para declarar e instalar as dependências. O aplicativo "Hello World" requer uma gem do Ruby: a biblioteca da Web Sinatra:

source "https://rubygems.org"

gem "sinatra"
Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Ambiente flexível do App Engine para documentos do Ruby