For a start, we have a question: what is more difficult –building a bridge over the Gulf of Corinth or performing heart surgery? Bridge construction requires a team of a hundred people, days, and months of work. Heart surgery requires a few experts and a couple of hours. Yet, bridge construction is easier. Why? Because the difficulty level depends on the domain where the challenges arise.
Bridge (or house, skyscraper) construction occurs in a complicated domain. This means that such a domain or system may be divided into smaller units where each of them may be solved individually. So, if the ground is weak – we’ll install piles. Then, we will build foundations and afterward floor by floor. And proceed in this manner to the finest details.
On the other hand, heart surgery occurs in a complex domain. A complex domain is a network of interactions that cannot be observed (or solved) individually – but collectively, as a system. So, all aspects of the surgery are required to function together – and at the same time.
We’re always in a complex domain
United Cloud is a development center. Developing entails innovations. This means that there is no established process or a ready-made solution to the problem we are dealing with. Even when you know what output you want (e.g., a feature that already exists on some other streaming platforms), the process which brings us to the desired output is always another kettle of fish.
When you’re working in a complex domain, you should know that there will be things that won’t run smoothly. EON launch is one of the stories we in the United Cloud retell each other during lunch. Maybe more often than we should.
Every beginning is complex
When we founded United Cloud, we were to develop EON with all functionalities very quickly. The first challenge was the streaming platform. Although we’d already had one, we had to re-edit it substantially so it would suit our product. The second challenge was Metadata servers, which provided the client application with data such as EPG, channel list, and event descriptions, as well as took care of client packages, policies, credentials, etc. (so, everything required for platform functionality). In addition, infrastructure design and set-up were required; however, the biggest challenge regarding EON TV was the fact that the platform should have been available to every single user 24/7 throughout the year!
We spent the entire 2017 developing the EON platform with a view of launching it on 5th September.
And that would’ve been great if that day had not been the day when the European Basketball Championship started in our country. And we launched EON not only in Serbia but also in Slovenia, Montenegro, and Bosnia. It seemed that the championship beginning was a great start – to attract viewers to EON straight away. Due to short deadlines, we were developing the platform until the very last day. We did the tests which we could do at that moment, everything seemed to be working, until…
It didn’t start! Complex domains are unpredictable. Something that runs perfectly in the test phase sometimes does not work in reality. So, we faced a few serious problems at the very start. The first problem was Distributed Denial of Service (DDoS). That was a distributed (hacker) attack with the idea of overloading the infrastructure so it would stop working. We slogged our guts out until we figured out who was doing that to us... In the end, it turned out it was our IOS application!
The next day, there was another thing. Serbian team was playing and the number of users increased. The game was scheduled for 8 p.m. and everything ran perfectly... Until 7:58 p.m. when all of a sudden everybody started to log in... At that moment we realized that our landing page had too much information. So, it was too “difficult”, because a lot of processing and memory should be used to ensure its functioning. Besides, it was not optimized which affected the performance. When a large crowd of users swarms in, servers go down – and we recover them. And all that happened in real-time, while the game was on! We didn’t get much sleep those days.
During games, the platform was more loaded, but when there was no game, the flow of users decreased and we had more space to maneuver. During the championship, we made jokes about Serbia and Slovenia playing in the final, like that was the last thing we needed. A couple of days later, when Serbia and Slovenia qualified for the final, we didn’t think it was that funny!