Nasz proces

DevOps

Metodyka DevOps (Development and Operations) jest wykorzystywana i rozwijana od 2009 roku. Głównie przez duże firmy, korporacje, ale coraz częściej bywa także stosowana do wytwarzania oprogramowania przez mniejsze organizacje. 

Stworzona została w celu uściślenia, skoordynowania prac programistów zajmujących się utrzymaniem i rozwojem oprogramowania. Z czasem poszerzona została także o kwestie bezpieczeństwa całej infrastruktury (DevSecOps – Development, Security and Operations) i stała się jednym najpopularniejszych obecnie "narzędzi", metodyk tworzenia produktów cyfrowych.

Podstawą DevOps jest budowanie produktu:

  • integralnego – dzięki pełnej perspektywie jego oglądu
  • bezpiecznego – stale monitorowanego pod kątem jakości, spójności i bezbłędności
  • zracjonalizowanego – tworzonego na podstawie danych.

Znajduje szczególne zastosowanie w projektach, w których występuje:

  • duża ilość i częstotliwość zmian (dobowych, tygodniowych, miesięcznych)
  • konieczność minimalizacji ryzyka
  • konieczność skrócenia czasu pracy i czasu wprowadzenia zmian.

Metodyka DevOps oparta jest na 5 kluczowych filarach:

  • nieprzerwanej integracji (Continuous Integration)
  • nieprzerwanej dostawie (Continuous Delivery)
  • nieprzerwanym monitorowaniu (Continuous Monitoring)
  • nieprzerwanym testowaniu (Continuous Testing)
  • nieprzerwanym wdrażaniu (Continuous Deployment).

Mikrousługi w metodyce DevOps

Istotą mikrousług jest podział złożonych pracy, rozwoju oprogramowania, systemów, procesów na mniejsze, prostsze i niezależne części (usługi). Usługi różnią się celem, funkcjami, jednak ich cechą wspólną jest niezależność od innych usług, dzięki czemu mogą być rozwijane w mniejszych zespołach, działających w zwinny sposób. Zarządzanie zmianami, generalnie projektem, w metodyce DevOps pozwala w bardziej realistyczny sposób określać terminy wdrożenia zmian (np. w aplikacji), szybciej reagować na zmieniające się potrzeby klienta. 

Ciągła integracja w tej metodzie polega na regularnym wprowadzaniu zmian do głównej gałęzi kodu oraz automatycznym testowaniu rezultatów, jakie te zmiany powodują. Pozwala to zachować jego stabilność. Dostarczanie w formule ciągłej polega także na zautomatyzowanym udostępnianiu nowych wersji w środowisku produkcyjnym. 

DevOps pozwala również zarządzać poszczególnymi wersjami kodu. A systemy kontroli wersji umożliwiają automatyczne i skuteczne śledzenie wersji, historii zmian. Oferują możliwość przywracania kodu do wersji stabilnej i pozbawionej błędów, konfliktów.

Popularność metodyki DevOps nie jest przypadkowa i wynika z jej licznych zalet:

  • cykle aktualizacji i innowacji są częstsze
  • część procesów jest automatyzowana i jednocześnie poddana kontroli
  • ilość błędów, poprawek znacząco spada
  • każda zmiana jest weryfikowana pod kątem bezpieczeństwa jej wprowadzenia
  • nowe funkcje dodawane są do systemu w o wiele prostszy sposób
  • produkt jest nadzorowany w fazie rozwoju, wdrożenia, eksploatacji
  • projekt staje się o wiele bardziej elastyczny
  • system jest pod stałym monitoringiem, pozwalającym oszacować jego wydajność
  • reakcja organizacji na zmiany rynkowe jest w tej metodyce o wiele szybsza i skuteczniejsza
  • w przypadku awarii łatwiej zdiagnozować, które wdrożenie jest za nią odpowiedzialne
  • wdrożenia są wprowadzane często, ale w niewielkim zakresie
  • wszystkie procesy są wykonywane zdecydowanie szybciej
  • zespoły – programistyczny i operacyjny – stanowią jeden zintegrowany zespół.

Cykl życia produktu w metodyce DevOps

Dzięki metodyce, kulturze DevOps, DevOps Engineer może skuteczniej planować, programować, wdrażać i rozwijać produkty. Planowanie polega na wylistowaniu, zdefiniowaniu funkcji i cech przyszłego systemu. Podział prac na mniejsze jednostki, mikrousługi, pozwala śledzić rozwój w dokładniejszy sposób. W fazie rozwoju system jest tworzony, testowany oraz stale integrowany. Faza wdrożenia polega m.in. na zdefiniowaniu procesu zarządzania wersjami. 

Ustal z nami szczegóły