Jak zaoszczędzić czas i nie składać wniosków? Poznaj Self Service w IT PZU
Autor
Piotr Kustra
Dlaczego to robimy?
Tradycyjne wnioskowanie o nowe zasoby, takie jak maszyny wirtualne czy bazy danych, zazwyczaj wiąże się z kilkudniowym czasem oczekiwania na proces akceptacji i realizację ticketów. Brzmi znajomo? Na szczęście nie u nas - zdajemy sobie sprawę, jak frustrujące i demotywujące jest oczekiwanie na nową maszynę wirtualną, która była potrzebna "na wczoraj".
Naszym celem była redukcja czasu oczekiwania do minimum: na platformie Self Service (SELF) pracownik IT PZU samodzielnie wybiera czego potrzebuje i wskazuje konkretne środowisko, a potem w maksymalnie kilka minut może skorzystać z nowej maszyny wirtualnej, Topic’u na Kafce czy bazy na Japet. Czas od pojawienia się potrzeby do jej realizacji, skróciliśmy do kilkunastu minut. Cenimy rozwiązania, które ułatwiają pracę naszym pracownikom, bo wiemy, że wpływa to nie tylko na efektywność ale również na nastawienie do codziennych obowiązków – SELF „five”!
Jak do tego podeszliśmy?
Stworzyliśmy i ciągle rozwijamy platformę SELF. Zadaniem prostego GUI jest przeprowadzenie użytkownika przez cały proces. Opracowana przez nas infrastruktura jest nie tylko zabezpieczona pod względem finansowania, zapewniamy również zgodność ze standardami realizacji infrastruktury w organizacji. W kolejnych krokach skupimy się na pracach związanych z provisniongiem namespaców wystawionych na Kubernetesie. Powyższe działania są zgodne ze standardami realizacji infrastruktury i maja na celu umożliwienie:
- planowania i późniejszego wdrożenia całej infrastruktury dla nowego systemu,
- zapewnienia odpowiedniej liczby środowisk.
Jakie technologie za tym stoją?
- SELF już z samego założenia powstawał w architekturze mikroserwisowej, co okazało się bardzo dobrym kierunkiem, zarówno pod kątem sposobu pracy, jak i samego kształtu systemu. W skład SELF-a aktualnie wchodzi 7 mikrousług napisanych z wykorzystaniem języka programowania Kotlin, a na horyzoncie dość wyraźnie rysują się kolejne.
- Zgodnie z najlepszymi praktykami stosujemy komunikację asynchroniczną z wykorzystaniem Kafki, tam gdzie jest to możliwe zapewniając separację działania poszczególnych mikrousług i ich niezależność techniczną względem siebie (loose coupling).
- Poza wspomnianą integracją w ramach wewnętrznego działania systemu, SELF to przede wszystkim integracje z ekosystemem odpowiedzialnym za powoływanie do działania elementów infrastruktury, czyli integracje z systemami zewnętrznymi z wykorzystaniem API REST-owego, JOB-ów Jenkinsowych czy komunikacją z wykorzystaniem Kafki.
- Jako źródła danych służą nam bazy danych PostgreSQL. Budowanie kodu oparliśmy o Gradle'a. Dbamy o aktualność z obecnymi wersjami Spring'a i Spring Boot'a, regularnie podnosząc wersję do możliwie aktualnej. To wszystko pozwala nam na tworzenie infrastruktury na żądanie, zarządzanie już istniejącą oraz planowanie nowej. Niezależenie czy na środowiskach testowych, pre-prodowych czy produkcyjnych. Sposób w jakie SELF został zrealizowany pozwala nam na capacity planning, quotowanie i rozliczanie zasobów.