Thursday, 14 April 2016

A Step By Step Guide For Deploying & Managing A PHP Application On Docker LAMP, LAPP, And LAOP Stacks


Un guide étape par étape pour Déploiement et gestion d'une application PHP Le Docker LAMP, LAPP, Et LAOP Stacks

Pour exécuter et gérer les 9 modèles d'application PHP (LAMP, LAPP et LAOP Stacks) dans ce projet sur ​​les plates - formes de virtualisation (y compris vSphere, OpenStack, AWS, Rackspace, Microsoft Azure, Google Compute Engine, Digital Ocean , IBM SoftLayer 13 différents nuages ​​et, etc.), assurez - vous que vous soit:
Image
Personnaliser et exécuter l'un des modèles publiés Docker PHP d'application (y compris le LAMP, LAPP et LAOP Stacks) et beaucoup d'autres modèles (y compris multi-niveaux Java piles d'applications, Mongo Replica Set Cluster, Drupal, Wordpress, MEAN.JS, etc. )

Contexte

Conteneurisation applications d'entreprise est toujours un défi surtout parce que les cadres de composition d'applications existantes ne traitent pas des dépendances complexes, intégrations externes ou auto-mise à l'échelle des flux de production post-prestation. En outre, la conception éphémère des conteneurs signifie que les développeurs ont dû faire tourner de nouveaux conteneurs et recréer les dépendances complexes et intégrations externes avec chaque mise à jour de version.

DCHQ, disponible en versions hébergées et sur site, répond à tous ces défis et simplifie la conteneurisation des applications d'entreprise à travers un cadre de composition d'application de pointe qui étend Docker Compose avec l'environnement inter-images variables reliures, script BASH plug-ins extensibles qui peuvent être invoquée au moment de la demande ou de post-disposition, et le regroupement de l'application pour la haute disponibilité sur plusieurs hôtes ou régions avec le soutien de mise à l'échelle automatique.
Une fois qu'une demande est provisionnée, un utilisateur peut surveiller le CPU, la mémoire, et I / O des conteneurs de fonctionnement, recevoir des notifications et alertes, et avoir accès à des sauvegardes d'application, à l'échelle automatique dans / sur les flux de travail, et plug-in workflows d'exécution à mettre à jour en cours d'exécution des conteneurs. En outre, automatisé "App Run" permet aux utilisateurs d'intégrer leurs processus d'intégration continue pour planifier le déploiement de conteneurs pour leur nightly builds ou chaque fois que des changements sont fusionnés dans GitHub.
Dans les blogs précédents, nous avons démontré l'automatisation des différentes applications Java (comme Pizza Shop et Movie Store applications) sur des piles d'applications à base de Docker multi-niveaux de 13 à travers différents nuages ​​et plates - formes de virtualisation de bout en bout le déploiement. Pour la liste complète de ces blogs, vous pouvez visiter cette page: http://dchq.co/docker-java-applications.html
Cependant, de nombreux utilisateurs ont été encore confus sur certains des aspects fondamentaux de la modélisation de l'application. Ces questions comprennent:
  • D' où viennent ces variables d'environnement proviennent dans votre modèle d'application YAML-?
  • Comment est la base de données initialisée avec les schémas appropriés nécessaires à partir de mon application PHP?
Pour répondre à ces questions, nous avons créé un exemple d'application PHP "Répertoire des noms" dans ce projet GitHub qui peut être déployée sur ces piles d'applications:
  • Docker LAMP Stack (Linux-Apache-MySQL-PHP)
  • Docker LAPP Stack (Linux-Apache-PostgreSQL-PHP)
  • Docker LAOP Stack (Linux-Apache-Oracle-PHP)
Dans ce projet, nous fournirons un guide étape par étape pour la configuration, le déploiement et la gestion de cette application PHP en utilisant différentes piles d'applications et sur différents cloud / infrastructure virtuelle.
Nous allons couvrir:
  • Configuration du config.php l'application PHP
  • Initialisation de la base de données pour l'application PHP
  • Construire le Docker image en utilisant php: 5.6-apache
  • Construire les modèles d'application à base de YAML qui peuvent ré-utilisés sur un hôte Linux en cours d'exécution partout
  • Provisioning et auto-mise à l'échelle de l'infrastructure sous-jacente sur un nuage (avec Rackspace étant l'exemple dans ce blog)
  • Déploiement du multi-tier application PHP sur le cluster Rackspace
  • Suivi de la CPU, la mémoire et d'E / S des conteneurs en cours
  • Activation de l'intégration continue Utilisation App Run automatisé
  • Mise à l'échelle sur l'application PHP

Configuration du config.php L'application PHP

Vous pouvez cloner cet échantillon application PHP "Répertoire des noms" de GitHub.
Ceci est l'étape la plus importante dans votre application PHP "Dockerizing". Afin de tirer parti des variables d'environnement, vous pouvez passer lors de l'exécution des conteneurs, vous devez vous assurer que votre application est configurée d'une manière qui vous permettra de modifier certaines propriétés à la demande du temps - comme:

  • Le pilote de base de données que vous souhaitez utiliser
  • L'URL de base de données
  • Les informations d'identification de base de données
  • Tous les autres paramètres que vous souhaitez modifier à la demande du temps (par exemple, le min / max taille du pool de connexion, le délai d'inactivité, etc.)
Pour ce faire , vous devez d' abord configurer config.php .

Image
Vous remarquerez que les propriétés de données sources spécifiques font référence à des variables d'environnement suivantes qui seront transmises à la demande du temps:
  • DB_HOST
  • DB_USER
  • DB_PASS
  • DB_NAME
  • DB_PROVIDER
  • DB_PORT

Initialisation La base de données pour l'application PHP

Nous recommandons généralement d'initialiser le schéma de base de données dans le cadre du déploiement d'applications PHP lui-même. De cette façon, vous n'avez pas à vous soucier de la tenue des dossiers SQL distinctes qui doivent être exécutées sur la base de données séparément.
Toutefois , si vous avez déjà ces fichiers SQL et vous préférez toujours les exécuter sur la base de données séparément - puis DCHQ peut vous aider à automatiser ce processus grâce à son cadre de plug-in. Vous pouvez consulter cette section pour plus d' informations.
Afin d'inclure les scripts SQL pour créer les tables de base de données dans l'application PHP, vous devrez configurer Persistence.php fichier pour remplir la base de données en utilisant différentes instructions SQL ( en fonction de la base de données utilisée). La fonction populateDatabase () fonctionne avec MySQL, PostgreSQL et Oracle.
Image

Construire Le Docker image en utilisant Php: 5.6-Apache

Une fois l'application PHP est configuré, vous avez simplement besoin de créer une image Docker avec votre code PHP.
Une fois connecté à DCHQ (soit le DCHQ.io hébergé ou la version sur site), un utilisateur peut accéder à l'  image Builds puis cliquez sur le + bouton pour créer une nouvelle Dockerfile (Git / GitHub / BitBucket) build d' image.
Fournir les valeurs requises comme suit:
  • Direction Git - ce champ est facultatif - mais un utilisateur peut spécifier une branche d'un projet GitHub. La branche par défaut est le maître.
  • Pouvoirs Git - un utilisateur peut stocker les informations d' identification à un référentiel privé GitHub solidement en DCHQ. Cela peut être fait en accédant à les fournisseurs de Cloud et Repos et en cliquant sur ​​le + pour sélectionner Pouvoirs
  • Cluster - la construction d'images Docker est orchestrée par l'agent DCHQ. Par conséquent, un utilisateur doit sélectionner un ensemble sur lequel un agent sera utilisé pour exécuter la construction d'images Docker. Si un cluster n'a pas encore été créé, s'il vous plaît se référer à cette section soit enregistrer les hôtes déjà en cours d' exécution ou d' automatiser le provisionnement d' une nouvelle infrastructure virtuelle.
  • Push to Registry - un utilisateur peut pousser l'image nouvellement créée soit sur ​​un dépôt public ou privé sur Docker Hub ou Quay. Pour créer un compte Docker Hub ou Quay, un utilisateur doit naviguer vers   les fournisseurs de Cloud et Repos et en cliquant sur ​​le + pour sélectionner Docker Registries
  • Repository - tel est le nom du référentiel sur lequel l'image sera poussé. Par exemple, notre image a été poussé à DCHQ / php-exemple: les dernières
  • Tag - tel est le nom de la balise que vous souhaitez donner à la nouvelle image. Les noms de balises prises en charge dans DCHQ comprennent:
    • {{date}} - date formatée
    • {{timestamp}} - l'horodatage complet
  • Cron Expression - un utilisateur peut programmer la construction d'images Docker utilisant out-of-box expressions cron. Cela facilite tous les jours et tous les soirs pour les utilisateurs construit.
Une fois les champs requis sont remplis, un utilisateur peut cliquer sur Enregistrer .
Un utilisateur peut alors cliquer sur le bouton de lecture pour construire l'image Docker sur demande.
Image
Voici la Dockerfile réelle utilisée pour construire cette image Docker de ce référentiel GitHub:
Image

Construire Les modèles d'application YAML-Based qui peut re-utilisé sur tout hôte Linux Exécution Partout

Une fois connecté à DCHQ (soit le DCHQ.io hébergé ou la version sur site), un utilisateur peut accéder à App & Machine  , puis cliquez sur le + bouton pour créer une nouvelle Docker Compose modèle.
Nous avons créé 9 modèles d'applications utilisant les images officielles de Docker Hub pour la même application PHP "Répertoire des noms" - mais pour les serveurs et les bases de données d'applications différentes.
Les modèles comprennent des exemples de piles d'applications suivantes (pour la même application PHP):

  • Docker LAMP Stack (Linux-Apache-MySQL-PHP)
  • Docker LAPP Stack (Linux-Apache-PostgreSQL-PHP)
  • Docker LAOP Stack (Linux-Apache-Oracle-XE-PHP)
  • Docker LAMP Stack (3-Tier Nginx-PHP-MySQL)
  • Docker LAPP Stack (3-Tier Nginx-PHP-PostgreSQL)
  • Docker LAOP Stack (3-Tier Nginx-PHP-Oracle-XE)
  • Docker LAMP Stack (3-Tier Apache HTTP-PHP-MySQL)
  • Docker LAPP Stack (3-Tier Apache HTTP-PHP-PostgreSQL)
  • Docker LAOP Stack (3-Tier Apache HTTP-PHP-Oracle-XE)

Environnement Bindings variable à travers les images

En outre, un utilisateur peut créer cross-images reliures de variables d' environnement en faisant une référence à la variable d'environnement d' une autre image. Dans ce cas, nous avons fait plusieurs fixations - y compris DB_HOST = {{MySQL | container_private_ip}} - dans lequel le conteneur de base de données IP est résolu dynamiquement à la demande du temps et est utilisé pour veiller à ce que le serveur Apache-PHP peut établir une connexion avec le base de données.
Voici une liste de valeurs de variables d'environnement pris en charge:
  • {{alphanumeric | 8}} - crée un 8 caractères chaîne alphanumérique aléatoire. Ceci est très utile pour créer des mots de passe aléatoires.
  • {{Image Name | ip}} - vous permet d'entrer l'adresse IP de l' hôte d'un conteneur en tant que valeur pour une variable d'environnement. Ceci est très utile pour permettre à la couche de middleware pour établir une connexion avec la base de données.
  • {{Image Name | container_ip}} - vous permet d'entrer le nom d'un conteneur en tant que valeur pour une variable d'environnement. Ceci est très utile pour permettre à la couche de middleware pour établir une connexion sécurisée avec la base de données (sans exposer le port de base de données).
  • {{Image Name | container_private_ip}} - vous permet d'entrer l'adresse IP interne d'un conteneur en tant que valeur pour une variable d'environnement. Ceci est très utile pour permettre à la couche de middleware pour établir une connexion sécurisée avec la base de données (sans exposer le port de base de données).
  • {{Image Name | port_Port Number}} - vous permet d'entrer le numéro de port d'un conteneur en tant que valeur pour une variable d'environnement. Ceci est très utile pour permettre à la couche de middleware pour établir une connexion avec la base de données. Dans ce cas, le numéro de port spécifié doit être le numéro de port interne - à savoir ne pas le port externe qui est alloué au conteneur. Par exemple, {{PostgreSQL | port_5432}} sera traduit au port externe réelle qui permettra au niveau de middleware pour établir une connexion avec la base de données.
  • {{Nom de l'image | Environnement Nom de la variable}}
  •  - vous permet d'entrer la valeur de la variable d'environnement d'une image dans la variable d'environnement d' une autre image. Les cas d'utilisation sont infinies - comme la plupart des applications multi-niveaux auront des dépendances inter-image.

LAMP Stack (Linux-Apache-MySQL-PHP)

Image
Image

LAPP Stack (Linux-Apache-PostgreSQL-PHP)

Image
Image

LAOP Stack (Linux-Apache-Oracle-PHP)

Image
Image

LAMP Stack (3-Tier Nginx-PHP-MySQL)

Image
Image

LAPP Stack (3-Tier Nginx-PHP-PostgreSQL)

Image
Image

LAOP Stack (3-Tier Nginx-PHP-Oracle-XE)

Image
Image

LAMP Stack (3-Tier ApacheHTTP-PHP-MySQL)

Image
Image

LAPP Stack (3-Tier ApacheHTTP-PHP-PostgreSQL)

Image
Image

LAOP Stack (3-Tier ApacheHTTP-PHP-Oracle-XE)

Image
Image

Invoquer un plug-in pour initialiser la base de données séparément sur un Docker LAMP Stack

Nous vous recommandons d'initialiser le schéma de base de données dans le cadre du déploiement d'applications PHP lui-même. Toutefois, si vous préférez toujours exécuter les fichiers SQL sur la base de données séparément - puis DCHQ peut vous aider à automatiser ce processus grâce à son cadre de plug-in.

Dans cet exemple, MySQL dans cette pile LAMP invoque un plug-in de script BASH pour exécuter le fichier populate.sql. Le plug-in de script BASH a été créée en accédant au Plug-ins et ressemble à quelque chose comme ceci:

Image
Dans ce script BASH plug-in, $ MYSQL_USER , $ MYSQL_ROOT_PASSWORD et MYSQL_DATABASE $ sont des variables d' environnement qui sont passés à la demande du temps.
$ FILE_URL est un argument de dérogation possible que vous pouvez définir lors de la création du plug-in ou en demandant l'application. Ce sera l'URL du fichier populate.sql.

Provisioning & Auto-échelle L'infrastructure sous-jacent un Nuage

Une fois qu'une demande est enregistrée, un utilisateur peut enregistrer un fournisseur de Cloud pour automatiser le provisionnement et l'auto-mise à l'échelle des grappes sur 12 nuage points terminaux différents, y compris VMware vSphere, OpenStack, CloudStack, Amazon Web Services, Rackspace, Microsoft Azure, Digital Ocean, IBM SoftLayer, Google Compute Engine, et bien d'autres.
Tout d' abord, un utilisateur peut enregistrer un fournisseur de Cloud pour Rackspace (par exemple) en naviguant sur ​​les fournisseurs de Cloud  , puis en cliquant sur ​​le + bouton pour sélectionner Rackspace . L'API Key Rackspace doit être fournie - qui peut être récupéré à partir de la section Paramètres du compte du panneau de configuration Rackspace Cloud.

Un utilisateur peut alors créer un cluster avec une politique d' auto-échelle pour faire tourner automatiquement les nouveaux serveurs de Cloud. Cela peut être fait en accédant à   Clusters page, puis en cliquant sur ​​le + bouton. Vous pouvez sélectionner une stratégie de placement fondée sur la capacité et ensuite Weave que la couche réseau afin de faciliter, la communication inter-conteneur protégé par mot de passe sécurisé sur plusieurs hôtes dans un cluster. La politique d' auto-échelle , par exemple, peut fixer le nombre maximum de VM (ou les serveurs de Cloud) à 10.
Un utilisateur peut maintenant fournir un certain nombre de serveurs de Cloud sur le cluster nouvellement créé soit par le biais du flux de travail basée sur interface utilisateur ou en définissant un modèle de machine de composition à base de YAML-simple qui peut être demandé à la Bibliothèque Self-Service.

Flux de travail basé sur l' interface utilisateur - Un utilisateur peut demander des serveurs Rackspace Cloud en naviguant vers Machines et puis en cliquant sur ​​le + bouton pour sélectionner Rackspace . Une fois que le fournisseur de Cloud est sélectionné, l'utilisateur peut sélectionner la région, la taille et l' image nécessaire. Les ports sont ouverts par défaut sur ​​les serveurs Rackspace Cloud pour accueillir certaines des exigences de ports (par exemple 32000-59000 pour Docker, 6783 pour Weave, et 5672 pour RabbitMQ). Un cluster est alors sélectionné et le nombre de serveurs de Cloud peut être spécifié.
Machine Compose modèle basé sur YAML - Un utilisateur peut d' abord créer un modèle de machine Compose pour Rackspace en naviguant vers App & Machine , puis en sélectionnant la machine Compose .

Voici le modèle pour demander un serveur 4GB Cloud.

Image
Les paramètres pris en charge pour le modèle machine Compose sont résumées ci-dessous:
  • Description : Description du modèle / template
  • instanceType : Cloud fournisseur valeur spécifique (par exemple general1-4)
  • région : fournisseur de Cloud valeur spécifique (par exemple IAD)
  • Image : Obligatoire - image ID / nom complet (par exemple IAD / 5ed162cc-b4eb-4371-b24a-a0ae73376c73 ou vSphere VM Template nom)
  • nom d' utilisateur : en option - uniquement pour vSphere VM Template nom d' utilisateur
  • Mot de passe : En option - uniquement pour vSphere VM Template mot de passe crypté. Vous pouvez crypter le mot de passe en utilisant le critère https://www.dchq.io/#/encrypt

  • réseau : en option - Cloud fournisseur valeur spécifique (par exemple , par défaut)
  • SecurityGroup : fournisseur de Cloud valeur spécifique (par exemple DCHQ-security-groupe)
  • CLES : fournisseur de Cloud valeur spécifique (par exemple clé privée)
  • OpenPorts : Facultatif - virgules des valeurs de port séparés
  • count : nombre de VM, par défaut 1.
Une fois le modèle machine Compose est enregistré, un utilisateur peut demander cette machine du Self-Service Library . Un utilisateur peut cliquer sur Personnaliser , puis sélectionnez le fournisseur de Cloud et Cluster à utiliser pour le provisionnement de ces serveurs Rackspace Cloud.

Déploiement de l'application PHP Multi-Tier Sur Le Cluster Rackspace

Une fois les serveurs de Cloud sont provisionnés, un utilisateur peut déployer un multi-niveaux, des applications PHP à base de Docker sur les nouveaux serveurs de Cloud. Cela peut être fait en accédant à la bibliothèque libre-service, puis en cliquant sur Personnaliser pour demander une application à plusieurs niveaux.
Un utilisateur peut sélectionner une étiquette pour l'environnement (comme DEV ou QE) et le Cluster Rackspace créé avant de cliquer sur Exécuter.

Accès à The In-Browser Terminal pour les conteneurs de course

Une invite icône de commande devrait être disponible à côté des noms des conteneurs sur la page Live Apps. Cela permet aux utilisateurs d'entrer dans le conteneur en utilisant un protocole de communication sécurisé grâce à la file d'attente de messages d'agent. Une liste blanche des commandes peut être défini par le locataire Admin pour veiller à ce que les utilisateurs ne font pas de changements nuisibles sur les contenants de fonctionnement.
Pour le déploiement de PHP par exemple, nous avons utilisé l'invite de commande pour vous assurer que le code PHP est en effet sous le répertoire / var / www / html /.
Image

Surveillance Le CPU, mémoire et E / S Utilisation des conteneurs en cours

Une fois que l'application est en cours d'exécution, nos développeurs surveillent la CPU, la mémoire, et I / O des conteneurs en cours d'exécution pour obtenir des alertes lorsque ces mesures dépassent un seuil prédéfini. Ceci est particulièrement utile lorsque les développeurs effectuent des tests fonctionnels et de charge.
Un utilisateur peut effectuer une analyse historique de suivi et d' établir une corrélation entre les questions mises à jour de conteneurs ou de construire des déploiements. Cela peut être fait en cliquant sur ​​le Actions menu de l'application en cours d'exécution, puis sur la surveillance . Une plage de dates personnalisée peut être sélectionnée pour afficher CPU, mémoire et E / S historiquement.

Activation de l'intégration continue Utilisation App Run automatisé

Pour les développeurs qui souhaitent suivre le modèle des conteneurs «immuables» par la reconstruction des images Docker contenant le code d'application et de filature de nouveaux conteneurs avec chaque mise à jour de l'application, DCHQ fournit une accumulation d'image automatique et automatisé fonctionnalités app run qui permettent aux développeurs de créer automatiquement des images Docker de Dockerfiles ou des projets privés GitHub contenant Dockerfiles, puis tourner jusqu'à piles LAMP complètes en utilisant les dernières images en planifiant le déploiement de l'application et la personnalisation de la location d'application.
Comme expliqué dans l'image build Docker section , un utilisateur peut programmer deux constructions parallèles pour l'image de PHP (qui est basé sur php: 5.6-apache ).
  • dernière : une construction sera constamment remplacer la dernière balise avec les derniers changements commis à votre projet GitHub
  • {{date}} ou {{timestamp}} : une construction parallèle qui va sauvegarder toutes les images créées à l' aide soit une date formatée ou horodatage pour le nom de la balise
Un utilisateur peut alors accéder à   App Run , puis cliquez sur le + bouton pour créer une nouvelle politique "App Run automatisé". Un utilisateur peut alors remplir les champs obligatoires - comme:
  • Nom App : le nom qui sera donné à l'application déployée
  • Bail : par défaut, un bail illimité est sélectionné. Toutefois , une application exécution automatique est très utile pour les environnements DEV / D'ESSAI où les utilisateurs sont attendent une application déjà en cours d' exécution avec le dernier code à chaque fois qu'ils entrent dans le bureau le matin. Pour cela, les utilisateurs peuvent fournir un bail de 1 jour ou 1 semaine - en fonction de leurs besoins.
  • Blueprint : un utilisateur peut rechercher un modèle déjà créé sur la base YAML-application (ou un plan) - similaire aux exemples donnés dans ce projet.
  • Cluster : tel est le cluster sur lequel l'application sera déployée. Un utilisateur ne verra que la liste des clusters auxquels il / elle a donné accès.
  • Expression Cron : le déploiement de l' application peut être programmé en utilisant ces expressions cron simples. Par exemple, 45 0 15? * MON-FRI déclencher le déploiement d'applications à 15h45 heure UTC entre du lundi au vendredi.
  • Qui peut gérer : un utilisateur peut fournir des droits granulaires ici pour dicter qui d' autre peut gérer cette politique "App Run".
Image

Mise à l'échelle Out L'application PHP

Si l'application en cours d'exécution devient ressource limitée, un utilisateur peut mettre à l'échelle sur l'application pour répondre à la charge croissante. En outre, un utilisateur peut programmer l'échelle pendant les heures d'ouverture et la balance dans le week-end par exemple.

Pour redimensionner le groupe de conteneurs PHP 1-2, un utilisateur peut cliquer sur le Actions menu de l'application en cours d'exécution, puis sélectionnez Echelle Out . Un utilisateur peut ensuite spécifier la nouvelle taille pour le cluster, puis cliquez sur Exécuter maintenant .

Nous avons ensuite utilisé le plug-in de BASH pour mettre à jour le fichier httpd.conf d'Apache HTTP Server de sorte qu'il est au courant du nouveau serveur ajouté de l'application. Les plug-ins de script BASH peuvent également être prévues pour accueillir les cas d'utilisation comme le nettoyage des journaux ou la mise à jour des configurations à des fréquences définies.
Pour exécuter un plug-in sur un conteneur en cours d' exécution, un utilisateur peut cliquer sur le Actions menu de l'application en cours d' exécution, puis sélectionnez Plug-ins . Un utilisateur peut alors sélectionner l'équilibreur de charge (Apache HTTP Server) conteneur, recherchez le plug-in qui doit être exécuté, activez conteneur redémarrage à l' aide du bouton à bascule. L'argument par défaut de ce plug-in sera dynamiquement résoudre tous les conteneurs IP des conteneurs PHP en cours d' exécution et les ajouter dans le cadre du fichier httpd.conf.

Une demande de temps en ligne est disponible pour suivre toutes les modifications apportées à la demande d'audit et de diagnostic. On peut y accéder à partir du menu extensible au bas de la page d'une application en cours d'exécution.
Alertes et notifications sont disponibles lorsque les conteneurs ou les hôtes sont en panne ou lorsque la CPU et utilisation de la mémoire soit des hôtes ou des conteneurs dépasse un seuil défini.

Conclusion

Conteneurisation applications PHP d'entreprise est toujours un défi surtout parce que les cadres de composition d'applications existantes ne traitent pas des dépendances complexes, intégrations externes ou auto-mise à l'échelle des flux de production post-prestation.
DCHQ, disponible en versions hébergées et sur site, répond à tous ces défis et simplifie la conteneurisation des applications d'entreprise de PHP à travers un cadre de composition d'application avance qui facilite l'environnement inter-image de liaisons de variables, les plug-ins de script BASH extensibles qui peuvent être invoquées à demander le temps ou après disposition, et le regroupement de l'application pour la haute disponibilité sur plusieurs hôtes ou régions avec le soutien de mise à l'échelle automatique.
Inscrivez - vous gratuitement sur ​​http://DCHQ.io ou télécharger DCHQ On-Premise  
d'avoir accès à des modèles multi-niveaux PHPapplication out-of-box avec l'application des fonctionnalités de gestion du cycle de vie comme la surveillance, les mises à jour de conteneurs, l'échelle in / out et la livraison continue.

No comments:

Post a Comment