Termin DevOps to połączenie dwóch słów: development oraz operations. W ostatnich czasach to bardzo popularna metodyka, ale niewiele osób wie, co się kryje za tym terminem…
Wszyscy zgadzamy się co do tego, że DevOps to metodyka pozwalająca programistom tworzyć nowe aplikacje i narzędzia szybciej, przy jednoczesnym zachowaniu wysokiego poziomu wydajności oraz jakości. Ta metodyka kładzie nacisk na ścisłą komunikację, a przy tym wzajemne zaangażowanie zarówno programistów, jak i specjalistów odpowiedzialnych za utrzymanie IT. Chodzi tutaj o to, by poprawić zarówno proces tworzenia aplikacji, jak i jakość samego produktu. Istnieje dziś jednak spory problem w tych działaniach. Deweloperzy pracujący w zgodzie z metodyką DevOps, bardzo często ponad 50 proc. swojego czasu poświęcają na prace po stronie operacyjnej, zamiast tworzyć i doskonalić samo oprogramowanie. W tym samym czasie firmy wywierają na nich presję, by dostarczali nowe rozwiązania szybciej i sprawniej. Nie ma wątpliwości co do tego, że DevOps to innowacyjne podejście, ale aby programiści mogli realizować cele biznesowe, metodyka musi ulec pewnym modyfikacjom. Pozytywne zmiany może przynieść automatyzacja procesów. Możemy być pewni, że w tym roku programiści będą coraz częściej korzystać z rozwiązań opartych na chmurze.
Jakie technologie chmurowe ma Pan na myśli?
Zmiana jest na wyciągniecie ręki dzięki trzem wyróżnikom chmurowych platform, dzięki którym możliwe jest stworzenie autonomicznych, samonaprawiających się systemów. Mam na myśli automatyczne narzędzia, analitykę wykorzystującą uczenie maszynowe i zintegrowane systemy naprawcze. Dzięki gromadzeniu dużych ilości danych w jednym konkretnym magazynie, wykorzystaniu dużej mocy obliczeniowej, uczenia maszynowego oraz algorytmów stworzonych pod konkretne zadania, takie rozwiązania znacząco ułatwią pracę. Zaimplementowane zaawansowane procedury wykrywania anomalii pozwolą na automatyczne informowanie programistów o tym, że pewne procesy zachodzą niezgodnie z normami. Dzięki technologii machine learningu mogą one także znaleźć przyczynę problemu, a w pewnych sytuacjach podjąć właściwe działania naprawcze. To prowadzi nas do stworzenia samonaprawiających i samozarządzających się systemów.
Brzmi jak fantastyka naukowa. Czy stworzenie takiej technologii rodem z filmu jest możliwe już teraz?
Wspomniane przeze mnie funkcje to nie jest technologia poza naszym zasięgiem. To się już dzieje i jest efektem zintegrowania różnych funkcji, systemów oraz procesów, w formę platformy, która najpierw generuje odpowiednie mechanizmy, a następnie podłącza je pod oparty na uczeniu maszynowym silnik analityczny. Uzyskane dane są następnie wykorzystywane po to, by podjąć odpowiednie działania usprawniające lub naprawcze, które proponuje sama platforma. Warto odnotować, że tradycyjne podejście do IT zakładało do tej pory, by oddzielnie monitorować poziomy bezpieczeństwa i wydajność aplikacji. Dzisiejsze technologie zmieniają się jednak bardzo szybko i nie da się już tych dwóch kwestii od siebie oddzielić. W ramach usługi Oracle Management Cloud wszystkie dane wydajnościowe oraz logi bezpieczeństwa są przechowywane w chmurze, która umożliwia wdrożenie systemów do analityki Big Data oraz algorytmy uczenia maszynowego, usprawniające pracę DevOpów. Wszystkie procesy analityczne czy procedury bezpieczeństwa zachodzą tu i teraz, automatycznie gwarantując zarówno zespołom deweloperskim, jak i analitykom odpowiednie dane i narzędzia.