Zum Inhalt springen Weiter zur Suche
Testversion
Blog

Kontinuierliche Bereitstellung mit A10 Lightning Application Delivery Service (ADS)

Die kontinuierliche Bereitstellung ist ein Verfahren, das in der Softwarebranche zur Automatisierung und Verbesserung des Softwarebereitstellungsprozesses eingesetzt wird. Dabei geht es um die Einführung von Praktiken zur schnellen Veröffentlichung hochwertiger Software durch Automatisierung der Build-, Test- und Bereitstellungsprozesse. Dieser Beitrag beschreibt die Funktionen von A10 Lightning Application Delivery Service (ADS) zur Erleichterung der kontinuierlichen Bereitstellung und die spezifischen Möglichkeiten, wie unser DevOps-Team die kontinuierliche Bereitstellung durch die interne Verwendung von Lightning ADS erreicht.

Was ist Blue-Green Deployment?

Eine wichtige Technik zur Verringerung der Risiken bei kontinuierlichen Bereitstellungen ist die so genannte Blue-Green-Bereitstellung. Normalerweise wird die aktuelle Produktionsumgebung als "blau" bezeichnet. Die Technik besteht darin, eine parallele "grüne" Umgebung mit der neuen Version der Software einzurichten, so dass der Wechsel von der alten zur neuen (oder blauen zur grünen) Umgebung sofort und ohne Ausfallzeit erfolgt.

A10 LIghtning ADS bietet einen Mechanismus, mit dem Sie das Risiko weiter reduzieren können, indem Sie den Live-Datenverkehr zwischen blauen und grünen Bereitstellungen aufteilen können. Sie können neue Bereitstellungen Ihrer Anwendung testen, indem Sie einen kleinen Teil Ihres Datenverkehrs an die grüne Umgebung senden und die Zustandsanalyse überwachen. Wenn Sie ein Problem feststellen, schalten Sie einfach zurück (indem Sie die Aufteilungsbedingung deaktivieren), so dass der gesamte Datenverkehr in die blaue Umgebung fließt. Sobald das Problem behoben ist, können Sie die neue grüne Instanz einsetzen und den Split-Test fortsetzen. Wenn das Vertrauen in die grüne Instanz wächst, können Sie die Menge des Datenverkehrs, der zur neuen Umgebung fließt, erhöhen. Sobald 100 Prozent des Datenverkehrs zur grünen Umgebung fließen und diese als produktiv eingestuft wird, können Sie die alte Umgebung sicher außer Betrieb nehmen und archivieren.

Während der Aufteilung des Datenverkehrs bewahrt A10 Lightning ADS das Benutzererlebnis, indem es den Datenverkehr entweder auf Blau oder Grün beschränkt.

Kontinuierliche Bereitstellung bei A10 mit Blue-Green Deployments

Nachfolgend finden Sie die Schritte, die unser Team zur internen Automatisierung der Blue-Green-Bereitstellung verwendet, einschließlich einiger Bildschirmabbildungen und Beispielcode.

Schritt 1. Klicken Sie auf der A10 Lightning ADS-Einstellungsseite auf die Registerkarte "Blau/Grün", um den blau-grünen Dienst zu konfigurieren.

Klicken Sie auf die Registerkarte "Blau/Grün".

Schritt 2. Wählen Sie den "blauen" Dienst aus der Dropdown-Liste. Ein grüner Dienst wird von Lightning ADS für diesen Dienst geklont.

Wählen Sie den Dienst "Blau" aus der Dropdown-Liste

Schritt 3. Geben Sie einen Namen für den grünen Dienst ein, und Sie können den Verkehr nach bestimmten Regeln aufteilen, wie unten gezeigt:

Liefern Sie einen Namen für den grünen Dienst

Zur Veranschaulichung können wir den Verkehr je nach Zustand aufteilen:

lässt den Verkehr je nach Zustand aufteilen

Hier schicke ich den Verkehr, der auf /web/index.html landet, also meine neue Ressourcen-URL, zum grünen Dienst.

Schritt 4. Im nächsten Abschnitt müssen Sie die Server-IP des grünen Servers angeben ODER den Server aus einer vorhandenen IP-Adresse auswählen.

a) Manuelles Hinzufügen der grünen Server-IP

Manuelles Hinzufügen der grünen Server-IP

b) Auswahl der grünen Server-IP aus dem vorhandenen Slot.

Auswahl der IP des grünen Servers aus dem vorhandenen Slot

Schritt 5. Sobald der grüne Dienst erstellt ist, können Sie mit dem Benchmarking beginnen.

Dabei verwende ich einen Curl-Aufruf, um ein paar hundert Anfragen an den grünen Server zu senden.

for i in {1..100}; do echo "Request Number:" $i ; curl ‘https:// www. example. com/web/index.html' -o /dev/null -w "%{http_code} n" -s ; done
Request Number: 1
200
Request Number: 2
200
Request Number: 3
200

Wie Sie im obigen Beispiel sehen, sind meine Aufrufe erfolgreich mit einem Antwortstatuscode von 200 - OK.

Durch die Einrichtung des grünen Dienstes stellen wir sicher, dass der aktuelle Verkehr nicht unterbrochen wird und die neue Bereitstellung wie erwartet funktioniert.

Schritt 6. Bestätigen Sie nun die Traffic-Analyse über das Lightning ADS Analytics Dashboard.

Klicken Sie auf Analytics -> Blau-Grün

In diesem Abschnitt finden Sie Statistiken wie die durchschnittliche CPU-Auslastung

durchschnittliche CPU-Auslastung

und Dienstfehler.

Service-Fehler

In diesem Fall sehen die Anwendungsmetriken gut aus. Wir haben den grünen Dienst erfolgreich getestet.

Schnelleres und intelligenteres Arbeiten mit der A10 Lightning API

Um unsere Arbeit zu beschleunigen, automatisiert unser DevOps-Team häufig die Schritte, die ich oben beschrieben habe, indem es die A10 Lightning API verwendet. Hier sind einige der leistungsstarken API-Aufrufe zur Automatisierung der blau-grünen Bereitstellung:

ALLE TRAFFICSPLITS AUFLISTEN:

METHOD: GET

HOST: https:// api. a10networks. com

URL Path: /api/v2/applications/{app}/hosts/{host}/trafficsplits

Hinweis: UserRole: ApplicationAdmin, ApplicationUser
Zu übergebende Parameter:
Antwort

Content Type: application/json X-Account(Parameter Typ: header) : X-User (Parameter Typ: header) : application (Parameter Typ: path): host(Parameter Typ: path) : trafficsplit(Parameter Typ: path):

 

EINEN NEUEN TRAFFICSPLIT ERSTELLEN:

METHOD: POST

HOST: https:// api. a10networks. com
URL Pfad: /api/v2/applications/{application}/hosts/{host}/trafficsplits

Zu liefernde Parameter :
Antwort

Content Type: application/json
X-Account :
X-User :
application : [required]
host: [required]
body : {
"name": "string",
"description": "string",
"state": "string",
"splitSlices": [
{
"service": "string",
"percentage": "integer",
"condition": "string",
"code": "string"
}
],
"id": "string"
}

 

EINEN TRAFFICSPLIT AKTUALISIEREN:

METHOD: PUT

HOST: https:// api. a10networks. com

URL Pfad: /api/v2/applications/{application}/hosts/{host}/trafficsplits/{trafficsplit}

Zu liefernde Parameter :
Antwort

Content Type: application/json
X-Account :
X-User :
application : [required]
host: [required]
trafficsplit : [required]
body :
{
"name": "string",
"description": "string",
"state": "string",
"splitSlices": [
{
"service": "string",
"percentage": "integer",
"condition": "string",
"code": "string"
}
],
"id": "string"
}

 

Da die Verfügbarkeit von Cloud-Diensten für A10 und unsere Kunden von entscheidender Bedeutung ist, suchen wir weiterhin nach automatisierten Wegen, um die Verfügbarkeit zu gewährleisten, während wir neue Funktionen einführen. Die Blue-Green-Bereitstellung ist ein wichtiger Schritt in unserem Bereitstellungsprozess. Sie ist so konzipiert, dass wir davon ausgehen, dass es zu einem Ausfall der Anwendung/Infrastruktur kommen kann und wird, und ermöglicht es uns, schnell auf negative Ereignisse zu reagieren. Die Flexibilität, eine grafische Oberfläche oder API-Aufrufe zu verwenden, bietet eine noch bessere Kontrolle über einen verbesserten kontinuierlichen Bereitstellungsprozess.

 

 



Andrew Hickey
|
März 2, 2016

Andrew Hickey war der redaktionelle Leiter von A10. Andrew Hickey verfügt über zwei Jahrzehnte Erfahrung in den Bereichen Journalismus und Content-Strategie und berichtet über alles, was mit Kriminalität, Cloud Computing und... Mehr lesen