Za nami 9. sesja strategiczna programu Cloud Excellence. Spotkanie przebiegało pod hasłem wydajności organizacji we wdrażaniu nowych usług i aplikacji. Tradycyjnie już uczestnicy sesji mogli wysłuchać prelekcji gości specjalnych i wymieniać doświadczenia w trakcie kameralnych dyskusji w formule roundtable.
Druga w tym roku sesja Cloud Excellence była jednocześnie spotkaniem wyjazdowym. Tym razem zaprosiliśmy gości do Krakowa, gdzie z prelekcjami wystąpili Łukasz Ożóg, Engineering Lead w Philip Morris International Polska oraz Michał Górski, Chief Architect w Northmill Bank. Pierwszy z prelegentów pokazał, jak w kilka sekund wdrożyć aplikację biznesową w chmurze AWS; drugi wykazywał, jak chmura publiczna może być kluczem do wysokiej wydajności organizacyjnej w sektorze finansowym.
Chmurowe aplikacje „od ręki”
Philip Morris International zatrudnia na całym świecie około 80 tys. pracowników. W krakowskim oddziale, w samym tylko departamencie IT, pracuje ok. 300 osób. Działalność w tej skali wymaga sprawnego zarządzania i głębokiej standaryzacji – inżynierowie w różnych częściach świata nie powinni wdrażać tych samych usług w inny sposób.
Standaryzacji musi podlegać również tryb powoływania i konfiguracji infrastruktury. Musimy upewnić się, że wszystko, co trafia do chmury, spełnia pewne zasady i standardy, a najlepiej, aby było tworzone jako kod, aby pracownicy mogli go wersjonować i sprawować nad nim ogólną kontrolę – podkreślał Łukasz Ożóg.
Organizacja podjęła więc wysiłek w zakresie konsolidacji i automatyzacji procesów, odpowiedniego testowania rozwiązań i zarządzania zmianą. Ustanowiono pewne procesy, umożliwiające rozwój nowych rozwiązań w ten sam spójny sposób od strony testów i wdrożeń.
W 2018 roku powołany został zespół inżynierów DevOps i rozpoczęto budowę zestawu narzędzi zapewniających centralne instancje, polityki, administrację oraz utrzymanie. W 2020 roku zainicjowany został natomiast projekt DEEP. To wewnętrzna platforma developerska, która miała zapewnić skonsolidowane podejście do dostarczania narzędzi. Oferuje portal klienta, który gwarantuje spójne doświadczenie użytkowników oraz dostęp do jednolitego zestawu narzędzi.
Narzędzia te są konfigurowalne, ale działają w podobny sposób w kontekście infrastruktury oraz procesów CI/CD, niezależnie od projektu, w ramach którego są używane. Bez względu na to, czy projekt dotyczy strumieni danych, czy infrastruktury, użytkownicy mają dostęp do tych samych narzędzi i doświadczeń. Platforma pozwala na szybsze i lepsze działanie w zakresie doskonałości inżynieryjnej i szybkie tworzenie aplikacji w najprostszy możliwy sposób, ograniczając przy tym ręczne interakcje.
W oparciu o wzorce wdrożeniowe aplikacji zbudowano również bazę wiedzy. Ta, wraz z repozytorium wycinków kodu wielokrotnego użycia, posłużyła to stworzenia szablonów. Szablony zawierają wszystko, co potrzebne dla konkretnego przypadku użycia, w tym ustawienia wstępne dla języków programowania oraz dla procesów CI/CD i monitoringu aplikacji; są też zgodne z koncepcją security by design.
Zdecydowaliśmy się zintegrować te szablony z portalem, aby ograniczyć zbędną, ręczną pracę. Chcieliśmy zastąpić powtarzające się zadania szablonami i skupić się na logice biznesowej oraz dostarczaniu nowych funkcji – przekonywał Łukasz Ożóg.
Praktyczne zastosowanie szablonów zaczyna się od wyboru szablonu i jego konkretnej wersji, do której następnie można zastosować własną logikę i kod. Istnieją szczegółowe schematy architektoniczne, zależności wersji i inne szczegóły, które można wykorzystać. Podstawowe wdrożenie jest proste, a stopnień zaawansowania i złożoności projektu można zwiększać na kolejnych etapach konfiguracji i modyfikacji. Po zatwierdzeniu kod trafia do repozytorium, a przed wdrożeniem przechodzi przegląd.
Platforma działa nieco na zasadzie open source. W firmie funkcjonuje aktywna społeczność użytkowników platformy. Jest otwarta dla wszystkich pracowników. Zachęcamy ludzi do dzielenia się swoimi osiągnięciami: każda nowa, dobrze wykonana część infrastruktury może być oceniona i potencjalnie wykorzystana przez inne zespoły – mówił przedstawiciel Philip Morris International.
Budowanie bazy wiedzy to proces, który obejmuje tworzenie marki. Gdy baza wiedzy i biblioteka szablonów zyskują rozpoznawalność, ludzie dostrzegają ich wartość. Ważnym aspektem funkcjonowania platformy jest również uznanie i nagradzanie wkładu pracowników.
Nie chodzi o finansowe wynagrodzenie, ale o umożliwienie ludziom przypisania swojego nazwiska i nazwy zespołu do projektów. To motywuje i działa bardzo efektywnie – dodał.
W przyszłości planujemy wprowadzenie marketplace’u z zaawansowanymi szablonami, który będzie bardziej zautomatyzowany. Użytkownicy będą mogli wypełniać formularze konfiguracyjne, a reszta procesu, aż do momentu złożenia żądania, zostanie zautomatyzowana. Weryfikacja szablonów i konfiguracja odbędzie się w portalu, co wyeliminuje konieczność ręcznego kodowania – zapowiadał Łukasz Ożóg.
Celem jest uniknięcie powielania wysiłków oraz standaryzacja procesów, co pozwoli nam skupić się na logice biznesowej zamiast na wdrażaniu komponentów infrastruktury. Dzięki temu użytkownicy będą mogli szybko i łatwo przenosić swoje aplikacje do chmury za pomocą portalu, kilku kliknięć i odrobiny dokumentacji, bez potrzeby angażowania doświadczonych programistów.
Chmura kluczem do wydajności organizacyjnej
Northmill Bank powstał w 2006 roku. Obecnie obsługuje około 600 tysięcy klientów w sektorze B2C oraz około 2500 klientów biznesowych. Przełomowym dla historii firmy wydarzeniem był moment kiedy infrastruktura IT firmy, znajdująca się w centrum danych w Sztokholmie, przez trzy dni była niedostępna z powodu awarii. Taki przestój to wymierne straty dla każdej organizacji – finansowe i wizerunkowe – niezależnie od skali działalności. W związku z tym w 2017 roku podjęto decyzję o starcie migracji zasobów do chmury AWS i architektury mikroserwiskowej.
Jeśli mamy jedną monolityczną aplikację działającą w jednym kraju, wszystko jest stosunkowo proste: jedna baza klientów, wspólne procesy, integracje z lokalnymi instytucjami rządowymi... Jednak ekspansja do innego kraju wymaga posiadania dokładnie tego samego, ale z różnymi integracjami, różną bazą klientów itd. ale w innym miejscu. W związku z tym zdecydowaliśmy się na przejście na architekturę mikroserwisową oraz usługi serverless na AWS. Rozbijając istniejący monolit wykorzystaliśmy wzorzec projektowy Strangler - wyjaśnił Michał Górski, Chief Architect w Northmill Bank.
Od 2017 r. zespół deweloperski banku zwiększył się z ok. 10 do 50 osób. Chcieliśmy zwiększyć liczbę pracowników, ale jednocześnie nie chcieliśmy dodawać im pracy związane z administracją infrastruktury. Dlatego zdecydowaliśmy się na architekturę serverless i usługi zarządzane – tłumaczył przedstawiciel Northmill Bank.
Działalność firmy opiera się na dwóch filarach: B2C i B2B, ale organizacja dąży do synergii między nimi, stosując koncepcję B2B2C. Rozwiązanie to opiera się na współpracy między produktami w tych dwóch sektorach. Koncepcja ta wspierana jest przez swego rodzaju platformę developerską – rozumianą nie jako zespół tworzący infrastrukturę dla całej firmy, ale raczej jako miejsce, w którym powstaje framework, wytyczne oraz pakiety i szablony, z których mogą korzystać wszystkie zespoły i produkty.
Kluczowym elementem wspierającym, dostarczanym przez oddzielny zespół, jest analiza danych, która jest szczególnie istotna dla obszaru kredytowego. Zespół ten zajmuje się inżynierią danych, analizą danych, BI oraz tworzeniem modeli scoringowych. Te rozwiązania są wykorzystywane przez inne zespoły do właściwego onboardingu i weryfikacji klientów.
Od samego początku wierzyliśmy, że nie potrzebujemy administratorów ani zespołów operacyjnych, które zajmują się wdrażaniem lub monitorowaniem wydajności aplikacji. Zamiast tego wybraliśmy podejście DevOps, łącząc deweloperów i operacje w jednym zespole. To podejście sprawdza się nawet teraz, gdy nasz zespół znacznie się rozrósł – podkreślał Michał Górski.
Tradycyjny proces dostarczania oprogramowania, w przeciwieństwie do DevOps, polega na tym, że deweloperzy w zespole produktowym pracują nad kodem i produktem patrząc jedynie przez pryzmat funkcjonalności. Otrzymują wymagania biznesowe, implementują je, sprawdzają jakość i wdrażają go na środowiskach testowych. Jednak nie myślą o tym, co się stanie, gdy produkt będzie dostępny dla klientów.
Tego chcieliśmy uniknąć, dlatego przyjęliśmy kulturę DevOps – dodał.
W naszym podejściu pracuje się nad wymaganiami, pomysłami na produkt i jego ulepszeniami wewnątrz zespołu, ponieważ biznes jest częścią zespołu. Jednocześnie trzeba brać pod uwagę koszty, bezpieczeństwo oraz nadzór powdrożeniowy. A to jest coś więcej niż DevOps; mówimy również o koncepcjach DevSecOps czy FinDevOps.
W naszym zespole wymagamy nie tylko umiejętności programistycznych, ale także wiedzy na temat infrastruktury i wzorców monitorowania aplikacji. Nazywamy to „on-call duties", co oznacza, że ludzie muszą wiedzieć, jak reagować na alerty i incydenty. Nie mamy oddzielnego service desku; wszystko to jest w gestii zespołu produktowego – wyjaśniał przedstawiciel Northmill Bank.
W banku nie ma silosów, a więc i oddzielnych zespołów operacyjnych i infrastrukturalnych ani zespołów zajmujących się wyłącznie rozwojem oprogramowania biznesowego. Autonomiczne zespoły międzyfunkcyjne muszą znać obie te dziedziny: rozwijać wiedzę na temat automatyzacji procesów, zbierania informacji zwrotnych od klientów, komunikacji z klientami oraz gromadzenia danych analitycznych o produkcie.
To całkowicie zmienia sposób myślenia o tworzeniu oprogramowania. Nie chodzi tylko o to, by napisać nowy fragment kodu, trzeba również wiedzieć po co tworzymy nową fukcjonalność oraz jak sprawdzić, czy działa poprawnie na dużą skalę w środowisku produkcyjnym – podkreślał Michał Górski.
Architektura mikroserwisowa ułatwia wdrażanie nowych wersji aplikacji – zmiany „na produkcji” są wprowadzane ok. 50 razy w miesiącu, czasami nawet 10 razy dziennie.
Zaletą usług zarządzanych i serverless jest to, że nie trzeba przejmować się takimi kwestiami jak aktualizacje systemu operacyjnego, czy zarządzanie fizycznymi urządzeniami. Usługa jest chroniona na poziomie sieciowym. Nie znaczy to, że zespół developerski nie ma żadnej odpowiedzialności – nadal musi pamiętać o zarządzaniu siecią, skalowalnością aplikacji, bezpieczeństwie danych czy konfiguracji dostępów, ale może więcej uwagi skupić na sprawach istotnych dla biznesu, takich jak nowe funkcjonalności, czy nowe produkty.
W Northmill Banku obowiązuje kolektywne właścicielstwo kodu.
Ten koncept oznacza, że mamy własność kodu: jeśli zespół go posiada, jest jego strażnikiem, ale nie jest jedynym podmiotem, który może go użyć i zmieniać. Wierzymy w ideę autonomicznych zespołów, więc można przejść do mikroserwisu stworzonego przez inny zespół, dodać nową funkcjonalność, zrefaktoryzować go, ale strażnik musi to zatwierdzić i sprawdzić, czy zrobiono to w odpowiedni sposób – zaznaczył prelegent.
Szybki przepis na AI
Na zakończenie oficjalnej części 9. spotkania Cloud Excellence przewidziano sesję „Five Minutes Ideas”, w trakcie której przedstawiciele społeczności CIONET prezentowali praktyczne przykłady wykorzystania narzędzi sztucznej inteligencji w swoich organizacjach.
Michał Karski, VP w CloudTeam i dyrektor merytoryczny programu Cloud Excellence opowiedział, w jaki sposób firma zrealizowała, wspólnie z AWS i Związkiem Pracodawców Polskich, program szkoleń dla uchodźców z Ukrainy. Ponieważ szkolenia miały być prowadzone po angielsku, należało sprawdzić, czy dana osoba posiada umiejętności komunikacji w tym języku i może zdawać egzamin certyfikacyjny.
Przy kilkunastu tys. uczestników programu niemożliwością było zweryfikowanie tego „ręcznie”, w drodze sesji online. Dlatego zdecydowano się zbudować rozwiązanie wykorzystujące AI. Korzystając z infrastruktury AWS i generatywnej AI, w tym ChatGPT, stworzono system, który prowadził proste rozmowy z kandydatami online na ich telefonach lub tabletach. System zadawał pytania po angielsku, nagrywał odpowiedzi, transkrybował je, a następnie oceniał. Wyniki były zapisywane w bazie CRM, co pozwoliło szybko ocenić, czy dana osoba mogła uczestniczyć w szkoleniu.
Obecnie rozwijamy system do przeprowadzania egzaminów ustnych dla studentów. Choć może to brzmieć niewiarygodnie, system sprawdza się bardzo dobrze. Nauczyciele na uniwersytetach będą mogli przeprowadzać egzaminy ustne online, gdzie odpowiedzi studentów będą nagrywane, transkrybowane i oceniane. Oczywiście istnieje możliwość odwołania się, jeśli student uważa, że ocena jest zaniżona – mówił Michał Karski – Dotychczasowe testy wykazały, że oceny generowane przez system były bardziej precyzyjne niż te od nauczycieli – dodał.
Trwają także prace nad zabezpieczeniem procesu egzaminacyjnego, aby studenci nie mogli korzystać z zewnętrznych źródeł informacji podczas egzaminów, przy użyciu technologii video AI do monitorowania sesji egzaminacyjnych.
Marek Laskowski, dyrektor IT w kancelarii Domański Zakrzewski Palinka zademonstrował system wsparcia prawników w oparciu o generatywną sztuczną inteligencję. System jest rozwijany od trzech lat i trenowany na podstawie repozytorium dokumentów prawnych, będącego w posiadaniu kancelarii (jest ich w obecnie około pięciu milionów w 16 kategoriach prawnych). Architektura rozwiązania polega na zadaniu pytania (promptu) do trzech modeli jednocześnie (ChatGPT, LLaMA i Gemini), natomiast finalny rezultat jest wynikiem arbitrażu odpowiedzi trzech modeli.
System może służyć pracownikom kancelarii do analizy dokumentów – zarówno umów biznesowych, jak i dokumentów procesowych. Bierzemy protokół z przesłuchania świadka, plus materiały dotyczące danej sprawy. Ładujemy je do naszego systemu, a następnie prawnicy zaczynają „drążyć” i pytać na przykład o to, co świadek zeznał i czy mógł zeznać nieprawdę – tłumaczył Marek Laskowski. Nie jest to więc proste wyszukanie, ale pewien związek logiczny, bazujący na kontekście nie tylko samego dokumentu, ale też na kontekście szerokiego materiału, na którym bazuje model – dodał.
Jako ostatni wystąpił Wojciech Struski, Chief IT Architect w Ringier Axel Springer Polska, a jednocześnie członek rady programowej programu CIONET Cloud Excellence, który opowiedział, jak GenAI wspiera developerów firmy w zadaniach programistycznych. Możliwości ChataGPT 4 w ub. roku w zakresie walidacji kodu zaczęto w RASP sprawdzać wkrótce po wprowadzeniu przez OpenAI tej wersji narzędzia. Początki były powolne, ale wkrótce nawet najbardziej doświadczeni programiści docenili możliwości oferowane przez AI. Jeden z programistów powiedział nam: "Jeśli mi to odbierzecie, odchodzę". Inny zasugerował, aby dać to junior developerom, ponieważ dzięki niemu zaczną kodować lepiej.
Obecnie 85 proc. naszych programistów codziennie korzysta z Copilota od GitHub – powiedział Wojciech Struski. – Druga obserwacja jest taka, że programiści stają się bardziej recenzentami kodu niż jego twórcami, ponieważ muszą czytać kod i go akceptować, zamiast pisać go samodzielnie. Moim zdaniem staje się to standardem, więc jeśli nie używacie tego w swojej firmie, lepiej zacznijcie – dodał.
O programie
Program Cloud Excellence to inicjatywa poświęcona zagadnieniom związanym z wdrażaniem technologii chmurowych w organizacjach, powołana w 2022 r. Uczestnicy programu spotykają się na cyklicznych sesjach strategicznych oraz warsztatach. Partnerami programu są firmy AWS, Cloudware, HP Enterprise, IBM, PwC, RedHat i Tameshi.
Więcej informacji o zbliżającej się sesji strategicznej: https://www.cionet.com/cloudexcellence/10sesja
Więcej informacji o programie: https://www.cionet.com/pl-pl/cloudexcellence
LINKEDIN: https://www.linkedin.com/showcase/cloudexcellencepl/
These Stories on CIONET Poland
No Comments Yet
Let us know what you think