DevOps vs. DevSecOps – co odróżnia te terminy?

Strona główna » DevOps vs. DevSecOps – co odróżnia te terminy?
devops vs. desecops

DevOps oraz DevSecOps to stosunkowo nowe pojęcia, które na stałe zadomowiły się w świecie IT. Jednak co dokładnie one oznaczają? Czym się różnią? Właśnie to wyjaśniamy w tym artykule.

DevOps

DevOps to termin powstały nieco ponad 10 lat temu i aktualnie jest często wykorzystywany w świecie informatyki.

Dosłownie jest to skrót (a raczej złączenie) angielskich słów Development and Operations. Ale czym jest DevOps? Jest to połączenie zespołu rozwijającego oprogramowanie (deweloperów) z zespołem jego utrzymania.

Stosuje się szeroki wachlarz narzędzi współpracy, między innymi wideokonferencje, co daje lepsze zrozumienie wymagań. To też sprawia, że między tymi grupami zacieśnia się współpraca dająca owoce w postaci lepiej przygotowanego i szybciej rozwijanego produktu.

To właśnie z szybkością rozwoju wiąże się jeden z filarów DevOps – iteracyjny model pracy. Polega to na tym, że działające oprogramowanie jest jak najszybciej publikowane tak, aby „trafiło w ręce” użytkownika końcowego – wszak to właśnie on jest najlepszym testerem :). Co prawda, taki model pracy nie jest niczym nowym i stosowano go już wcześniej, jednak DevOps przyczynił się do jego popularyzacji.

Narodziny DevOps są źródłem powstania nowej specjalizacji właśnie też o nazwie „DevOps”. Osoby działające na tym obszarze często nazywane są nowoczesnymi informatykami i cechują się one bardzo dobrą znajomością obszaru zarówno tworzenia oprogramowania, jak i jego utrzymania.

Taki specjalista powinien znać się na kolejnych filarach DevOpsu. Warto tutaj sobie wymienić znajomość narzędzi do automatyzacji procesów, co znacznie przyczynia się do szybszego i łatwiejszego dostarczania nowych rozwiązań. Nie można zapomnieć o konteneryzacji i wirtualizacji, a także o sprawnym wykorzystywaniu chmur obliczeniowych.

W Polsce DevOps jest młodą, ale szybko rozwijającą się specjalizacją. Według najnowszych danych, początkujący pracownik na tym stanowisku może liczyć na zarobek netto rzędu 4 tysięcy złotych, natomiast osoba doświadczona nawet na ponad 12 tysięcy złotych.

Polscy DevOpsi wykazują się bardzo dobrą znajomością Basha, Shella oraz PowerShella, a także SQL-a, Pythona i PHP. Co ciekawe, ich ulubionymi systemami operacyjnymi są Windows oraz dystrybucje Linuxa firmy Red Hat.

DevSecOps

Zapewne po przeczytaniu znaczenia słowa „DevOps”, domyślacie się jak powstał termin „DevSecOps”. Tak, do Development oraz Operations dodano jeszcze jeden człon – Security.

Dotychczas bezpieczeństwem zajmował się oddzielny zespół, jednak iteracyjny model pracy owocujący szybko wydawanymi aktualizacjami sprawił, że było im ciężko nadążyć. Dlatego też chcąc wykorzystać pełny potencjał łączenia zespołów, do DevOps musimy dodać osoby odpowiedzialne za bezpieczeństwo.

W kulturze DevSecOps produkty powstają z myślą o bezpieczeństwie i odpowiedzialność za nią jest rozłożona na każdego z twórców.

Podobnie jak DevOps, DevSecOps bazuje na kilku filarach, chociażby na automatyzacji procesów czy wykorzystywaniu wygodnych i bezpiecznych rozwiązań.

Dodanie Security do DevOps sprawia, że twórcy znają zasady zachowania bezpieczeństwa, a wszelkie luki w zabezpieczeniach są wykrywane jeszcze w trakcie procesu tworzenia aplikacji. Ciągła piecza osób odpowiedzialnych za bezpieczeństwo nad rozwojem projektu sprawia, że nowe wersje oprogramowania mogą być wydawane relatywnie szybko.

DevOps versus DevSecOps

Całkiem niedawno również podczas GitHub DemoDays poszukiwano odpowiedzi na to pytanie.

Choć DevSecOps może wydawać się być tylko rozszerzoną wersją DevOps, tak wykorzystują one zjawisko łączenia zespołów do nieco innych celów, bowiem DevOps skupia się przede wszystkim na jak najszybszym dostarczaniu nowego oprogramowania. DevSecOps natomiast łączy prędkość z bezpieczeństwem, aby wydać zabezpieczoną aplikację tak szybko, jak to możliwe.

Celem DevSecOps jest promowanie szybkiego rozwoju oprogramowania na bazie bezpiecznego kodu. Zgodnie z tą filozofią, na każdym etapie rozwoju DevOpsi powinni myśleć o zabezpieczeniach swojego rozwiązania. Współpraca twórców z osobami odpowiedzialnymi za Security powinna być ciągła i elastyczna, a DevSecOps powinno utrzymać cykl wydawniczy bez narażania bezpieczeństwa.

Co z tego wszystkiego wynika?

Jeszcze młoda kultura DevOps na dobre zmieniła podejście do tworzenia oprogramowania. Połączenie twórców aplikacji z osobami odpowiedzialnymi za ich utrzymanie przełamało wiele barier i zaowocowało lepiej dopracowanymi i szybciej wydawanymi rozwiązaniami.

Na pierwszy rzut oka złączenie ze sobą dwóch różnych działów sprawiło, że tworzone już od podstaw z myślą o ich zarządzaniu i operowaniu systemy informatyczne są lepsze i wydajniejsze, a iteracyjny model po prostu się sprawdza. W tym połączeniu jednak czegoś zabrakło.

Czegoś, co właśnie wypełnia DevSecOps. Ten model potrafi być różnie nazywany, jednak dąży do tego samego – tworzenia aplikacji bazujących na sprawdzonym i bezpiecznym kodzie. Już od samych podstaw system informatyczny budowany z myślą o bezpieczeństwie jest po prostu lepszy i odczują to nie tylko użytkownicy końcowi, ale też sami twórcy, jak i zespół utrzymania.

Z tego też wynika, że nowoczesny DevOps nie może (a przynajmniej nie powinien) istnieć bez bezpieczeństwa. Co prawda, często o słowie „Security” się zapomina i termin „DevOps” pozostaje tym popularniejszym, tak chcąc działać na tej płaszczyźnie musimy poznać podstawy bezpiecznego tworzenia aplikacji, jak i nauczyć się współpracować z osobami odpowiedzialnymi za zabezpieczenia.

Autor: Grzegorz Cichocki

Czytaj także – Dwie warstwy strony internetowej, czyli czym różni się Front-end od Back-endu

ZOBACZ RÓWNIEŻ