DevOps czy SysOps: które podejście wybrać dla mojej firmy?

Data Space
23.10.2018 Data Space


Stając przed poważną decyzją dotyczącą organizacji infrastruktury IT i zadając sobie pytanie, “Co wybrać – wprowadzać metodyki DevOps czy też pozostać przy SysOps?”, warto zapoznać się z najważniejszymi informacjami na temat tych metodologii.

Przede wszystkim SysOps (ang. Systems Administration) jest metodyką opartą na manualnym nadzorze nad infrastrukturą IT w organizacji. Pozwala to na szybkie i precyzyjne udzielenie odpowiedzi dotyczących infrastruktury innym. Zarządzanie odbywa się tutaj ręcznie, przez co sprawdza się głównie w momencie, gdy Klient posiada bardzo małą infrastrukturę, która nie podlega dynamicznemu rozwojowi, oraz gdy projekt nie wymaga skalowania poziomego.

Metodyka DevOps (ang. Development and Operations) skupia się na współpracy programistów i administratorów, gdzie najważniejszym celem jest utrzymanie i rozwój produktu. Główną zaletą tego podejścia jest skrócenie czasu poświęconego na wdrażanie nowych funkcji do oprogramowania.

DevOps

Skuteczność metodyki DevOps zależy w głównej mierze od kultury organizacji w firmie oraz umiejętności i współpracy w zespole składającego się z programistów i administratorów. Wszystko dlatego, że nie jest ona ścisłą regułą postępowania, a raczej podejściem, które można elastycznie dopasować do zmian w firmie (np. zmiana kultury organizacyjnej). “Swobodne” nastawienie do zmian sprawia, że administrator reaguje na nie poprzez adaptację. Wynika to głównie ze źródła tych zmian, które zwykle inicjowane są przez użytkownika infrastruktury. Stąd też głównym miejscem, gdzie wdrażane są zmiany to oprogramowanie, a całe podejście zaprojektowano tak, by w sposób ciągły podnosić wartość biznesową projektu.

Administrator DevOps jest odpowiedzialny za analizę i opis infrastruktury oraz procesów w niej zachodzących, ze wskazaniem na utrzymanie najbardziej kluczowych technologii – zarówno dla klienta, jak i firmy. Na nim spoczywa również dobór optymalnych narzędzi do automatyzacji procesów oraz diagnostyka pojawiających się problemów. Rozwój i utrzymywanie technologii DevOps wymaga specjalizacji w kilku dziedzinach i posiadania minimalnych umiejętności programistycznych (tworzenie skryptów, małych programów), dzięki którym elastycznie podchodzi się do pojawiających się zadań oraz łatwiej dostrzec rozwiązania upraszczające procesy.

Administracja IT (Data Space)

Codzienna praca DevOps z odpowiednio dobranymi narzędziami pozwala organizacji na większą elastyczność i skuteczność podejmowanych działań, gdzie istotny jest wpływ infrastruktury na biznes. Kluczowymi elementami dla rozwoju, jak i przejścia na strukturę DevOps, jest tutaj szybkość działań, inteligentne rozwiązania oraz innowacyjność. W tym celu administrator DevOps korzysta z szeregu narzędzi. Są to m.in.:

  • Platformy chmurowe (np. Amazon, Google, Azure),
  • Przygotowanie kontenerów z aplikacją (np. Docker, RKT, lxc),
  • Platformy do wirtualizacji (np. OpenStack, Xen, Proxmox, KVM),
  • Testowanie i budowanie systemów / środowisk (np. Jenkins, Vagrant),
  • Zarządzanie konfiguracją i infrastrukturą jako kodem (np. Puppet, Ansible),
  • Wdrażanie aplikacji (np. Capistrano),
  • Narzędzia do logowania (np. Loggly, Graylog, Splunk),
  • Monitoring infrastruktury (alerty i trendy – np. Zabbix, VictorOps),
  • Zabezpieczenia (np. Veracode),
  • Nadzór nad procesami (np. God, Blue Pill),
  • Orkiestracja (np. Apache Mesos, DC/OS, Kubernetes, Rancher),
  • Kontakt i współpraca z zespołami (np. Slack, Jira).

SysOps

Administrator SysOps odpowiada za utrzymanie infrastruktury klienta, dlatego niezbędna jest tutaj bardzo dobra wiedza i znajomość na temat jej rozplanowania oraz jej poszczególnych elementów. W porównaniu do DevOps, zmiany, które nadzoruje inżynier SysOps, nie są inicjowane przez użytkownika, lecz wynikają z zarządzania zmianą w projekcie. Różnice widać także w miejscu, gdzie wdrażane są zmiany (tutaj kluczową rolę odgrywają serwery zamiast oprogramowania). Inny jest także cel – SysOps skupia się na procesie, któremu jest dedykowany, niż końcowej wartości biznesowej projektu. Prace mają także bardziej wdrożeniowy wymiar.

Bogata wiedza administratora SysOps ma przede wszystkim pozwolić na szybkie reagowanie na pojawiające się zmiany i incydenty z zakresu funkcjonowania oraz bezpieczeństwa infrastruktury. Inżynier SysOps dostarcza produkt w metodologii ITIL (ang. Information Technology Infrastructure Library), przez co jego nastawienie do zmian jest z założenia ostrożne. Zmiany w infrastrukturze są planowane z wyprzedzeniem, dzięki czemu tempo zmian utrzymywane jest na stabilnym poziomie, a na niezapowiedziane zmiany i incydenty można reagować według wcześniej określonych procedur. Administrator SysOps jest również głównym źródłem technicznych informacji w firmie.

Wybierając metodykę SysOps, organizacja systemu pracy i koniecznych narzędzi jest dużo prostsza niż w przypadku DevOps. W związku z tym, że SysOps jest dedykowany zwykle małym infrastrukturom, nie jest wymagane inwestowanie w wyspecjalizowane narzędzia, gdyż większość zadań można wykonać ręcznie. Oczywiście nie da się całkowicie pominąć elementu programistycznego, dlatego część zadań administratora SysOps wspiera zespół  developerski lub wcześniej przygotowane skrypty automatyzujące część zadań.

Zespół Data Space

 

Technologie zwinne

W klasycznym podejściu, w organizacjach z infrastrukturą IT istniał wyraźny podział na działy zapewnienia jakości, rozwoju oraz utrzymania IT. Brak wspólnych procesów i przekazywania informacji z czasem okazał się mniej efektywny przy wdrażaniu oprogramowania. Wynika to w dużej mierze z rozbieżności podstawowych celów poszczególnych departamentów (dział rozwoju skupia się na użytkowniku, a działy operacyjne – na stabilności i dostępności usługi).

Aby zapewnić wysoką jakość usług, administratorzy DevOps i SysOps są wdrażani w metodyki zwinne wraz z zespołami developerskimi. Dzięki temu specjaliści oraz zespoły mają większe możliwości w skorelowaniu działań oraz harmonogramu prac. Ma to szczególny wpływ na zarządzanie wydaniami (aplikacji, oprogramowania, wersji). Metodyki zwinne pozwalają na:

  • Automatyzację – wdrożenie w wielu działach pozwala na zapewnienie powtarzalności zadań wdrożeniowych oraz umożliwia redukcję błędów wdrożeniowych;
  • Redukcję poziomu zmian – dzięki wprowadzeniu modelu iteracyjnego lub przyrostowego, pozwala wypuszczać wydania częściej, z mniejszym zakresem zmian;
  • Zwiększenie koordynacji wydań – dzięki połączeniu wiedzy specjalistycznej z kompetencjami komunikacyjnymi i silną pozycją w zespole, lider nadzoruje pełne zrozumienie wprowadzanych zmian i zwiększa współpracę między zespołami developerów oraz administratorów (DevOps, SysOps).

DevOps, SysOps, a może outsourcing?

Decyzja o tym, czy wdrażamy SysOps czy DevOps powinna być uzależniona od kilku czynników. Po pierwsze, istotny jest rodzaj projektu (częstotliwość zmian) i jego rozmiar. Po drugie, należy zwrócić uwagę na elastyczność produktu. Po trzecie – koszty. SysOps to zdecydowanie mniejszy wydatek w przypadku mniejszych infrastruktur. W tym wypadku można również liczyć na szybsze wdrożenia (pomijany jest proces ustawiania automatyzacji procesów, prace można rozpocząć praktycznie natychmiast i często mogą być wykonane przez jedną osobę).  W przypadku DevOps możemy natomiast liczyć na dynamiczne reagowanie na zmiany i szybsze dostarczenie gotowego rozwiązania. To rozwiązanie to również niższy koszt obsługi infrastruktury (przy zachowaniu poziomu jakości) oraz mniejsza biurokracja.

Wyzwania, które pojawiają się przed administratorami infrastruktury IT, podlegają dynamicznym zmianom związanym z rozwojem technologii mobilnych i chmurowych. Należy podkreślić, że nie wybieramy już między administracją DevOps a SysOps. Wybór jest oczywisty i powinien paść na maksymalne odpowiadanie potrzebom klienta i jego produktu.

Dobrym pomysłem może okazać się np. outsourcing usług DevOps & SysOps. Specjaliści Data Space podkreślają, że warto poświęcić czas na rozmowę z ekspertem i dopasowanie usługi do profilu produktu i jego rozwoju.

Data Space
Data Space kontakt@dataspace.pl Naszą misją jest być najlepszym wyborem dla firm, które muszą być online bez względu na wszystko, przez 24 godziny, 7 dni w tygodniu, 365 dni w roku. Dostarczamy im platformę składającą się z najbardziej zaawansowanych automatycznych rozwiązań z zakresu infrastruktury IT.
Case study
Chmura prywatna dla Pragma Faktoring SA i Mint Software - case study
Poradniki
Service Level Agreement (SLA) dla usług infrastrukturalnych bez tajemnic