Optimierung und Beschleunigung der Softwareentwicklung für Pharmaunternehmen
Optimierung und Beschleunigung der Softwareentwicklung für Pharmaunternehmen
Information
Standort:
Deutschland, USA
Branche:
Gesundheitswesen
Plattform:
Web
Arbeitsmodell:
Zeit und Materialien
Projektdauer:
1 Jahr 10 Monate
Team-Mitglieder:
Mid/Senior/Architekt full-stack Node.js Entwickler, DevOps Engineer
Verwendete Technologien
NodeJs
AWS
Node.js

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.
Es gab mehrere Herausforderungen, die die Entwickler bewältigen mussten:
  • 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.

alles_in_einem
umzug_von_build_zu_dev
cicd_allgemeines_verfahren
cicd-auf-hoher-ebene
Haben Sie vor, ein gleiches Projekt zu schaffen?
Haben Sie eine Projektidee? Lassen Sie uns darüber diskutieren
Kontakt