Bartosz Komin | Usługi chmurowe | 15.04.2020
Ostatnio wiele osób spoza branży pytało mnie, kim jest DevOps i czym się zajmuje specjalista na tym stanowisku w pracy. Nie dziwi mnie to zainteresowanie – pojawia się coraz więcej ogłoszeń organizacji, które poszukują do swoich projektów DevOpsów. Skąd ta popularność? Wejdźmy głębiej w tajniki pracy DevOpsa i spróbujmy poszukać odpowiedzi na pytanie, dlaczego coraz więcej managerów IT decyduje się na stworzenie takiej roli w projekcie.
Idź do:
Dawno, dawno temu, za czasów, gdy wszystkie aplikacje na świecie budowane były przez zespoły developerskie w architekturze monolitycznej, uruchomieniem tychże aplikacji zajmował się wszechmogący Admin. Dlaczego wszechmogący? Admin posiadał ogromną wiedzę, a także umiejętności, zarówno w zakresie sprzętu, jak i jego konfiguracji. Nic więc dziwnego, że jego władza była duża. W czasach, gdy rozwiązania chmurowe nie istniały, spoczywała na nim ogromna odpowiedzialność za prawidłowe konfigurowanie monolitycznej architektury w środowisku produkcyjnym, w którym ruch często był ogromny, a wymagania wobec niezawodności – wysokie. Taki podział obowiązków tworzył jednak ogromne bariery między zespołem wytwarzającym oprogramowanie a wymienionym adminem. Osoba kontrolująca dostęp do zasobów serwera, zamknięta w swojej twierdzy, nie rozumiała trudności napotkanych przez developerów i nierzadko winiła ich za wszystkie problemy. W drugą stronę działało to podobnie, a brak komunikacji potrafi poważnie spowolniać każdy projekt.
Dziś mamy dużo większe możliwości w zakresie wytwarzania oprogramowania i nie boimy się eksperymentować, ponieważ dzięki rozwiązaniom chmurowym nie wdrażamy zmian bezpośrednio w środowisku produkcyjnym. Pracujemy zwinnie, w zgodzie z metodami Agile, stawiamy na komunikację, transparentność, budujemy zgrane zespoły, zwracając uwagę na Time to Market. W dobie start-upów zrodziła się też potrzeba szybkiego uruchomienia środowiska developerskiego oraz wdrażania w środowisku produkcyjnym choćby podstawowej wersji produktu (czyli MVP – Minimum Viable Product). To pozwala szybko sprawdzić słuszność założeń wobec nowego rozwiązania. Duża złożoność wymagań biznesowych oraz poziom skomplikowania budowanych narzędzi wymuszają z kolei większą specjalizację umiejętności danych członków zespołu developerskiego. Wcześniejsze podejście – jeden specjalista od wszystkiego: od programowania, po wdrożenie produktu – nie ma dziś już racji bytu. Developer, skupiony na dostarczaniu oprogramowania, nie ma wystarczająco dużo czasu na wdrażanie go w środowisku serwerowym. Tak właśnie powstała potrzeba wskazania w zespole specjalisty, którego cechowałyby umiejętności w obszarze tworzenia aplikacji, ale także znajomość procesów ich wdrożenia. I tym kimś jest właśnie DevOps (ang. Development and Operations).
Dowiedz się więcej: Zespoły DevOps
Przeczytaj także o: Korzyściach z migracji firm do chmury
DevOps to rola, w której specjalista jest lub może być odpowiedzialny za poniższe obszary:
Choć często pojawiają się ogłoszenia o pracę na stanowisku „DevOps Engineer”, niektórzy twierdzą, że nie ma takiej roli. Prawdopodobnie dlatego, że zakres obowiązków takiej osoby bywa bardzo różny, w zależności od rozmiaru projektu. W praktyce możemy więc spotkać różne konfiguracje tego stanowiska pracy:
Zespół infrastruktury odpowiada za część serwerową, a DevOps jest „przedstawicielem” zespołu rozwijającego oprogramowanie, kontaktującym się z zespołem, który zajmuje się infrastrukturą.
Plusy
Minusy
Plusy
Minusy
Jak widać, choć DevOps jest specjalistą o szerokim zakresie kompetencji, w niczym nie przypomina zamkniętego w serwerowni administratora. Wiele organizacji chętnie zatrudnia specjalistów DevOps, a nie które firmy nawet całe zespoły DevOps, gdyż stoją za tym konkretne korzyści:
Przeczytaj także: Automatyzacja procesów z Azure Durable Function
Pędząca transformacja cyfrowa sprawia, że podejście do rozwoju oprogramowania się zmienia, a firmy szukają specjalistów, którzy usprawnią i przyspieszą ten proces. Pozyskanie ich jest jednak niełatwe i w 2019 roku specjaliści DevOps znajdowali się wg raportu LinkedIn na trzecim miejscu najbardziej pożądanych kompetencji. Nic dziwnego, że coraz więcej organizacji publikuje oferty pracy dla DevOps Engineera. Część firm decyduje się także na zatrudnienie całego zespołu DevOps, korzystając ze wsparcia firm specjalizujących się w rozwoju oprogramowania. Powody są różne: trzeba skrócić czas wdrożenia aplikacji, jest chęć poprawy bezpieczeństwa i komunikacji między zespołami projektowymi czy chęć posiadania wysokiej jakości aplikacji. A jaki byłby twój powód?
Dodaj komentarz: