Czym jest DevOps Toolchain?

DevOps Toolchain (łańcuch narzędzi DevOps) to kombinacja odpowiednio dobranego zestawu narzędzi programistycznych, które pomagają w opracowywaniu, dostarczaniu, i zarządzaniu oprogramowaniem (podczas jego całego cyklu życia) realizując przy tym praktyki DevOps'owe.

Miary i metryki DevOps

Czym jest łańcuch narzędzi


W świecie inżynierii oprogramowania łańcuch narzędzi to odpowiednio dobrany zestaw narzędzi programistycznych, który jest używany do wykonywania podczas tworzenia lub eksploatacji oprogramowania / produktu programowego,

Narzędzia te mają postać dedykowanych programów komputerowych lub zestawu powiązanych ze sobą programów.

Narzędzia tworzące łańcuch są zazwyczaj wykorzystywane kolejno, więc wyjściowy / wynikowy stan oprogramowania realizowany przy pomocy danego narzędzia staje się stanem wejściowym / początkowym.

Coraz częściej termin "łańcuch narzędzi" jest używany w odniesieniu do zestawu powiązanych narzędzi, które niekoniecznie są wykonywane w kolejności.


Łańcuch narzędzi DevOps


DevOps to zestaw praktyk, które kładą nacisk na współpracę i komunikację zarówno twórców oprogramowania, jak i innych specjalistów IT (w szczególności zajmujących się utrzymaniem powstałych programów), przy jednoczesnej automatyzacji procesu dostarczania oprogramowania i zmian w infrastrukturze. Implementacja tych praktyk w praktyce realizowane jest przez szereg narzędzi wykorzystywanych na różnych etapy cyklu życia oprogramowania.


Przykładowy DevOps Toolchain


Poniżej zostanie przedstawiony przykładowy łańcuch narzędzi nakierowany na praktyki DevOps. Nie jest to na pewno jedyne jedyne rozwiązanie - ma ono charakter głównie ilustracyjny.


Zespół wytwórczy, korzystając z ich ulubionego IDE zaczął prace nad nowym oprogramowaniem.


Jednocześnie zaczął tworzyć zautomatyzowane testy do tworzonego oprogramowania. Gdy nowa wersja programu była gotowa, kod został przekazany do narzędzia GitLab.


Za pośrednictwem GitLab'a zatwierdzenie zmian automatycznie uruchomiło kompilację Jenkinsa.


W ramach ciągłej integracji nowa wersja kodu została przetestowana z wykorzystaniem narzędzi Chai i Mocha, aby sprawdzić, czy działa on poprawnie.


Gdy testy zakończyły się pomyślnie, w ramach faza ciągłego dostarczania rozpoczęło się automatyczne tworzenie gotowego do użycia obraz Docker w Nexusie Sonatype.


Ostatecznie nowa wersja aplikacji została pobrana z Nexusa i wdrożona do działającego środowiska, np. kontenerów Docker (faza ciągłego wdrażania).


Podsumowanie


Obecnie na rynku dostępnych jest szereg narzędzi wspierających wytwarzanie i utrzymywanie oprogramowania zgodnie z podejściem DevOps'owym. Sztuką jest skomponowanie z całego bogactwa dostępnego na rynku właściwej ich kombinacji.


Uwaga: W tekście wykorzystałem fragment tekstu "How to implement a DevOps toolchain" autorstwa T. Denkova.

Daj znać

Co sądzisz o naszym artykule? Czy powinniśmy coś w nim zmienić? Rozszerzyć go?