Bitte hinterlassen Sie Ihre Kontaktdaten, wir senden Ihnen dann unsere Übersicht per E-Mail zu
Ich stimme der Verarbeitung meiner persönlichen Daten zu, um personalisiertes Marketingmaterial in Übereinstimmung mit der der Datenschutzrichtlinie geschickt zu bekommen. Mit der Bestätigung der Anmeldung erklären Sie sich damit einverstanden, Marketingmaterial zu erhalten
Vielen Dank!

Das Formular wurde erfolgreich abgeschickt.
Weitere Informationen finden Sie in Ihrem Briefkasten.

Innowise ist eine internationale Vollzyklus-Softwareentwicklungsfirma, die 2007 gegründet wurde. Wir sind ein Team von über 1800 IT-Experten, die Software für andere Experten auf der ganzen Welt entwickeln.
Über uns
Innowise ist eine internationale Vollzyklus-Softwareentwicklungsfirma, die 2007 gegründet wurde. Wir sind ein Team von über 1800 IT-Experten, die Software für andere Experten auf der ganzen Welt entwickeln.

DevOps-Automatisierung für Laborverwaltungssystem: über 70% Reduzierung der Rechenkosten

Das Innowise-Team optimierte die Cloud-Infrastruktur und automatisierte CI/CD-Prozesse für einen Marktführer im Bereich der DNA-Tests und steigerte die Skalierbarkeit und Effizienz der Datenverarbeitungsprozesse.

Der Kunde

Branche
Gesundheitswesen
Region
USA
Kunde seit
2023

Unser Kunde ist ein führendes Unternehmen im Bereich der Biotechnologie, das sich auf DNA-Tests und Mikrobiomanalysen spezialisiert hat. Sie sind dafür bekannt, schnelle und zuverlässige Analysen mit fortschrittlichen molekularen Techniken bereitzustellen, die ein breites Anwendungsspektrum in den Bereichen menschliche Gesundheit, Landwirtschaft und Umweltstudien abdecken. Ihre Dienstleistungen reichen vom Studiendesign bis zur umfassenden Datenanalyse und tragen zur Forschung und Entwicklung in der Gesundheitsbranche bei.

Detaillierte Information über den Kunden kann im Rahmen der NDA nicht offengelegt werden.

Herausforderung

Probleme mit Infrastruktur-Updates, Migration zu GitHub und CI/CD-Optimierung

Unsere Zusammenarbeit mit dem Kunden, die im Jahr 2023 begann, konzentrierte sich in erster Linie auf die Bewältigung seiner komplexen DevOps-Herausforderungen. Der Kunde sah sich mit einem vielschichtigen Problem konfrontiert, wobei jeder Aspekt für die betriebliche Effizienz in der Mikrobiomforschung von entscheidender Bedeutung war:
  • Ausbau der Infrastruktur und Migration: Der Kunde war gerade dabei, seine AWS-Umgebungen mit aktualisierten Architekturen zu erweitern. Diese Erweiterung hatte die Migration mehrerer Legacy-Umgebungen in neue Systeme zur Folge. 
  • Verwaltung der Legacy-Infrastruktur: Ein weiterer Aspekt der Herausforderung war die Verwaltung des Legacy-Terraform-Codes und der Kubernetes-Cluster-Ressourcen. Die bestehende Einrichtung war umständlich und veraltet, erforderte eine umfassende Überarbeitung, um den aktuellen und zukünftigen Anforderungen gerecht zu werden.
  • Erschöpfung des IP-Adresspools: Ein entscheidendes Problem war die Erschöpfung der IP-Adressen, die durch ineffiziente Subnetze in ihrem Netz verursacht wurde. Dies behinderte das derzeitige Netzwerkmanagement und stellte eine erhebliche Bedrohung für die künftigen Expansionspläne dar.
  • Migration von GitLab zu GitHub: Der Kunde wollte außerdem von GitLab zu GitHub wechseln, was die Integration von GitHub-Codespaces einschloss. Dieser Schritt sollte die Remote-Entwicklung erleichtern und die Notwendigkeit der Speicherung von Code auf lokalen Rechnern vermeiden, was die Sicherheit und die Zusammenarbeit erhöht.
  • Optimierung von CI/CD-Prozessen: Es bestand die dringende Notwendigkeit, die Prozesse für die kontinuierliche Integration und die kontinuierliche Bereitstellung (CI/CD) zu optimieren. Die Verbesserung dieser Prozesse war unerlässlich, um die Geschwindigkeit und Zuverlässigkeit der Bereitstellung zu erhöhen.
  • Implementierung der Blue-Green-Bereitstellungsstrategie: Schließlich wollte der Kunde eine Blue-Green-Bereitstellungsstrategie implementieren. Dieser Ansatz zielte darauf ab, die Bereitstellungsrisiken zu minimieren und die nahtlose Einführung neuer Funktionen und Updates zu gewährleisten.
Der Kunde erwartete von unserem Team, dass es sich diesen Herausforderungen stellt und die betriebliche Effizienz verbessert, die Kosten senkt und den Entwicklungsprozess beschleunigt. Da sie sich auf die Mikrobiomforschung mit großem Datenverarbeitungsbedarf spezialisiert hatten, waren Verbesserungen der DevOps-Praktiken unerlässlich, um die Fähigkeit zur schnellen Bereitstellung von Diensten zu verbessern.

Lösung

DevOps-Automatisierung für LMS

Unsere Lösung für den Kunden konzentrierte sich auf drei Kernbereiche: Infrastrukturoptimierung, DevOps-Automatisierung und CI/CD-Prozessverbesserung.

Optimierung der Infrastruktur

Wir begannen unsere Zusammenarbeit mit der Überarbeitung der Infrastruktur des Kunden. Unser Team entschied sich für eine serverlose Architektur mit AWS-Diensten. Dieser Ansatz war entscheidend für die Verarbeitung der riesigen Datenmengen, die bei der Mikrobiomanalyse verarbeitet werden.
  • AWS-Umgebung und Legacy-Migration: Wir haben die AWS-Umgebungen erweitert und neue Architekturen integriert, die das Wachstum und die diversifizierten Anforderungen des Kunden unterstützen. Die Altsysteme wurden reibungslos und ohne Unterbrechung des laufenden Betriebs auf diese neuen Umgebungen migriert.
  • Netzwerkmanagement und IP-Adressvergabe: Die Herausforderung der erschöpften IP-Adressen wurde durch die Implementierung eines strategischen Subnetting-Ansatzes angegangen. Damit wurde das unmittelbare Problem der Adressenknappheit gelöst und die künftige Netzerweiterung rationalisiert.
  • IaC-Refactoring mit Terraform und Terraspace: Unser Team strukturierte die Einrichtung von Infrastructure as Code (IaC) um und migrierte von Legacy-Terraform zu Terraspace. Dieser Schritt verbesserte die Verwaltbarkeit und Skalierbarkeit des Infrastrukturcodes und ermöglichte die Verwaltung mehrerer Konten.

DevOps-Automatisierung

Die Praktiken der Entwicklungsarbeit standen im Mittelpunkt unserer Lösung, die darauf abzielte, die DevOps-Infrastruktur-Automatisierung zu verbessern und Prozesse zu vereinfachen.
  • Implementierung von Karpenter: Die Einführung von Karpenter war ein wichtiger Meilenstein in der Ressourcenoptimierung. Dieses Tool reduzierte die Anzahl der erforderlichen Maschinen und senkte die Rechenkosten um 70%.
  • Integration von Argo Project Tools: Wir nutzten ArgoCD, Argo Rollouts und ArgoCD Image Updater, um die Bereitstellungsprozesse zu automatisieren. Diese Einrichtung befreite die Entwickler von der manuellen Verwaltung der Pipeline, so dass sie sich auf ihre eigentlichen Entwicklungsaufgaben konzentrieren konnten.
  • Blue-Green-Canary-Bereitstellungsmodell: Unsere Bereitstellungsstrategie kombinierte die Stärken des Blue-Green-Canary-Modells. Dieser hybride Ansatz beschleunigte die Entwicklungszyklen und minimierte die Bereitstellungsrisiken, was einen erheblichen Fortschritt für die operativen Fähigkeiten des Kunden bedeutete.

CI/CD-Prozessverbesserung

Die letzte Säule unserer DevOps-Automatisierungsdienste konzentrierte sich auf die Verfeinerung der CI/CD-Prozesse. Dies beinhaltete eine Reihe von strategischen Implementierungen zur Leistungssteigerung.

  • Migration zu GitHub und Integration von Codespaces: Wir erleichterten den Übergang des Kunden von GitLab zu GitHub und richteten GitHub Codespaces für ein sichereres und effizienteres Codemanagement ein. Diese Umstellung verbesserte die Codesicherheit und optimierte die Entwicklungsabläufe.

  • Pipeline-Refactoring und Automatisierung: Wir strukturierten die CI/CD-Pipelines um, um die kontinuierliche Bereitstellung von der Integration zu trennen. Diese Segmentierung verbesserte die Effizienz des Bereitstellungsprozesses und reduzierte potenzielle Fehler.

  • Überwachung und Kostenoptimierung: Die Implementierung von Grafana Stack und Prometheus ermöglichte es uns, ein umfassendes Überwachungssystem einzurichten. Dieses System unterstützte uns bei der Verfolgung der AWS-Kosten und der Optimierung der Ressourcennutzung für einen kosteneffizienten Betrieb.

Technologien

Backend

Python; FastAPI

Frontend

React; Node.js; Material UI

Datenbanken

PostgreSQL

Plattformen

Web

Cloud Dienstleistungen und Plattformen

AWS; Lambda-Funktionen; EKS; ECR

Containerisierung und Management

Docker; Kubernetes

Infrastrukture as Code (IaC)

Helm; Terraform; Terraspace

Kontinuierliche Integration und Bereitstellung

ArgoCD; Argo Rollouts; ArgoCD Image Updater; GitLab; GitHub; Karpenter; Kubecost

Überwachung und Protokollierung

Grafana; Grafana Loki; Promtail; Prometheus

Netzwerk-Management

Kubernetes CNI-Plugin

Server Monitoring

Prometheus

Qualitätssicherung

Playwright

Betriebssysteme

Linux; amd64; arm64

Versionskontrollsysteme

GitHub; ArgoCD

Integrationen

Microsoft AD SSO

Prozess

Unser Prozess basierte auf der agilen Methodik mit einem Scrum-Framework, bei dem Flexibilität, kontinuierliche Verbesserung und schnelle Lieferung im Vordergrund standen. Wir organisierten unsere Arbeit in einwöchigen Sprints mit täglichen Stand-up-Meetings um 18:00 Uhr MEZ, um die Abstimmung zu gewährleisten und unmittelbare Probleme zu besprechen. Jeden Freitag hielten wir Sprint-Planungssitzungen ab, in denen das Team gemeinsam die Aufgaben für die kommende Woche besprach und plante. Diese Sitzungen wurden mit Retrospektiven und Präsentationen verbunden.
  • Aufgabenmanagement und Kommunikation
Unsere Entwickler hatten die volle Verantwortung für das Backlog, was ihnen die Autonomie gab, Aufgaben zu verwalten und zu planen. Eine direkte Kommunikation mit dem Product Owner (PO) fand nur selten statt, weil die primären Ziele und Anforderungen für die Aufgaben vom leitenden Designer des Projekts festgelegt und häufig detailliert wurden.
  • Entwicklung und Dokumentation
Unser Ansatz für die Aufgabenimplementierung umfasste die Entwicklung von Proof-of-Concept-Modellen (POC) für die meisten Aufgaben, gefolgt von der Erstellung detaillierter Diagramme, die vom Team überprüft wurden. Auf diese Weise konnten wir Ideen validieren und die Durchführbarkeit sicherstellen, bevor wir mit der vollständigen Entwicklung begannen. Wir haben die Projektdokumentation sorgfältig gepflegt, um eine reibungslose Ausführung unserer Aufgaben zu gewährleisten.
  • Herausforderungen für Cloud-Sicherheit und DevOps-Automatisierung 
Ein wichtiger Aspekt unseres Projekts war die Verwaltung und Optimierung der umfangreichen Labordatenberichte des Kunden, die sich auf Petabytes an Daten beliefen. Diese enorme Datenmenge führte zu erheblichen AWS-Kosten.
  • Sprint-Reviews und Anpassung
Am Ende jeder Woche führten wir Sprint-Reviews durch, in denen wir neue Funktionen vorstellten und über den bevorstehenden Sprint diskutierten. Diese Treffen waren entscheidend für die Anpassung unserer Strategien an sich ändernde Anforderungen.

Team

2

DevOps-Ingenieure

1

Front-End-Entwickler

1

Full-Stack-Entwickler

Ergebnisse

70% Reduzierung der Rechenkosten

Unsere Zusammenarbeit mit dem Kunden hat zu erheblichen Verbesserungen seiner DevOps-Infrastruktur und Prozesse geführt. Die wichtigsten erzielten Ergebnisse sind die folgenden:
  • Kostenoptimierung: Durch die Implementierung von Karpenter konnte die Anzahl der im Cluster verwendeten Maschinen von 15 auf 6 reduziert werden, was zu einer Senkung der Rechenkosten um 70% führte. Diese beträchtliche Kosteneinsparung hat die Kosteneffizienz des Unternehmens erheblich verbessert.
  • Beschleunigung des Entwicklungsprozesses: Durch die Einführung des Blue-Green-Canary-Freigabemodells wurde der Entwicklungsprozess erheblich beschleunigt. Diese strategische Implementierung beschleunigte die Entwicklung und fügte dem Freigabeprozess eine zusätzliche Sicherheitsebene hinzu.
  • Erweiterungen durch DevOps-Automatisierung: Der Einsatz der Argo Project Tools hat die Entwicklungspipeline deutlich verbessert. Das Entwicklungsteam des Kunden kann nun den Kubernetes-Cluster mit neuen Anwendungsversionen aktualisieren, indem es einfach den Code pusht, wobei der gesamte Build- und Bereitstellungsprozess automatisiert wird. Dadurch wurden manuelle Eingriffe in Routineaufgaben stark reduziert, so dass sich die Ingenieure stärker auf strategische Entwicklungsaktivitäten konzentrieren können.
  • Vereinfachung der Infrastrukturverwaltung: Die Migration des Terraform-Codes auf das Terraspace-Framework sowie die Überarbeitung des Kubernetes-Cluster-Managements haben die Verwaltung der Infrastruktur vereinfacht. Diese Änderungen haben die Verwaltung der Infrastruktur einfacher und effizienter gemacht.
  • Verbesserte Beobachtbarkeit: Die Integration von Grafana Stack und Prometheus für zusätzliche Metriken hat die Beobachtbarkeit des Systems erheblich verbessert. Diese Verbesserung hat zu einer besseren Datenüberwachung geführt, die eine fundiertere Entscheidungsfindung und Systemverwaltung ermöglicht.
Derzeit befinden wir uns in der Endphase der Einrichtung der AWS-Umgebungen, um sicherzustellen, dass sie auf die Anforderungen des Kunden zugeschnitten sind. Für die Zukunft ist eine weitere Verbesserung des Freigabemodells geplant, das auf der erfolgreichen Umsetzung der Blue-Green-Canary-Strategie aufbaut.
Projektzeitraum
  • Juli 2022 - Laufend

70%

Senkung der Datenverarbeitungskosten

2x

Erhöhung der Entwicklungsgeschwindigkeit

50%

Rückgang der manuellen Eingriffe

Kontaktieren Sie uns!

Einen Anruf buchen oder füllen Sie das Formular unten aus und wir melden uns bei Ihnen, sobald wir Ihre Anfrage bearbeitet haben.

    Bitte fügen Sie Projektdetails, Dauer, Technologie-Stack, benötigte IT-Experten und andere Infos bei.
    Bitte fügen Sie Projektdetails, Dauer, Technologie-Stack, benötigte IT-Experten
    und andere Infos bei.
    Hängen Sie nach Bedarf zusätzliche Dokumente an.
    Datei hochladen

    Sie können bis zu 1 Datei von insgesamt 2 MB anhängen. Gültige Dateien: pdf, jpg, jpeg, png

    Bitte beachten Sie, dass Innowise mit dem Anklicken der Schaltfläche 'Senden' Ihre persönlichen Daten nach der Datenschutzrichtlinie verarbeiten wird, um Ihnen die gewünschten Informationen zukommen zu lassen.

    Wie geht es weiter?

    1

    Sobald wir Ihre Anfrage erhalten und bearbeitet haben, werden wir uns mit Ihnen in Verbindung setzen, um Ihre Projektanforderungen zu besprechen und eine NDA (Vertraulichkeitserklärung) für die Vertraulichkeit der Informationen zu unterzeichnen.

    2

    Nach der Prüfung der Anforderungen erstellen unsere Analysten und Entwickler einen Projektvorschlag, der Arbeitsumfang, Teamgröße, Zeit- und Kostenschätzung enthält.

    3

    Wir vereinbaren einen Termin mit Ihnen, um das Angebot zu besprechen und eine Vereinbarung mit Ihnen zu treffen.

    4

    Wir unterzeichnen einen Vertrag und beginnen umgehend mit der Arbeit an Ihrem Projekt.

    Спасибо!

    Cообщение отправлено.
    Мы обработаем ваш запрос и свяжемся с вами в кратчайшие сроки.

    Vielen Dank!

    Ihre Nachricht wurde gesendet.
    Wir werden Ihre Anfrage bearbeiten und Sie so schnell wie möglich kontaktieren.

    Vielen Dank!

    Ihre Nachricht wurde gesendet. 

    Wir werden Ihre Anfrage bearbeiten und uns so schnell wie möglich mit Ihnen in Verbindung setzen.

    Pfeil