Szukasz wybitnych specjalistów IT, którzy dowiozą projekt?

Hjemmelegene: migracja z Heroku do AWS i wzmocnienie zespołu programistów

Więcej niż migracja: infrastruktura w AWS i specjaliści, którzy pomagają rozwijać zaawansowane usługi medyczne

Frame 5

W skrócie:

  • Klient

    Hjemmelegene

    Kraj

    Norwegia

  • Zakres projektu i technologie

    Rozszerzenie zespołu i migracja następujących elementów do AWS;
    Ruby on Rails, AWS, Heroku, Cloud, DevOps

    Branża

    MedTech

  • Stack technologiczny

    - Cloud Architect
    - DevOps Engineer z doświadczeniem w AWS i Heroku
    - DevOps Engineer z doświadczeniem w AWS i w narzędziach ogólnego przeznaczenia
    - Senior RoR Developer
    - Konsultant techniczny
    - CTO Hjemmelegene i konsultant
    - programiści RoR

    Czas trwania

    378 dni

Nasz klient, Hjemmelegene, specjalizuje się w opiece medycznej w domu pacjenta i konsultacjach online. Hjemmelegene powstało w 2017 roku, aby przenieść opiekę zdrowotną z przychodni tam, gdzie są pacjenci, a dziś jest liderem rynku wizyt domowych w Norwegii. W swoim systemie zarządza siecią lekarzy, pielęgniarek i sprzętu oraz jej logistyką. Za jego pomocą można też zamówić wizytę domową lub konsultację online.

Specjaliści przyjeżdżają z własnym sprzętem i mogą wykonywać bardziej zaawansowane badania, pobierać próbki itd. Firma rośnie bardzo szybko. Ma już ponad 100 pracowników medycznych i działa we wszystkich największych miastach Norwegii. Przeprowadziła ponad 200 000 konsultacji w domach, biurach i online.

Z czym przyszedł klient: dwie potrzeby

Na lokalnym rynku firma cieszyła się dobrą opinią. Popyt na jej usługi rósł, a wraz z nim trudności ze skalowaniem działalności.  

Hjemmelegene było startupem w fazie ekspansji. Pierwszą wersję platformy stworzyło jak najprościej, żeby szybko pokazać jej wartość na rynku i udostępnić najważniejsze funkcje. Postawiło ją na Ruby on Rails i hostingu Heroku. 

Wtedy zaczęły pojawiać się problemy:

1. Platforma musiała się skalować, a zespół programistów rosnąć

Z czasem szybki wzrost i sposób pracy nad kodem zaczęły sprawiać kłopoty. Technologie w branży urządzeń medycznych też poszły naprzód, więc coraz trudniej było znaleźć najlepszych specjalistów do platformy w Ruby on Rails. Platformę zbudowali założyciele firmy, ale przy takim tempie rozwoju potrzebowali w zespole więcej doświadczonych ludzi, którzy będą pisać kod z myślą o skalowaniu. CTO nie mógł już sam dźwigać wszystkich kluczowych zadań programistycznych. 

Co więcej, zarówno backend, jak i frontend systemu opierały się wyłącznie na Ruby on Rails.  Klient zdawał sobie sprawę, że Rails to dobre narzędzie na start, ale później do wyspecjalizowanych zastosowań lepsze mogą być inne technologie.

  • Najpierw potrzebowali kogoś, kto przejrzy kod i przepisze go tak, żeby się skalował.  
  • Klient musiał też oddzielić frontend od RoR.

 

Początkowo Hjemmelegene próbowało nadążyć za rosnącymi potrzebami, zatrudniając więcej osób. Niestety w Norwegii brakowało dostępnych programistów RoR, a ich stawki były stosunkowo wysokie, więc firma zaczęła szukać specjalistów za granicą. Z tym problemem trafiła do Ideamotive.

2. Dostawca hostingu nie radził sobie ze skalowaniem aplikacji RoR

Rosnąca firma potrzebowała też bardziej elastycznego rozwiązania PaaS (Platform as a Service) i nowej infrastruktury. Chciała na niej prowadzić eksperymenty, uruchamiać kolejne MVP (Minimum Viable Product) i usługi napisane w różnych językach programowania. 

Klient zwrócił się do nas, bo chciał przenieść system z Heroku do AWS i potrzebował przy tym naszej wiedzy i wsparcia. 

Dlaczego migracja była konieczna? 

  • Heroku dawało łatwą konfigurację i wdrożenia, ale brakowało mu elastyczności. Potrzebny był hosting światowej klasy: z bogatym zestawem narzędzi, a przy tym równie wygodny w pracy DevOps.
  • Liczyły się też niższe koszty i dostęp do wydajniejszego sprzętu.
  • Klient chciał przejść na mikroserwisy, żeby działać sprawniej i łatwiej się skalować, ale bez dokładania pracy programistom. Ci mieli sami wybierać języki programowania, biblioteki i frameworki oraz skalować usługi niezależnie od siebie. 

Klient potrzebował więc wsparcia na dwóch frontach: w skalowaniu produktu i w migracji aplikacji z Heroku do AWS. 

Ideamotive pomagało Hjemmelegene w rozszerzeniu zespołu i migracji do AWS przez 18 miesięcy. W tym czasie sercem współpracy było ich niestrudzone, szybkie i pozytywne nastawienie na szukanie rozwiązań.

Øyvind Nordhagen

Øyvind Nordhagen

CTO @ Hjemmelegene

Cele:

Cele Hjemmelegene

Rozwiązanie

Współpracowaliśmy z Hjemmelegene w projekcie podzielonym na etapy. Zaczęliśmy od planowania technicznego: rozmawialiśmy o tym, jak zbudowana jest aplikacja, które elementy trzeba poprawić i jak pracują nad nią programiści.

Realizacja projektu składała się z dwóch faz:

Faza 1 

Odtworzenie dotychczasowego środowiska z Heroku w AWS zajęło 1-2 miesiące

Zajął się tym nasz zespół trzech doświadczonych specjalistów DevOps, który w starannie zaplanowanym procesie przeniósł i zoptymalizował środowisko hostingowe Hjemmelegene. Proces obejmował:

Dogłębna analiza obecnego środowiska hostingowego: Na początek nasz zespół DevOps dokładnie przejrzał konfigurację Heroku w Hjemmelegene, żeby poznać możliwości i ograniczenia tej infrastruktury.

Strategiczne planowanie architektury aplikacji i refaktoryzacji: W serii sesji strategicznych omówiliśmy architekturę aplikacji. Z tych rozmów powstał szczegółowy plan refaktoryzacji, dzięki któremu aplikacja po migracji miała być skalowalna, łatwa w utrzymaniu i wydajniejsza.

Optymalizacja procesu wytwórczego pod kątem skalowalności, jakości i wdrożeń: Dużo uwagi poświęciliśmy codziennej pracy programistów. Przeanalizowaliśmy obecne praktyki i wprowadziliśmy nowe, które ułatwiają skalowanie, poprawiają kontrolę jakości i przyspieszają wydawanie kolejnych wersji.

Hosting w AWS szyty na miarę: Zespół połączył swoje doświadczenie i zaproponował rozwiązanie hostingowe w AWS. Nie był to zwykły plan migracji, tylko pełna propozycja, która odpowiadała na konkretne potrzeby Hjemmelegene: skalowalność, wydajność i opłacalność.

Przez cały czas blisko współpracowaliśmy z klientem i pilnowaliśmy, żeby każdy krok służył celom Hjemmelegene i spełniał wysokie standardy branży medycznej. Uporządkowany proces i zespół DevOps skupiony tylko na tym projekcie pokazały, jak bardzo zależało nam na solidnym rozwiązaniu, które posłuży Hjemmelegene na lata

Faza 2

Prace programistyczne i wdrożenie w AWS zajęły około 2 miesięcy 

Projekt DevOps obejmował migrację z Heroku do AWS, a prowadził go Cloud Architect. Dane przenieśliśmy według starannego planu i po testach, żeby codzienna praca Hjemmelegene toczyła się bez zakłóceń. Po drodze pojawiały się problemy, ale każdy z nich otwarcie i szczerze omawialiśmy z klientem, dzięki czemu migracja zakończyła się sukcesem. 

Odpowiadaliśmy też na wszystkie wątpliwości klienta i wspieraliśmy go w przejściu na nowe środowisko.

Lista przeniesionych komponentów

 

Nie wszystko poszło gładko:

Tak złożone projekty rzadko obywają się bez potknięć i ten nie był wyjątkiem. Klient miał zastrzeżenia przede wszystkim do kwalifikacji i wyników zespołu. W trakcie projektu nikt formalnie ich nie zgłosił, ale po zakończeniu prac wyraźnie dały o sobie znać.

Chcieliśmy nie tylko odpowiedzieć na konkretne zastrzeżenia, ale też umocnić zaufanie, jakim darzył nas klient. Braliśmy pod uwagę niuanse kulturowe i wagę dobrej relacji z klientem, dlatego zaproponowaliśmy rozwiązanie, które pokazało, że zależy nam na jego zadowoleniu i umiemy reagować na nieoczekiwane przeszkody.

Naszą odpowiedzią były świeże kompetencje w projekcie. Zaproponowaliśmy nowych specjalistów, dodatkowe roboczogodziny ekspertów i trzy miesiące bezpłatnego wsparcia DevOps. Chodziło o to, żeby skutecznie rozwiązać pozostałe problemy i spojrzeć na bieżące wyzwania z nowej perspektywy. Wiedzieliśmy, że udana relacja klienta z dostawcą nie opiera się wyłącznie na zobowiązaniach z umowy. Liczy się też to, czy dostawca umie słuchać, dostosować się i szczerze zaangażować w potrzeby klienta.

Klient dobrze przyjął naszą propozycję, co potwierdziło, że warto stawiać relację na pierwszym miejscu. To doświadczenie pokazało, jak ważne są otwarta komunikacja, wrażliwość kulturowa i gotowość, by się dostosować i improwizować. Nauczyło nas też zarządzać oczekiwaniami klienta i zamieniać problemy w okazję do rozwoju. Ten projekt, jak wiele innych, utwierdził nas w przekonaniu, że trzeba umieć wyjść z trudnej sytuacji i znaleźć polubowne rozwiązanie. Tak buduje się długie relacje z klientami i ich zaufanie do naszej wiedzy i jakości pracy.

[...] długoletnia współpraca nie obejdzie się bez trudności. Cieszę się, że i z nimi poradzono sobie w ten sam sposób, z pozytywnym skutkiem dla nas. Podsumowując, Ideamotive bierze odpowiedzialność i robi więcej, niż trzeba, żeby dowieźć wynik.

Øyvind Nordhagen

Øyvind Nordhagen

CTO @ Hjemmelegene

Rozszerzenie zespołu:

Jak szybko dobraliśmy nowych specjalistów?

Specjalistów znaleźliśmy w jeden dzień. Obaj eksperci byli dostępni od ręki: Marek, Senior RoR Developer, i Dawid, konsultant techniczny odpowiedzialny za ocenę i doradztwo. 

Klient zaakceptował ich po jednej wewnętrznej rozmowie. 

Co zrobiliśmy?  

  • Nie tylko podstawiliśmy programistów, ale też na bieżąco podpowiadaliśmy, co można zrobić lepiej i jak w dłuższej perspektywie podejść do skalowania. 

  • Przekazywaliśmy uwagi do kodu aplikacji i rozwijaliśmy ją razem z klientem.  Monitorowaliśmy wydajność systemu i naprawialiśmy błędy, które przeszkadzały w płynnym działaniu aplikacji. 

  • Z czasem Marek i Dawid zdobyli zaufanie klienta. Swoje kompetencje pokazali w rzetelnym audycie i na wielu sesjach technicznych o architekturze aplikacji i pracy programistów.

 

Klient zobaczył, że nie jesteśmy tylko pośrednikiem w rekrutacji programistów. Naprawdę zależało nam i na nim, i na naszym specjaliście: pomogliśmy na przykład zorganizować przyjazd Marka do Norwegii, doradzaliśmy przy dalszym rozwoju aplikacji i byliśmy w stałym kontakcie.

hjemmelegene_ideamotive_milestones

Efekty współpracy

Hjemmelegene chciało uzupełnić braki kadrowe i skalować usługi medyczne. Oto, co zyskało:

Pozyskanie specjalistów i kompetencji:

  • Ideamotive szybko znalazło dla Hjemmelegene doświadczonych programistów RoR. Jednym z nich był Marek, który nie tylko dołączył do zespołu, ale też wniósł do niego cenne spostrzeżenia i wiedzę.

  • Marek brał udział w spotkaniach firmy i blisko współpracował z zespołem, więc stał się jego pełnoprawnym członkiem.

 

Migracja do AWS:

Migracja z Heroku do AWS przebiegła w dwóch fazach: wstępna konfiguracja zajęła 1-2 miesiące, a po niej przez około 2 miesiące trwały prace programistyczne i wdrożenie w AWS.

  • Projekt DevOps poprowadził Cloud Architect Jerzy, który zadbał o płynną migrację danych.

  • Na regularnych spotkaniach omawialiśmy problemy i przeszkody w migracji, dzięki czemu przeniesienie ostatecznie się udało.

 

Stałe wsparcie i współpraca:

  • Poza programistami Ideamotive stale podsuwało usprawnienia, pomysły na skalowanie i sposoby na lepszą jakość kodu.

  • Aktywnie uczestniczyliśmy w przeglądach kodu i wspólnym rozwoju aplikacji. Dbaliśmy o wydajność systemu i rozwiązywaliśmy problemy, żeby aplikacja działała płynnie dla użytkowników.

  • Wsparcie Ideamotive wykraczało poza kodowanie i obejmowało też pomoc w logistyce oraz w rozwoju aplikacji.

 

Hjemmelegene znalazło w Ideamotive partnera, który nie tylko wypełnił luki kompetencyjne, ale też służył bezcenną radą. Dzięki temu firma z sukcesem skaluje usługi medyczne i dba o ich najwyższą jakość.

 

Chcesz pchnąć swój projekt do przodu?

Zobacz, co eksperci Ideamotive i nowoczesne rozwiązania mogą wnieść do Twojego projektu.