Dla jednego ze swoich klientów MakoLab opracował zaawansowaną platformę do tworzenia kompleksowych prezentacji samochodów online, wspierającą proces sprzedaży aut w Internecie.
Korzystają z niej zarówno podmioty w Polsce, jak i na świecie — w krótkim czasie od uruchomienia platformy było poprzez nią procesowanych blisko pół miliona zdjęć pojazdów wystawionych do sprzedaży online. Biorąc pod uwagę szybko rosnące potrzeby związane z gromadzeniem i przetwarzaniem danych, a tym samym, wobec konieczności zapewnienia najwyższej jakości świadczonych usług, twórcy aplikacji zdecydowali się na przeniesienie jej na platformę chmurową Microsoft Azure. Za wdrożenie i proces migracji odpowiadał zespół MakoLab, certyfikowany partner Microsoft w Polsce.
Cechy rozwiązania
Rozwiązanie pozwala na przygotowywanie wirtualnych prezentacji samochodów w trybie online. Korzystając z aplikacji mobilnej, osoby odpowiadające za sprzedaż samochodu, mogą w dosłownie kilka minut przygotować profesjonalną prezentację pojazdu w widoku 360. Rozbudowane narzędzie zapewnia automatyczny import zdjęć i przygotowanie gotowej do publikacji prezentacji, wykorzystującej szczegółowe dane na temat pojazdu pobierane z centalnej bazy Eurotax Glass. Gotowe oferty mogą być automatycznie eksportowane na strony www dealerów lub portale ogłoszeniowe.
Rosnąca popularność rozwiązania i zainteresowanie nim dealerów spowodowały, że twórcy narzędzia zainwestowali w jego rozwój i przenieśli je na platformę Microsoft Azure — rozwiązanie chmurowe Microsoft, które udostępnia mechanizmy pozwalające na przetwarzanie oraz składowanie dużych ilości danych.
Migracja platformy na Microsoft Azure — znacząco lepsza skalowalność
Jakie powody stały za decyzją o migracji platformy do rozwiązania Microsoft Azure?
– Przede wszystkim zadecydowały szybko rosnące potrzeby zwiększenia zasobów serwerowych, związane z powiększającą się liczbą użytkowników, liczbą prezentowanych samochodów i możliwość szybkiego skalowania w zależności od bieżących potrzeb. Mając to na względzie zaproponowaliśmy migrację rozwiązania oraz uzgodniliśmy rodzaj wsparcia przez Microsoft. Według naszej wspólnej oceny popartej wcześniejszą analizą, 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ści udostępnienia naszym developerom środowiska w ramach PoC — mówi Bogusław Święcicki, Head of Research&Development w MakoLab.
Realne wykorzystanie zasobów — wyzwania
Głównym wyzwaniem wynikającym z biznesowych uwarunkowań projektu był problem z oszacowaniem potrzeb pod względem wydajności i zasobów dyskowych potrzebnych klientowi do realizacji bieżących procesów na platformie. W tym celu został wdrożony skalowalny App Service Plan — w zależności od zużycia zasobów można dzięki niemu skutecznie zarządzać wydajnością i zwiększyć ją bądź obniżyć w bardzo krótkim czasie. Sprawdza się to szczególnie w przypadku prowadzenia akcji marketingowych i w konsekwencji zwiększonej aktywności użytkowników. W przypadku platformy niezwykle istotny jest magazyn plikowy — Blob Storage, który jest zarówno rozwiązaniem ekonomicznym, jak i elastycznym — klient płaci tylko za faktycznie wykorzystaną, ale teoretycznie nieograniczoną przestrzeń. Do tego łatwo skalowalna baza danych SQL umożliwia przechowywanie danych klientów i maksymalne wykorzystanie zasobów przy użyciu Elastics pool. W projekcie wykorzystano także funkcję Cosmo DB do przechowywania wyeksportowanych ogłoszeń.
Monitorowanie dostępności usług i prawidłowości ich działania
Kolejnym ważnym wyzwaniem w przypadku opracowywanej platformy było monitorowanie dostępności usług i prawidłowości ich działania. Dzięki Azure Monitor i Application Insight możliwe jest identyfikowanie problemów w czasie rzeczywistym. Pozwala to na natychmiastową reakcję zespołu na wszelkie nieprawidłowości w działaniu aplikacji. Ważne jest też bezpieczeństwo usług i pilnowanie prawidłowej realizacji funkcji platformy. Usługa rekomendacji Azure Advisor pomaga wykryć nietypowe żądania i natychmiast informuje administratora, gdy dzieje się coś niezgodnego z obowiązującymi standardami. W ten sposób błyskawicznie można wykryć luki w systemie, które mogą zostać szybko zdiagnozowane i naprawione.
Łatwa konfiguracja i zarządzanie środowiskami testowymi
Twórcy narzędzia stanęli również przed koniecznością wykorzystania niezależnego serwera SMTP do masowej wysyłki maili. Funkcja Send Grid idealnie sprawdziła się w konfigurowaniu powiadomień z systemu, informujących o wpłynięciu zapytania o produkt. Z kolei dzięki Azure Devops można było w jednym miejscu skonfigurować repozytorium kodu oraz w łatwy sposób zbudować i publikować nowe wersje aplikacji. Ułatwia to też zarządzanie środowiskami produkcyjnymi i testowymi, a integracja z innymi narzędziami Microsoft, tj. Microsoft Teams umożliwia natychmiastowe poinformowanie zespołu o zmianach czy pojawiających się problemach.
Funkcjonalności szyte na miarę
-Wykorzystanie funkcjonalności Microsoft Azure zapewniło większą skalowalność, ale też oszczędności. Z jednej strony możliwości są teoretycznie nieograniczone, a same opłaty naliczane są tylko za wywołane i faktycznie wykorzystane zasoby. W przypadku platformy, o której rozmawiamy, możemy mieć do czynienia z sytuacją wgrywania większej liczby zdjęć do systemu lub nagłego skoku ruchu na stronach, co wiąże się z wykorzystaniem większej ilości zasobów serwerowych w danym momencie — mówi Szymon Wojciechowski, IT Project Manager prowadzący projekt w MakoLab. Elastyczne podejście jakie zapewnia rozwiązanie chmurowe MS Azure doskonale rozwiązuje problem potrzeby większych zasobów krótkim czasie.
Microsoft Azure to także udogodnienia dla deweloperów dbających o bezproblemowe działanie aplikacji. Rozbudowany system logów i metryk za pomocą usługi Application Insights pozwala sprawdzić, które requesty nie działają, ile zadań udało się wykonać i w jakim czasie. Śledzenie na bieżąco działania aplikacji to możliwość szybkiego reagowania i niedopuszczanie do sytuacji kryzysowych. Z kolei mniejsza fragmentaryczność kodu ułatwia wprowadzenie nowej osoby do projektu.
Dane z apliakcji są składowane w magazynie wykorzystującym technologię LRS (Local Redundant Storage). System bazuje na trzech kopiach w ramach jednego centrum danych — oznacza to, że są one przechowywane na trzech niezależnych dyskach, co dodatkowo wpływa na kryteria bezpieczeństwa. Ponadto dzięki funkcji Soft delete w okresie od 7 do 365 dni można odzyskać skasowany plik. Na uwagę zasługuje też krótki czas uruchomienia środowiska testowego, które deweloper może stworzyć w ciągu kilku minut oraz możliwość szybkiego przywracania poprzednich wersji środowisk. Jest to szczególnie ważne, gdy ciągle wprowadza się zmiany i udoskonalenia w narzędziu, co jest typową cechą dla etapu produkcji na jakim znajduje się platforma.
Migracja platformy do środowiska Microsoft Azure przebiegła sprawnie dzięki partnerskiej współpracy i wymianie doświadczeń zarówno po stronie MakoLab, jak i Microsoft. Połączenie wiedzy i technologii po obydwu stronach pozwoliło sprostać oczekiwaniom użytkowników korzystających z platformy i w konsekwencji zapewnić najwyższą jakość usług dla klientów końcowych, którzy proces zakupu samochodu zaczynają w Internecie.
Osoba do kontaktu:
Michał Hertel
Dyrektor komunikacji i rozwoju biznesu
m: michal.hertel@makolab.com
t: +48 604 176 276
O MakoLab
Jesteśmy ekspertami od technologii, realizującymi projekty z obszaru transformacji cyfrowej. Naszym priorytetem jest w jak najlepszy sposób wspierać realizację celów biznesowych naszych klientów. Łączymy kompetencje inżynierskie z kreatywnością, żeby tworzyć intuicyjne i przyjazne w codziennym użytkowaniu narzędzia informatyczne.
Koncentrujemy się na budowaniu trwałych i efektywnych połączeń pomiędzy markami a użytkownikami, wykorzystując narzędzia cyfrowe do rozwiązywania bieżących zadań i problemów. W czasach „Experience economy” dostarczamy naszym klientom dedykowane rozwiązania biznesowe i platformy cyfrowe do budowania relacji z użytkownikami, rozwijania biznesu i tworzenia wartości rynkowej.
Naszym celem jest satysfakcja naszych partnerów wynikająca z wykorzystywania efektów naszej pracy i wdrożonych przez nas rozwiązań a realizowana dzięki wykorzystaniu najnowszych technologii.