Zwrot Software Delivery Lifecycle (SDLC), jak sama nazwa wskazuje, odnosi się do wieloetapowego procesu rozpoczynającego się od kodu źródłowego, poprzez testowanie oprogramowania, pakowanie i beta, a kończąc na wdrożeniu i produkcji. Cały ten proces nie jest zadaniem jednego człowieka; w rzeczywistości jest to zbiorowy wysiłek, który wymaga współpracy zarówno ze strony programistów, jak i operacji IT. Stąd właśnie pochodzi termin DevOps. Przedsiębiorstwa dostrzegły, że praktyka administrowania systemami ewoluowała w coś zasadniczo innego. Dlatego organizacje zaczęły przyjmować praktykę DevOps, ponieważ zrozumiały, że strony internetowe mogą być lepiej prowadzone, gdy wdrażanie i operacje są wykonywane we współpracy. Niektórzy uważają nawet, że DevOps jest logiczną ewolucją posiadania sysadminów i deweloperów uczestniczących wspólnie w cyklu rozwoju Agile i wykorzystujących metodologie Agile do pracy nad systemem.

Czym jest DevOps?

DevOps nie jest dokładnie rolą, ale bardziej jak buzzword używany dużo wokół tych dni. DevOps to kultura, świat, w którym programiści, pracownicy działu zapewnienia jakości (QA) i administratorzy systemów pracują ze sobą bliżej niż w tradycyjnych środowiskach pracy. DevOps to połączenie idei, praktyk i narzędzi, które zwiększają zdolność organizacji do dostarczania produktów z najwyższą wydajnością. Praktyka DevOps skupia się na tym, aby SDLC był jak najbardziej płynny i bezwysiłkowy. Poprzez ujednolicenie rozwoju i operacji, ma na celu wyeliminowanie silosów organizacyjnych, które uniemożliwiają firmom eksperymentowanie i próbowanie nowych rzeczy, co czyni je bardziej konkurencyjnymi, ponieważ bardziej efektywne funkcje pojawiają się częściej, błędy są usuwane szybko, a nawet drobne przeszkody są szybko łagodzone. Wspiera kulturę innowacji, która promuje automatyzację różnych procesów w organizacji, dzięki czemu zespoły ds. rozwoju i operacji mogą współpracować w celu szybszego budowania, testowania i wdrażania oprogramowania.





Czym jest SysAdmin?

Administrator systemu, lub sysadmin, jest również częścią zespołu rozwojowego w całym SDLC i jest niejasno podobny do inżyniera DevOps w praktyce, ale nieco złożony. W rzeczywistości rola administratora systemu jest jedną ze złożonych i zróżnicowanych ról w organizacji. Mimo, że administrator systemu nie odgrywa bardziej zaangażowanej roli jak inżynier DevOps, ma do odegrania podstawową rolę. Rola administratora systemu jest wąsko ukierunkowana na konfigurację i funkcjonowanie systemów komputerowych i serwerów, a także upewnia się, że systemy są zawsze sprawne. W przeciwieństwie do DevOps, administratorzy systemów zazwyczaj nie angażują się bezpośrednio w proces tworzenia oprogramowania, ale ma za zadanie konfigurację produktu, monitorowanie rozwiązań, rozwiązywanie problemów i w zasadzie wszystko, co jest wymagane do uruchomienia oprogramowania. Administratorzy systemu są w rzeczywistości mózgiem całej infrastruktury do uruchomienia oprogramowania. Jako administrator systemu, twoim głównym zadaniem jest upewnienie się, że środowisko produkcyjne jest gotowe i działa, oraz zajęcie się umowami o poziomie usług (SLA).

Różnica między DevOps a SysAdminem

Praca



– DevOps to połączenie pomysłów, praktyk i narzędzi, które zwiększają zdolność organizacji do dostarczania produktów z najwyższą wydajnością. Praca inżyniera DevOps polega na promowaniu automatyzacji w różnych procesach w organizacji, tak aby zespoły rozwoju i operacji mogły współpracować w celu budowania, testowania i wdrażania oprogramowania szybciej. DevOps jest bardziej skoncentrowany na współpracy między zespołami. Administrator systemu jest również częścią zespołu rozwojowego, ale jest bardziej skoncentrowany na konfiguracji i konserwacji systemów komputerowych i serwerów.

Rola

– DevOps nie jest dokładnie rolą, ale światem, w którym deweloperzy, zapewnienie jakości (QA) i administratorzy systemów pracują ze sobą ściślej niż w tradycyjnych środowiskach pracy. Praktyka DevOps koncentruje się na tym, aby SDLC przebiegało jak najsprawniej i bez wysiłku. Celem jest połączenie codziennych zadań związanych z procesem tworzenia oprogramowania w jeden, ciągły zestaw procesów. Podstawową odpowiedzialnością administratora jest utrzymanie, zarządzanie i aktualizacja oprogramowania, sprzętu i sieci organizacji. Inne obowiązki obejmują upewnienie się, że środowisko produkcyjne jest sprawne i działa, oraz zajmowanie się umowami o poziomie usług (SLA).



Focus

– Celem inżyniera DevOps jest upewnienie się, że każdy zespół zaangażowany w SDLC pracuje i współpracuje ze sobą na każdym etapie, począwszy od kodu źródłowego, poprzez testowanie oprogramowania, pakowanie i beta, a skończywszy na wdrożeniu i produkcji. Skupia się na tym, aby SDLC był jak najbardziej płynny i bezproblemowy. Sysadmin, z drugiej strony, jest wąsko skupiony na instalacji i konfiguracji nowego oprogramowania i sprzętu, analizie logów systemowych, rozwiązywaniu problemów, zarządzaniu i konserwacji serwerów komputerowych, rozwiązywaniu zapytań użytkowników, utrzymywaniu bezpieczeństwa i innych.

Podsumowanie

DevOps jest logiczną ewolucją metodologii rozwoju oprogramowania znanej jako „Agile” oraz praktyk zwanych „continuous delivery”. Chociaż, DevOps jest bardziej o współpracy między zespołami rozwoju, operacji i Quality Assurance, to nie kończy się na współpracy. Może być przydatny w górę i w dół całego łańcucha organizacyjnego. Chodzi o to, aby przełamać bariery organizacyjne między rozwojem a operacjami, a tym samym sprawić, że SDLC będzie tak płynne i bezwysiłkowe, jak to tylko możliwe. Administrator systemu nie odgrywa tak zaangażowanej roli jak inżynier DevOps, ale jego rola jest nie do przecenienia. Głównym zadaniem SysAdmina jest upewnienie się, że środowisko produkcyjne działa przez cały czas. W rzeczywistości, SysAdmin jest mózgiem całej infrastruktury do uruchamiania oprogramowania.