To jest gościnny wpis na blogu, którego współautorem jest Rajagopal Mahendran, menedżer ds. rozwoju w zespole innowacji IT Optus.
Optus jest częścią grupy The Singtel, która działa w jednym z najszybciej rozwijających się i najbardziej dynamicznych regionów na świecie, i jest obecna w 21 krajach. Optus świadczy nie tylko podstawowe usługi telekomunikacyjne, ale także szeroką gamę rozwiązań cyfrowych, w tym chmurę, cyberbezpieczeństwo i reklamę cyfrową dla przedsiębiorstw, a także rozrywkę i mobilne usługi finansowe dla milionów konsumentów. Optus świadczy usługi komunikacji mobilnej dla ponad 10.4 miliona klientów oraz usługi szerokopasmowe dla ponad 1.1 miliona domów i firm. Ponadto Optus Sport umożliwia blisko milionowi fanów dostęp do treści związanych z Premier League, międzynarodową piłką nożną i treściami fitness.
W tym poście przyjrzymy się, jak korzystał z Optus Amazonka Kinesis do pozyskiwania i analizowania danych związanych z siecią w jeziorze danych w AWS oraz ulepszania obsługi klienta i procesu planowania usług.
Wyzwanie
Częstym wyzwaniem dla dostawców usług telekomunikacyjnych jest uzyskanie dokładnego, aktualnego obrazu jakości usług i problemów doświadczanych przez ich klientów. Jakość sieci domowej i łączności szerokopasmowej ma znaczący wpływ na produktywność i satysfakcję klientów, szczególnie biorąc pod uwagę zwiększone wykorzystanie sieci domowych w pracy, kontaktach z rodziną i przyjaciółmi oraz rozrywce podczas pandemii Covid-19.
Ponadto zespoły ds. operacji sieciowych i planowania często nie mają dostępu do odpowiednich danych i spostrzeżeń, aby planować nowe wdrożenia i zarządzać obecną flotą urządzeń.
Platforma analityki sieciowej zapewnia zespołom Optus i ich klientom dane i spostrzeżenia związane z rozwiązywaniem problemów i planowaniem w czasie zbliżonym do rzeczywistego, co pomaga skrócić średni czas potrzebny na naprawę i poprawić jakość obsługi klienta. Dzięki właściwym danym i spostrzeżeniom klienci mają lepsze doświadczenia, ponieważ zamiast rozpoczynać rozmowę z pomocą techniczną z mnóstwem pytań, personel wsparcia i klient mają aktualny i dokładny obraz usług i sieci domowej klienta.
Zespoły właścicieli usług w Optus mogą również korzystać ze spostrzeżeń i trendów uzyskanych z tej platformy, aby lepiej planować przyszłość i zapewniać klientom usługi wyższej jakości.
Uwagi dotyczące projektu
Aby sprostać temu wyzwaniu i jego wymaganiom, rozpoczęliśmy projekt mający na celu przekształcenie naszego obecnego systemu gromadzenia i przetwarzania partii w oparty na strumieniach system przetwarzania w czasie niemal rzeczywistym oraz wprowadzenie interfejsów API umożliwiających wgląd w dane, aby systemy wsparcia i aplikacje klientów mogły wyświetlać najnowszą migawkę stanu sieci i usług.
Mieliśmy następujące wymagania funkcjonalne i niefunkcjonalne:
- Nowa platforma musi być w stanie obsługiwać przechwytywanie danych z przyszłych typów urządzeń klientów, a także nowe sposoby pozyskiwania (nowe protokoły i częstotliwość) oraz nowe formaty danych.
- Powinno obsługiwać wielu konsumentów (interfejs API czasu niemal rzeczywistego dla personelu pomocniczego i aplikacji klientów oraz raportowania operacyjnego i biznesowego) w korzystaniu z danych i generowaniu spostrzeżeń. Celem platformy jest proaktywne wykrywanie problemów i generowanie odpowiednich alertów dla personelu pomocniczego i klientów.
- Po nadejściu danych wnioski z danych powinny być gotowe w postaci interfejsu API w ciągu kilku sekund (maksymalnie 5 sekund).
- Nowa platforma powinna być na tyle odporna, aby kontynuować przetwarzanie w przypadku awarii części infrastruktury, takich jak węzły lub strefy dostępności.
- Może obsługiwać zwiększoną liczbę urządzeń i usług, a także częstsze pobieranie danych z urządzeń.
- Mały, wielofunkcyjny zespół zajmujący się biznesem i technologią zbuduje i będzie obsługiwał tę platformę. W dłuższej perspektywie musimy zapewnić minimalne koszty infrastruktury i kosztów operacyjnych.
- Potok powinien charakteryzować się wysoką dostępnością i umożliwiać nowe wdrożenia bez przestojów.
Omówienie rozwiązania
Mając na uwadze cel platformy i względy projektowe, zdecydowaliśmy się tam, gdzie to możliwe, korzystać z usług wyższego rzędu i usług bezserwerowych AWS, aby uniknąć niepotrzebnych kosztów operacyjnych dla naszego zespołu i skupić się na podstawowych potrzebach biznesowych. Obejmuje to korzystanie z rodziny usług Kinesis do pozyskiwania i przetwarzania strumieni; AWS Lambda do przetworzenia; Amazon DynamoDB, Usługa relacyjnych baz danych Amazon (Amazon RDS) i Usługa Amazon Simple Storage (Amazon S3) dla trwałości danych; I Elastyczna łodyga fasoli AWS i Brama Amazon API do obsługi aplikacji i API. Poniższy diagram przedstawia ogólne rozwiązanie.
Rozwiązanie pobiera pliki dziennika z tysięcy urządzeń sieciowych klientów (routerów domowych) w określonych odstępach czasu. Sprzęt klienta może wysyłać jedynie proste żądania HTTP PUT i POST w celu przesłania plików dziennika. Aby otrzymać te pliki korzystamy z aplikacji Java działającej w grupie AutoScaling Elastyczna chmura obliczeniowa Amazon (Amazon EC2). Po kilku wstępnych kontrolach aplikacja odbierająca przeprowadza czyszczenie i formatowanie, a następnie przesyła strumieniowo pliki dziennika do Strumienie danych Amazon Kinesis.
Celowo używamy niestandardowej aplikacji odbiorczej w warstwie pozyskiwania, aby zapewnić elastyczność w obsłudze różnych urządzeń i formatów plików.
Aby zrozumieć resztę architektury, przyjrzyjmy się oczekiwanym spostrzeżeniom. Platforma generuje dwa rodzaje spostrzeżeń:
- Indywidualne spostrzeżenia – Odpowiedzi na pytania w tej kategorii obejmują:
- Ile błędów wystąpiło na konkretnym urządzeniu klienta w ciągu ostatnich 15 minut?
- Jaki był ostatni błąd?
- Ile urządzeń jest obecnie podłączonych w domu konkretnego klienta?
- Jaka jest szybkość przesyłania/odbioru rejestrowana przez konkretne urządzenie klienta?
- Podstawowe spostrzeżenia – W odniesieniu do grupy lub całej bazy użytkowników pytania w tej kategorii obejmują:
- Ile urządzeń klientów zgłosiło zakłócenia w świadczeniu usług w ciągu ostatnich 24 godzin?
- Które typy urządzeń (modele) doświadczyły największej liczby błędów w ciągu ostatnich 6 miesięcy?
- Czy po wczorajszej aktualizacji łatki na grupie urządzeń zgłosili jakieś błędy? Czy konserwacja zakończyła się powodzeniem?
Górny pas w architekturze pokazuje potok, który generuje indywidualne spostrzeżenia.
Mapowanie źródła zdarzeń funkcji Lambda jest skonfigurowane tak, aby korzystało z rekordów ze strumienia danych Kinesis. Ta funkcja odczytuje rekordy, formatuje je i przygotowuje je w oparciu o wymagane informacje. Na koniec przechowuje wyniki w lokalizacji Amazon S3, a także aktualizuje tabelę DynamoDB, która przechowuje podsumowanie i metadane rzeczywistych danych przechowywanych w Amazon S3.
Aby zoptymalizować wydajność, skonfigurowaliśmy dwie metryki w mapowaniu źródła zdarzeń Lambda:
- Wielkość partii – Pokazuje liczbę rekordów do wysłania do funkcji w każdej partii, co pomaga osiągnąć wyższą przepustowość
- Równoczesne partie na fragment – Przetwarza wiele partii z tego samego fragmentu jednocześnie, co pomaga w szybszym przetwarzaniu
Wreszcie interfejs API jest udostępniany za pośrednictwem bramy API i działa w aplikacji Spring Boot hostowanej na platformie Elastic Beanstalk. W przyszłości może zaistnieć potrzeba utrzymywania stanu pomiędzy wywołaniami API, dlatego zamiast aplikacji bezserwerowej używamy Elastic Beanstalk.
Dolny pas w architekturze to potok generujący raporty podstawowe.
Używamy pliki Analiza danych Amazon Kinesis, uruchamiając obliczenia stanowe na danych przesyłanych strumieniowo, aby podsumować pewne wskaźniki, takie jak szybkości przesyłania lub poziomy błędów w danych oknach czasowych. Podsumowania te są następnie przesyłane do pliku Amazonka Aurora bazę danych z modelem danych odpowiednim do celów tworzenia dashboardów i raportowania.
Spostrzeżenia są następnie prezentowane na dashboardach za pomocą aplikacji internetowej działającej na platformie Elastic Beanstalk.
Wyciągnięte wnioski
Korzystanie ze wzorców bezserwerowych i usług wyższego rzędu, w szczególności Lambda, Kinesis Data Streams, Kinesis Data Analytics i DynamoDB, zapewniło dużą elastyczność naszej architekturze i pomogło nam przejść bardziej w kierunku mikrousług niż dużych, monolitycznych zadań wsadowych.
Ta zmiana pomogła nam również radykalnie zmniejszyć koszty ogólne związane z zarządzaniem operacyjnym i usługami. Przykładowo w ciągu ostatnich kilku miesięcy od uruchomienia klienci tej platformy nie doświadczyli żadnych zakłóceń w świadczeniu usług.
To rozwiązanie umożliwiło nam również przyjęcie bardziej DevOps i zwinnych sposobów pracy w tym sensie, że jeden mały zespół rozwija i obsługuje system. To z kolei umożliwiło organizacji większą elastyczność i innowacyjność w tej dziedzinie.
W trakcie opracowywania i produkcji odkryliśmy także kilka wskazówek technicznych, którymi warto się podzielić:
Wyniki i korzyści
Mamy teraz wgląd w wydajność naszych sieci stacjonarnych i komórkowych w czasie zbliżonym do rzeczywistego, zgodnie z doświadczeniami naszych klientów. W przeszłości dysponowaliśmy jedynie danymi, które przychodziły w trybie wsadowym z opóźnieniem, a także pochodziły wyłącznie z naszych własnych sond i sprzętu sieciowego.
Dzięki widokowi sieci w czasie zbliżonym do rzeczywistego w przypadku wystąpienia zmian nasze zespoły operacyjne mogą również przeprowadzać aktualizacje i konserwację całej floty urządzeń klientów z większą pewnością i częstotliwością.
Wreszcie nasze zespoły planistów wykorzystują te spostrzeżenia do stworzenia dokładnego, aktualnego obrazu wydajności różnych urządzeń i usług. Prowadzi to do wyższej jakości usług dla naszych klientów po lepszych cenach, ponieważ nasze zespoły planowania usług mogą optymalizować koszty, lepiej negocjować z dostawcami i usługodawcami oraz planować przyszłość.
Patrząc przed siebie
Ponieważ platforma analityki sieciowej jest w fazie produkcyjnej od kilku miesięcy i jest obecnie stabilna, istnieje zapotrzebowanie na więcej spostrzeżeń i nowych przypadków użycia. Rozważamy na przykład przypadek użycia urządzeń mobilnych, aby lepiej zarządzać przepustowością podczas wydarzeń na dużą skalę (takich jak wydarzenia sportowe). Celem jest, aby nasze zespoły działały w oparciu o dane i mogły reagować w czasie zbliżonym do rzeczywistego na potrzeby w zakresie wydajności w przypadku takich wydarzeń.
Innym obszarem zapotrzebowania jest konserwacja predykcyjna: chcemy wprowadzić do tych potoków uczenie maszynowe, aby pomóc w szybszym i dokładniejszym pozyskiwaniu spostrzeżeń za pomocą portfolio usług AWS Machine Learning.
O autorach
Rajagopala Mahendrana jest Menedżerem ds. Rozwoju w Zespole Innowacji Optus IT. Mahendran ma ponad 14-letnie doświadczenie w różnych organizacjach dostarczających aplikacje dla przedsiębiorstw od średniej do bardzo dużej skali, z wykorzystaniem sprawdzonych i najnowocześniejszych technologii w zakresie dużych zbiorów danych, aplikacji do przesyłania strumieniowego danych, aplikacji mobilnych i aplikacji natywnych w chmurze. Jego pasją jest wdrażanie innowacyjnych pomysłów przy użyciu technologii na rzecz lepszego życia. W wolnym czasie uwielbia spacery po buszu i pływanie.
Mostafa Safipour jest architektem rozwiązań w AWS z siedzibą w Sydney. Współpracuje z klientami w celu realizacji wyników biznesowych przy użyciu technologii i AWS. W ciągu ostatniej dekady pomógł wielu dużym organizacjom w regionie ANZ w tworzeniu obciążeń związanych z danymi, rozwiązaniami cyfrowymi i obciążeniami korporacyjnymi na platformie AWS.
Masudur Rahaman Sayem jest specjalistą architektem rozwiązań analitycznych w AWS. Współpracuje z klientami AWS, zapewniając wskazówki i pomoc techniczną w zakresie projektów związanych z danymi i analizą, pomagając im podnosić wartość ich rozwiązań podczas korzystania z AWS. Pasjonuje się systemami rozproszonymi. Lubi też czytać, zwłaszcza klasyczne komiksy.
- 100
- dostęp
- Reklama
- Amazonka
- Amazon EC2
- analityka
- api
- Pszczoła
- Zastosowanie
- aplikacje
- architektura
- POWIERZCHNIA
- na około
- samochód
- dostępność
- AWS
- Blog
- Książki
- szerokopasmowych
- budować
- biznes
- biznes
- wezwanie
- Pojemność
- Etui
- wyzwanie
- Wykrywanie urządzeń szpiegujących
- Chmura
- Chmura rodzimych
- wspólny
- Komunikacja
- obliczać
- pewność siebie
- Łączność
- konsumować
- Konsumenci
- zawartość
- kontynuować
- kraje
- COVID-19
- Pandemia COVID-19
- Aktualny
- doświadczenie klienta
- Klientów
- Najnowocześniejsze technologie
- Bezpieczeństwo cybernetyczne
- dane
- Analityka danych
- Jezioro danych
- Baza danych
- opóźnienie
- dostarczanie
- Kreowanie
- Wnętrze
- oprogramowania
- urządzenia
- DevOps
- cyfrowy
- reklama cyfrowa
- odkryty
- Zakłócenie
- przestojów
- napędzany
- Enterprise
- rozrywka
- sprzęt
- wydarzenie
- wydarzenia
- członków Twojej rodziny
- W końcu
- budżetowy
- usługi finansowe
- ZDROWIE I FITNESS
- FLOTA
- Elastyczność
- Skupiać
- piłka nożna
- Nasz formularz
- funkcjonować
- przyszłość
- Zarządzanie
- Rozwój
- Gość
- Blog gościa
- Strona główna
- W jaki sposób
- HTTPS
- Rezultat
- Włącznie z
- Infrastruktura
- Innowacja
- spostrzeżenia
- na świecie
- problemy
- IT
- Java
- Oferty pracy
- duży
- firmy
- uruchomić
- nauka
- lokalizacja
- długo
- uczenie maszynowe
- i konserwacjami
- Metryka
- milion
- Aplikacje mobilne
- model
- miesięcy
- ruch
- sieć
- Dane sieciowe
- sieci
- Nowa platforma
- węzły
- operacje
- właściciel
- pandemiczny
- Łata
- jest gwarancją najlepszej jakości, które mogą dostarczyć Ci Twoje monitory,
- uporczywość
- planowanie
- Platforma
- teczka
- power
- Premier League
- Produkcja
- wydajność
- projekt
- projektowanie
- jakość
- zasięg
- ceny
- React
- w czasie rzeczywistym
- dokumentacja
- zmniejszyć
- poleganie
- Raporty
- wymagania
- REST
- Efekt
- run
- bieganie
- skalowaniem
- rozsądek
- Bezserwerowe
- Usługi
- służąc
- przesunięcie
- Prosty
- mały
- Migawka
- So
- Rozwiązania
- Sport
- wiosna
- Stan
- Rynek
- przechowywanie
- sklep
- Streaming
- udany
- wsparcie
- pływanie
- sydney
- system
- systemy
- Techniczny
- Technologies
- Technologia
- Telecom
- Przyszłość
- czas
- wskazówki
- Top
- Trendy
- Aktualizacja
- Nowości
- us
- wartość
- sprzedawców
- Zobacz i wysłuchaj
- widoczność
- chodzący
- sieć
- okna
- w ciągu
- Praca
- działa
- wartość
- lat