
Dla jednego ze swoich klientów MakoLab opracował zaawansowaną platformę do tworzenia kompleksowych prezentacji samochodów online.
Platforma wspiera proces sprzedaży samochodów w internecie i jest obecnie wykorzystywana przez firmy zarówno w Polsce, jak i na całym świecie. Wkrótce po jej wdrożeniu za jej pomocą przetworzono blisko pół miliona zdjęć pojazdów oferowanych do sprzedaży online. W związku z szybko rosnącymi wymaganiami dotyczącymi gromadzenia i przetwarzania danych, a jednocześnie potrzebą zapewnienia najwyższej możliwej jakości świadczonych usług, twórcy aplikacji zdecydowali się przenieść ją do platformy chmurowej Microsoft Azure. Wdrożenie zostało przeprowadzone przez zespół ekspertów MakoLab, certyfikowanego partnera Microsoft w Polsce.
Rozwiązanie umożliwia przygotowywanie wirtualnych prezentacji pojazdów online. Za pomocą aplikacji mobilnej osoby odpowiedzialne za sprzedaż samochodów mogą w kilka minut przygotować profesjonalną prezentację pojazdu z widokiem 360 stopni. Zaawansowane narzędzie zapewnia automatyczny import zdjęć i tworzy gotową do publikacji prezentację, korzystając z szczegółowych danych o danym pojeździe z centralnej bazy Eurotax Glass. Po przygotowaniu, oferta może zostać automatycznie wyeksportowana na strony dealerów lub portale sprzedaży samochodów. Rosnąca popularność rozwiązania oraz zainteresowanie wyrażane przez dealerów zachęciły twórców narzędzia do dalszej inwestycji w jego rozwój i przeniesienia go na platformę Microsoft Azure, czyli chmurowe rozwiązanie Microsoft, które zapewnia dedykowane mechanizmy przetwarzania i przechowywania dużych wolumenów danych.
Jakie były powody decyzji o przeniesieniu platformy do Microsoft Azure?
Głównym wyzwaniem wynikającym z uwarunkowań biznesowych projektu było oszacowanie potrzeb w zakresie wydajności oraz zasobów dyskowych niezbędnych klientom do uruchamiania bieżących procesów na platformie. W tym celu wdrożyliśmy App Service Plan. W zależności od zużycia zasobów, możliwe jest efektywne zarządzanie wydajnością oraz jej bardzo szybkie zwiększanie lub zmniejszanie. Rozwiązanie to sprawdza się szczególnie dobrze podczas kampanii marketingowych i wynikającego z nich zwiększonego ruchu użytkowników.
W przypadku tej platformy kluczowym elementem jest mechanizm przechowywania plików Blob Storage — rozwiązanie zarówno ekonomiczne, jak i elastyczne. Przestrzeń jest teoretycznie nieograniczona, a klient płaci wyłącznie za rzeczywiste wykorzystanie. Dodatkowo łatwo skalowalna baza danych SQL ułatwia przechowywanie danych klientów oraz maksymalne wykorzystanie zasobów dzięki puli Elastic Pool. W projekcie wykorzystano również funkcję Cosmos DB do przechowywania eksportowanych ogłoszeń.
Kolejnym istotnym wyzwaniem związanym z platformą było monitorowanie dostępności usług oraz poprawności ich działania. Azure Monitor i Application Insights umożliwiają identyfikowanie problemów w czasie rzeczywistym oraz natychmiastową reakcję na wszelkie nieprawidłowości w działaniu aplikacji. Równie istotne jest zapewnienie bezpieczeństwa usług oraz prawidłowego wdrożenia platformy. Usługa rekomendacji Azure Advisor pomaga wykrywać nietypowe żądania i natychmiast informuje administratora, gdy dojdzie do sytuacji niezgodnej z obowiązującymi standardami. Dzięki temu wszelkie luki w systemie są błyskawicznie wykrywane, co pozwala na ich szybką diagnozę i naprawę.
Programiści narzędzi musieli zmierzyć się z koniecznością wykorzystania niezależnego serwera SMTP do masowej wysyłki wiadomości. Funkcja Send Grid doskonale sprawdza się przy konfigurowaniu powiadomień systemowych zawierających informacje o zapytaniach dotyczących produktu. Azure DevOps umożliwia skonfigurowanie repozytorium kodu w jednym miejscu oraz szybkie budowanie i publikowanie nowych wersji aplikacji. Ułatwia również zarządzanie środowiskami produkcyjnymi i testowymi oraz integrację z innymi narzędziami Microsoft, w tym z Microsoft Teams, dzięki czemu zespół może być natychmiast informowany o zmianach lub pojawiających się problemach.
Jak wyjaśnia Szymon Wojciechowski, IT Project Manager kierujący projektem rozwoju platformy w MakoLab:
Microsoft Azure jest również wygodnym rozwiązaniem dla programistów odpowiedzialnych za bezawaryjne działanie aplikacji. Dzięki usłudze Application Insights rozbudowany system logów i metryk umożliwia skuteczne i efektywne sprawdzanie, które żądania nie działają prawidłowo, a także śledzenie nie tylko liczby wykonanych zadań, ale też momentu ich realizacji. Śledzenie działania aplikacji daje możliwość szybkiej reakcji i zapobiegania sytuacjom kryzysowym. Jednocześnie mniejsza fragmentacja kodu ułatwia wdrożenie nowej osoby do projektu.
Dane z aplikacji są przechowywane w magazynie wykorzystującym technologię LRS (Local Redundant Storage). System opiera się na trzech kopiach danych przechowywanych w jednym centrum danych. Innymi słowy, dane są przechowywane na trzech niezależnych dyskach, co wpływa również na kryteria bezpieczeństwa. Dodatkowo dzięki funkcji Soft Delete możliwe jest odzyskanie usuniętego pliku w okresie od 7 do 365 dni. Na uwagę zasługuje również możliwość przywracania wcześniejszych wersji ustawień, a także szybkość, z jaką można utworzyć środowisko testowe — programista jest w stanie zrobić to w zaledwie kilka minut. Ma to szczególne znaczenie w sytuacji, gdy do narzędzia stale wprowadzane są nowe funkcje i usprawnienia, co doskonale opisuje obecny etap rozwoju platformy.
Sprawna migracja do platformy Microsoft Azure była możliwa dzięki partnerstwu między MakoLab a Microsoft oraz wymianie doświadczeń między obiema firmami. Połączenie wiedzy i technologii obu stron pozwoliło sprostać oczekiwaniom użytkowników, a w efekcie zapewnić najwyższą możliwą jakość usług klientom końcowym rozpoczynającym proces zakupu samochodu przez internet.
