Wdrożenie CI/CD
Klient dynamicznie rozwijając własne usługi, w szybkim tempie zwiększył też liczbę zespołów deweloperskich. By zachować zwinność, postanowił zastosować wytwarzanie pionowe w ramach pojedynczych zespołów oraz przejść z architektury monolitycznej w stronę mikroserwisów. Rozwiązanie sprawdziło się bardzo dobrze od strony biznesowej, jednak wymagało też zmiany podejścia do projektowania, wytwarzania i wdrażania systemów IT. Klientowi, oprócz niezależności wdrożeń, zależało też na zwiększeniu częstotliwości wdrażania nowych funkcjonalności oraz na zmniejszeniu ryzyka awarii po wdrożeniu dużej liczby nowych funkcjonalności jednocześnie.
Projekt w pigułce
Branża
Finansowa
Technologie
Microservices, CI/CD (Jenkins, Octopus, Nexus, Sonar), Containers (Docker, Kubernetes Engine)
Czas trwania
6 + 6 miesięcy
Zespół
1 Project Manager
1 Architect
2 DevOps
Forma współpracy
Agile, Time & Material
Zakres
Consulting - tech
Technical stack assessment
Innowacje i wyzwania
Innowacją dla klienta było wprowadzenie i zintegrowanie ze sobą licznych narzędzi służących do automatyzacji procesów, budowania i wdrażania aplikacji, tworząc tzw. CI/CD pipelines - umożliwiły szybkie wdrażanie zmian od etapu koncepcji do uruchomienia na produkcji. Wdrożone zostały mechanizmy tworzące autonomiczne infrastruktury CI dla zespołów, które następnie połączono z narzędziem CD, wiążąc elastyczność wytwarzania z przejrzystością i kontrolą wdrożeń, niezbędną dla klienta świadczącego usługi finansowe. Dodatkowo na wytwarzane mikroserwisy zostały narzucone ramy wdrożeniowe dostosowujące je do Kubernetes, zmniejszając koszty związane z administracją IT przez ujednolicenie mechanizmów wdrażania i zarządzania.
Największym wyzwaniem było jednoczesne wprowadzenie kompleksowych zmian w narzędziach oraz kulturze wytwarzania oprogramowania, przy ciągłym rozwoju oraz utrzymaniu wytwarzanych systemów. Niezwykle ważne było też zaangażowanie klienta w przeprowadzenie transformacji cyfrowej w tym zakresie - postawienie odważnej hipotezy, założenie ambitnych celów i konsekwencja w działaniu. Co więcej, wdrożenie CI/CD powiązano z przejściem z architektury monolitycznej na mikroserwisową oraz od pracy nad jednym systemem do niezależnego wytwarzania wielu produktów biznesowych jednocześnie.