Modernizacja procesu sprzedaży oraz poprawa efektywności w Education First dzięki wykorzystaniu Salesforce


Education First jest ogólnoświatowym liderem z branży edukacyjnej, który od ponad 50 lat oferuje przełomowe możliwości w zakresie nauki języków obcych dla osób w każdym wieku, różnych narodowości i środowisk. Firma posiada ponad 600 biur w ponad 60 krajach na wszystkich kontynentach.
Wyzwania
W systemach informatycznych wraz ze wzrostem ilości funkcjonalności często wzrasta trudność w dodawaniu nowych. System staje się trudny w rozwoju, a koszta związane z utrzymaniem systemu zaczynają przekraczać koszty wprowadzania nowych funkcjonalności. Tego typu sytuacje najczęściej są bardzo złym znakiem ostrzegającym przed problemami.
System Education First już na początku wykazywał znamiona erozji – coraz częściej zaczęło dochodzić do przekroczenia limitów platformy. Było to spowodowane nieprawidłowym wykonaniem funkcjonalności i prowadziło do uszkodzenia danych. Celem projektu było osiągnięcie szeroko idącej skalowalności, która umożliwiłaby stabilną pracę przy jednoczesnym obciążeniu na poziomie kilku tysięcy użytkowników i napływie do kilkudziesięciu do kilkuset tysięcy rekordów dziennie. Oczywiście wszystko to przy zachowaniu nieprzerwanej pracy systemu oraz wysokiego poziomu rozszerzalności.
Rozwiązania
Wysokie wymagania wymuszały szeroki zakres zmian w architekturze systemu. Jednym ze sposobów podnoszenia produktywności jest wprowadzanie do zakresu projektu fazy refaktoryzacji – iteracyjnej modyfikacji kodu, która nie powoduje zmian funkcjonalnych. Celem procesu refaktoryzacji jest poprawienie atrybutów jakościowych systemu, takich jak łatwość utrzymania, rozszerzalność, wydajność, skalowalność, obserwowalność, poprawa produktywności oraz elastyczność.
W ramach projektu przygotowano plan priorytezujacy te zadania, które wymagały najmniejszej ilości pracy, dając jednocześnie najlepsze rezultaty. W każdym sprincie wprowadzono od 10 do 30% zadań technicznych w taki sposób, aby nie kolidowały z implementacją nowych wymagań biznesowych.
W celu spełnienia potrzeb Education First zdecydowano się na zbudowanie modułu ułatwiającego optymalizowanie wykonywania funkcjonalności oraz redukującego ilość operacji bazodanowych. Wprowadzono moduł naśladujący działanie Messaging Queues oparty o Salesforce Platform Events, a także wprowadzono mechanizmy logowania błędów oraz śledzenia ilości i szybkości wywołań asynchronicznych, stanu kolejek systemowych, limitów platformy i stanu głównych procesów automatycznych w systemie.
Efekty
Proces refaktoryzacji z biegiem czasu bardzo ułatwił utrzymanie i rozwój systemu, a także w znaczący sposób wyeliminował błędy i utrudnił powstawanie nowych. Realizacja projektu pozwoliła na:
- zwiększenie szybkości i wydajności – ułatwiono optymalizowanie funkcjonalności, zredukowano ilość cyklicznych zależności w logice, przeniesiono większość funkcjonalności do kodu
- poprawę skalowalności – umożliwiono kolejkowanie zadań oraz ich przetwarzanie w przypadku wystąpienia błędów, zastosowano mechanizm wywołań, pozwalający na dobór odpowiedniej strategii w zależności od kontekstu wywołania,
- lepszą obserwowalność – wprowadzono mechanizmy logowania błędów oraz śledzenia ilości i szybkości wywołań, limitów platformy i stanu głównych procesów w systemie; generowane raporty pokazują co aktualnie dzieje się w systemie od strony technicznej,
- zwiększenie rozszerzalności i elastyczności – większość kodu została rozbita na mniejsze klasy, przy jednoczesnej dbałości o utrzymanie odpowiednich zależności; każda funkcjonalność może zostać dezaktywowana z poziomu administratora,
- ułatwienie utrzymania – zbudowano dobrze przetestowane i stabilne narzędzie, na którym oparto logikę biznesową.
Zastosowane technologie i narzędzia
Salesforce, Sales Cloud, Service Cloud, Community Cloud, Marketing Cloud, AWS, Apex, Lightning Web Components.
Inne wpisy

Technologie
Innowacyjny system oparty na sztucznej inteligencji wspierający leczenie zaburzeń afektywnych
Wyzwania Na świecie żyje około 280 milionów osób chorujących na ...

Java
Pierwszy etap projektu: Budowa Portalu Klienta dla Rohlig Suus
Rohlig Suus to ekspert w branży logistycznej oraz lider na niemieckim ry...