Know-how

Samochody w chmurze - automatyzacja procesu sprzedaży samochodów

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.

Cechy rozwiązania

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.

Migracja platformy do Microsoft Azure. Znaczące zwiększenie skalowalności

Jakie były powody decyzji o przeniesieniu platformy do Microsoft Azure?

Decyzja wynikała przede wszystkim z gwałtownie rosnących potrzeb w zakresie zwiększania zasobów serwerowych, związanych nie tylko z rosnącą liczbą użytkowników i prezentowanych samochodów, ale także z możliwością szybkiego skalowania w górę, w zależności od bieżących wymagań. Mając to na uwadze, zarekomendowaliśmy migrację rozwiązania i uzgodniliśmy formę wsparcia, jakie miało zapewnić Microsoft. W naszej wspólnej opinii, opartej na wcześniejszej analizie, była to najlepsza możliwa opcja dla tego rozwiązania, głównie ze względu na wsparcie doświadczonego architekta Microsoft oraz możliwość udostępnienia naszym programistom środowiska POC.
explains Bogusław Święcicki, Head of Research & Development at MakoLab

Rzeczywiste wykorzystanie zasobów. Wyzwania.

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ń.

Monitorowanie dostępności usług i ich prawidłowego działania

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ę.

Łatwa konfiguracja i zarządzanie środowiskiem testowym

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.

Funkcjonalności dopasowane do potrzeb

Jak wyjaśnia Szymon Wojciechowski, IT Project Manager kierujący projektem rozwoju platformy w MakoLab:

Wykorzystanie funkcjonalności Microsoft Azure zapewniło zarówno większą skalowalność, jak i oszczędności. Z jednej strony możliwości są teoretycznie nieograniczone, z drugiej zaś opłaty naliczane są wyłącznie na podstawie faktycznie wykorzystanych zasobów. W przypadku tej platformy może to oznaczać przesłanie większej liczby zdjęć do systemu lub nagły wzrost ruchu na stronach, skutkujący wykorzystaniem większych zasobów serwerowych w danym momencie.
explains Szymon Wojciechowski, the IT Project Manager leading platform development project at 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.

Udostępnij
12th April 2021
5 Czas czytania
Udostępnij
Autor(zy)

Michał Hertel

Dyrektor ds. komunikacji

W tym artykule

Więcej wpisów Insights