Historia metodyki DevOps wcale nie jest długa. Ten termin został wymyślony niecałe 15 lat temu – w 2009 roku, kiedy miała miejsce pierwsza konferencja DevOps Days. Jednak dyskusja na temat podejścia do rozwoju i działań w świecie IT jest długa i znacząca. W tym obszarze skuteczne okazało się właśnie podejście DevOps i nic w tym dziwnego, że rynek DevOps rośnie w tempie prawie 25% rocznie, a inżynierowie DevOps są jednymi z najbardziej poszukiwanych specjalistów IT. 25% a year, and DevOps engineers are one of the most wanted IT professionals.
W tym artykule omówimy, czy outsorcing usług DevOpsowych to dobry pomysł na wprowadzenie metodyki DevOps w danej organizacji. Najpierw krótko wspomnimy o tym, czym właściwie jest ta metodyka i w jaki sposób firmy mogą czerpać z niej korzyści, a następnie przejdziemy do głównego tematu – body-leasingu specjalistów DevOps.
Czym jest DevOps?
Wydaje nam się, że jeśli ktoś jest zainteresowany artykułem na temat outsourcingu usług DevOps, to można spokojnie założyć, że taka osoba zdaje sobie sprawę czym w ogóle jest DevOps. Uważamy jednak, że krótkie wprowadzenie może być dla niektórych przydatne. Szczególnie biorąc pod uwagę, jak wiele osób zapomina, że DevOps to nie tylko pozycja w firmie.
Rzućmy okiem na definicję od Atlassian:
DevOps to zestaw obejmujący praktyki, narzędzia i filozofię kulturową, które automatyzują i integrują procesy między zespołami programistycznymi a operacyjnymi. Kładzie on nacisk na pozycję zespołu, komunikację międzyzespołową i współpracę oraz automatyzację.
Wdrażanie nowej kultury to wyzwanie. A outsourcing? Czy to w ogóle możliwe? Mamy całą sekcję poświęconą odpowiedzi na to pytanie, ale zanim do tego przejdziemy, odświeżmy sobie jedną kwestię. Dlaczego w ogóle warto wprowadzać do organizacji praktyki DevOps?
Jakie są korzyści płynące z DevOps?
Co do jednej rzeczy nie ma wątpliwości – nie byłoby żadnej dyskusji o metodyce DevOps, gdyby nie było z niej żadnego pożytku. Zatem jakie korzyści płyną z wdrożenia w organizacji metodyki DevOps?
Wszyscy kochamy tę odpowiedź – to zależy. To zależy od praktyk i narzędzi, które są wdrażane oraz od tego, czy zespół i management są w 100% przekonani do ich przestrzegania.
Istnieje jednak kilka kluczowych zalet.
Najważniejsze korzyści wynikające z wdrożenia metodyki DevOps w organizacji to:
- Krótszy czas wprowadzania produktu na rynek
- Usprawniona współpraca i komunikacja
- Zwiększona efektywność i produktywność
- Zwiększona niezawodność i stabilność
- Niższe koszty
Przyjrzyjmy się teraz z bliska każdej z nich.
Krótszy czas wprowadzania produktu na rynek
Jeden z filarów metodyki DevOps to ciągła integracja i ciągłe dostarczanie (z ang. CI/CD). Oznacza to, że kod jest wdrażany przez cały czas, a wydania mogą być wykonywane nawet kilka razy dziennie. Wraz z innymi praktykami DevOps, takimi jak automatyzacja, eliminowanie wąskich gardeł i wspieranie produktywności, znacznie skraca czas potrzebny na dostarczanie funkcji, aktualizacji i poprawek błędów w aplikacji.
Usprawniona współpraca i komunikacja
Współpraca między zespołami i komunikacja wsród nich leżą u podstaw metodyki DevOps. Bądź co bądź, termin DevOps pochodzi z połączenia rozwoju i operacji. W tradycyjnym modelu zespoły te tworzą izolowane “silosy”, a sama komunikacja jest na kiepskim poziomie; dochodzi do nieporozumień, obwiniania siebie nawzajem za niepowodzenia i ogólnego braku zaufania. Metodyka DevOps zapewnia nam narzędzia i praktyki, które przełamują ten cykl i przypominają wszystkim zespołom, że dążą do tego samego celu.
Zwiększona efektywność i produktywność
Poza zadbaniem o komunikację wśród zespołów, DevOps opiera się na usprawnieniu przepływów pracy, automatyzacji powtarzalnych zadań i eliminacji procesów manualnych. Nic dziwnego, że firmy stosujące praktyki DevOps odnotowują znaczny wzrost produktywności zespołów.
Zwiększona niezawodność i stabilność
Integracja procesów w jeden usprawniony i możliwie zautomatyzowany proces dostarczania nie tylko przyspiesza rozwój – wpływa również na jakość kodu. W kulturze DevOps zespoły współpracują ze sobą od pierwszego dnia, a zapewnienie jakości jest zintegrowane z procesem, zamiast być powszechnie znienawidzoną ostatnią przeszkodą do pokonania przed wydaniem kodu. Takie środowisko umożliwia wyłapywanie i naprawianie błędów na wczesnym etapie. W ten sposób, gdy produkt jest wreszcie dostępny dla użytkownika, jego jakość jest znacznie lepsza.
Oszczędność kosztów
Co jest wynikiem skutecznej współpracy zespołów, zwiększonej efektywności i niezawodności końcowego produktu? To proste – oszczędność kosztów. Do takiego wniosku doszedłby (i powinien dojść) każdy przedsiębiorca. Nic dziwnego, że metodyka DevOps cieszy się coraz większą popularnością.
Redukcja kosztów nie jest tylko konsekwencją wszystkich wymienionych powyżej korzyści. Metodologia DevOps aktywnie zachęca do oszczędzania, opowiadając się za redukcją kosztów infrastruktury i wydatków operacyjnych. Istnieje nawet osobny termin opisujący to zjawisko: FinOps. FinOps.
Czy da się outsourcować kulturę?
Jakie jest najpopularniejsze błędne przekonanie o metodyce DevOps? Wiemy, wiemy, zadajemy same proste pytania. Ludzie zwykle myślą, że DevOps to rola inżyniera w organizacji. Innymi słowami, kiedy słyszą słowo DevOps, wyobrażają sobie nerda. role within an organization. In other words, when they hear DevOps, they visualize a nerdy guy.
Tyle że DevOps to nie człowiek.
I tutaj mamy podchwytliwe pytanie – wreszcie! Jeśli DevOps nie jest człowiekiem, to czy można to wyoutsourcować? I co ważniejsze, czy działa tu model body-leasingu?
Chociaż może się to wydawać sprzeczne z naszą intuicją, odpowiedź na oba pytania jest twierdząca. Jest to nie tylko możliwe, ale niesie też ze sobą dużo oczywistych i tych mniej oczywistych korzyści.
Jak to możliwe? Chociaż DevOps nie jest rolą, a zestawem praktyk i kulturową transformacją całej organizacji, musi istnieć osoba (lub osoby) zaznajomiona z tymi narzędziami i procesami. Mówiąc wprost, ktoś odpowiedzialny za wykonanie (lub przekształcenie) całego procesu.
Oczywiste korzyści body-leasingu specjalistów DevOps
Wprowadzenie metodyki DevOps w organizacji to ciężki orzech do zgryzienia. Wymaga poświęcenia i zrozumienia zarówno managementu, jak i zespołów zaangażowanych w te procesy. Dobrym pomysłem może być outsourcing takich usług u niezależnego dostawcy.
Zewnętrzny dostawca posiada z definicji całą potrzebną wiedzę, może zacząć zaraz po podpisaniu umowy, i co najważniejsze, może dostarczyć kolejnych ekspertów w razie rosnących potrzeb. I – uwaga spoiler – zwykle tak się dzieje.
Wiedza ekspercka
Firmy dostarczające usługi DevOps posiadają wysokiej klasy ekspertów na pokładzie. Można zaufać ich doświadczeniu, biorąc pod uwagę, że pracowali dla wielu firm z różnych branż oraz że widzieli i testowali przeróżne narzędzia i konfiguracje. Ich zadaniem jest dzielenie się z innymi swoją wiedzą i informowanie klientów o zaletach i wadach poszczególnych rozwiązań.
W modelu staff augmentation kontrahent nie jest nieznanym doradcą. Pracuje ramię w ramię z zespołem, żeby znaleźć najlepszy sposób na wprowadzenie praktyk DevOps, a także dba o praktyczną realizację związanych z tym zadań.
Natychmiastowa dostępność
Jeśli konsultant pracuje i zachowuje się jak pracownik, dlaczego by nie zatrudnić wewnętrznego inżyniera DevOps? To całkowicie uzasadnione pytanie, które pada zawsze przed podjęciem decyzji o outsourcingu. I zawsze jest na nie bardzo prosta odpowiedź: czas.
To żaden sekret, że na rynku brakuje inżynierów DevOps . Znalezienie kandydata, którego doświadczenie i preferencje wpasowują się w organizację, wymaga czasu i wysiłku.
Outsourcing pozwala firmie doświadczyć transformacji DevOps w ułamku czasu potrzebnego na zatrudnienie wewnętrznego inżyniera, a projekt można rozpocząć praktycznie od zaraz.
Skalowalność
Zwykle wygląda to tak, że firmy testują nowe rozwiązania w osobnych projektach dla wcześniejszego śledzenia wyników. Wdrożenie praktyk DevOps zdaje się powielać ten wzór.
Wyobraźmy sobie, że firma zatrudnia wewnętrznego inżyniera DevOps do przetestowania tej metody. Rezultaty? Oszałamiające. Ale problem o którym wspomnieliśmy w poprzednim akapicie jest nadal aktualny. Znalezienie kolejnego inżyniera DevOps wymaga czasu i zasobów. Tego samego czasu i zasobów, które można by było przeznaczyć na przekształcanie kolejnego projektu.
Ale jeśli inżynier DevOps byłby zatrudniony w ramach body-leasingu, wdrożenie do firmy kolejnego byłoby tylko kwestią jednego telefonu lub maila.
Jedną z najważniejszych zalet outsourcingu jest skalowalność – możesz sprawnie dostosowywać zespół do aktualnych potrzeb.
Zróżnicowane korzyści płynące z outsourcingu DevOps
Wiedza ekspercka, dostępność i skalowalność to oczywiste zalety jakiegokolwiek outsourcingu. Jeśli chodzi o staff augmentation metodyką DevOps, mamy tutaj co najmniej trzy nie aż tak oczywiste korzyści, o których chcielibyśmy wspomnieć.
Świeże spojrzenie
Podczas wdrażania zmian kulturowych, takich jak DevOps, nie unikniemy oceny bieżących przepływów pracy i kultury. Oczywiście, nowo zatrudniony inżynier DevOps powinien doskonale poradzić sobie z tym zadaniem, ale nie zapominajmy – ludzie są tylko ludźmi, rozpoczęcie nowej pracy jest stresującym doświadczeniem, a ocenienie firmy, do której się dopiero co dołączyło, jest naprawdę ciężkim wyzwaniem.
Zewnętrzny konsultant jest z definicji obcą osobą. Pracuje w firmie i jednocześnie wnosi do niej nową perspektywę, a ponieważ nie jest przez nią bezpośrednio zatrudniony, łatwiej jest mu przekazywać wiadomości – jakiekolwiek by one nie były.
Ekspert z zewnątrz szybko wyłapie niepotrzebne zawiłości czy bezsensowne zadania.
Autorytet
Wdrażanie praktyk DevOpsowych jest dla całej organizacji transformacyjnym doświadczeniem, i tak jak z każdą zmianą, możemy spodziewać się gwałtownej reakcji ze strony zespołu. Współpracownikom, którzy pracują w firmie od dłuższego czasu, łatwo jest przekonać nowo zatrudnionego inżyniera DevOps do zrezygnowania z wdrażania praktyk, których nie lubi lub (jeszcze) nie rozumie.
Kiedy firma zatrudnia eksperta z zewnątrz, wygląda to trochę inaczej. Konsultant ma do wykonania konkretne zadanie, a jego wiedza ekspercka pozwala mu na forsowanie zmian, które są według niego korzystne.
Niezależność
Kolejna nieoczywista zaleta outsourcingu DevOps wynika z podobnych powodów – zewnętrzny wykonawca, nawet pracujący na miejscu, nie musi wpasowywać się w zespół albo bać tego, czy zostanie przez niego polubiony. Dodatkowo ma większą swobodę w rozmowach z managementem. Praca, którą muszą wykonać, jest jasno określona – wszelkie inne obawy odkładamy na bok.
Wiadomo, że najlepszy scenariusz jest wtedy, gdy wszyscy pracują razem i rozumieją zachodzące zmiany – każdy inżynier DevOps, nieważne czy zewnętrzny lub wewnętrzny, powinien dołożyć wszelkich starań, żeby to osiągnąć. Jednak kiedy rzeczy idą nie po naszej myśli, czasami bycie osobą postronną ma swoje plusy.
Czy body-leasing specjalistów DevOps ma sens?
Używanie określenia “body-leasing” razem z DevOps może się wydawać dziwne, szczególnie że DevOps w swojej istocie nie jest rolą. Zdajemy sobie też sprawę, że może łatwiej byłoby wyobrazić sobie outsourcing całego teamu DevOps do partnera, ale mniejsze firmy mogą nie potrzebować pełnego zespołu. Takie organizacje czerpią korzyści z onboardingu osoby, która wie, jak wprowadzić zmiany i poprowadzić firmę we właściwym kierunku. Ta sama osoba może w przyszłości wziąć na siebie odpowiedzialność za narzędzia i technologie, które wdrożyła.
Znając deficyt inżynierów DevOps na rynku i odpowiedzialność, jaką niesie ze sobą ta rola, najrozsądniejszym możliwym rozwiązaniem może być zaufanie zewnętrznej firmie, która jest w stanie dostarczyć nam doświadczonego eksperta. Zewnętrzni konsultanci są w lepszej pozycji, aby propagować niezbędne zmiany niż nowy członek zespołu, niezależnie od jego doświadczenia.
Podsumowanie
Decyzja o outsourcingu czy body-leasingu nigdy nie jest łatwa, a już na pewno nie wtedy, gdy mówimy takich złożonych metodykach jak DevOps. Jednak zakładając deficyt profesjonalistów, czas potrzebny na onboarding pracownika, czy wyzwania związane z wdrożeniem metodyki DevOps, wybranie zaufanego partnera, który zapewni wykwalifikowanego i doświadczonego specjalistę, może być najlepszą możliwą opcją.