Używasz przestarzałej przeglądarki, która nie jest wspierana przez ten serwis.

Surfuj bezpiecznie, zaktualizuj przeglądarkę do najnowszej wersji, lub spróbuj jednej z pozostałych nowoczesnych przeglądarek:

pozdrawiamy,
zespół inProjects

Patronite, Radio 357 i Amazon Web Services – to jest wyzwanie!

To mogła być historia pisana grozą. Dziesiątki zawiedzionych słuchaczy, zszargane nerwy, obgryzione paznokcie. Na szczęście wcześniejsze przygotowanie i czujność uchroniły nas przed wywieszeniem "Białej Flagi" (Republika - miejsce 12.) w trakcie Polskiego TOPu Radia 357.

Mamy takie szczęście w inProjects, że często projekty, które realizujemy mają w sobie to “coś”, jakiś “magiczny pyłek”, który pozwala nam angażować się w te przedsięwzięcia również emocjonalnie. Nie inaczej jest z Patronite*, który od początku tego roku jest naszym klientem, a którego idea wspierania Twórców przez ich odbiorców jest nam wyjątkowo bliska. Członkowie naszego teamu słuchają Radia 357 i Nowy Świat, nie odpuszczają żadnego Raportu o stanie świata Dariusza Rosiaka, często zaglądają na kanał Planeta Abstrakcja oraz innych Twórców.

Patronite, Amazon Web Services i my

Jako inProjects serwisowi kibicujemy od początku i pierwszy raz mieliśmy przyjemność udzielić im szybkiej, technicznej pomocy w 2016 roku, gdy niejaki Krzysztof Gonciarz przeciążył infrastrukturę bijąc rekordy wsparcia. To właśnie ten epizod i trochę szczecińskiego, morskiego wiatru skierowało nas ponownie w stronę Patronite – wieloletnia współpraca z Marcinem Skoniecznym przy innych projektach i znajomość naszych kompetencji z zakresu skalowania systemów w oparciu o technologie Amazon Web Services spowodowała, że w naszym kierunku padło pytanie o możliwości wsparcia zespołu Patronite w tym obszarze.

To przyjemność dla Was pracować!

Jednym z głównych wyzwań, z którym mierzy się zespół Patronite jest stale rosnące obciążenie serwisu wynikające m.in z dużego ruchu generowanego przez Patronów Radia Nowy Świat i Radia 357. O ile każda z tych stacji ma własną aplikację mobilną i stronę WWW, to całkiem pokaźna grupa patronów korzysta również z dedykowanej aplikacji Patronite Audio, która agreguje streamingi wszystkich Twórców radiowych i podcastowych na platformie.

Dużym wyzwaniem, sprawdzającym stabilność działania aplikacji  był pierwszy, majówkowy Polski Top Radia 357**.

Źródło: Materiały prasowe https://www.facebook.com/357Radio/

„Mogło być nic” – ale było wszystko (jak trzeba)

Jak wiemy, piosenki znajdujące się w Topie zasługują na to, aby słuchać ich w najlepszej jakości i bez zakłóceń – dlatego na majówkowy TOP nasz admin, sławny Marcin Wasilewski przygotował się niczym na “Wojenkę” (Lao Che – miejsce 7.). Jeszcze przed rozpoczęciem audycji Marcin przeprowadził wdrożenie automatycznego skalowania serwisów w sytuacji zwiększonego obciążenia. Wiedzieliśmy jednak, że nawet zoptymalizowane serwery nie będą “Niepokonane” (Perfect – miejsce 39.) w zderzeniu z ogromną rzeszą słuchaczy i całe przedsięwzięcie może skończyć się tym, że “Mogło być nic” (Kwiat Jabłoni – miejsce 108.), a słuchacze posłuchają tylko “Długości dźwięku samotności” (Myslovitz – miejsce 8.)

W dniu TOPu Marcin zasiadł za swoją wirtualną konsolą niczym legendarni redaktorzy: Łukawski, Niedźwiecki i Stelmach,  i obserwował szybujące w górę wskaźniki obciążenia. Monitorowanie parametrów w czasie rzeczywistym było “Lekiem na całe zło” (Krystyna Prońko – miejsce 37.), ponieważ pozwoliło na “wyłapanie” nieprzewidzianych wcześniej wąskich gardeł i odpowiednią reakcję. Przez całą audycję nie było konieczności wywieszenia “Białej flagi” (Republika – miejsce 12.) i wszyscy słuchacze korzystający z Patronite Audio mogli bez zakłóceń odsłuchać pierwszą dziesiątkę TOPu, którą zwieńczyło “Nie pytaj o Polskę” Obywatela G.C. 

Obywatel G.C – Nie pytaj o Polskę (oficjalny teledysk)

“Jeszcze będzie przepięknie” – plan na przyszłość

Prace przeprowadzone na potrzeby Polskiego Topu były tylko “Początkiem” (MGO 2018 – miejsce 29.) serii optymalizacji, mających na celu przygotować serwis na stale rosnący ruch. Dział finansowy dorzucił “12 groszy” (Kazik – miejsce 51.) na zwiększenie mocy serwerów i kolejne działania związane z automatycznym skalowaniem poziomym. Marcin obiecał, że “Jeszcze będzie przepięknie” (Tilt – miejsce 28.) i zaplanował serię dalszych usprawnień, które są w trakcie wdrażania.

Aktualnie Patronite to duży system informatyczny z wysokimi standardami bezpieczeństwa, który w całości działa na usługach AWS i składa się między innymi z:

  • strony głównej prezentującej Twórców (wiele osób nie zdaje sobie sprawy, że minimalistyczna w swej formie strona główna serwisu składa się ze skomplikowanych mechanizmów);
  • backendu i bazy danych;
  • podsystemu płatności (objętego podobnymi wymaganiami bezpieczeństwa jak przy usługach bankowych, z nadzorem KNF);
  • systemu wysyłania newsletterów i powiadomień o postach Twórców do Patronów;
  • dedykowanej aplikacji mobilnej (Android i IOS): Patronite Audio;
  • środowiska testowego i całego procesu CI/CD;
  • podsystemów pomocniczych służących do monitorowania poprawności pracy serwisu;
  • systemu kontroli dostępu opartego o VPN i certyfikaty.

AWS? Bardzo chętnie!

Tym zajmujemy się dla Patronite:

  • dbamy o ciągłość pracy serwisu, podejmujemy odpowiednie działania, by być gotowym na ciągle rosnące obciążenia:
    • skalujemy serwery;
    • wydzielamy usługi;
    • konteneryzujemy serwisy;
  • dbamy o bezpieczeństwo infrastruktury poprzez implementację mechanizmów ochrony:
    • między innymi AWS IAM, AWS Security groups;
    • aktualizację oprogramowania;
    • dbamy o zapobieganie niepowołanemu dostępowi, zarówno w warstwie sprzętowo/softwarowej (ograniczony, szyfrowany dostęp, VPN, 2FA), ale też nieustające szkolenia i zwracanie uwagi na zagrożenia dla załogi)
  • wspieramy rozwój i rozbudowujemy infrastrukturę o nowe elementy, zarówno serwerowe jak i serverless w oparciu o dostępne usługi Amazon Web Services w rytmie potrzeb zespołu programistów;
  • diagnozujemy i rozwiązujemy problemy związane z infrastrukturą m. in poprzez monitoring i analizę metryk (Grafana) oraz logów (Elastic Stack).

Realizacja tego projektu daje nam ogrom satysfakcji. Nie tylko ze względu na technologię (stack AWS to coś, co bardzo lubimy!), ale również ze względu na ideę, która stoi za Patronite. Jesteśmy dumni z faktu, że jako inProjects dokładamy swoją cegiełkę do Platformy, która umożliwia rozwój niezależnych Twórców w Polsce, dzięki którym mamy dostęp do wartościowych treści.

Ponieważ nasz zespół się powiększa (rekrutujemy!) jesteśmy gotowi wziąć jeszcze kogoś pod nasze skrzydła w zakresie utrzymania i rozwoju infrastruktury (nie tylko na AWS).

Zapraszamy do kontaktu.

*Patronite to serwis, który pozwala Twórcom na pozyskiwanie comiesięcznego finansowego wsparcia swojej twórczości od “Patronów” – osób indywidualnych i instytucji. Zespół Patronite wspiera Twórców i udostępniania narzędzia pozwalające na rozwój społeczności wokół nich i wspólne kreowanie kierunków rozwoju.

**Pełne notowanie możecie odsłuchać tutaj (dostęp dla Patronów Radia 357), a listę piosenek znajdziecie tutaj.

PS Ciekawych, jak zaczęła się nasza praca z AWSem zapraszamy do przeczytania wpisu o naszych pierwszych zmaganiach z AWSem.

Wróć do listy wszystkich aktualności