À propos des environnements

Un environnement fournit un contexte isolé ou un "bac à sable" pour l'exécution de proxys d'API. Dans une même organisation, vous pouvez créer plusieurs environnements. Pour en savoir plus, consultez la section À propos des environnements et des groupes d'environnements.

Le code suivant illustre un exemple de configuration de remplacement où plusieurs environnements sont définis. Notez que les environnements prod et test ont des alias d'hôte différents :

namespace: my-namespace
org: my-organization
...
envs:
  - name: test
    serviceAccountPaths:
      synchronizer: "your_keypath/synchronizer-manager-service-account.json
      udca: "your_keypath/analytic-agent-service-account.json

  - name: prod
    serviceAccountPaths:
      synchronizer: "your_keypath/synchronizer-manager-service-account.json
      udca: "your_keypath/analytic-agent-service-account.json
...
  • Ajoutez une propriété virtualhosts qui mappe routingRules à l'environnement.
    virtualhosts:
      - name: default
        hostAliases: ["api.example.com"]
        sslCertPath: ./certs/fullchain.pem
        sslKeyPath: ./certs/privkey.pem
        routingRules:
          - env: test
    virtualhosts:
      - name: external
        hostAliases: ["apiprod.example.com"]
        sslCertPath: ./certs/fullchain.pem
        sslKeyPath: ./certs/privkey.pem
        routingRules:
          - env: prod

    Supposons qu'un proxy avec le chemin de base /foo1 soit déployé dans l'environnement test. Vous pouvez appeler le proxy ainsi :

    curl -k https://api.example.com/foo1

    Lorsque cet appel atteint l'entrée, l'entrée sait qu'il doit être envoyé au processeur de messages associé à l'environnement test, qui gère la requête.

    De même, si foo1 est également déployé dans l'environnement prod, vous pouvez envoyer une requête de proxy comme celle-ci, à l'alias d'hôte apiprod.mydomain.net :

    curl -k https://apiprod.example.com/foo1

    Et l'appel est acheminé par l'entrée vers le processeur de messages associé à cet hôte.

    Antimodèle : Déployez tous vos proxys dans un environnement hybride.

    Bonne pratique : Créez plusieurs environnements et déployez un nombre limité de proxys dans chacun d'eux. Vous pouvez créer des règles de routage pour préciser les environnements vers lesquels acheminer des chemins de base de proxy d'API spécifiques. Pour plus d'informations, consultez la page Configuration de l'hôte virtuel.

    Limiter le nombre de déploiements de proxy

    Pour les déploiements hybrides, le fait que de nombreux environnements puissent partager les mêmes hôtes virtuels signifie que vous devez réfléchir attentivement à la manière dont vous gérez vos déploiements de proxys dans un environnement donné. En mode hybride, il est recommandé de créer plusieurs environnements et de déployer un nombre limité de proxys dans chacun d'eux.

    Combien de proxys devez-vous déployer dans un environnement ? Il n'y a pas de réponse définie à cette question. Toutefois, le tableau suivant fournit des conseils généraux sur les raisons pour lesquelles il est judicieux de limiter le nombre de proxys déployés dans chaque environnement, ainsi que les éléments à prendre en compte lors de la gestion de déploiements de proxys :

    Problème à prendre en compte Description
    Délai de démarrage du processeur de messages Il existe une corrélation directe entre le temps nécessaire au démarrage d'un processeur de messages et le nombre de proxys déployés sur ce processeur de messages. Dans un environnement Kubernetes d'autoscaling, une augmentation du temps de démarrage peut poser problème. Plus le nombre de proxys déployés dans le processeur de messages est élevé, plus il faudra de temps pour que ce processeur de messages soit opérationnel s'il doit faire l'objet d'un scaling ou être recréé.
    Performances de scaling Si plusieurs proxys sont déployés dans un environnement et que l'un des proxys reçoit beaucoup de trafic, de sorte qu'il réalise fréquemment un autoscaling, tous les proxys de cet environnement réalisent un scaling avec lui. L'effet sur les performances du scaling de plusieurs proxys avec un seul proxy à trafic élevé peut poser problème.
    "Voisin bruyant" Si plusieurs proxys sont déployés dans le même environnement et qu'un proxy plante, alors tous les proxys de l'environnement sont affectés le temps de redémarrer le processeur de messages. En limitant le nombre de proxys déployés dans un environnement, vous minimisez l'impact d'un plantage d'un seul proxy.

    Documentation de référence sur la configuration de l'environnement

    Pour obtenir la liste complète des éléments de configuration des environnements, consultez la section envs dans la documentation de référence sur les propriétés de configuration.

    Utiliser des environnements

    Pour en savoir plus sur la configuration, consultez les rubriques suivantes :