Guide de démarrage rapide pour Ruby dans l'environnement flexible App Engine

ID de la région

Le code REGION_ID est attribué par Google en fonction de la région que vous sélectionnez lors de la création de votre application. L'ajout de REGION_ID.r dans les URL App Engine est facultatif pour les applications existantes. Il sera bientôt nécessaire pour toutes les nouvelles applications.

Pour assurer une transition en douceur, nous mettons lentement à jour App Engine afin d'utiliser les ID de région. Si nous n'avons pas encore mis à jour votre projet Google Cloud, vous ne verrez pas d'ID de région pour votre application. Étant donné que l'ID est facultatif pour les applications existantes, vous n'avez pas besoin de mettre à jour les URL ni d'effectuer d'autres modifications une fois l'ID de région disponible pour vos applications existantes.

En savoir plus sur les ID de région.

Dans ce guide de démarrage rapide, vous allez apprendre à créer une petite application App Engine permettant d'afficher un court message.

Avant de commencer

Avant d'exécuter et de déployer ce guide de démarrage rapide, installez le SDK Cloud, puis configurez un projet Cloud pour App Engine :

  1. Téléchargez et installez le SDK Cloud :

    Télécharger le SDK

    Remarque : Si le SDK Cloud est déjà installé, mettez-le à jour en exécutant la commande suivante :

    gcloud components update
    
  2. Créez un projet :

    gcloud projects create [YOUR_PROJECT_ID] --set-as-default
    

    Remplacez [YOUR_PROJECT_ID] par une chaîne de caractères qui identifie votre projet de manière unique. Par exemple, my-project-24.

    Vérifiez que le projet a été créé :

    gcloud projects describe [YOUR_PROJECT_ID]
    

    Vous voyez alors les informations relatives au projet qui peuvent se présenter sous la forme suivante :

    createTime: year-month-hour
    lifecycleState: ACTIVE
    name: project-name
    parent:
    id: '433637338589'
    type: organization
    projectId: project-name-id
    projectNumber: 499227785679
    
  3. Initialisez votre application App Engine avec votre projet, puis choisissez sa région :

    gcloud app create --project=[YOUR_PROJECT_ID]
    

    Lorsque vous y êtes invité, sélectionnez la région dans laquelle vous souhaitez déployer votre application App Engine.

  4. Assurez-vous que la facturation est activée pour votre projet. Un compte de facturation doit être associé à votre projet pour que l'application puisse être déployée dans App Engine.

    Activer la facturation

    Tant qu'il est actif, le déploiement de votre environnement flexible engendre des coûts. Nettoyez votre projet lorsque vous avez terminé pour éviter des coûts permanents.

  5. Installez les composants requis suivants :

Zones App Engine

App Engine est régional, ce qui signifie que l'infrastructure qui exécute vos applications est située dans une région spécifique et gérée par Google pour être disponible de manière redondante dans toutes les zones de cette région.

Lors de la sélection d'une région dans laquelle exécuter vos applications, vous devez tout d'abord considérer vos exigences en matière de latence, de disponibilité et de durabilité. En règle générale, vous pouvez sélectionner la région la plus proche des utilisateurs de votre application, mais vous devez également tenir compte de l'emplacement des autres produits et services Google Cloud exploités par votre application. L'utilisation de services dans plusieurs emplacements peut affecter la latence et les coûts associés à votre application.

App Engine est disponible dans les régions suivantes :

  • northamerica-northeast1 (Montréal)
  • us-central (Iowa)
  • us-west2 (Los Angeles)
  • us-west3 (Salt Lake City)
  • us-west4 (Las Vegas)
  • us-east1 (Caroline du Sud)
  • us-east4 (Virginie du Nord)
  • southamerica-east1 (São Paulo)
  • europe-west (Belgique)
  • europe-west2 (Londres)
  • europe-west3 (Francfort)
  • europe-west6 (Zurich)
  • asia-northeast1 (Tokyo)
  • asia-northeast2 (Osaka)
  • asia-northeast3 (Séoul)
  • asia-east2 (Hong Kong)
  • asia-south1 (Mumbai)
  • australia-southeast1 (Sydney)

Une fois définie, vous ne pouvez plus modifier la région d'une application.

Si vous avez déjà créé une application App Engine, vous pouvez afficher la région en effectuant l'une des opérations suivantes :

Ce guide de démarrage rapide présente une application Ruby simple, écrite à l'aide du framework Sinatra et pouvant être déployée sur App Engine. Bien que cet exemple utilise Sinatra, vous pouvez utiliser d'autres frameworks tels que Ruby on Rails.

Télécharger l'application Hello World

Nous avons créé une application Hello World simple pour Ruby afin que vous puissiez comprendre rapidement comment déployer une application sur Google Cloud.

  1. Clonez le dépôt de l'exemple d'application Hello World sur votre ordinateur.

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

    Vous pouvez également télécharger l'exemple en tant que fichier zip et l'extraire.

  2. Accédez au répertoire qui contient l'exemple de code.

    cd ruby-docs-samples/appengine/hello_world
    

Exécuter Hello World sur votre ordinateur local

Cet exemple utilise Bundler pour exécuter l'application Hello World sur votre ordinateur local :

  1. Si le langage de programmation Ruby n'est pas déjà installé, téléchargez et installez-le.

    Télécharger et installer Ruby

  2. Installez Bundler :

    gem install bundler
    
  3. Installez les dépendances pour ce projet :

    bundle install
    
  4. Démarrez un serveur Web local :

    bundle exec ruby app.rb -p 8080
    
  5. Dans votre navigateur Web, saisissez l'adresse suivante :

    http://localhost:8080

Le message Hello World de l'exemple d'application s'affiche sur la page. Dans votre fenêtre de terminal, appuyez sur Ctrl+C pour quitter le serveur Web.

Déployer et exécuter Hello World sur App Engine

Pour déployer votre application dans l'environnement flexible App Engine, procédez comme suit :

  1. Déployez l'application Hello World en exécutant la commande suivante à partir du répertoire hello_world :

    gcloud app deploy

    Obtenez plus d'informations sur les options facultatives.

    Options de commande gcloud courantes

    • Incluez l'option --version pour spécifier un ID qui identifie de manière unique cette version de votre application, sinon un ID est généré pour vous. Exemple : --version [YOUR_VERSION_ID]
    • Incluez l'option --project pour spécifier un ID de projet Cloud différent de celui que vous avez initialisé par défaut dans l'outil gcloud. Exemple : --project [YOUR_PROJECT_ID]

    Exemple :

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

    Pour en savoir plus sur le déploiement de votre application à partir de la ligne de commande, consultez la section Tester et déployer votre application. Pour obtenir la liste de tous les options de commande, consultez la documentation de référence gcloud app deploy.

  2. Lancez le navigateur pour afficher l'application sur https://PROJECT_ID.REGION_ID.r.appspot.com

    gcloud app browse
    PROJECT_ID représente votre ID de projet Google Cloud.

Cette fois, la page qui affiche le message Hello World est diffusée par un serveur Web exécuté sur une instance App Engine.

Félicitations ! Vous avez déployé votre première application Ruby dans l'environnement flexible App Engine.

Consultez les sections suivantes pour en savoir plus sur le nettoyage et découvrir les prochaines étapes que vous pourriez effectuer.

Nettoyer

Afin d'éviter que des frais ne vous soient facturés, vous pouvez supprimer votre projet Cloud. Cette démarche interrompra la facturation de toutes les ressources utilisées dans le projet.

  1. Dans Cloud Console, accédez à la page Gérer les ressources.

    Accéder à la page Gérer les ressources

  2. Dans la liste des projets, sélectionnez le projet que vous souhaitez supprimer, puis cliquez sur Supprimer .
  3. Dans la boîte de dialogue, saisissez l'ID du projet, puis cliquez sur Arrêter pour supprimer le projet.

Étape suivante

En savoir plus sur Google Cloud Platform

Maintenant que vous savez comment développer et déployer des applications App Engine, vous pouvez explorer le reste de Google Cloud. Le SDK Cloud est déjà installé et vous permet d'interagir avec des produits tels que Cloud SQL, Cloud Storage, Firestore, etc.

Pour apprendre pas à pas à créer une application qui utilise l'ensemble de la plate-forme et pas seulement App Engine, accédez à notre guide de démarrage rapide pour créer l'application Bookshelf.

En savoir plus sur l'environnement flexible App Engine

Voici quelques articles qui vous aideront à mieux connaître App Engine :

Examiner le code Hello World

Hello World est l'application App Engine la plus simple qui soit : elle ne contient qu'un seul service, ne possède qu'une seule version, et tout le code se trouve dans le répertoire racine de l'application. Cette section décrit chacun des fichiers de l'application en détail.

app.rb

L'application Hello World est une application Sinatra basique à fichier unique :

require "sinatra"

get "/" do
  "Hello world!"
end

app.yaml

Le fichier app.yaml décrit la configuration de déploiement d'une application :

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

Ici, le fichier app.yaml spécifie l'environnement d'exécution utilisé par l'application et définit env: flex, qui indique que l'application utilise l'environnement flexible.

Gemfile

Le fichier Gemfile permet de spécifier les dépendances RubyGem de l'application, et Bundler sert à déclarer et à installer les dépendances. L'application Hello World nécessite un seul gem Ruby : le framework Web Sinatra :

source "https://rubygems.org"

gem "sinatra"