Blog
DevOps

Czym nie jest DevOps?

Dla tych, kt├│rzy od lat pracuj─ů z DevOps i s─ů mocno zaanga┼╝owani w t─Ö metodyk─Ö, jej rosn─ůca popularno┼Ť─ç jest tak ekscytuj─ůca, jak dostanie pierwszej pracy zaraz po studiach! No dobrze, mo┼╝e nie a┼╝ tak ekscytuj─ůca, ale w dalszym ci─ůgu naprawd─Ö super. Coraz wi─Öcej firm wszystkich rozmiar├│w decyduje si─Ö na DevOps, wdra┼╝aj─ůc praktyki zwi─ůzane z metodyk─ů bezpo┼Ťrednio w podstawowe strategie.

Z jednej strony taka sytuacja daje zespo┼éom wszystko to, czego potrzebuj─ů do rozpocz─Öcia podr├│┼╝y z DevOps lub do rozwoju istniej─ůcych zastosowa┼ä w wi─Ökszym stopniu. Z drugiej strony, kiedy metoda ta staje si─Ö obowi─ůzkowa, pewna cz─Ö┼Ť─ç oddolnej pasji dla niej mo┼╝e przygasn─ů─ç, poniewa┼╝ samo s┼éowo coraz cz─Ö┼Ťciej jest nadu┼╝ywane lub u┼╝ywane w nieodpowiedni spos├│b.

DevOps obejmuje now─ů kultur─Ö wsp├│┼épracy, kt├│ra uwzgl─Ödnia liczne praktyki, po┼é─ůczone dla metodologii ci─ůg┼éego wdra┼╝ania oprogramowania. Metodologia ta k┼éadzie znaczny nacisk na p─Ötle informacji zwrotnej, wsp├│┼éprac─Ö i ci─ůg┼é─ů popraw─Ö. Wymaga fundamentalnych zmian w kulturze i obejmuje tak wiele praktyk, ┼╝e dla tych, kt├│rzy dopiero rozpoczynaj─ů podr├│┼╝ z t─ů metod─ů, mo┼╝e by─ç to przyt┼éaczaj─ůce.

Zamiast podkre┼Ťlania wszystkiego, czym jest DevOps, my┼Ťl─Ö, ┼╝e dobrze by┼éoby podkre┼Ťli─ç, czym nie jest.

DevOps nie ┼é─ůczy po prostu zespo┼é├│w programist├│w i administrator├│w

Wszyscy to s┼éyszeli┼Ťmy, kiedy kto┼Ť zaczyna m├│wi─ç o DevOps. „Po┼é─ůczmy zespo┼éy administrator├│w i programist├│w i voil├á! Mamy DevOps!.” Metoda ta ┼é─ůczy zestaw proces├│w i praktyk, kt├│re nale┼╝y przyj─ů─ç w ca┼éym procesie dostawy rozwi─ůzania, a tak┼╝e obejmuje wielu interesariuszy. Kilka kluczowych praktyk w przyj─Öciu metody obejmuje ci─ůg┼ée wdra┼╝anie (CI) i ci─ůg┼ée dostarczanie (CD). Proste po┼é─ůczenie tych dw├│ch zespo┼é├│w i nazwanie ich DevOps nie realizuje tych praktyk.

DevOps nie jest oddzielnym zespołem

Ustanowienie oddzielnego zespo┼éu to kolejna pu┼éapka, w kt├│r─ů wpada wiele organizacji zaczynaj─ůcych swoj─ů przygod─Ö z t─ů metod─ů. Og├│lnie rzecz ujmuj─ůc, nie jestem fanem zespo┼éu DevOps, poniewa┼╝ ostatecznie prowadzi on do wi─Ökszej liczby silos├│w. Zauwa┼╝y┼éem r├│wnie┼╝, ┼╝e tworzenie takich zespo┼é├│w mo┼╝e prowadzi─ç do dalszych niejasno┼Ťci, je┼Ťli misja nie zosta┼éa wyra┼║nie okre┼Ťlona.

Istniej─ů przypadki, kiedy tymczasowe zespo┼éy DevOps maj─ů sens – mog─ů pom├│c w uruchomieniu proces├│w i potencjalnego oprzyrz─ůdowania, koniecznego do przyj─Öcia tych proces├│w. Kluczowe jest jednak to, ┼╝eby sytuacja ta by┼éa tymczasowa, co cz─Östo lepiej sprawdza si─Ö w teorii, ni┼╝ w praktyce. Mo┼╝na znale┼║─ç kilka ┼Ťwietnych blog├│w, kt├│re omawiaj─ů zespo┼éy. Jednym z takich blog├│w jest blog Matthew Skeltona: „Jaka struktura zespo┼éu jest odpowiednia dla rozwoju DevOps?” (ang. What Team Structure is Right for DevOps to Flourish?)

DevOps nie jest narz─Ödziem

Tak naprawd─Ö niezwykle cieszy mnie rosn─ůca liczba narz─Ödzi, dzi─Öki kt├│rym mo┼╝emy w dalszym ci─ůgu rozwija─ç zastosowania DevOps. Zauwa┼╝y┼éem jednak, ┼╝e wykorzystanie jednego lub dw├│ch narz─Ödzi zaczyna prowadzi─ç do sytuacji, w kt├│rej DevOps postrzegane jest jako narz─Ödzie. Ile razy s┼éysza┼ée┼Ť:

„korzystamy ju┼╝ z DevOps. Mamy narz─Ödzie Ansible.”
„Wykorzystujemy DevOps. Do automatycznego wdra┼╝ania wykorzystujemy narz─Ödzie Jenkins.”

Jestem ogromnym fanem narz─Ödzi typu Ansible, Puppet i Jenkins, jednak my┼Ťl─Ö, ┼╝e si┼éa DevOps nie jest w pe┼éni wykorzystywana, je┼Ťli por├│wnuje si─Ö wykorzystanie pojedynczego narz─Ödzia do automatyzacji z sukcesem. Zastosowanie automatyzacji i oprzyrz─ůdowania oczywi┼Ťcie jest cz─Ö┼Ťci─ů DevOps, jednak jest tak wy┼é─ůcznie w przypadku po┼é─ůczenia z kompleksowymi praktykami zwi─Ökszonej wsp├│┼épracy z ci─ůg┼é─ů integracj─ů/ci─ůg┼éym dostarczaniem, zwi─Ökszon─ů p─Ötl─ů informacji zwrotnej i ci─ůg┼é─ů popraw─ů (a to tylko kilka przyk┼éad├│w)! DevOps to podr├│┼╝, a podr├│┼╝ mo┼╝e rozpocz─ů─ç si─Ö od narz─Ödzia. Cel powinien polega─ç jednak na uprzednim zidentyfikowaniu strategii, a nast─Öpnie na znalezieniu narz─Ödzia lub ┼éa┼äcucha narz─Ödzi, kt├│re ten cel spe┼éni─ů.

DevOps nie jest strategi─ů, kt├│ra pasuje do wszystkiego

Poniewa┼╝ istnieje tak wiele si┼é nap─Ödzaj─ůcych biznes i technologii, kt├│re nale┼╝y wzi─ů─ç pod uwag─Ö przy ustalaniu og├│lnej strategii dotycz─ůcej przyj─Öcia metody DevOps, a tak┼╝e identyfikacji ┼éa┼äcucha narz─Ödzi dla tej metodologii, wa┼╝ne jest zastosowanie tych samych zasad DevOps w strategii zwi─ůzanej z t─ů metod─ů. Zaakceptuj zmian─Ö, zbierz metryki, zrozum feedback, szybko pono┼Ť pora┼╝k─Ö i pr─Ödko wr├│─ç na prawid┼éowy kurs. Przyk┼éadowo, je┼Ťli pocz─ůtkowo identyfikujesz narz─Ödzie, kt├│re nie sprawdza si─Ö ju┼╝ dla danej technologii i ┼Ťrodowiska, porzu─ç je i kontynuuj dalsze dzia┼éania. Tylko dlatego, ┼╝e wykorzysta┼ée┼Ť je we wcze┼Ťniejszym projekcie, nie znaczy, ┼╝e doskonale sprawdzi si─Ö przy nast─Öpnym. Musimy najpierw zrozumie─ç obecn─ů strategi─Ö i ┼Ťrodowisko, a nast─Öpnie odpowiednio reagowa─ç.

DevOps nie jest automatyzacj─ů

Takie stwierdzenie mog┼éo przyci─ůgn─ů─ç uwag─Ö kilku os├│b, dlatego wyja┼Ťni─Ö: DevOps nie jest wy┼é─ůcznie automatyzacj─ů. Automatyzacja stanowi absolutnie ogromn─ů cz─Ö┼Ť─ç tej metody, jednak nie jedyn─ů. Wdro┼╝enie pewnego stopnia automatyzacji cz─Östo stosuje si─Ö wymiennie z DevOps. My┼Ťl─Ö, ┼╝e zrozumienie kluczowych praktyk zwi─ůzanych z DevOps stanowi doskona┼éy pocz─ůtek dla zagwarantowania, ┼╝e metoda ta postrzegana jest jako co┼Ť wi─Öcej, ni┼╝ po prostu automatyzacja. Zrozumienie g┼é├│wnych zasad DevOps to klucz do zrozumienia prawdziwych korzy┼Ťci, jakie p┼éyn─ů z przyj─Öcia tej metodyki.

DevOps to wiele aspekt├│w – my┼Ťl─Ö, ┼╝e moja ogromna pasja dla tej metody nie jest odosobniona. Istnieje r├│wnie┼╝ wiele aspekt├│w, kt├│rymi DevOps nie jest, lub kt├│rymi nie jest wy┼é─ůcznie. Je┼Ťli dopiero rozpoczynasz swoj─ů podr├│┼╝ z t─ů metod─ů lub rozwijasz istniej─ůcy ju┼╝ model, upewnij si─Ö, ┼╝e wszystkie osoby w zespole maj─ů podstawow─ů wiedz─Ö na ten temat i s─ů ┼Ťwiadomi tego, ┼╝e strategia zwi─ůzana z DevOps jest kluczowa dla Twojego projektu. Ogromne znaczenie ma pomaganie wszystkim innym w zrozumieniu tego, jak wiele aspekt├│w uwzgl─Ödnia DevOps. I jak wiele nie uwzgl─Ödnia.

Dodaj komentarz!