It could have been a history of horror. Dozens of disappointed listeners, frayed nerves, bitten nails. Fortunately, prior preparation and vigilance prevented us from showing the "White Flag" (Republika - 12th place) during the Polish TOP at Radio 357.
We are so lucky in inProjects because often our implemented projects have this “something”, some “magic dust”, that allows us to get involved in them also emotionally. It is no different with Patronite*, which has been our client since the beginning of this year, and whose idea of supporting the Creators by their recipients is very close with us. Members of our team listen to Radio 357 and Nowy Świat. They do not pass any of the Report on the state of the world provided by Dariusz Rosiak as well as they often visit the Planeta Abstraction channel and other Creators.
Patronite, Amazon Web Services and us
As inProjects, we support the service from the very beginning and for the first time, we had the pleasure to provide them with quick, technical assistance in 2016 when a certain Krzysztof Gonciarz overloaded the infrastructure by breaking records of support. It was this episode and a bit of the Szczecin’s sea wind that brought us back to Patronite – many years of cooperation with Marcin Skonieczny in different projects and knowledge of our competencies in the field of system scaling based on Amazon Web Services technologies caused that we were asked about the possibilities to support the Patronite team in this area.
One of the main challenges faced by the Patronite team is the constantly growing load on the website resulting from, among others, heavy traffic generated by the Patrons of Radio Nowy Świat and Radio 357. While each of those stations has its mobile application and website, quite a large group of patrons also uses the dedicated Patronite Audio application, which aggregates streams of all radio and podcast creators on the platform.
A big challenge, verifying the stability of the application’s operation, was the first Polish Top of Radio 357 * that took place in May.
“It could have been nothing” – but it was all (as it should be)
As we know, the songs from the Top deserve to be listened to in the best quality and without distractions – that’s why our admin, the famous Marcin Wasilewski, prepared himself just like for a small “War” (“Wojenka” – Lao Che, 7th place on the TOP list). Even before the start of the broadcast, Marcin implemented the automatic scaling of websites in a situation of increased load. However, we knew that even optimized servers wouldn’t be “Unbeaten” (“Niepokonani” – Perfect, 39th place on the TOP list) when confronted with a great crowd of listeners and the whole project may end with “There could be nothing” (“Mogło być nic” – Kwiat Jabłoni, 108th place on the TOP list), and the audience will only listen to “The Length of the Sound of Loneliness” (“Długość dźwięku samotności” – Myslovitz, 8th place on the TOP list).
During the TOP day, Marcin sat behind his virtual console like the legendary editors: Łukawski, Niedźwiecki and Stelmach, and watched the load indicators soaring up. Monitoring of the parameters in real-time was the “Cure for All Evil” (“Lekiem na całe zło” – Krystyna Prońko, 37th place on the TOP list) because it allowed to “catch” previously unforeseen bottlenecks and react appropriately. Throughout the broadcast, there was no need to hang the “White Flag” (“Biała flaga” – Republika, 12th place on the TOP list) and all listeners using the Patronite Audio app could listen without any interruption to the TOP 10 songs, which was crowned with the song “Don’t ask for Poland” (Nie pytaj o Polskę – Obywatel G.C.).
“One day it will be beautiful” – a plan for the future
The work carried out for the Polish Top was only the “Beginning” (“Początek” – MGO 2018, 29th place on the TOP list) of a series of optimizations aimed at preparing the website for the constantly growing traffic. The finance department added – “12 cents” (“12 groszy” – Kazik, 51st place on the TOP list) for increasing the server power and further activities related to automatic horizontal scaling. Marcin promised that “It will be beautiful one day” (“Jeszcze będzie przepięknie” – Tilt, 28th place on the TOP list) and planned a series of further improvements to implement.
Currently, Patronite is a large IT system with high-security standards, which operates entirely on AWS services and consists, among others, of:
- the main page presenting the Creators (many people do not realize that the minimalistic form of the main page of the website consists of complicated mechanisms);
- backend and database;
- the payment subsystem (subject to similar security requirements as for banking services, with the supervision of the Polish Financial Supervision Authority);
- a system for sending newsletters and notifications about the Creators’ posts to Patrons;
- dedicated mobile application (Android and IOS): Patronite Audio;
- test environment and the entire CI / CD processes;
- auxiliary subsystems used to monitor the correctness of the website operation;
- access control system based on VPN and certificates.
AWS? Yes, please!
And this is what we do for Patronite:
- we care about the continuity of the website’s work and take appropriate actions to be ready for the constantly increasing loads:
- we scale servers;
- we isolate services;
- we containerize services;
- we care for the security of the infrastructure by implementing protection mechanisms:
- among others: AWS IAM, AWS Security groups;
- software update;
- we care about preventing unauthorized access, both in the hardware/software layer (limited, encrypted access, VPN, 2FA), but also continuous training and paying attention to the crew’s insecurity)
- we support the development as well as we expand the infrastructure with new elements, both server and serverless, based on the available Amazon Web Services to the rhythm of the development team’s needs;
- we diagnose and solve problems related to infrastructure, among others, through monitoring and analysis of metrics (Grafana) and logs (Elastic Stack).
The implementation of this project gives us a lot of satisfaction. Not only because of the technology (the AWS stack is something that we like very much!), But also because of the idea behind Patronite. We are proud that, as inProjects, we contribute to the Platform, which enables the development of independent Creators in Poland, thanks to which we have access to valuable content.
As our team grows, we are ready to take someone else under our wing regarding infrastructure maintenance and development (not only at AWS). Do not hesitate to contact us.
*Patronite is a website that allows Creators to obtain monthly financial support for their work from “Patrons”, which are individuals and institutions. The Patronite team supports the Creators and provides tools, which allow the development of the community around them and the joint creation of development directions.
* And if you were interested in how our work with AWS began, we invite you to read the entry about our first struggles with AWS.