Jak pomogliśmy globalnej firmie z branży rozrywki pokładowej przebudować wewnętrzną platformę do zarządzania prawami, licencjami, konfiguracją i dostarczaniem plików wideo dla ponad 15 linii lotniczych — obejmującą ponad 200 tys. tytułów i ponad 250 tys. rekordów praw.

Globalna firma z branży rozrywki pokładowej poprosiła nas o pomoc w przebudowie systemu odpowiedzialnego za jedną z najważniejszych części jej biznesu: dostarczanie treści wideo klientom z branży lotniczej.
Klient odchodził od systemu legacy. Nowy katalog treści miała stać się głównym źródłem metadanych i informacji o materiałach wideo, ale platformę operacyjną wokół niej trzeba było dopiero zaprojektować i zbudować.
Nowy system musiał wspierać codzienną pracę związaną z przygotowaniem, zatwierdzaniem, licencjonowaniem, zarządzaniem i dostarczaniem filmów oraz programów telewizyjnych dla linii lotniczych.
Wspólnie z klientem zidentyfikowaliśmy trzy kluczowe obszary, które platforma musiała objąć: zarządzanie prawami, licencjonowanie i dostarczanie plików.
Zarządzanie prawami określało, które filmy i seriale mogą być pokazywane u danej linii lotniczej lub w konkretnej konfiguracji samolotu. Licencjonowanie obejmowało cykl życia licencji i jej status handlowy. Dostarczanie plików porządkowało proces zamawiania, przygotowywania, śledzenia i potwierdzania materiałów medialnych.
Trudność nie polegała tylko na zatwierdzeniu i dostarczeniu tytułu. Największym wyzwaniem było obsłużenie wszystkiego, co mogło zmienić się później.
Tytuł mógł dostać nową wersję napisów albo dubbingu. Okres wyświetlania mógł zostać przedłużony. Prawa mogły się zmienić. Materiał mógł zostać wycofany. Specyfikacja techniczna mogła wymagać kolejnego zamówienia pliku. Każda z tych zmian mogła wpłynąć na licencjonowanie, przygotowanie plików albo dostarczanie.
Dlatego platforma nie mogła działać jak prosty, liniowy system zamówień. Musiała wspierać ciągły cykl operacyjny obejmujący prawa, licencjonowanie, metadane i proces dostarczania.
Znaczenie miała też skala. Platforma musiała obsłużyć ponad 15 linii lotniczych, ponad 200 000 tytułów i ponad 250 000 rekordów praw. Zespoły obsługi klienta musiały sprawnie pracować na dużych katalogach, bez zamieniania zatwierdzeń w jedno wielkie wąskie gardło.
W ścisłej współpracy z klientem zaprojektowaliśmy mikroserwisową architekturę sterowaną zdarzeniami.
Nie chodziło o architekturę dla samej architektury. Poszczególne obszary biznesowe miały różnych użytkowników, różne zakresy odpowiedzialności, inne potrzeby skalowania i inne tempo zmian. Zespoły obsługi klienta, zespoły operacyjne, zespoły licencyjne, zespoły dostarczania i specjaliści od treści pracowali na tym samym cyklu życia tytułu, ale każdy z nich robił to w inny sposób.
Mikroserwisy pozwoliły wydzielić te obszary, a zdarzenia utrzymały je w jednym procesie. Dzięki temu system mógł reagować na zmiany w prawach, treściach, licencjach i zamówieniach plików bez zamykania wszystkiego w jednej, silnie powiązanej aplikacji.
Azure był naturalnym wyborem, ponieważ klient już korzystał z tej platformy. System wykorzystywał między innymi Service Bus, Event Grid, Container Apps, Azure Functions, Cosmos DB, Azure AI Search i Azure B2C. Stack aplikacyjny obejmował Node.js, TypeScript, React, Next.js, Fluent UI, Elasticsearch, Docker, Terraform, Azure DevOps oraz infrastrukturę jako kod.
Zaczęliśmy od zbudowania modułu Core: wspólnego fundamentu dla danych, od których zależało wiele części platformy.
Obejmował on konfigurację klienta, ustawienia specyficzne dla linii lotniczych i zarządzanie językami. Obsługa języków jest szczególnie ważna w IFE, gdzie napisy, dubbing, wymagania regionalne, konfiguracja samolotu i wersje treści wpływają na to, co faktycznie można pokazać na pokładzie.
Dzięki dedykowanemu modułowi Core uniknęliśmy powielania wspólnej konfiguracji w całym systemie i daliśmy pozostałym serwisom stabilny punkt odniesienia.
Moduł Rights zaprojektowaliśmy tak, aby pomagał zespołom obsługi klienta decydować, które treści powinny trafić na pokład.
Kluczowe było szybkie i niezawodne wyszukiwanie. Choć katalog treści już istniał, oddzieliliśmy od niej proces zarządzania prawami. Oba obszary korzystały z podobnych danych, ale miały innych użytkowników i inne potrzeby operacyjne. Nie chcieliśmy, żeby katalog treści był rozwijany jednocześnie jako narzędzie do zarządzania katalogiem i jako operacyjny system dla zespołów obsługi klienta.
Ważną decyzją produktową było przeniesienie zatwierdzania na poziom pojedynczego tytułu. Zespoły obsługi klienta nie mogły efektywnie zatwierdzać tysięcy tytułów jako jednej dużej partii. Zatwierdzanie na poziomie tytułu ułatwiło rozproszenie pracy, śledzenie statusu i lepsze dopasowanie procesu do kolejnych etapów dostarczania.
Za zatwierdzanie odpowiadały zespoły obsługi klienta. Po zatwierdzeniu tytułu platforma mogła uruchomić kolejne kroki: utworzenie licencji i zamówienia pliku.
Zatwierdzenie nie kończyło jednak cyklu życia tytułu. Prawa mogły się zmienić. Można było dodać napisy albo dubbing. Metadane mogły zostać zaktualizowane. Każda z tych zmian mogła wpłynąć na licencjonowanie albo dostarczanie.
Dlatego system traktował zatwierdzanie praw jako część większego procesu operacyjnego, a nie jako statyczny stan końcowy.
Pracę nad usługą licencjonowania zaczęliśmy od szczegółowego zmapowania procesu biznesowego.
Kluczowe było ustalenie, jak licencja powinna reagować na zmiany w prawach i treściach. Aktualizacja praw mogła wpłynąć na licencję. Nowa wersja językowa mogła zmienić zakres śledzonych danych. Zmieniony okres wyświetlania mógł wymagać aktualizacji. Wycofany tytuł mógł zmienić status istniejącego procesu licencyjnego.
Ten proces był bardziej złożony, niż wydawało się na początku. Licencjonowanie filmów i programów telewizyjnych nie przypomina standardowego zamówienia e-commerce. Obejmuje warunki umowne, okresy wyświetlania, zatwierdzenia, wyjątki operacyjne, status płatności i zależności między kilkoma zespołami.
Usługa dostarczania plików pozwalała zespołom realizować, śledzić i wyjaśniać problemy związane z automatycznie tworzonymi zamówieniami plików.
Jej rolą było połączenie zatwierdzonych praw, wymagań linii lotniczych, specyfikacji technicznych i procesów przygotowania mediów. Po zatwierdzeniu tytułu można było utworzyć zamówienia plików. Gdy zmieniały się napisy albo dubbing, mógł być potrzebny nowy proces dostarczania.
Właściwe enkodowanie obsługiwały systemy zewnętrzne na podstawie specyfikacji technicznych zapisanych w naszej platformie. Niektóre z tych systemów można było zintegrować przez API, inne nie. Dlatego platforma musiała wspierać zarówno automatyczne integracje, jak i procesy operacyjne dla przypadków, w których pełna integracja system–system nie była możliwa.
Dzięki temu dostarczanie plików było jednocześnie usługą techniczną i narzędziem kontroli operacyjnej. Pomagało zespołom zrozumieć, co zamówiono, co zrealizowano, co zostało zablokowane i gdzie trzeba było wyjaśnić problem.
Ponieważ platforma koordynowała kilka usług i systemów zewnętrznych, obsługa błędów była ważną częścią projektu.
Część problemów można było rozwiązać automatycznie przez ponowienia. Gdy ponowienia się wyczerpywały, monitoring i powiadomienia informowały odpowiedni zespół, że potrzebna jest ręczna interwencja.
Było to szczególnie ważne w procesach dostarczania plików i licencjonowania, gdzie nieudana aktualizacja mogła zablokować dalszą pracę. Celem nie było ukrycie złożoności operacyjnej, ale pokazanie jej w systemie tak, aby dało się ją śledzić, zrozumieć i naprawić.
Przebudowana platforma działa produkcyjnie i jest nadal rozwijana przez nasz zespół.
Zastąpiła operacyjny system legacy rozwiązaniem cloud-native zaprojektowanym wokół realiów IFE: dużych katalogów treści, zmieniających się praw, wersji językowych, statusów licencji, procesów dostarczania plików i konfiguracji specyficznych dla linii lotniczych.
System obsługuje ponad 15 linii lotniczych, ponad 200 000 tytułów i ponad 250 000 rekordów praw. Wspiera też procesy licencyjne reprezentujące miliony dolarów wartości biznesowej.
Co najważniejsze, dał klientowi platformę zdolną do dalszej ewolucji. Nowe procesy, integracje, reguły operacyjne i zmiany biznesowe można dodawać bez zamykania każdej części systemu w tym samym cyklu wydań i tym samym modelu skalowania.
„Najtrudniejszą częścią nie było dostarczenie pliku do samolotu. Było nią przebudowanie warstwy operacyjnej, która utrzymuje spójność praw, licencji, zmian treści i procesów dostarczania, gdy wszystko wciąż się zmienia.”
[ TREŚĆ → PRAWA → LICENCJONOWANIE → DOSTARCZANIE PLIKÓW → SYSTEMY DOSTARCZANIA → LINIA LOTNICZA ]Platforma operacji IFE dla globalnej firmy z branży rozrywki pokładowej przebudowała wewnętrzną warstwę operacyjną stojącą za dostarczaniem treści IFE. System łączy metadane treści, współdzieloną konfigurację, decyzje o prawach, śledzenie licencji, zamówienia plików, integracje z zewnętrznym enkodowaniem i procesy dostarczania dla linii lotniczych w ramach platformy cloud-native, która działa produkcyjnie i wciąż się rozwija.
Warto zaangażować nas, zanim ręczny proces stanie się wąskim gardłem. Pomożemy wskazać punkty integracji operacyjnej, najpierw wymienić kroki o największym tarciu i zbudować system dopasowany do tego, jak biznes naprawdę działa.