Einführung
Das Unternehmen, das mit Elinext zusammenarbeitete, ist auf die Softwareentwicklung für pharmazeutische Unternehmen spezialisiert, was die wissenschaftliche Forschung und die Arzneimittelentwicklung beschleunigt. Das Unternehmen hat eine Plattform zur Automatisierung der Arbeitsverfolgung in Laboren entwickelt, was die Prozesse im Labor- und wissenschaftlichen Forschungsbetrieb verbessert. Vor Elinext wurde die gesamte Arbeit für die Plattform von internen Teams erledigt. Aufgrund des ständig wachsenden Arbeitsvolumens mit der Plattform und der Infrastruktur wurde jedoch deutlich, dass der Kunde externe Unterstützung benötigte.
Die Plattform des Kunden kann einfach über die Web-Schnittstelle und API integriert und genutzt werden. Sie ermöglicht:
- Verwaltung von Probeninventaren;
- Erstellung und Bearbeitung von Probenbestellungen;
- Verwaltung von Lagern und Gefrierschränken;
- Verfolgung von Probenübertragungen;
- Konfiguration und Optimierung von Arbeitsabläufen im Labor.
Herausforderung
Die Hauptziele, die die Experten von Elinext bei der Arbeit an dem Projekt hatten, waren:
- Unterstützung aller IT-Betriebsaspekte des Unternehmens;
- Streben nach Innovation und Weiterentwicklung der Cloud-Infrastruktur des Projekts;
- Mitarbeit an der kontinuierlichen Verbesserung der DevOps-KPIs des Projekts;
- Sicherstellen der Einhaltung der neuesten Branchenstandards in Bezug auf Sicherheit und Datenschutz.
- Die pharmazeutische Industrie hat hohe Sicherheitsstandards. Es wurde erwartet, dass viel Arbeit geleistet werden musste, um die Sicherheit der Anwendung zu verbessern (Patches, Updates, Tests, etc.).
- Das Finden des Gleichgewichts zwischen der Geschwindigkeit des CI/CD-Prozesses und den Kosten der beteiligten Infrastruktur.
- Die Kubernetes-Plattform – eine Open-Source-Plattform zur Verwaltung containerisierter Workloads und Dienste – musste aktualisiert werden, was eine Neukonfiguration des gesamten selbstgehosteten Build-Prozesses implizierte, der den Prozess der Produktentwicklung nicht stören würde.
- Proaktives Monitoring der Anwendung war erforderlich, um mögliche Engpässe zu entdecken, die sich während der Anwendungsverwendung im großen Maßstab negativ auswirken könnten.
Lösung
Das interne Team des Kunden verwendete die Agile-Methodik. Als der DevOps-Ingenieur von Elinext dem Team des Kunden beitrat, begann er innerhalb des bestehenden Prozesses zu arbeiten. Er absolvierte spezielle Schulungen, um die Grundlagen der wissenschaftlichen Forschung von Proben, Mischungen usw. zu erlernen, und suchte nach der besten Möglichkeit, die erforderlichen Upgrades für die Betriebsprozesse umzusetzen. Zunächst half er bei der Entwicklung einer Branching-Strategie, damit das Entwicklerteam das Produkt schneller erstellen und Funktionen hinzufügen konnte. Dann beteiligte er sich an verschiedenen Aspekten der Entwicklung, um sie effizienter zu gestalten, nämlich:
- Benutzerzugriffsverwaltung
- Projektumzug
- Konfiguration und Verbesserung des Gitlab-Runners
- Aktualisierung und Fehlerbehebung des Gitlab-Runners
- Optimierung des Pipelines (Anpassung der Anzahl der Schritte, Verringerung der Ausführungszeit, usw.)
- Hinzufügen von Zeitplan-Schritten für Wartungszwecke
Während der Zusammenarbeit mit dem Kunden hat das Elinext-Team eine Reihe von Updates durchgeführt:
- Einführung von GitOps
- Die Infrastruktur als Code (IaC) wurde vollständig mit Terraform beschrieben, was die Zeit für die Erstellung und Zerstörung neuer Umgebungen erheblich verkürzte, die eine einzige Wahrheit hatten und daher idempotent waren.
- Produktänderungen führten zu evolutionären Updates des CI/CD-Pipelines, die zusätzliche Sicherheitstests umfassten (statische Anwendungssicherheitstests (SAST), dynamische Anwendungssicherheitstests (DAST), Erkennung von Geheimnissen, Code-Sicherheitsscans und Scans auf Bildschwachstellen).
- Kontinuierliche Verbesserung der Helm-Charts, die verwendet wurden, um die Anwendung auf dem AWS Elastic Kubernetes Service bereitzustellen.
- Erweitertes Monitoring wurde mithilfe des Prometheus- und Grafana-Stacks von AWS Cloudwatch konfiguriert.
Ergebnis
Die Vorteile, die der Kunde als Ergebnis der Arbeit von Elinext sah, waren signifikant. Die Anwendungsentwicklung wurde schneller, die Plattform wurde stabiler und sicherer, und der Bereitstellungsprozess beschleunigte sich.
Es gab eine Verringerung der Gesamtkosten für die Infrastruktur, und es wurde weniger Zeit für operationsbezogene Arbeiten benötigt. Die Optimierung des CI/CD-Prozesses reduzierte schließlich die Build-, Test- und Bereitstellungszeit um 15 Minuten. Die Kostenoptimierung der AWS-Dienste führte zu Einsparungen von bis zu 2000 USD pro Monat, ohne dass die Leistung beeinträchtigt wurde.
Das Elinext-Team besteht aus erfahrenen Entwicklern, die gerne anspruchsvolle Projekte übernehmen. Wenn Sie ein Projekt im Sinn haben, wenden Sie sich an Elinext, um mehr über unsere Entwicklungsdienstleistungen zu erfahren.