• Home
  • Blog
  • Vendor lock-in – jak pozbyć się problemu dzięki mikroserwisom i otwartym standardom?

CLOUD, DIGITAL TRANSFORMATION, TECHNOLOGIE

07.06.2021 - Przeczytasz w 5 min.

Vendor lock-in – jak pozbyć się problemu dzięki mikroserwisom i otwartym standardom?

07.06.2021 - Przeczytasz w 5 min.

Zobacz jak zmodernizować system, by pozbyć się ryzyka uzależnienia od dostawcy oprogramowania

RST Software - jak zmniejszyć koszty utrzymania systemu

Czym jest Vendor Lock-in? 

Z vendor lock-in mamy do czynienia wtedy, gdy klient jest uzależniony od produktów dostawcy do tego stopnia, że nie może zmienić dostawcy bez poniesienia kosztów zmiany. 

Termin ten może dotyczyć dostawcy infrastruktury, ale też oprogramowania czy hardware’u. Możemy zatem być uzależnieni zarówno od dostawcy infrastruktury chmurowej (np. Google Cloud) jak i od producenta drukarek, który grozi utratą gwarancji za użycie zamienników oryginalnego toneru.

Vender lock in

Nawet Snapchat zna ryzyko uzależnienia od dostawcy

Zjawisko uzależnienia od dostawcy (vendor lock-in) jest szeroko znane i dość dobrze rozumiane w branży IT. Mimo tego, wielu firmom nadal nie udaje się go uniknąć.

Przykładem może być właściciel Snapchata, który w 2016 roku podwoił liczbę użytkowników i osiągnął 700% wzrost przychodów. Aby zapewnić dalszy rozwój biznesu, był zmuszony zapewnić sobie niezbędną infrastrukturę. W efekcie związał się 5-letnią umową, opiewającą na 2 miliardy dolarów, z dostawcą infrastruktury chmurowej Google Cloud.

 

Snapchat w dokumencie S-1 wiele akapitów poświęcił uzależnieniu od działań Google. Napisał tam m.in: Google może podjąć działania, które są poza naszą kontrolą i które mogą poważnie zaszkodzić naszemu biznesowi”.

(„In addition, Google may take actions beyond our control that could seriously harm our business, including: discontinuing or limiting our access to its Google Cloud platform; increasing pricing terms; modifying or interpreting its terms of service or other policies in a manner that impacts our ability to run our business and operations.”).

Spółka była więc świadoma ryzyka, ale nie udało jej się uniezależnić od dostawcy infrastruktury chmurowej. Widzimy zatem, że problem jest poważny i niełatwy do rozwiązania, nawet dla gigantów w branży.

RST Software uzależnienie sie od dostawcy

Ryzyko uzależnienia od dostawcy rośnie wraz z wielkością i wiekiem dedykowanego oprogramowania

Monolityczne, dedykowane systemy, budowane przez lata przez zewnętrzną firmę, niosą ze sobą duże ryzyko uzależnienia od ich twórców. Problem ten dotyczy systemów pełnych zależności i rozwiązań szytych na miarę, dostosowanych do potrzeb właściciela. Niezależnie od tego czy są to systemy WMS, ERP, CRM, PIM czy inne. 

Z biegiem czasu takie rozwiązania rozbudowują się o setki modułów, które z czasem przestają być potrzebne. System staje się coraz trudniejszy i droższy w utrzymaniu. Odłączenie każdego niepotrzebnego już modułu jest trudne, ponieważ jest on w wielu miejscach powiązany z innymi modułami. Jest to też czasochłonne i wymaga wielu testów, które potwierdzą, że operacja się udała. 

Rozszerzenie funkcjonalności takiego systemu, by spełnić ważną potrzebę biznesową (np. by dostosować się do nowych wymagań unijnych), również będzie czasochłonne i kosztowne. 

 

Rozbudowany system monolityczny stwarza wiele innych problemów

Okazuje się więc, że ryzyko uzależnienia od dostawcy to tylko jeden z wielu problemów jakie niosą za sobą rozbudowane systemy monolityczne. Dodatkowe niebezpieczeństwa z nimi związane to zbyt wysokie koszty utrzymania i rozwoju oraz fakt, że taki system zwyczajnie nie nadąża za potrzebami biznesu

Na szczęście, system monolityczny to nie koniec świata. Przejdź do modernizacji, zastosuj trzy kroki i uwolnij się od problemów.

 

RST Software Audyt technologiczny i wybór ścieżki modernizacji

KROK 1 – Audyt technologiczny i wybór ścieżki modernizacji

Pracę nad modernizacją systemu rozpoczynamy od analizy. Wykonujemy audyt technologiczny. Celem jest weryfikacja stanu systemu oraz zdefiniowanie zagrożeń i obszarów do poprawy. 

 

Audyt technologiczny powinien objąć takie obszary jak:

  • Wykorzystywane technologie
  • Architektura
  • Kod
  • Testy automatyczne
  • Wydajność
  • Bezpieczeństwo

 

Jest to etap kluczowy dla właściciela systemu, ponieważ na podstawie zidentyfikowanych problemów powstaje rekomendacja optymalnej ścieżki modernizacji. Takiej, która przy akceptowalnych kosztach, przyniesie jak największą korzyść.

RST Software Modernizacja

KROK 2 – Modernizacja 

W tym kroku przystępujemy do faktycznej modernizacji. Zależnie od problemów, które ujawniono w audycie, krok po kroku, komponent po komponencie, realizujemy jedno z kilku dostępnych podejść:

  • Refaktoring kodu – Restrukturyzacja i optymalizacja wyłącznie kodu komponentu, bez zmiany jego funkcjonalności
  • Rearchitecting – Modyfikacja kodu komponentu aplikacji w celu przeniesienia go do nowej architektury o większych możliwościach
  • Przebudowa – Przeprojektowanie lub przepisanie komponentu aplikacji od zera, z zachowaniem jego specyfikacji i zakresu
  • Wymiana – Całkowita eliminacja komponentu aplikacji i zastąpienie go nowym, uwzględniając nowe wymagania i potrzeby

Powyższe podejścia ułożyliśmy od takiego, który wymaga najmniejszego nakładu czasu i pracy (refaktoring) do takiego, który wymaga najwięcej pracy, ale przynosi też największą zmianę (wymiana). 

Rearchitecting szansą na uwolnienie od dostawcy

Firmy, których problemem jest duży, monolityczny system, dużą korzyść uzyskują z podzielenia go na mniejsze części i osadzenia ich w architekturze mikroserwisowej (rearchitecting), opartej na chmurze. 

 

Co zyskujesz dzięki przeniesieniu aplikacji do architektury mikroserwisowej? 

  • Zmniejszenie ryzyka vendor lock-in – dzięki rozbiciu aplikacji na części, nad rozwojem każdej z nich może pracować inny dostawca oprogramowania.
  • Zwiększenie wydajności przy zachowaniu optymalnych kosztów skalowania – Dzięki mikroserwisom możesz skalować zasoby dla pojedynczego mikroserwisu. Jest to tańsze niż inwestowanie w infrastrukturę wspierającą cały system. Zyskujesz więc niezbędną wydajność, płacąc jedynie za wykorzystane zasoby.
  • Skrócenie czasu wprowadzenia nowej funkcji do systemu – w architekturze mikroserwisowej wdrożenie nowej funkcji jest łatwe. Aby to zrobić należy zmodyfikować jeden z istniejących mikroserwisów lub stworzyć nowy. Nie trzeba już testować całego systemu po każdej modyfikacji. 

 

Przeniesienie aplikacji do infrastruktury mikroserwisowej wymaga modyfikacji kodu. Kod można zmienić w taki sposób, aby zachować jego pierwotną funkcjonalność lub ją rozszerzyć. 

 

Wykorzystanie otwartych standardów

Bardzo ważne jest, aby w tym procesie oprzeć się o otwarte standardy. Migracja do mikroserwisów nie pomoże uniknąć vendor lock-in, jeśli system będzie korzystał z indywidualnych rozwiązań, które zna i rozumie tylko jeden dostawca. Takie customowe rozwiązania będą blokować innych vendorów, którzy nie będą mogli ich rozwijać i z nich korzystać.

Warto wykorzystać rozwiązania open-source również dlatego, że są wydajne i bezpieczne, a nie wiążą się z wysokimi kosztami licencji. 

Wykorzystując otwarte standardy takie jak REST, AMQP, GraphQL czy technologię RPA (Robotic Process Automation), można zintegrować niemal każdą aplikację. Warto więc dodatkowo wykorzystać tę szansę, by np. zautomatyzować procesy i zrobotyzować powtarzalne zadania manualne.

RST Software Utrzymanie i łatwy rozwój systemu

KROK 3 – Utrzymanie i łatwy rozwój systemu

Aby zachować ciągłość działania (Business Continuity), zmodernizowany system będzie wymagał dalszej opieki działu IT. Zwiększy się jednak jego elastyczność i łatwość w rozwoju. Nad elementami systemu będzie mogło od teraz pracować nawet kilku dostawców na raz. Każdy komponent będzie mógł być rozwijany osobno, z zastosowaniem dowolnej technologii. 

Jak myślisz – czy w Twojej firmie jest system, który już teraz boryka się z problemami braku elastyczności, generuje wysokie koszty i wymaga modernizacji? Sprawdź to, nim będzie za późno!

Ocena artykułu

Udostępnij

Adrian Kozłowski - Digital Marketing Specialist

Adrian Kozłowski

Digital Marketing & Communication Lead

Digital Marketing Lead w RST Software Masters. W pracy skupia się na budowaniu prostej komunikacji opartej o wartość dla klienta. Fan tabel w excelu, storytellingu, escape roomów, modernizmu w architekturze i sztuki współczesnej.

Nasz serwis internetowy używa plików cookies do prawidłowego działania strony. Korzystanie z serwisu bez zmiany ustawień dla plików cookies oznacza, że będą one zapisywane w pamięci urządzenia. Ustawienia te można zmieniać w przeglądarce internetowej. Więcej informacji udostępniamy w Polityce plików cookies.