Mise à l'échelle, haute disponibilité et gestion du trafic

Lorsque votre application est déployée sur Code Engine, elle est accessible et disponible pour les tests et même la production. Étant donné que Code Engine fournit une plateforme sans serveur pour les charges de travail conteneurisées, la plupart de vos détails d'exécution sont gérés automatiquement par Code Engine. Vous pouvez cependant contrôler un grand nombre des détails.

Mise à l'échelle de votre application

Lorsque vous utilisez Cloud Foundry, vous pouvez avoir configuré et utilisé la fonction de mise à l'échelle automatique, qui vous a permis d'ajouter et de supprimer automatiquement des instances d'application, en fonction des métriques de performance ou de la date et de l'heure. Par contraste, Code Engine met à l'échelle automatiquement votre application par défaut. Code Engine applique une application jusqu'à 10 instances d'exécution (par défaut) et à zéro (ce qui signifie que l'application ne consomme aucune ressource lorsqu'elle n'est pas utilisée).

Vous pouvez éditer ces paramètres dans Limites et quotas de Code Engine. Une mise à l'échelle maximale de0 (zéro) met votre application au maximum, si nécessaire, alors qu'une mise à l'échelle minimale de 1conserve au moins une instance de votre application en cours d'exécution. En ajustant l'accès concurrent et le délai d'attente des demandes, vous pouvez ajuster la mise à l'échelle automatique selon vos besoins. Pour plus d'informations, voir Configuration de la mise à l'échelle d'application

Haute disponibilité

Pour les aspects de haute disponibilité (et de reprise après incident), Cloud Foundry et Code Engine sont similaires.

  • Suivez les meilleures pratiques pour traiter les demandes simultanées.
  • Assurez-vous d'avoir au moins deux ou trois instances de l'application en cours d'exécution.
  • Exécutez des instances d'application dans les zones disponibles d'une région à zones multiples (MZR).
  • Utilisez un équilibreur de charge global (GLB) en face d'instances d'application déployées sur plusieurs MZR pour une haute disponibilité au niveau global.

Gestion du trafic et mise à jour du trafic

Pour que votre application reste disponible lors du déploiement d'une nouvelle version sur Cloud Foundry, vous utilisez des options de commande CLI spéciales pour les mises à jour en continu ou les déploiements sans temps d'arrêt. Avec Code Engine, les mises à jour sont effectuées automatiquement. Une fois la nouvelle révision d'application prête, le trafic est déplacé de l'ancienne application vers la nouvelle révision.

Les déploiements "bleu-vert" et le transfert progressif du trafic de l'ancienne application vers la nouvelle révision ont nécessité une intervention manuelle sur le site Cloud Foundry. Avec Code Engine, vous pouvez utiliser les fonctions intégrées à ses couches sous-jacentes Kubernetes et Knative. L'article de blog, Blue-green deployment with IBM Cloud Code Engine and Knative, montre comment la commande CLI Knative permet de mettre à jour l'application afin que le trafic soit configuré pour se répartir entre les révisions. Étant donné une application nommée bluegreen et deux révisions rev-old et rev-new, la commande suivante divise le trafic 80/20 entre elles.

kn service update bluegreen --traffic rev-old=80 --traffic rev-new=20

En ajustant les pourcentages attribués, vous pouvez tester une nouvelle version de code avec un peu de trafic et, lorsque votre code est prêt, exécutez la révision en production.

Etapes suivantes

  1. Vous commencez juste votre migration ? Consultez Mise en route.
  2. Comparer la terminologie de Cloud Foundry avec Code Engine.
  3. Essayez Code Engine avec un tutoriel de génération local.
  4. Votre application utilise-t-elle des liaisons de service ? Consultez Migration de vos liaisons de service.
  5. Mise à l'échelle, haute disponibilité et gestion du trafic (page en cours)
  6. Recherchez Code Engine équivalents à des commandes de Cloud Foundry.
  7. D'autres questions ? Essayez Migration des applications Foundry Cloud vers la foire aux questions Code Engine.

Autres informations