Optymalizacja i rozwój nowej, skalowalnej wersji aplikacji, zarządzanej wewnętrznie z AWS Cloud
Podsumowanie
Wyzwanie: Zaplanowanie i realizacja modernizacji istniejącego rozwiązania, które nie miało możliwości autoskalowania oraz wymagało większej elastyczności i łączności z zewnętrznymi API.
Podejście: Zespół Future Processing przeprowadził dopasowane do klienta warsztaty projektowe oraz zrealizował etap projektowania produktu, by określić, jakie obszary wymagają ulepszeń i optymalizacji. Nowa wersja aplikacji jest zarządzana wewnętrznie w chmurze AWS.
Rezultat: Usprawnienie procesów i automatyzacji w ramach rozwiązań chmurowych AWS zwiększa skalowalność, dostępność i ogólne bezpieczeństwo systemu. Poprawki te przyspieszają rozwój biznesowy firmy klienta.
Usługi:
Spis treści
O kliencie
Klient jest wiodącym dostawcą rozwiązań VDR – wirtualnych pokojów danych, czyli w pełni chronionych internetowych repozytoriów informacji, służących do przechowywania i udostępniania dokumentacji elektronicznej.
Wyzwanie biznesowe
Klient poszukiwał firmy IT do konsultacji technologicznej, by zaprojektować i opracować zmodernizowaną wersję starej aplikacji w ramach AWS Cloud. Zespół deweloperów w firmie klienta musiał nieustannie utrzymywać oryginalną aplikację w chmurze zarządzanej przez zewnętrznego dostawcę, przez co brakowało mu elastyczności w działaniu i generował podwyższone koszty.
Wyzwanie polegało na zgromadzeniu danych na temat wydajności działania aplikacji, w tym informacji zwrotnych od użytkowników i szczegółów dotychczasowych problemów – oraz wykorzystaniu ich do stworzenia bardziej skalowalnej i skutecznej wersji o lepszej jakości projektowej i niższym koszcie. Nasz zespół skoncentrował się też na usprawnieniu użyteczności, responsywności i integralności interfejsu aplikacji.
Na dobry początek – wnikliwe warsztaty
Pierwszym krokiem w całym procesie była faza Discovery, na którą składają się spersonalizowane warsztaty i tworzenie projektu produktu.
Podczas warsztatów wspólnie z przedstawicielami firmy klienta przez kilka dni pracowaliśmy w modelu hybrydowym – na żywo w siedzibie Future Processing oraz online wraz z pozostałymi osobami zaangażowanymi w projekt.
Nasze złożone podejście do tworzenia rozwiązań technologicznych umożliwiło spełnienie wymagań klienta zaprezentowanych na początku. Nasze zadanie obejmowało analizę biznesową i techniczną, zaprojektowanie nowej architektury systemu oraz zbieranie danych dotyczących bieżących problemów użytkowników korzystających ze starej aplikacji.
Wnioski z etapu Discovery
Warsztaty przyniosły wiele wymiernych korzyści:
- użyliśmy narzędzia Future Processing Product Context Canvas do zmapowania wszystkich czynników, jakie wpływają na produkt klienta,
- utworzyliśmy mapę całości procesu w ramach aplikacji VDR,
- opracowaliśmy protopersony aktualnych użytkowników końcowych, ich celów i problemów – wykorzystaliśmy je do pracy nad nowym rozwiązaniem, dzięki czemu mieliśmy pewność, że spełnimy potrzeby klienta i wykluczymy ryzyko ponownego powstawania tych samych problemów,
- zdefiniowaliśmy potrzeby biznesowe klienta i potencjalne problemy nowych użytkowników,
- zaplanowaliśmy cele i priorytety na kolejne miesiące, co dało nam jasny obraz planu pracy nad projektem produktu i dalszego rozwoju rozwiązania.
Po zakończeniu warsztatów mogliśmy płynnie przejść do etapu projektowania produktu – Product Design.
Etap projektowania produktu
Na etapie projektowania produktu specjaliści z Future Processing przygotowali wszystkie kluczowe materiały potrzebne do realizacji. Nasz zespół był w stałym kontakcie z przedstawicielami firmy klienta odpowiedzialnymi za podejmowanie decyzji, z wewnętrznymi użytkownikami końcowymi rozwiązania klienta oraz z zespołem technicznym zajmującym się dotychczasowym produktem. Dzięki ścisłej współpracy udało nam się stworzyć szczegółowy plan rozwoju i wdrożenia produktu.
Na plan złożyły się:
- projekt koncepcyjny struktury technicznej rozwiązania,
- backlog dwóch pierwszych sprintów,
- projekt nowego interfejsu – grafiki przedstawiające najważniejsze strony i wskazówki.
Nasi specjaliści odświeżyli wygląd starej aplikacji, tak by przypominała nową w okresie przejściowym. Dzięki temu użytkownicy końcowi przyzwyczają się do nowego interfejsu i zmian, które nasz klient chce wprowadzić po utworzeniu MVP.
Dalsza współpraca pomiędzy klientem a zespołem projektowym przebiegała w iteracyjnym modelu Continuous Discovery. Na etapie wdrożenia specjaliści z Future Processing w bliskiej współpracy z klientem określili rodzaj i stopień ważności funkcji w aplikacji w kontekście ich wartości biznesowej i celu.
Automatyzacja i optymalizacja dzięki AWS Cloud
Ulepszone rozwiązanie, opracowane zgodnie z dobrymi praktykami tworzenia oprogramowania, umożliwia redukcję kosztów, ponieważ klient zarządza teraz chmurą AWS wewnątrz firmy, bez udziału trzeciej strony.
Nowa wersja aplikacji została zbudowana na bazie mikrousług i działa w systemie Kubernetes (AWS EKS). Pozwala na obsługiwanie kilku przypadków jednocześnie, co zmniejsza koszty i usprawnia przepływ procesów dla użytkowników końcowych.
Rozwiązanie to zapewnia dynamiczną skalowalność w zależności od bieżących potrzeb klienta. System wykorzystuje także AWS S3 – usługę przechowywania danych, której mocne strony to dostępność, bezpieczeństwo i wysoka wydajność.
Wybraliśmy usługi, które są najbardziej dopasowane do rozwiązania wykorzystywanego przez klienta, a jednocześnie najpełniej wykorzystują potencjał AWS.
Nowa wersja aplikacji
Nasi specjaliści w zakresie DevOps i architektury rozwiązania pozostawali w bezpośrednim kontakcie z klientem i wspólnie zaprojektowali oraz wprowadzili dalsze ulepszenia w systemie.
Tym, co odróżnia tę aplikację od konkurencji, jest nowy proces odpowiadania na pytania i sprawdzania dokumentów. Dla klienta to bardzo istotna funkcjonalność, ponieważ pozwala użytkownikom końcowym pracować bez zakłóceń nad współdzielonymi plikami i zachować ich spójność.
Nasze działania zaoszczędziły czas i inne zasoby klienta, jednocześnie minimalizując ryzyko błędów w procesie.
Unowocześniliśmy aplikację także pod kątem front-endu – warstwa ta jest nieustannie ulepszana i umożliwia łatwiejszą aktualizację platformy w przyszłości. Nasi eksperci usprawnili i zautomatyzowali również funkcję zmiany nazwy wielu plików jednocześnie – wcześniej odbywało się to za pomocą eksportowania i importowania plików Excel, a teraz będzie można to robić po prostu wewnątrz samej aplikacji.
Rozwiązaliśmy w ten sposób wiele problemów klienta, które hamowały rozwój jego firmy.
W starej wersji aplikacji klient mógł jedynie skalować w górę serwer, i to do pewnego stopnia, a do tego korzystał z serwera z systemem ręcznego odzyskiwania danych. Ponadto klient borykał się też z problemem indywidualnych licencji, które trzeba było odzyskiwać za każdym razem, gdy serwer przestawał działać. Co więcej – przed migracją klient przechowywał dane w maszynach wirtualnych o ograniczonych możliwościach.