Zostaw swoje dane kontaktowe, a prześlemy Ci nasz oficjalny dokument e-mailem
Wyrażam zgodę na przetwarzanie moich danych osobowych w celu przesyłania spersonalizowanych materiałów marketingowych zgodnie z Regulaminem. Polityka prywatności. Potwierdzając zgłoszenie, użytkownik wyraża zgodę na otrzymywanie materiałów marketingowych
Dziękuję!

Formularz został pomyślnie przesłany.
Więcej informacji można znaleźć w skrzynce pocztowej.

Innowise jest międzynarodową firmą tworzącą oprogramowanie w pełnym cyklu założona w 2007 roku. Jesteśmy zespołem ponad 1600 specjalistów IT tworzących oprogramowanie dla innych profesjonalistów na całym świecie. profesjonalistów na całym świecie.
O nas
Innowise jest międzynarodową firmą tworzącą oprogramowanie w pełnym cyklu założona w 2007 roku. Jesteśmy zespołem ponad 1600 specjalistów IT tworzących oprogramowanie dla innych profesjonalistów na całym świecie. profesjonalistów na całym świecie.

Automatyzacja DevOps dla systemu zarządzania laboratorium: redukcja kosztów obliczeniowych o ponad 70%

Zespół Innowise zoptymalizował infrastrukturę chmury i zautomatyzował procesy CI/CD dla lidera rynku testów DNA, zwiększając skalowalność i wydajność operacji przetwarzania danych.

Klient

Przemysł
Opieka zdrowotna
Region
USA
Klient od
2023

Nasz klient jest liderem w dziedzinie biotechnologii, specjalizującym się w testach DNA i analizie mikrobiomu. Firma znana jest z dostarczania szybkich i wiarygodnych analiz przy użyciu zaawansowanych technik molekularnych, zaspokajając szerokie spektrum zastosowań w zakresie zdrowia ludzkiego, rolnictwa i badań środowiskowych. Ich usługi obejmują zarówno projektowanie badań, jak i kompleksową analizę danych, przyczyniając się do badań i rozwoju w branży opieki zdrowotnej.

Szczegółowe informacje o kliencie nie mogą zostać ujawnione zgodnie z warunkami umowy NDA.

Wyzwanie

Problemy z aktualizacjami infrastruktury, migracją do GitHub i optymalizacją CI/CD

Nasza współpraca z klientem, rozpoczęta w 2023 roku, koncentrowała się przede wszystkim na sprostaniu złożonym wyzwaniom DevOps. Klient stanął w obliczu wieloaspektowego zestawu problemów, z których każdy był istotny dla jego wydajności operacyjnej w badaniach mikrobiomów:
  • Rozbudowa infrastruktury i migracja: Klient był w trakcie rozszerzania swojej działalności. Środowiska AWS z unowocześnioną architekturą. Ta ekspansja pociągnęła za sobą migrację kilku starszych środowisk do nowych systemów. 
  • Zarządzanie starszą infrastrukturą: Kolejnym aspektem wyzwania było zarządzanie starszym kodem Terraform i zasobami klastra Kubernetes. Istniejąca konfiguracja była uciążliwa i przestarzała, wymagając znacznego przeglądu, aby sprostać obecnym i przyszłym wymaganiom.
  • Wyczerpanie puli adresów IP: Krytycznym problemem było wyczerpywanie się adresów IP spowodowane nieefektywnym podsieciowaniem sieci. Utrudniało to bieżące zarządzanie siecią i stanowiło poważne zagrożenie dla przyszłych planów ekspansji.
  • Migracja z GitLab do GitHub: Klient chciał również przejść z GitLab na GitHub, co obejmowało integrację GitHub Codespaces. Ruch ten miał na celu ułatwienie zdalnego rozwoju i uniknięcie konieczności przechowywania kodu na lokalnych komputerach, zwiększając bezpieczeństwo i współpracę.
  • Optymalizacja procesów CI/CD: Pojawiła się pilna potrzeba optymalizacji procesów ciągłej integracji i ciągłego wdrażania (CI/CD). Usprawnienie tych procesów było niezbędne do zwiększenia szybkości i niezawodności wdrożeń.
  • Wdrożenie strategii Blue/Green Deployment: Wreszcie, klient starał się wdrożyć strategię wdrażania Blue/Green. Podejście to miało na celu zminimalizowanie ryzyka związanego z wdrożeniem i zapewnienie płynnego wdrażania nowych funkcji i aktualizacji.
Klient oczekiwał, że nasz zespół zajmie się tymi wyzwaniami i zwiększy wydajność operacyjną, obniży koszty i przyspieszy proces rozwoju. Jako że firma specjalizowała się w badaniach nad mikrobiomem i miała ogromne potrzeby w zakresie przetwarzania danych, ulepszenia w zakresie praktyk DevOps były niezbędne do zwiększenia jej zdolności do szybkiego dostarczania usług.

Rozwiązanie

Automatyzacja DevOps dla LMS

Nasze rozwiązanie dla klienta koncentrowało się na trzech głównych obszarach: optymalizacji infrastruktury, automatyzacji DevOps i usprawnieniu procesów CI/CD.

Optymalizacja infrastruktury

Współpracę rozpoczęliśmy od przebudowy infrastruktury klienta. Nasz zespół zdecydował się na architekturę bezserwerową z wykorzystaniem usług AWS. Takie podejście miało kluczowe znaczenie dla obsługi ogromnych ilości danych przetwarzanych w analizie mikrobiomu.
  • Środowisko AWS i migracja starszych rozwiązań: Rozbudowaliśmy środowiska AWS, wprowadzając nowe architektury, które wspierały rozwój i zróżnicowane potrzeby klienta. Starsze systemy zostały płynnie przeniesione do nowych środowisk bez zakłócania bieżących operacji.
  • Zarządzanie siecią i przydzielanie adresów IP: Wyzwanie związane z wyczerpującymi się adresami IP zostało rozwiązane poprzez wdrożenie strategicznego podejścia do podsieci. Rozwiązało to natychmiastową kwestię niedoboru adresów i usprawniło przyszłą rozbudowę sieci.
  • Refaktoryzacja IaC za pomocą Terraform i Terraspace: Nasz zespół zrestrukturyzował konfigurację Infrastructure as Code (IaC), migrując ze starszej platformy Terraform do Terraspace. To posunięcie zwiększyło możliwości zarządzania i skalowalność kodu infrastruktury, umożliwiając zarządzanie wieloma kontami.

Automatyzacja DevOps

Praktyki związane z operacjami rozwojowymi były sercem naszego rozwiązania, mającego na celu usprawnienie Automatyzacja infrastruktury DevOps i uproszczenie procesów.
  • Wdrożenie Karpenter: Wprowadzenie Karpenter stanowiło kamień milowy w optymalizacji zasobów. Narzędzie to zmniejszyło liczbę niezbędnych maszyn i obniżyło koszty obliczeniowe o 70%.
  • Integracja z Argo Project Tools: Wykorzystaliśmy ArgoCD, Argo Rollouts i ArgoCD Image Updater do automatyzacji procesów wdrażania. Ta konfiguracja uwolniła programistów od ręcznego zarządzania potokiem, pozwalając im skupić się na podstawowych zadaniach programistycznych.
  • Model wdrożenia Blue-Green-Canary: Nasza strategia wdrożeniowa połączyła mocne strony modeli Blue/Green i Canary. To hybrydowe podejście przyspieszyło cykle rozwoju i zminimalizowało ryzyko związane z wdrożeniem, oznaczając znaczący postęp w możliwościach operacyjnych klienta.

Usprawnienie procesu CI/CD

Ostatni filar naszego programu Usługi automatyzacji DevOps skupił się na udoskonaleniu procesów CI/CD. Obejmowało to szereg strategicznych wdrożeń mających na celu zwiększenie wydajności.

  • Migracja do GitHub i integracja z Codespaces: Ułatwiliśmy klientowi przejście z GitLab na GitHub, konfigurując GitHub Codespaces w celu bezpieczniejszego i wydajniejszego zarządzania kodem. Zmiana ta zwiększyła bezpieczeństwo kodu i usprawniła przepływy pracy programistycznej.

  • Refaktoryzacja i automatyzacja potoków: Zrestrukturyzowaliśmy potoki CI/CD, aby oddzielić ciągłe wdrażanie od integracji. Segmentacja ta poprawiła wydajność procesu wdrażania i zmniejszyła liczbę potencjalnych błędów.

  • Monitorowanie i optymalizacja kosztów: Wdrożenie Grafana Stack i Prometheus pozwoliło nam stworzyć kompleksowy system monitorowania. System ten pomógł w śledzeniu kosztów AWS i optymalizacji wykorzystania zasobów w celu zapewnienia opłacalnych operacji.

Technologie

Tylna część

Python; FastAPI

Przód

React; Node.js; Material UI

Bazy danych

PostgreSQL

Platformy

Web

Usługi i platformy Cloud

AWS; Funkcje Lambda; EKS; ECR

Konteneryzacja i zarządzanie

Docker; Kubernetes

Infrastruktura jako kod (IaC)

Helm; Terraform; Terraspace

Ciągła integracja i wdrażanie

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

Monitorowanie i rejestrowanie

Grafana; Grafana Loki; Promtail; Prometheus

Zarządzanie siecią

Wtyczka Kubernetes CNI

Monitorowanie serwera

Prometheus

Zapewnienie jakości

Dramaturg

Systemy operacyjne

Linux; amd64; arm64

Systemy kontroli wersji

GitHub; ArgoCD

Integracje

SSO w usłudze Microsoft AD

Proces

Nasz proces opierał się na metodologii Agile z frameworkiem Scrum, który kładł nacisk na elastyczność, ciągłe doskonalenie i szybką dostawę. Naszą pracę podzieliliśmy na jednotygodniowe sprinty, z codziennymi spotkaniami stand-up o godzinie 18:00 CET, aby zapewnić zgodność i rozwiązać wszelkie bezpośrednie obawy. W każdy piątek odbywały się sesje planowania sprintów, podczas których zespół wspólnie analizował i planował zadania na nadchodzący tydzień. Sesje te były połączone z retrospektywami i prezentacjami.
  • Zarządzanie zadaniami i komunikacja
Nasi deweloperzy mieli pełną własność backlogu, co dawało im autonomię w zarządzaniu i planowaniu zadań. Bezpośrednia komunikacja z właścicielem produktu (PO) była rzadka, ponieważ główne cele i wymagania dotyczące zadań były ustalane i często szczegółowo określane przez głównego projektanta projektu.
  • Rozwój i dokumentacja
Nasze podejście do implementacji zadań obejmowało opracowanie modeli Proof of Concept (POC) dla większości zadań, a następnie stworzenie szczegółowych diagramów zweryfikowanych przez zespół. Praktyka ta pozwoliła nam zweryfikować pomysły i zapewnić ich wykonalność przed opracowaniem na pełną skalę. Dokładnie prowadziliśmy dokumentację projektu, aby zapewnić płynną realizację naszych zadań.
  • Wyzwania związane z bezpieczeństwem Cloud i automatyzacją DevOps 
Istotnym aspektem naszego projektu było zarządzanie i optymalizacja obszernych raportów danych laboratoryjnych klienta, które obejmowały petabajty danych. Ten ogromny rozmiar danych spowodował znaczne koszty AWS.
  • Przeglądy i adaptacja sprintów
Pod koniec każdego tygodnia przeprowadzaliśmy przeglądy sprintów, które obejmowały demonstracje nowych funkcji i dyskusje na temat nadchodzącego sprintu. Spotkania te były kluczowe dla dostosowania naszych strategii do zmieniających się wymagań.

Zespół

2

Inżynierowie DevOps

1

Front-End Deweloper

1

Full-Stack Deweloper

Wyniki

70% redukcja kosztów obliczeniowych

Nasza współpraca z klientem doprowadziła do znacznej poprawy jego infrastruktury i procesów DevOps. Kluczowe osiągnięte wyniki są następujące:
  • Optymalizacja kosztów: Wdrożenie Karpenter z powodzeniem zmniejszyło liczbę maszyn używanych w klastrze z 15 do 6, co doprowadziło do zmniejszenia kosztów obliczeniowych o 70%. Ta znaczna oszczędność kosztów znacznie zwiększyła opłacalność ich operacji.
  • Przyspieszenie procesu rozwoju: Wprowadzenie modelu Blue-Green-Canary znacznie przyspieszyło proces rozwoju. To strategiczne wdrożenie przyspieszyło rozwój i dodało warstwę bezpieczeństwa do procesu wydawania.
  • Ulepszenia dzięki automatyzacji DevOps: Wykorzystanie narzędzi Argo Project znacznie usprawniło proces rozwoju. Zespół programistów klienta może teraz aktualizować klaster Kubernetes o nowe wersje aplikacji, po prostu przesyłając kod, a cały proces kompilacji i wdrażania jest zautomatyzowany. Znacznie ograniczyło to ręczną interwencję w rutynowe zadania, pozwalając inżynierom skupić się bardziej na strategicznych działaniach rozwojowych.
  • Uproszczenie zarządzania infrastrukturą: Migracja kodu Terraform do frameworka Terraspace, wraz z refaktoryzacją zarządzania klastrami Kubernetes, uprościła zarządzanie infrastrukturą. Zmiany te sprawiły, że zarządzanie infrastrukturą stało się prostsze i bardziej wydajne.
  • Lepsza obserwowalność: Integracja Grafana Stack i Prometheus dla dodatkowych metryk znacznie poprawiła obserwowalność systemu. Ulepszenie to zaowocowało lepszym monitorowaniem danych, ułatwiając podejmowanie bardziej świadomych decyzji i zarządzanie systemem.
Obecnie jesteśmy na końcowym etapie konfigurowania środowisk AWS, upewniając się, że są one dostosowane do wymagań klienta. Patrząc w przyszłość, planujemy dalsze ulepszanie modelu wydań, opierając się na udanym wdrożeniu strategii Blue-Green-Canary.
Czas trwania projektu
  • Lipiec 2022 r. - w toku

70%

redukcja kosztów obliczeniowych

2x

zwiększenie prędkości rozwoju

50%

zmniejszenie liczby interwencji ręcznych

Skontaktuj się z nami!

Zarezerwuj połączenie lub wypełnij poniższy formularz, a my skontaktujemy się z Tobą po przetworzeniu Twojego zgłoszenia.

    Prosimy o podanie szczegółów projektu, czasu trwania, stosu technologicznego, potrzebnych specjalistów IT i innych istotnych informacji.
    Nagraj wiadomość głosową na temat
    projekt, który pomoże nam lepiej go zrozumieć
    W razie potrzeby dołącz dodatkowe dokumenty
    Prześlij plik

    Można załączyć maksymalnie 1 plik o łącznej wielkości 2 MB. Ważne pliki: pdf, jpg, jpeg, png

    Informujemy, że po kliknięciu przycisku Wyślij Innowise będzie przetwarzać Twoje dane osobowe zgodnie z naszą Polityką prywatności w celu dostarczenia Ci odpowiednich informacji.

    Co będzie dalej?

    1

    Po otrzymaniu i przetworzeniu Twojego zgłoszenia skontaktujemy się z Tobą wkrótce, aby wyszczególnić potrzeby projektu i podpisać umowę o zachowaniu poufności, aby zapewnić poufność informacji.

    2

    Po przeanalizowaniu wymagań, nasi analitycy i programiści opracowują projekt z zakresem prac, wielkością zespołu, czasem i kosztami szacunki.

    3

    Umówimy się z Tobą na spotkanie, aby omówić ofertę i dojść do porozumienia porozumienia.

    4

    Podpisujemy umowę i rozpoczynamy pracę nad projektem tak szybko, jak to możliwe możliwe.

    Dziękuję!

    Wiadomość została wysłana.
    Przetworzymy Twoją prośbę i skontaktujemy się z Tobą tak szybko, jak to możliwe.

    Dziękuję!

    Wiadomość została wysłana.
    Przetworzymy Twoją prośbę i skontaktujemy się z Tobą tak szybko, jak to możliwe.

    strzałka