DevOps für LTE-Dienstleister

DevOps für LTE-Dienstleister

Die durchgängige Automatisierung von Montage, Prüfung und Auslieferung führte zu einer Produktivitätssteigerung von 800 %, wobei der gesamte Zyklus 30-60 Minuten in Anspruch nimmt.

Inhaltsverzeichnis

Problem

Kunde

Der Kunde ist einer der größten LTE-Dienstleister in Europa mit einer Nutzerbasis von rund 28 Millionen Menschen. Der Mobilfunkbetreiber entwickelt und implementiert ständig verschiedene Lösungen. Da der Kundenstamm recht groß ist und die Dienste rund um die Uhr verfügbar sind, war es sehr wichtig, ein automatisiertes Bereitstellungssystem zu schaffen, das ohne Abstürze und Ausfallzeiten funktioniert. Das Unternehmen wandte sich an Itransition für DevOps-Dienste.

Probleme

Der Hauptkritikpunkt des Projekts war die Entwicklung eines Mechanismus innerhalb von XL Deploy, der es dem Team des Kunden ermöglicht, ein ganzes Release und nicht nur einzelne Komponenten zu verteilen. Nach dem Ausprobieren verschiedener Optionen wurde beschlossen, den Dependency Orchestrator anzupassen und eine Benutzeroberfläche zu erstellen.

Das Projekt zeichnete sich durch eine schnelle Entwicklung mit gleichzeitiger Konzentration auf viele Richtungen von unterschiedlicher Komplexität aus.

Die größten Herausforderungen des Projekts waren die Bereitstellung von Support in Abwesenheit des Kundenteams (mit Teammitgliedern im Urlaub, im Krankenstand usw.), das Einholen von Genehmigungen und die Kommunikation mit einem großen verstreuten Team.

Eine weitere Herausforderung war die Arbeit mit einem großen System. Daher wurde großer Wert auf die Integration gelegt, aber auch auf die Flexibilität, um mit ständig wechselnden Anforderungen, Plänen und Terminen umgehen zu können.

Diese Herausforderungen wurden mit Hilfe eines gründlichen Geschäftsansatzes und einer guten Arbeitsorganisation gelöst: Der Kunde stellte Itransition Zeit für Schulungen zur Verfügung, organisierte und führte einen Wissenstransfer zwischen den Teams durch, was die Einarbeitung von Spezialisten in das Projekt und die Teilprojekte erheblich erleichterte. Die Arbeit des Projektarchitekten war beeindruckend, und die vom Kunden gewählten Werkzeuge für die Ausführung und Automatisierung der Montage und Lieferung, XL deploy, erwiesen sich als optimal für die Erreichung der Projektziele.

Projektziele

Das Hauptziel des Projekts war die Automatisierung der Bereitstellung: Automatisierung der Auslieferung für die Modemumgebung mit Hilfe von XL Deploy, Weiterentwicklung der bestehenden Website, Organisation und Support der Infrastruktur (einschließlich des Abrechnungssystems des Mobilfunkbetreibers).

Weitere Projektziele waren:

  • Entwicklung von Plug-Ins für XL Deploy zur Auslieferung an JBoss, GlassFish, Tibco
  • Unterstützung der Atlassian-Produkte des Kunden (FishEye, Jira)
  • L1 / L2 in Zeiten, in denen die wichtigsten Teammitglieder des Kunden abwesend waren (Unterstützung von Testumgebungen für Tester und Entwickler; Beseitigung von Problemen bei der Komponentenbereitstellung (Fehleranalyse und -behebung); Behebung von Problemen, wenn Dienste ausgefallen waren)
  • Arbeitet mit CI / CD (Jenkins, XL Deploy).

Itransition arbeitete mit 2 Entwicklungsumgebungen (Sprach- und Modem-Telekommunikation) und mit etwa 20 QA-Umgebungen für einzelne Komponentenmodule.

Lösung

Das Ergebnis ist ein maßgeschneidertes Produkt, das den Zielen des Kunden entspricht. Die Lösung automatisiert Geschäftsprozesse wie die Montage, Lieferung und Prüfung von Sprach- und Modemsystemkomponenten (insgesamt 36 Komponenten, die 25 % der Infrastruktur des Kunden ausmachen), auf die sich das Kundensupportteam konzentrierte.

Bevor das Team von Itransition an dem Projekt beteiligt war, wurden etwa 36 Komponenten manuell gesammelt und geliefert. Weitere 100 der verbleibenden Komponenten sollten automatisiert werden.

Bevor die Automatisierung der Auslieferung konfiguriert wurde, verbrachten die Entwickler etwa 8-20 Arbeitsstunden mit jeder Auslieferung. Itransition unterstützte den Kunden bei der Einrichtung einer geeigneten Auslieferungspipeline, die die kontinuierliche Bereitstellung von Software an die Qualitätssicherung und dann an die Produktion auf effiziente und automatisierte Weise ermöglicht, wobei jede Codeänderung jederzeit bereitgestellt werden kann, so dass die Systeme schnelle Änderungen aufnehmen können.

Durch die Automatisierung der End-to-End-Bereitstellung dauert der gesamte Zyklus (Zusammenstellung-> Tests-> Bereitstellung) etwa 30-60 Minuten, was eine Produktivitätssteigerung von 800 % bedeutet. Neben der schnelleren Bereitstellung von Funktionen sind weitere geschäftliche und technische Vorteile der Automatisierung von Bereitstellungszyklen die kontinuierliche Softwarebereitstellung, die Verringerung der Problemkomplexität und stabile Betriebsumgebungen.

 

Verfahren

Der DevOps-Ingenieur von Transition analysierte die Struktur der Umgebungen und der Bash-Skripte, erstellte eine Liste der zu automatisierenden Dienste, erstellte eine Roadmap und empfahl Prozesse, die genutzt werden sollten.

Das Hauptaugenmerk lag auf der Automatisierung der Bereitstellungszyklen in der gesamten Lieferinfrastruktur, um Risiken zu minimieren und die Produktivität zu steigern. In der ersten Phase perfektionierte das Team von Itransition die anfängliche Arbeit des Kunden mit Bash-Skripten für die Bereitstellung und Wartung der Umgebung. Der DevOps-Ingenieur von Itransition entwickelte ein vollständiges Konzept für die automatisierte Bereitstellung, erstellte Versionsvariationen und Pakete mit verschiedenen Versionen und entwickelte die notwendigen Tools für die Umsetzung des Plans.

DevOps automation

Es stellte sich heraus, dass XL Deploy nicht in der Lage war, mit Oracle GlassFish Server (dem Hauptdienst der Modemumgebung) und WildFly in vollem Umfang zu arbeiten. Daher schrieb der DevOps-Ingenieur Plugins, die die Funktionalität des bestehenden Programms erweiterten, und erstellte die erforderlichen Add-ons in Form von Web-GUI und zusätzlichen Datenbanken mit Voreinstellungen für Datentransfers. Die Arbeit an der Bereitstellung und Automatisierung von Prozessen mit XL Deploy und Maven umfasste Plugins für WildFly, CDI, GlassFish, SSO und WebUI für das One-Click-Deployment (teilweise realisiert) sowie die Erstellung von etwa 20 Komponenten der Modemumgebung für XL Deploy. Alle Komponenten wurden mit Jenkins zusammengestellt und nach einem erfolgreichen Build in der Testumgebung in XLD importiert.

Die Lösung ist mit Citrix NetScaler Unified Gateway für den Zugriff auf die Umgebung des Kunden integriert.

30% der Zeit des DevOps-Ingenieurs wurde für den Support von Atlassian-Produkten aufgewendet. Die Arbeit an Jira umfasste beispielsweise nicht nur das Erstellen, Ändern und Einrichten von Projektaufgaben, sondern auch das Einrichten von Feldern und Layouts, die Organisation von Arbeitsabläufen und die Verwaltung von Zugriffsrechten.

Die Lösung wird von den Mitarbeitern und Entwicklern des Kunden sowohl von Itransition als auch von anderen Unternehmen genutzt.

Mannschaft

Das Projektteam war ziemlich verteilt und entwickelte sich dynamisch. Neben den kundeneigenen Entwicklungs- und QS-Teams waren auch andere Auftragnehmer wie Entwickler, Tester und Lieferanten von Telekommunikationsausrüstung aktiv beteiligt. Das Team von Itransition bestand aus einem DevOps-Ingenieur, einem Experten für Kundenbetreuung, 10 Entwicklern und 5 QS-Spezialisten. Das Kundensupportteam bot Atlassian-basierten L2-Support für DevOps-Enablement über den gesamten Zyklus (Wartung, Backup, 24/7). Bei Abwesenheit der wichtigsten Ingenieure leistete L1 auch Support für interne Dienstleistungen.

Der Kunde gab einen anspruchsvollen Release-Terminplan vor, so dass das Team oft mit engen Fristen arbeiten musste. Die effektive Kommunikation und Zusammenarbeit eines so großen Teams erfolgte mit Hilfe von E-Mail, Jira und Skype sowie wöchentlichen Treffen zur Überwachung des Fortschritts. Dem Team von Itransition gelang es, in einem verteilten Team effektiv an einem Projekt zu arbeiten, bei dem die Kommunikation zwischen Spezialisten (Testern, Entwicklern, Architekten, Analysten, IT-Experten) aus verschiedenen Ländern eine sehr wichtige Rolle spielte.

Prüfung

Das Hauptziel der Tests war die Optimierung des Systems und die Verbesserung der Geschäftsprozesse. Das QA-Team bestand aus 5 Testern. Der DevOps-Ingenieur arbeitete eng mit den Entwicklern und Testern von Itransition, dem QA-Team des Kunden und anderen Auftragnehmern zusammen. Die Entwickler erstellten neue Funktionen und ergänzten bestehende Funktionalitäten, während der DevOps-Ingenieur die Bereitstellung und Wartung der Test- und Entwicklungsumgebungen überwachte und die DevOps-Lösung von Itransition (einschließlich der Einführung von XL Deploy) während des gesamten Projekts kontinuierlich testete.