We delivered a highly scalable, cloud-based platform, using a microservice architecture for maximum scalability. Each significant component is built as its own ASP.NET Core microservice with its own database and storage solution, using Docker containers deployed onto a Kubernetes cluster. A combination of Amazon CloudFront Content Delivery Network (CDN) and CloudFlare create a high level of resiliency, allowing the platform to manage large amounts of data remaining highly secure.
We ensured architectural consistency by employing a tree structure. The web and the native apps use React and React Native respectively, allowing us to deliver the rich User Experience we were given to produce by the third-party – including a clear right-to-left layout / navigation and content primarily in Farsi – and to consolidate the business logic required for both app types into a single code base. Using this technology meant that the web and native apps could share as much functionality as possible, making the codebase as maintainable as possible.
A real-time integration with MTN’s broadcast management system, Broadview, allows for the network’s schedule to be reflected on the platform in real time, making programmes available seamlessly. The integration’s media rights management settings ensure that programme availability stays within in bounds of media-rights constraints. The integration with Amazon Web Services (AWS) enables media-distribution playback for live services and Video on Demand services. AWS Simple Queue Service (SQS) messaging automatically indicates when new media assets are available for streaming. The MTN team can manage their wide variety of content from their custom CMS, which allows them to push out changes to the web and app platforms quickly and easily.
We anticipated the need to accommodate changing requirements so proposed a managed services contract for this project. Running the project on a managed services contract allowed us to be flexible, adapting to evolving priorities and implementing changes quickly and efficiently, as and when needed.