Ostatnio miałem okazję porozmawiać o naszych doświadczeniach z projektu PKO Banku Polskiego Doradca Online zbudowanego i uruchomionego produkcyjnie w chmurze. Usługa Doradca online jest kolejnym dowodem na to, że chmura pozwala znacząco skrócić czas wdrożenia nowej usługi. Dzięki temu, że środowisko chmurowe oferuje zestaw gotowych komponentów oraz automatyzację powtarzalnych procesów, zespół może budować nowe rozwiązania w rekordowo krótkim czasie, iteracyjnie, na bieżąco weryfikując swoje pomysły. Praca w chmurze to nie tylko zmiana technologiczna, ale także zmiany w kulturze organizacji: niewielki, zwinny zespół może w pełni skoncentrować się na celach, a klasyczne granice między IT a biznesem zacierają się.

Z powodu epidemii PKO Bank Polski stanął przed wyzwaniem rozszerzenia opcji obsługi klientów w modelu zdalnym. Aby zapewnić możliwość osobistego, a zarazem bezpiecznego kontaktu z pracownikiem banku, zrodził się pomysł usługi Doradca online, czyli wirtualnego spotkania w formie wideorozmowy. W pierwszej kolejności z rozwiązania mieli skorzystać klienci z segmentu firm, aby uzyskać kompleksową obsługę w zakresie instrumentów z tzw. tarczy antykryzysowej, ale także innych produktów przeznaczonych dla MŚP. W tym poście przedstawię kilka kluczowych obserwacji i doświadczeń z projektu zrealizowanego przez nasz zespół cloud architektów i inżynierów wspólnie z zespołem PKO Banku Polskiego.

Nowa usługa z założenia miała być prosta i intuicyjna w obsłudze, a zarazem bezpieczna i zgodna z wszystkimi wymaganiami, które są specyficzne dla usług bankowych. Bank zdecydował, że usługa powstanie we współpracy z Chmurą Krajową, spółką technologiczną specjalizującą się w rozwiązaniach budowanych i uruchamianych w chmurach publicznych, z uwzględnieniem najwyższych standardów bezpieczeństwa w sektorze finansowym.

Inny styl pracy

W klasycznym modelu tworzenia aplikacji taki projekt trwałby miesiące: budowanie założeń, analizy, wybór dostawcy infrastruktury i jej zakup, konfiguracja, rozpoczęcie budowy aplikacji, testy. Podczas gdy pierwsza wersja produkcyjna usługi Doradca online uruchomiona została w niespełna 3 tygodnie, w ramach pracy kilkunastoosobowego zespołu po stronie banku i Chmury Krajowej, który przy tym pracował zdalnie. To pokazuje zasadniczą przewagę tworzenia rozwiązań w chmurze: szybkość i elastyczność.

Projekt był rozwijany w podejściu agile - działaliśmy szybko i zwinnie. Od samego początku w bliskiej współpracy z zespołem PKO BP złożonym zarówno z osób z IT, jak i biznesu. Razem budowaliśmy aplikację, testowaliśmy jej poszczególne funkcje i na bieżąco wdrażaliśmy zmiany, stale rozwijając funkcjonalność rozwiązania. Komunikacja była szybka i bezpośrednia - głównie na Slacku, utrzymując product backlog w JIRA. Niewielki, zwinny i skoncentrowany na realizacji zadania zespół działał bardzo efektywnie. Od początku stosowaliśmy podejście cloud native, które pozwala w pełni wykorzystać możliwości chmury obliczeniowej.

Technologiczne lego

Usługę opracowaliśmy z wykorzystaniem rozwiązań Google Cloud Platform (GCP) oraz G Suite. Rolą Chmury Krajowej było zbudowanie dedykowanych komponentów serwerowych implementujących logikę biznesową przy wykorzystaniu odpowiednio dobranych usług GCP i ich integracja oraz towarzysząca im automatyzacja procesu wytwórczego w oparciu o najlepsze praktyki Continuous Integration / Continuous Delivery.

Z pakietu G Suite wykorzystaliśmy usługi Google Meet i Calendar kontrolowane przez dostępne publicznie API. Spośród usług wchodzących w skład GCP zespół zdecydował o wykorzystaniu m.in.: Cloud Pub/Sub, Cloud SQL, Cloud Memorystore i Cloud Firestore. Na potrzeby monitoringu wykorzystywane są: Operations Logging, Monitoring i Trace. W warstwie infrastruktury również rozwiązania chmurowe: Cloud IAM, Cloud DNS, Cloud VPN i Cloud Build.

W warstwie aplikacyjnej jako środowisko uruchomieniowe wykorzystaliśmy App Engine. Platforma ta oszczędziła nam dużo czasu zapewniając automatyczną skalowalność poziomą, bezprzerwowe wdrażanie nowych wersji oprogramowania i szereg mechanizmów monitorujących stabilność platformy.

Dobrze wykorzystane środowisko chmurowe umożliwia nam pracę nad produktem w trybie ciągłym. Jesteśmy w stanie w kilkanaście minut wdrożyć zmianę na produkcję. Jest to możliwe dzięki automatyzacji całej ścieżki: procesu budowania aplikacji, ich instalacji na środowisku testowym, wykonania testów integracyjnych end to end, aż po promocję danej wersji na środowisko produkcyjne. Przy zachowaniu pewnej dyscypliny programistycznej zmiany jest łatwo natychmiastowo wycofać, jeżeli okaże się, że świeżo wdrożona aplikacja na produkcji powoduje błędy. Wszystko dzieje się bez przerw zauważalnych dla końcowych użytkowników. Zbyszek Cyktor, cloud architect zaangażowany w opracowanie doradcy online, już niebawem podzieli się na naszym blogu doświadczeniami związanymi z budową i wyzwaniami oraz dobrymi praktykami technologicznymi, architektury i infrastruktury zbudowanej w ramach tego projektu. Stay tuned!

Co daje chmura?

Przede wszystkim: skraca cykl wydawniczy i umożliwia niesamowite tempo pracy nad nowymi funkcjonalnościami. Dzięki temu, że sporo “klocków” infrastrukturalnych jest gotowych i czeka na “wyciągnięcie z pudełka”, zespół projektowy może natychmiast budować docelową aplikację gotową do uruchomienia produkcyjnego. Dla ludzi z doświadczeniem w klasycznym IT po spróbowaniu modelu chmurowego powrót do starych metod działania przestaje mieć sens.

Po drugie: zaoszczędzony na infrastrukturze czas można wykorzystać na implementację kodu logiki biznesowej i poszukiwanie kolejnych innowacji.

Po trzecie: skalowalność aplikacji. Dzięki elastyczności infrastruktury dostępnej w chmurze możliwe jest nie tylko szybkie uruchomienie produkcyjne, ale także obsłużenie dużego ruchu w przypadku wzrostu popularności usługi. Usługa Doradca online w pierwszy etapie użytkowania dostępna jest w PKO Banku Polskim dla podmiotów z sektora MŚP - w tym trybie pracuje kilkudziesięciu doradców. Ale to rozwiązanie, zgodnie z deklaracją banku, może być skalowane nawet na 10 tysięcy pracowników mających stały kontakt z klientami. Wiele procesów biznesowych przeniesionych na czas pandemii do świata online - już w nim zostanie i będzie się stale rozwijać. Rosnąć będzie też liczba produktów i usług dostępnych, aby docelowo mógł być on substytutem pełnej obsługi w oddziale.

Po czwarte: bezpieczeństwo. Zaawansowana technologia oferowana przez dostawcę, ze znajomością mechanizmów i dobrych praktyk stosowanych w chmurze gwarantuje, że tematy związane z bezpieczeństwem zostały rozwiązane w przemyślany i kompleksowy sposób. Taka właśnie jest zarówno chmura Google Cloud, jak i standardy działania Chmury Krajowej.

I wreszcie zmiana sposobu pracy. Zespół pracował nad tym projektem zdalnie, bez uszczerbku dla tempa jego rozwoju. Zdalnie pracują też doradcy bankowi. Aby mieć dostęp do narzędzi i danych, pracownicy nie muszą już przebywać w biurze, czy w oddziale banku. Dzięki chmurze mają do nich dostęp z dowolnego miejsca czy urządzenia.

I tak to właśnie działa. W Chmurze!