Wykorzystanie możliwości chmury obliczeniowej w projektach IoT i AI, na przykładzie firmy z branży transportowej 

    Obracając się w tematyce nowych technologii, coraz częściej słyszymy buzzwordy takie jak „IoT”, „AI” czy „Machine Learning”. Każdy je zna, ale nie każdy potrafi dokładnie wskazać, co oznaczają i w jaki sposób możemy je wykorzystać w projektach IT. Czy możliwości, jakie kryją się za sztuczną inteligencją, wymagają specjalistycznej i trudnodostępnej wiedzy? A może usługi chmurowe, będące na wyciągnięcie ręki, mogą pomóc w tym zakresie? Poniżej analizujemy, jak umozliwia to Azure Cloud

    Smart rozwiązania w logistyce, czyli w jaki sposoób Azure IoT i Azure Cognitive Services mogą pomóc rozwiązać problemy branży transportowej: lepsza komunikacja, mniej błędów i opóźnień, większe bezpieczeństwo

    Czym jest IoT i do czego wykorzystujemy go w życiu codziennym?

    W dużym skrócie IoT (ang. Internet of Things; internet rzeczy) to sieć połączonych ze sobą urządzeń. Samo urządzenie może być praktycznie wszystkim, do czego można włożyć prosty system operacyjny i tym samym sterować jego parametrami. Dlatego też, wraz ze wzrostem popularności IoT, w sklepach widzimy coraz więcej smart-lodówek, smart-ekspresów do kawy, smart-żarówek… lista praktycznie nie ma końca. 

    W ten sposób, gdy mamy już swój komplet urządzeń, wystarczy tylko spiąć go ze sobą na przestrzeni jakiejś sieci: lokalnej lub globalnej. To, co charakteryzuje takie urządzenia, to zestaw instrukcji. Są w miarę autonomiczne, jak również mogą gromadzić pewne informacje w celu przyszłej analizy, przetwarzać je, a nawet wymieniać między sobą.

    O ile ciężko wyobrazić sobie, po co smart-włącznikowi światła informacja o tym, ile kaw robimy dziennie, to całość nabiera sensu, gdy mamy np. dwa smart-odkurzacze. Jeżeli sprzątają ten sam obszar, muszą się nim w jakiś sposób podzielić i tutaj przydaje się wymiana danych. 

    Sztuczna inteligencja vs Machine Learning

    Natomiast AI, tzw. sztuczna inteligencja, jest nieco bardziej zawiłym terminem. Głównie dlatego, że jeszcze nie powstała prawdziwa sztuczna inteligencja (i prawdopodobnie jeszcze przez dłuższy czas nie powstanie). To, co udało się do tej pory stworzyć to sposób na „wyuczenie” zachowania – stworzenie pewnej funkcji, na podstawie bardzo dużej ilości danych wejściowych i wyjściowych. Na przykładzie, jeśli mielibyśmy zestaw danych, zawierający: 

    • dane wejściowe: miliony lub miliardy zdjęć fragmentów tekstów,  
    • dane wyjściowe: tekst znajdujący się na tych zdjęciach,  

    moglibyśmy stworzyć model uczenia maszynowego, który po nauce na tych danych pozwoliłby na przeniesienie dowolnego fragmentu tekstu ze zdjęcia na tekst.  

    To właśnie zrobiło Google za pomocą projektu Captcha.

    Chmura obliczeniowa w projektach IoT i AI

    W jaki sposób te dwie tematyki łączą się w dzięki rozwiązaniom claudowym? Dostawcy chmurowi, tacy jak AWS, Azure czy Google Cloud, tworzą własne rozwiązania, które bazują na tych pojęciach i udostępniają interfejsy API lub użytkownika w celu łatwiejszego i szybszego tworzenia rozwiązania. Zwykle są to gotowe produkty, np. rozpoznawanie rzeczy na zdjęciach, rozpoznawanie mowy czy też zaoferowanie całego środowiska pracy na potrzeby IoT. Oczywiście wspomniane produkty otoczone są szeregiem udogodnień, jakie oferuje chmura – dostępnością, zasobami oraz skalowaniem.  

    Warto się w tym miejscu zastanowić, dlaczego w ogóle mielibyśmy korzystać z gotowych produktów? Pozwoli to przede wszystkim podnieść bezpieczeństwo rozwiązania. Wykorzystując to, co jest już używane przez tysiące innych firm, mamy pewność, że rozwiązanie zostało dogłębnie przetestowane. Tym samym szanse na powstanie podatności są dużo mniejsze niż gdybyśmy tworzyli wszystko od zera. Dodatkowo samo stworzenie takich funkcjonalności jest czasochłonne oraz wymaga dużej wiedzy w dziedzinie, która jest trudno dostępna na rynku pracy. 

    Natomiast wykorzystanie produktów oferowanych przez Microsoft Azure pozwala na łatwą integrację z innymi produktami Azure lub istniejącą infrastrukturą chmurową oraz na skalowalność rozwiązania.

    IoT i Machine Learning w chmurze Microsoft Azure

    Spójrzmy na to, co oferuje nam Azure Cloud w kontekście IoT i co możemy potencjalnie na tym zyskać. Przede wszystkim mamy usługę o nazwie Azure IoT Hub. Pozwala ona na połączenie się z dowolnymi urządzeniami IoT, zarządzanie nimi i łatwą integrację.  

    Co więcej, za pomocą usługi IoT Central możemy w bardzo prosty sposób tworzyć raporty wykorzystania, śledzić pojawiające się błędy czy też wgrywać nowe wersje naszych aplikacji na urządzenia. Wszystko to pozwoli na zmniejszenie kosztów operacji i managementu naszych aplikacji IoT. Mamy też szereg usług wspierających przetwarzanie brzegowe (ang. Edge computing): Azure IoT Edge oraz Azure Percept. Wspomogą ona nas w przenoszeniu obliczeń z chmury na jej brzeg, aby wykonywały się za pomocą naszych urządzeń IoT. 

    Jeśli chodzi o machine learning, Azure oferuje sporo usług o szerokim zakresie zastosowań. Mamy tutaj podział na 3 sekcje: Azure Applied AI Services, Azure Cognitive Services oraz Azure Machine Learning.

    Azure Applied AI Services 

    Usługi z tej sekcji pozwalają na wykorzystanie AI w celu rozwiązywania niektórych typowych, prostych problemów biznesowych, oferując np. usługę botów czatowych, rozpoznawanie formularzy czy też cały silnik wyszukiwarki oparty na AI. Azure Metrics Advisor poda nam również rekomendacje dotyczące naszych zasobów bądź wskaże, w którym miejscu może wystąpić problem w naszej infrastrukturze. 

    Azure Cognitive Services 

    Azure Cognitive Services oferują API umożliwiające m.in. rozpoznawanie obiektów na zdjęciach, tłumaczenie tekstu, zmianę tekstu na mowę i vice versa, odpowiadanie na pytania, wyczytywanie intencji rozmówcy i wiele więcej. Korzystanie z tego API nie wymaga skomplikowanej wiedzy potrzebnej do jego stworzenia, czy też wiedzy jak to działa. Wystarczy zaimplementować w naszej aplikacji samą integrację i możemy korzystać z wyników analiz. 

    Azure Machine Learning 

    Jeśli żadna z powyższych usług nam nie odpowiada, Azure oferuje również środowisko, w którym możemy stworzyć swój własny model. Szczególnie w Big Data lub BI – przypadki są na tyle wyspecjalizowane, że nie istnieje jedno narzędzie pozwalające rozwiązać wszystkie problemy. Azure Machine Learning oferuje natomiast prosty, graficzny interfejs pozwalający „skleić” z kafelków logikę przetwarzania danych i uczenia maszynowego. Wszystko to w otoczce łatwej integracji z innymi usługami Azurowymi, takimi jak Storage Accounts czy Azure DataFactory. 

    Przykład zastosowania Azure IoT i Azure Cognitive Services w branży transportowej

    Jest to przykład firmy transportowej, posiadającej główną siedzibę i zaplecze kilkuset pojazdów, przewożących towar w standardowych naczepach, chłodniach oraz cysternach. W punkcie wyjściowym procesy działały ręcznie: przyjmowanie zleceń przez kierowców, jak i komunikacja o problemach w trakcie drogi działa się za pośrednictwem rozmów telefonicznych między centralą a kierowcami. Dokumenty transportowe były w postaci fizycznej i kierowca musiał mieć je ze sobą. 

    Oto jakie rozwiązania bazujące na Azure IoT i Azure Cognitive Services zaproponowano tej firmie:

    Pomiar najważniejszych parametrów

    W samochodach zainstalowano zestaw czujników dla najważniejszych parametrów jazdy, takich jak: pozycja, prędkość, temperatura zewnętrzna, temperatura wewnątrz chłodni, ciśnienie wewnątrz cysterny, ostrzeżenia pochodzące z ciężarówki (awarie silnika, małe ciśnienie opon, poziom oleju). 

    Dostęp przez aplikację mobilną

    Dla kierowców stworzono aplikację i zainstalowano ją na służbowych telefonach. Aplikacja pozwala na szereg funkcji związanych z komunikacją z centralną:

    • Zgłoszenie o wypadku na drodze, 
    • Przyjęcie zlecenia, 
    • Przechowywanie dokumentów transportowych,
    • Skanowanie dokumentów transportowych, 
    • Zgłoszenie dojazdu na miejsce/rozpoczęcia kolejnego kursu. 

    Synchronizacja dzięki Azure IoT Hub

    Wszystkie sensory i aplikacje kierowców połączono za pomocą Azure IoT Hub

    Zestaw sensorów dla jednej ciężarówki oraz telefon z aplikacją wskazującą, która ciężarówka znajduje się najbliżej, stworzyły wirtualny model samochodu, zawierający informacje o stanie zlecenia. 

    Ułatwiony monitoring

    Centrala mogła w łatwy sposób monitorować lokalizację wszystkich ciężarówek.

    • Przy pomocy dodatkowych algorytmów działających na podstawie danych o obecnym ruchu na trasie ciężarówek, system wykrywał kursy, które miały szanse nie dowieźć towaru na czas i określał je jako ryzykowne. Operator otrzymywał o tym informacje i mógł powiadomić klienta o opóźnieniu. 
    • Dzięki informacjom o stanie ciężarówki w razie wypadku, awarii silnika lub chłodni, czy też innej sytuacji alarmowej zgłoszonej przez kierowcę, operator mógł spróbować znaleźć najbliższy punkt załadunku/wyładunku, aby wymienić ciężarówkę na inną wolną w pobliżu. 

    Usprawniony obieg dokumentów

    Wykorzystując Azure Cognitive Services, wszystkie dokumenty transportowe, jak i przychodzące faktury mogły zostać automatycznie zrealizowane i zapisane cyfrowo.

    • Kierowcy otrzymywali informacje bezpośrednio na aplikację, przez co nie musieli korzystać z papierowych wersji oraz otrzymywali trasę do celu bezpośrednio na telefon.  
    • Operatorzy mogli przestać działać na fizycznych dokumentach oraz nie musieli wysyłać plików z dokumentami, ponieważ było to zautomatyzowane przez system, który bazował na zdarzeniach generowanych przez kierowcę. 

    W wyniku zastosowanych zmian osiągnięto następujące cele:

    • Zmniejszono wkład czasu w komunikację między centralą a kierowcami, 
    • Zmniejszono ryzyko błędu ludzkiego podczas całego procesu, 
    • Zmniejszono ryzyko opóźnienia się dostaw i ewentualnych kar związanych z opóźnieniem,
    • Zwiększono bezpieczeństwo kierowców i ładunków dzięki zastosowanym czujnikom, 
    • Zwiększono możliwości monitoringu wszystkich ciężarówek jednocześnie, 
    • Zmodernizowano system i otwarto go na nowe możliwości inwestycyjne. 

    IoT i AI w Azure Cloud – podsumowanie

    IoT i Machine Learning pojawiły się na rynku stosunkowo niedawno. Jednak w ostatnich latach zyskują na popularności, a dzięki gotowym produktom (dostępnym m.in. w Microsoft Azure) można bez wkładu początkowego i bez specjalistycznej wiedzy zacząć wprowadzać je do projektów IT.

    Mimo wszystko bardzo ważną kwestią pozostaje bezpieczeństwo tworzonych systemów; skutki zaniedbania tej kwestii mogą być katastrofalne. Warto również rozważyć znalezienie specjalistów, którzy implementują wysokiej jakości usługi chmurowe i zadbają o każdy szczegół implementacji.

    Dominika Biardzka-Jaworowska
    Dominika Biardzka-Jaworowska
    Head of Azure Unit i prowadząca zespołu developerskiego .Net. Posiada 10-letnie doświadczenie w IT, specjalizuje się w projektach związanych z migracją do chmury i budowaniem architektury chmurowej. Łączy potrzeby biznesowe z technicznym punktem widzenia; tworzy strategie IT w oparciu o usługi Azure, zapewniając korzyści finansowe. Zapewnia wsparcie we wdrażaniu rekomendacji Komisji Nadzoru Finansowego dotyczących chmury obliczeniowej.