DevOps - czym jest i dlaczego warto?

3/23/2022

Termin DevOps powstał z połącznia dwóch wyrazów developers (dev) i operations (ops). Już sama nazwa wskazuje, że mamy do czynienia z połączeniem do niedawna dwóch całkowicie odmiennych światów – świata programistów, tworzących software oraz świata administratorów, którzy odpowiadają za bieżące funkcjonowanie tego oprogramowania.  

Mówiąc o DevOpsie należy wymienić trzy wzajemnie połączone ze sobą obszary. Pierwszy z nich, to obszar obejmujący kwestie kulturowe i międzyludzkie, dotyczący współpracy zespołowej i stylu komunikacji. Drugi dotyczy sposobu organizacji i działania procesów biorąc pod uwagę cały cykl wytwarzania i utrzymywania oprogramowania. Ostatni z obszarów, to nic innego jak właściwy dobór technologii i narzędzi niezbędnych do produkcji i utrzymywania oprogramowania w modelu DevOps. 

Dlaczego DevOps? 

Warto spojrzeć na DevOps z perspektywy celu funkcjonowania w takim modelu oraz pytania, które od razu się nasuwa, dlaczego chcemy w ten sposób pracować. Odpowiedź wydaje się prosta. Praca w modelu DevOps pozwala na lepszą obsługę klientów i użytkowników aplikacji oraz umożliwia stałe dostarczanie wartości dodanej do naszych rozwiązań. Idąc o krok dalej i biorąc pod uwagę aspekty biznesowe można pokusić się o stwierdzenie, że DevOps pomaga firmom i organizacjom w osiągnięciu przewagi konkurencyjnej. Niewątpliwie korzyści biznesowe, których można oczekiwać, wynikają przede wszystkim ze skrócenia czasu potrzebnego do tworzenia i wdrażania oprogramowania, zwiększenia jego niezawodności, jak również z poczucia odpowiedzialności wszystkich członków zespołu za projekt realizowany w modelu DevOps.  

Świat DevOps i chmury publiczne 

DevOps łaczy się z kilkoma charakterystycznymi procesami. Są to między innymi procesy Continuous Integration i Continuous Delivery (CI/CD), które umożliwiają skrócenie czasu potrzebnego od momentu pojawienia się pomysłu dotyczącego nowej funkcjonalności lub też wykrycia błędu, poprzez stworzenie odpowiedniego kodu, testy, aż po implementację w środowisku produkcyjnym. Istotna jest również miana podejścia do tworzenia i zarządzania środowiskiem, w którym aplikacje są uruchamiane. 

Obudowanie chmur publicznych API oraz rosnąca popularność mikroserwisów umożliwiły kreowanie środowisk wykorzystując podejście Infrastructure as a Code, a więc definiując środowisko za pomocą kodu, traktowanego analogicznie, jak kod aplikacji. Model ten, dzięki uniezależnieniu od ograniczeń warstwy fizycznej środowiska, umożliwia działanie w duchu devopsowym, czyli pozwalającym na szybką reakcję na zmiany wymagań i dostosowanie się do nowych potrzeb. Kolejny ważny proces DevOps, szczególnie istotny z punktu widzenia funkcjonowania i utrzymania aplikacji, to stały monitoring oraz gromadzenie i analizowanie logów w aplikacji, aby zapewnić nie tylko wysoką dostępność, ale także bezpieczeństwo, wydajność i użyteczność dla użytkowników. Wszystko to jest możliwe tylko dzięki odpowiednim narzędziom, a wiele z nich dają właśnie chmury publiczne. Dzięki temu możliwe jest tworzenie aplikacji zgodnie z modelem DevOps , kreowanie w sposób elastyczny środowiska potrzebnego do ich uruchomienia, a także monitorowanie i utrzymywanie tworzonych aplikacji. To pokazuje, jak bardzo cloud devops, czyli światy DevOps i chmur publicznych, są ze sobą ściśle powiązane.  

DevOps w Atende

Podsumujmy najważniejsze korzyści, jakie niesie za sobą przejście na model DevOps: 
- Krótszy czas wdrażania nowych wersji oprogramowania, co pozwala na szybszą reakcję na zmieniające się wymagania użytkowników i weryfikację w praktyce nowych pomysłów .
- Wzrost niezawodności aplikacji i ich bezpieczeństwa poprzez powszechnie stosowaną automatyzację oraz definiowanie środowisk oraz polityk za pomocą kodu.


Patrząc wstecz my w Atende zawsze byliśmy po stronie Ops. Dzięki świadczeniu usług zarządzanych opieki na środowiskami IT naszych klientów na przestrzeni ostatnich kilku lat dostrzegamy w sposób namacalny jak zmienia się nasza rola i jak bardzo rośnie znaczenie współpracy z działami deweloperów. Microsoft Azure, Google Cloud Platform (GCP), Amazon Web Services (AWS), Kubernetes, Terraform, ciągłe monitorowanie wydajności aplikacji, ścisła współpraca, elastyczność, wspólny cel, to tylko niektóre z aktualnych haseł definiujących nasz stosunek do współpracy z klientami i ich działami programistów. 

Masz pytania?

Czekam na kontakt od Ciebie.

Paweł Pętlicki

Cloud and Managed Services Manager

[email protected]

LinkedIn