DevOps powraca

Metodologia DevOps zadebiutowała pięć lat temu, ale mimo swoich zalet dotąd nie cieszyła się popularnością, na jaką zasługuje. Obecnie znów przyciąga uwagę producentów oprogramowania, ponieważ niesie ze sobą duży potencjał korzyści.

Termin DevOps to złączenie powstałe z dwóch słów: development oraz operations. To jedno z tych słów-wytrychów, które wydają się być zrozumiałe dla każdego z branży IT. Tymczasem niewiele osób naprawdę wie, co się za nim kryje. Z ankiety przeprowadzonej przez CA wynika, że 45 % pytanych nie wiedziało, co to jest DevOps, zaś 17 % odpowiedziało, że to tylko pusty slogan.

W rzeczywistości chodzi o takie podejście do prowadzenia projektów IT, aby faktycznie realizować je iteracyjnie, zgodnie z duchem Agile. Jest to nowoczesna i efektywna ścieżka konfigurowania środowisk programistycznych i testowych, które muszą być na tyle elastyczne i skalowalne, aby umożliwiać tworzenie coraz większej liczby coraz lepszych aplikacji, czego oczekuje dzisiejszy biznes. Metodologia ta łączy światy funkcjonujące z reguły oddzielnie: zespoły rozwijające oprogramowanie (Dev) z zespołami operacyjnymi (Ops) w jeden zintegrowany, ciągły proces. DevOps ma też pomagać w przełamywania barier między Dev i Ops. Do tego wykorzystuje ludzi, procesy i technologie, aby stymulować współpracę oraz innowacyjność w całym procesie tworzenia oprogramowania. Celem tej współpracy są korzyści biznesowe, wynikające z większej płynności i szybkości realizowania projektów.

W duchu Agile

Zespoły deweloperskie i operacyjne zawsze powinny być częścią zintegrowanych procesów, jednak w praktyce nie jest to łatwe do zrealizowania, a firmy prześcigają się, aby zatrudnić inżynierów biegłych w DevOps. Problem polega na tym, że deweloperzy i osoby z działów operacyjnych z reguły mają zupełnie inne cele. Programiści poszukują innowacji, ich zadaniem jest tworzenie nowych, innowacyjnych rozwiązań. Z kolei zespoły operacyjne mają zapewnić ciągłość działania podlegającym im systemom. Od deweloperów nikt nie wymaga, aby zajmowali się takimi kwestiami.

Wśród programistów ten stan rzeczy zaczął się zmieniać już w 2001, kiedy to opublikowano manifest Agile. Wtedy deweloperzy zaczęli się zastanawiać, jak być bliżej użytkownika i jego potrzeb. Zaczęli przesuwać środek ciężkości z innowacji w kierunku krótkich cykli produkcyjnych i komfortu korzystania z aplikacji przez użytkownika. W praktyce oznacza to wiele iteracji i udostępnianie produktu (działającego kodu) tak wcześnie, jak to tylko możliwe. Zamiast starać się stworzyć doskonałą aplikację, wypuszcza się ją taką, jaka jest. Jest to koncepcja wiecznej wersji testowej (beta). Po krótkich, trwających kilka tygodni sprintach, daje się użytkownikom działający kod i zbiera opinie. Agile zasadniczo oznacza zdolność do szybkiego wprowadzania zmian. Działając w takim systemie, można szybko ulepszać aplikacje, dostosowując je do potrzeb. W świecie działów operacyjnych nie było podobnej inicjatywy aż do czasu pojawienia się DevOps.

DevOps ma wiele wspólnego z open source. Jest to bowiem ruch kulturalny, a wiele koncepcji współpracy zapożycza właśnie ze świata open source. Jest to kultura pracy razem, jako zespół. DevOps jest ważnym elementem, który umożliwia z jednej strony stworzenie warunków do organizowania nawet dużych zespołów, a z drugiej pozwala na wykorzystanie modelu open source, dzięki któremu proces tworzenia oprogramowania może przebiegać stosunkowo szybko.

Środkiem, który umożliwia osiągnięcie korzyści biznesowych, jest automatyzacja procesów, czyli stworzenie kodu realizującego funkcje, które dotychczas wymagały czasochłonnej, ręcznej pracy. To może prowadzić do ogromnych oszczędności.

Zasadniczo Devops zakłada zwiększenie zdolności osób zaangażowanych w projekt do reagowania na potrzeby i sygnały płynące od klientów. Przykładowo, jeśli po wprowadzeniu zmian aplikacja przestaje działać, z pewnością nie służy to interesom klienta. Im prędzej można taki problem wyłapać, tym mniej kosztowne będą jego skutki. W zespole DevOps może zaoferować więcej funkcji, niż klient w ogóle chciał, a jednocześnie zapewnić ciągłość działania aplikacji.

DevOps dla każdego

DevOps narodził się w dużych firmach, jak Google czy Netflix, które nie mogły pozwolić sobie na nieskoordynowane funkcjonowanie działów deweloperskich i operacyjnych. Dlatego jest lepiej dopasowany do specyfiki korporacji. W mniejszych firmach nawiązanie współpracy między działami jest łatwiejsze. Natomiast w dużych organizacjach każdego dnia powstaje masa nowego kodu. W takich okolicznościach z dużym prawdopodobieństwem w kodzie ukryje się jakiś błąd. Narzędzia deweloperskie, jak Puppet czy Chef ułatwiają administratorom automatyzację wykrywania błędów i pomagają w przezwyciężeniu największych wyzwań związanych z infrastrukturą. DevOps wprowadza monitorowanie oraz inne narzędzia, które umożliwią szybkie diagnozowanie problemów.

DevOps przynosi korzyści nie tylko firmom technologicznym i sprawdza się nie tylko w Dolinie Krzemowej. Z powodzeniem używają go, m.in. firmy z branży finansowej. Jest to metodologia dla każdego, kto chce być bardziej zwinny. Dla IT jest to sposób, aby trafniej realizować potrzeby użytkowników i zyskać na znaczeniu. Obecnie działy informatyczne są bowiem spychane nieco na bok, ponieważ pieniądze na realizację projektów coraz częściej należą do jednostek biznesowych. Wykorzystując DevOps, IT może wcześniej włączyć się w realizację projektu. Deweloperzy mogą zastanowić się nad najlepszą implementacją i dobrać odpowiednie narzędzia automatyzujące.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200