Thursday, 14 April 2016


Eine Schritt für Schritt-Anleitung für die Bereitstellung und Verwaltung einer PHP-Anwendung Auf Docker LAMP, LAPP Und LAOP Stacks

Zum Ausführen von & die Verwaltung 9 PHP - Anwendungsvorlagen (LAMP, LAPP und LAOP Stacks) in diesem Projekt auf 13 verschiedenen Wolken und Virtualisierungsplattformen (einschließlich vSphere, Openstack, AWS, Rackspace, Microsoft Azure, Google Compute Engine, DigitalOcean, IBM Strato, etc.), stellen Sie sicher , dass Sie entweder:
Bild
Anpassen & Run jede der veröffentlichten Docker PHP-Anwendungsvorlagen (einschließlich der LAMP, LAPP und LAOP Stacks) und viele andere Vorlagen (einschließlich Multi-Tier-Java-Anwendungs-Stacks, Mongo Replica Set Cluster, Drupal, Wordpress, MEAN.JS usw. )

Hintergrund

Enterprise-Anwendungen containerizing ist nach wie vor eine Herausforderung, vor allem, weil bestehende Anwendung Zusammensetzung Rahmenbedingungen befassen sich nicht mit komplexen Abhängigkeiten, externe Integrationen oder automatische Skalierung Workflows post-Bereitstellung. Außerdem bedeutete die ephemeren Design von Behältern, dass die Entwickler neue Behälter zu drehen musste und neu zu erstellen, die komplexen Abhängigkeiten und externe Integration mit jeder Version zu aktualisieren.
DCHQ, in gehosteten und On-Premise-Versionen adressiert all diese Herausforderungen und vereinfacht die Containerisierung von Enterprise-Anwendungen über eine erweiterte Anwendung Zusammensetzung Rahmen, der Docker Compose mit Quer Bild Umgebungsvariable Bindungen, erweiterbare BASH-Skript-Plug-Ins, die sein kann, erstreckt zum Zeitpunkt der Anforderung oder nach der Bereitstellung und Anwendungs-Clustering für Hochverfügbarkeit über mehrere Hosts oder Regionen mit Unterstützung für automatische Skalierung aufgerufen.
Sobald eine Anwendung bereitgestellt wird, kann ein Benutzer die CPU, Speicher überwachen und I / O der Laufbehälter, erhalten Benachrichtigungen und Alarme, und Zugriff auf Anwendungssicherungen, automatische Waage in / out-Workflows zu bekommen, und Plug-in-Ausführung Workflows aktualisieren Container ausgeführt wird. Darüber hinaus ermöglicht die automatisierte "App Run" Benutzer ihre Continuous Integration Workflows zu integrieren, um die Bereitstellung von Containern zu planen für ihre Nightly Builds oder wenn Veränderungen in GitHub verschmolzen.
In früheren Blogs haben wir gezeigt , die End-to-End - Bereitstellung Automatisierung verschiedener Java - Anwendungen (wie Pizza Shop - und Film - Store - Anwendungen) auf Multi-Tier - Docker-basierte Anwendungs ​​- Stacks über 13 verschiedene Wolken und Virtualisierungsplattformen. Eine vollständige Auflistung dieser Blogs, können Sie diese Seite besuchen: http://dchq.co/docker-java-applications.html
Doch viele Anwender wurden auf einige der grundlegenden Aspekte der Anwendungsmodellierung immer noch verwirrt. Diese Fragen sind:
  • Wo diese Umgebungsvariablen kommen in Ihrem YAML-basierten Anwendungsvorlage?
  • Wie wird die Datenbank mit den entsprechenden Schemata initialisiert benötigt von meinem PHP - Anwendung?
Um diese Fragen zu beantworten, haben wir eine Probe "Namensverzeichnis" PHP-Anwendung in diesem GitHub Projekt, das auf diesen Anwendungsstapel eingesetzt werden können:

  • Docker LAMP-Stack (Linux-Apache-MySQL-PHP)
  • Docker LAPP Stack (Linux-Apache-PostgreSQL-PHP)
  • Docker LAOP Stack (Linux-Apache-Oracle-PHP)
In diesem Projekt werden wir einen Schritt-für-Schritt-Anleitung für die Konfiguration, Bereitstellung und Verwaltung dieser PHP-Anwendung mit verschiedenen Anwendungs-Stacks und auf verschiedenen Cloud / virtuellen Infrastruktur.
Wir behandeln:
  • Konfigurieren der config.php die PHP-Anwendung
  • Initialisierung der Datenbank für die PHP-Anwendung
  • Aufbau der Docker Bild mit PHP 5.6-Apache
  • Der Bau der YAML-basierten Anwendungsvorlagen, die wiederverwendet kann auf jedem Linux-Host überall läuft
  • Provisioning & automatische Skalierung der zugrunde liegenden Infrastruktur auf jeder Cloud (mit Rackspace das Beispiel in diesem Blog zu sein)
  • Bereitstellen der Multi-Tier-PHP-Anwendung auf dem Cluster-Rackspace
  • Die Überwachung der CPU, Speicher und I / O der Laufbehälter
  • Aktivieren der Continuous Integration mit automatisierten App Run
  • Skalierung, um die PHP-Anwendung

Konfigurieren des CONFIG.PHP Die PHP-Anwendung

Sie können diese Probe "Namensverzeichnis" PHP-Anwendung von GitHub klonen.
Dies ist der wichtigste Schritt in "Dockerizing" Ihre PHP-Anwendung. Um die Umgebungsvariablen zu nutzen Sie passieren kann, wenn die Behälter läuft, müssen Sie sicherstellen, dass Ihre Anwendung in einer Weise konfiguriert ist, das Ihnen erlaubt, bestimmte Eigenschaften auf Anfrage zeit zu ändern - wie:
  • Der Datenbanktreiber möchten Sie verwenden
  • Die Datenbank-URL
  • Die Datenbank-Anmeldeinformationen
  • Alle anderen Parameter, die Sie möchten, dass zum Zeitpunkt der Anforderung zu ändern (zB min / max Anschluss Poolgröße, Leerlaufzeit, etc.)
Um dies zu erreichen, müssen Sie zunächst konfigurieren müssen config.php .
Bild
Sie werden feststellen, dass bestimmte Datenquelleneigenschaften die folgenden Umgebungsvariablen verweisen, die zum Zeitpunkt der Anforderung weitergegeben wird:
  • DB_HOST
  • DB_USER
  • DB_PASS
  • DB_NAME
  • DB_PROVIDER
  • DB_PORT

Initialisierung der Datenbank für den PHP-Anwendung

Normalerweise empfehlen wir das Datenbankschema als Teil der Bereitstellung selbst PHP-Anwendung zu initialisieren. Auf diese Weise müssen Sie sich nicht um die Aufrechterhaltung separate SQL-Dateien kümmern, die separat auf der Datenbank ausgeführt werden müssen.

Wenn Sie jedoch bereits diese SQL - Dateien haben und Sie immer noch lieber , sie auf der Datenbank separat ausgeführt wird - dann kann DCHQ helfen, diesen Prozess durch seine Plug-in - Rahmen zu automatisieren. Sie können auf diese verweisen Abschnitt für weitere Informationen.
Um die SQL - Skripte für die Erstellung der Datenbanktabellen in der PHP - Anwendung zu schließen, müssen Sie konfigurieren Persistence.php Datei zu füllen die Datenbank mit verschiedenen SQL - Anweisungen (abhängig von der verwendeten Datenbank). Die populateDatabase () Funktion funktioniert mit MySQL, PostgreSQL und Oracle.
Bild

Gebäude Das Docker Bild mit PHP 5.6-Apache

Sobald die PHP-Anwendung konfiguriert ist, müssen Sie einfach ein Docker Bild mit Ihrem PHP-Code zu erstellen.
Nach der Anmeldung zu DCHQ (entweder der Gastgeber DCHQ.io oder On-Premise - Version), ein Benutzer navigieren kann  Image - Build und dann auf die + Taste , um eine neue zu erstellen Dockerfile (Git / GitHub / BitBucket) Bild zu bauen.
Geben Sie die erforderlichen Werte wie folgt:
  • Git - Zweigs - dieses Feld ist optional - aber ein Benutzer einen Zweig von einem GitHub Projekt angeben können. Der Default - Zweig ist Master.
  • Git Credentials - kann ein Benutzer die Anmeldeinformationen zu einem privaten GitHub - Repository sicher in DCHQ. Dies kann durch die Navigation zu erfolgen Cloud - Anbieter ,  und klicken Sie auf den + auszuwählen Credentials
  • Cluster - das Gebäude von Docker Bilder wird durch die DCHQ Mittel orchestriert. Als Ergebnis muss ein Benutzer einen Cluster zu wählen , auf dem ein Mittel verwendet werden , um das Gebäude von Docker Bilder auszuführen. Wenn ein Cluster wurde noch nicht erstellt wurde, finden Sie in diesem Abschnitt entweder registrieren bereits Hosts oder automatisieren die Bereitstellung neuer virtueller Infrastruktur ausgeführt werden .
  • Push - to - Registry - ein Benutzer drücken kann , um das neu erstellte Bild entweder auf einem öffentlichen oder privaten Repository auf Docker Hub oder Quay. Um einen Docker Hub oder Quay Konto registrieren, sollte ein Benutzer navigieren   Cloud - Anbieter und Repos und Klicken auf die Schaltfläche + wählen Docker Register
  • Repository - dies ist der Name des Repository , auf dem das Bild eingeschoben werden. Zum Beispiel wurde unser Bild geschoben / php-Beispiel DCHQ: neueste
  • Tag - das ist der Tag - Namen , die Sie für das neue Bild geben möchten. Die unterstützten Tag - Namen in DCHQ umfassen:
    • {{date}} - formatiert Datum
    • {{Zeitstempel}} - die Vollzeit-Stempel
  • Cron - Ausdruck - mit Out-of-Box - cron Ausdrücke kann ein Benutzer das Gebäude von Docker Bilder planen. Dies erleichtert die tägliche und Nightly Builds für die Nutzer.
Sobald die erforderlichen Felder ausgefüllt sind, kann ein Benutzer klicken Sie auf Speichern .

Ein Benutzer kann dann auf die Play - Taste die Docker Bild on-demand zu bauen.
Bild
Hier ist die tatsächliche Dockerfile dieses Docker Bild von diesem GitHub-Repository zu bauen verwendet:
Bild

Der Aufbau des YAML-basierte Anwendungsvorlagen, die überall wiederverwendet werden kann auf jedem Linux-Host ausgeführt wird

Einmal DCHQ angemeldet (entweder die gehostete DCHQ.io oder On-Premise - Version) kann ein Benutzer zu navigieren  App & Machine und klicken Sie dann auf die + Taste , um eine neue zu erstellen Docker Compose Vorlage.
Wir haben erstellt 9 Anwendungsvorlagen , die mit offiziellen Bilder von Docker Hub für die gleiche "Namensverzeichnis" PHP - Anwendung - aber für verschiedene Anwendungsserver und Datenbanken.
Die Vorlagen sind Beispiele für die folgenden Anwendungsstapel (für die gleiche PHP-Anwendung):
  • 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)

Environment Variable Bindings Über Bilder

Zusätzlich kann eine Benutzerumgebung Quer Bild Variablenbindungen erstellen , indem Sie einen Verweis auf ein anderes Bild der Umgebungsvariable zu machen. Einschließlich - In diesem Fall haben wir mehrere Bindungen gemacht | DB_HOST = {container_private_ip} {MySQL} , in dem der Datenbankcontainer IP dynamisch zur Anforderungszeit aufgelöst wird und wird verwendet , um sicherzustellen , dass die Apache-PHP - Server eine Verbindung mit dem herstellen können - Datenbank.
Hier ist eine Liste der unterstützten Umgebungsvariablen Werte:
  • {{alphanumeric | 8}} - erzeugt eine zufällige 8-stellige alphanumerische Zeichenfolge. Dies ist besonders nützlich für die Erstellung von zufällige Passwörter.
  • {{Image Name | ip}} - können Sie die Host - IP - Adresse eines Containers als Wert für eine Umgebungsvariable einzugeben. Dies ist am nützlichsten zum Ermöglichen des Middleware - Ebene eine Verbindung mit der Datenbank herzustellen.
  • {{Image Name | container_ip}} - können Sie den Namen eines Containers als Wert für eine Umgebungsvariable einzugeben. Dies ist besonders praktisch , wenn es die Middleware Tier eine sichere Verbindung mit der Datenbank herzustellen (ohne den Datenbankport ausgesetzt).
  • {{Image Name | container_private_ip}} - ermöglicht es Ihnen , die interne IP eines Containers als Wert für eine Umgebungsvariable einzugeben. Dies ist besonders praktisch , wenn es die Middleware Tier eine sichere Verbindung mit der Datenbank herzustellen (ohne den Datenbankport ausgesetzt).
  • {{Image Name | port_Port Number}} - können Sie die Port - Nummer eines Containers als Wert für eine Umgebungsvariable einzugeben. Dies ist am nützlichsten zum Ermöglichen des Middleware - Ebene eine Verbindung mit der Datenbank herzustellen. In diesem Fall spezifiziert die Portnummer muss der interne Port - Nummer zu sein - also nicht den externen Anschluss, der mit dem Behälter zugeordnet ist. Beispiel : {{PostgreSQL | port_5432}} wird dem tatsächlichen externen Port übertragen werden , dass die Middleware - Ebene ermöglichen , eine Verbindung mit der Datenbank herzustellen.
  • {{Image Name | Environment Variable Name}} - können Sie den Wert eines Bildes Umgebungsvariable in ein anderes Bild der Umgebungsvariable einzugeben. Die Anwendungsfälle sind hier endlos - wie die meisten Multi-Tier - Anwendungen Quer Bild Abhängigkeiten haben.

LAMP-Stack (Linux-Apache-MySQL-PHP)

Bild
Bild

LAPP Stack (Linux-Apache-PostgreSQL-PHP)

Bild
Bild

LAOP Stack (Linux-Apache-Oracle-PHP)

Bild
Bild

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

Bild
Bild

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

Bild
Bild

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

Bild
Bild

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

Bild
Bild

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

Bild
Bild

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

Bild
Bild

Um ein Plug-In aufrufen Initialisieren Getrennt die Datenbank auf einem Docker LAMP-Stack

Wir empfehlen, die Initialisierung der Datenbank-Schema als Teil des PHP-Anwendungsbereitstellung selbst. Doch nach wie vor, wenn Sie die SQL-Dateien auf der Datenbank separat Ausführung bevorzugen - dann kann DCHQ helfen, diesen Prozess durch seine Plug-in-Rahmen zu automatisieren.

In diesem Beispiel MySQL in diesem LAMP - Stack ist Aufrufen eines BASH - Skript - Plug-in die populate.sql Datei auszuführen. Das BASH - Skript - Plug-in wurde von der Navigation erstellt  Plug-Ins und sieht wie folgt aus :
Bild
In diesem BASH - Skript - Plug-in, $ MYSQL_USER , $ MYSQL_ROOT_PASSWORD und $ MYSQL_DATABASE sind Umgebungsvariablen, die zum Zeitpunkt der Anforderung übergeben werden.
$ file_url ist ein überschreibbar Argument , die Sie definieren können , wenn das Plug-in erstellen oder wenn die Anwendung anfordert. Dies wird die URL für die populate.sql - Datei sein.

Provisioning & Auto-Skalierung der zugrunde liegenden Infrastruktur auf jeder Cloud

Sobald eine Anwendung gespeichert wird, kann ein Benutzer ein Cloud-Provider registrieren Sie sich auf 12 verschiedene Cloud-Endpunkte, einschließlich VMware vSphere, Openstack, Cloud, Amazon Web Services, Rackspace, Microsoft Azure, DigitalOcean, IBM die Bereitstellung und automatische Skalierung von Clustern zu automatisieren Softlayer, Google Compute Engine, und viele andere.
Erstens kann ein Benutzer ein Cloud - Provider für Rackspace (zum Beispiel) registrieren , um von der Navigation Cloud - Anbieter  und dann auf dem Anklicken + Taste zur Auswahl von Rackspace . Die Rackspace API Key muss zur Verfügung gestellt werden - die aus dem Kontoeinstellungen Abschnitt der Rackspace Cloud Control Panel abgerufen werden können.

Ein Benutzer kann dann einen Cluster mit einer Auto-Scale - Richtlinie erstellen automatisch neue Cloud - Server zum Hochdrehen. Dies kann durch die Navigation zu erfolgen Cluster Seite und dann auf dem Anklicken + Taste. Sie können eine kapazitätsorientierte Platzierung Richtlinie auswählen und dann Weave als Netzwerkschicht , um sicher zu erleichtern, passwortgeschützten Quer Container Kommunikation über mehrere Hosts innerhalb eines Clusters. Die Auto-Scale - Politik kann beispielsweise die maximale Anzahl von VMs (oder Cloud - Server) auf 10 festgelegt.
Ein Benutzer kann jetzt Bestimmung eine Reihe von Cloud-Server auf der neu erstellten Cluster entweder über den UI-basierten Workflow oder durch ein einfaches YAML-basierten Maschine Compose Vorlage definieren, die von der Self-Service-Bibliothek angefordert werden kann.

UI-basierte Workflow - Ein Benutzer kann durch Navigieren zu Rackspace Cloud Server anfordern Maschinen und dann auf dem Anklicken + Taste zur Auswahl von Rackspace . Sobald der Cloud - Provider ausgewählt ist, kann ein Benutzer wählen Sie die Region, Größe und Bild benötigt. Ports sind standardmäßig auf Rackspace Cloud Server geöffnet einige der Port - Anforderungen (zB 32.000-59.000 für Dockarbeiter, 6783 für Weave und 5672 für RabbitMQ) gerecht zu werden . Ein Cluster wird dann ausgewählt , und die Anzahl der Cloud - Server spezifiziert werden.

YAML-basierte Maschine Compose Vorlage - Ein Benutzer kann zunächst eine Maschine Compose Vorlage für Rackspace erstellen , indem Sie auf die Navigation Maschinen und wählen Sie dann Maschine Compose .
Hier ist die Vorlage, um ein 4 GB Cloud Server für Ihr Interesse.
Bild
Die Parameter, die für die Maschine Compose Vorlage werden im Folgenden zusammengefasst:
  • Beschreibung : Beschreibung der Plan / template
  • instanceType : Cloud - Provider bestimmten Wert (zB general1-4)
  • Region : Cloud - Anbieter bestimmten Wert (zB IAD)
  • Bild : Verpflichtend - vollständig qualifizierte Bild ID / Name (zB IAD / 5ed162cc-b4eb-4371-b24a-a0ae73376c73 oder vSphere VM Template Name)
  • Benutzername : Optional - nur für vSphere VM Template Benutzername

  • Kennwort : Optional - nur für vSphere VM Template verschlüsselte Passwort. Sie können das Passwort mit dem Endpunkt verschlüsseln https://www.dchq.io/#/encrypt
  • Netzwerk : Optional - Cloud - Provider bestimmten Wert (zB Standard)
  • Security : Cloud - Provider bestimmten Wert (zB DCHQ-security-Gruppe)
  • KeyPair : Cloud - Provider bestimmten Wert (zB privater Schlüssel)
  • Openports : Optional - durch Komma getrennte Portwerte
  • zählen : gesamte Anzahl der VMs, standardmäßig 1.
Sobald die Maschine Compose Vorlage gespeichert wird, kann ein Benutzer dieses Gerät aus der Self-Service anfordern Bibliothek . Ein Benutzer kann klicken anpassen und dann die Auswahl Cloud - Anbieter und Cluster für die Bereitstellung von Cloud - Server diese Rackspace zu verwenden.

Bereitstellen der Multi-Tier PHP-Anwendung auf dem Cluster Rackspace

Sobald die Cloud-Server bereitgestellt werden, kann ein Benutzer eine Multi-Tier-Bereitstellung-Docker basierte PHP-Anwendungen auf die neuen Cloud-Server. Dies kann durch die Navigation auf der Self-Service-Bibliothek und klicken Sie dann auf Anpassen getan werden, um eine Multi-Tier-Anwendung zu beantragen.
Ein Benutzer kann ein Umwelt-Tag (wie DEV oder QE) auswählen und das Cluster erstellt, bevor sie auf Rackspace Ausführen klicken.

Der Zugriff auf In-Browser-Terminal für den Laufbehälter

Eine Eingabeaufforderung Symbol sollte neben dem Container 'Namen auf der Live-Apps-Seite zur Verfügung. Dies ermöglicht Benutzern, den Container mit Hilfe eines sicheren Kommunikationsprotokolls durch die Agenten-Nachrichtenwarteschlange einzugeben. Eine weiße Liste der Befehle können vom Mieter Admin definiert werden, um sicherzustellen, dass die Nutzer keine schädlichen Änderungen an den Lauf Container zu machen.
Für den PHP-Einsatz zum Beispiel, haben wir die Eingabeaufforderung, um sicherzustellen, dass der PHP-Code ist in der Tat unter dem Verzeichnis / var / www / html / Verzeichnis.

Bild

Die CPU-Überwachung, Speicher und I / O-Auslastung der Laufbehälter

Sobald die Anwendung in Betrieb ist, überwachen unsere Entwickler die CPU, Speicher, und E / A der laufenden Container Benachrichtigungen zu erhalten, wenn diese Metriken eine vordefinierte Schwelle überschreitet. Dies ist besonders nützlich, wenn unsere Entwickler funktionale Leistungsfähigkeit und Lasttests.
Ein Benutzer kann historische Monitoring Analysen durch und Fragen im Zusammenhang mit Container - Updates korrelieren oder Installationen aufzubauen. Dies kann durch einen Klick auf das getan werden Aktionen Menü der laufenden Anwendung und dann auf Überwachung . Ein benutzerdefinierten Zeitraum kann CPU, Speicher zu lesen und E / A - historisch ausgewählt werden.

Aktivieren der Continuous Integration mit automatisierten App Run

Für Entwickler, die die "unveränderliche" Container-Modell zu folgen, indem sie Bilder Docker Wiederaufbau der Anwendungscode und Spinnen neue Container mit jeder Anwendung zu aktualisieren, DCHQ stellt ein automatisiertes Bildaufbau und automatisierte App laufen Features enthält, die es Entwicklern ermöglichen, automatisch Docker Bilder von Dockerfiles erstellen oder private Projekte GitHub enthält Dockerfiles und dann voll LAMP-Stacks unter Verwendung der neuesten Bilder von planen der Bereitstellung von Anwendungen und die Anpassung der Anwendung Lease spin up.
Wie im Bild Build Docker erklärt Abschnitt kann ein Benutzer zwei parallelen Zeitplan für die PHP - Image erstellt (das auf basiert php: 5,6-Apache ).
  • neueste : ein Build wird die neueste Tag mit den neuesten Änderungen an Ihrer GitHub Projekt ständig außer Kraft setzen
  • {{date}} oder {{Zeitstempel}} : eine parallel Build, alle Bilder sichern erstellt entweder mit einem formatierten Datum oder Zeit-Stempel für den Tag - Namen
Ein Benutzer kann dann navigieren Sie zu Bild baut und dann auf die + Taste , um eine neue "Automatisierte App Run" Richtlinie zu erstellen. Ein Benutzer kann dann füllen Sie die erforderlichen Felder - wie:
  • App - Name : der Name, der für die Anwendung gegeben werden eingesetzt
  • Lease : standardmäßig unbegrenzte Lease ausgewählt ist. Jedes Mal , wenn sie zu Fuß in das Büro am Morgen jedoch eine automatisierte App laufen ist sehr nützlich für DEV / TEST Umgebungen , in denen Benutzer eine bereits laufende Anwendung mit den neuesten Code erwarten. Dafür kann der Anwender einen Mietvertrag von 1-Tag bieten oder 1-Woche - je nach ihren Bedürfnissen.
  • Blueprint : Ein Benutzer kann für eine bereits erstellte YAML-basierten Anwendungsvorlage zu suchen (oder Modell) - ähnlich wie die Beispiele in diesem Projekt.
  • Cluster : Dies ist der Cluster , auf dem die Anwendung bereitgestellt werden. Ein Benutzer sieht nur eine Liste der Cluster , zu dem er / sie Zugang zu gegeben wurde.
  • Cron - Ausdruck : die Bereitstellung von Anwendungen können mit Hilfe dieser einfachen cron Ausdrücke geplant werden. Beispielsweise 0 45 15? * MO-FR wird die Bereitstellung von Anwendungen , um 3:45 Uhr UTC - Zeit von Montag bis Freitag abfeuern.
  • Wer kann verwalten : ein Benutzer kann hier granulare Berechtigungen bieten , die sonst zu diktieren können diese "App Run" Politik zu verwalten.
Bild

Skalieren von der PHP-Anwendung

Wenn die laufende Anwendung Ressource eingeschränkt wird, kann ein Benutzer die Anwendung zu skalieren, um die zunehmende Belastung gerecht zu werden. Darüber hinaus kann ein Benutzer die Skala während der Geschäftszeiten zu planen und die Waage in den Wochenenden zum Beispiel.

Um den Cluster von PHP - Container von 1 bis 2 skalieren, kann ein Benutzer klicken Sie auf den Aktionen Menü der laufenden Anwendung und wählen Sie dann Scale - Out . Ein Benutzer kann dann geben Sie die neue Größe für den Cluster und klicken Sie dann auf Jetzt ausführen .

Wir haben dann die BASH-Plug-in Apache HTTP Server httpd.conf-Datei zu aktualisieren, so dass sie von dem neuen Anwendungsserver hinzugefügt bewusst ist. Die BASH-Skript-Plug-Ins können auch Anwendungsfälle aufzunehmen wie Reinigung Protokolle oder Aktualisieren von Konfigurationen bei definierten Frequenzen eingeplant werden.
Zur Ausführung eines Plug-in auf einem laufenden Behälter kann ein Benutzer klicken Sie auf den Aktionen Menü der laufenden Anwendung und wählen Sie dann Plug-ins . Ein Benutzer kann dann wählen Sie die Load - Balancer (Apache HTTP Server) Container, suchen Sie nach dem Plug-in , die ausgeführt werden muss, Container Neustart mit der Toggle - Button aktivieren. Das Standardargument für dieses Plug-in alle Container IP des laufenden PHP - Container dynamisch zu lösen und sie als Teil der httpd.conf - Datei.
Eine Anwendung Zeitlinie zur Verfügung steht jede Änderung an der Anwendung für die Prüfung und Diagnose gemacht zu verfolgen. Dies kann aus dem expandierbaren Menü am unteren Rand der Seite einer laufenden Anwendung zugegriffen werden.
Warnungen und Hinweise sind für, wenn Behälter oder Hosts sind oder wenn die CPU & Speicher Nutzung entweder auf Hosts oder Behälter einen definierten Schwellenwert überschreitet.

Schlussfolgerung

Containerizing Anwendungen Enterprise PHP ist nach wie vor eine Herausforderung, vor allem, weil bestehende Anwendung Zusammensetzung Rahmenbedingungen befassen sich nicht mit komplexen Abhängigkeiten, externe Integrationen oder automatische Skalierung Workflows post-Bereitstellung.
DCHQ, in gehosteten und On-Premise-Versionen adressiert all diese Herausforderungen und vereinfacht die Containerisierung von Enterprise-PHP-Anwendungen über eine vorzeitige Anwendung Zusammensetzung Framework, das Cross-Bild-Umgebungsvariable Bindungen, erweiterbare BASH-Skript-Plug-Ins ermöglicht, die bei aufgerufen werden kann fordern Zeit oder nach der Bereitstellung und Anwendungs-Clustering für Hochverfügbarkeit über mehrere Hosts oder Regionen mit Unterstützung für automatische Skalierung.
Melden Sie sich kostenlos auf http://DCHQ.io oder herunterladen DCHQ On-Premise  
Multi-Tier-PHPapplication Vorlagen zusammen mit Application-Lifecycle-Management-Funktionalität wie Überwachung, Container-Updates, Skala in / out und kontinuierliche Lieferung zu erhalten Zugriff auf Out-of-Box.


No comments:

Post a Comment