Kipinä is an international platform for communication between school, teachers, and the parents. It’s also a school management system that helps to supervise the child's progress.
At the first stage - Getting to know the solutions used by the previous development team. Correction of problems when receiving the application. Rewriting the application in a way that enables its further development. Inconsistent database. Our second challenge in this project was to create a VOD service for Kipinä mobile app that is targeted to a global audience. Additionally, AWS Setup.
AWS solutions: For the front end part of the project (mobile application) FireUp has prepared and implemented highly scalable, reliable architecture based on Amazon Web Services. We wanted our developers to be focused on building applications, so we used AWS Fargate, a serverless compute engine for Docker containers that works with Amazon Elastic Container Service (ECS). This solution removes the need of managing servers, it’s cost friendly (the customer only pays for the resources used), and improves security through application isolation by design. FireUp launched ECS service with Elastic Load Balancing which prepares them for increased application traffic and allows maintaining high resource availability (HA). Our second challenge in this project was to create a VOD service for Kipinä mobile app that is targeted to a global audience. We used a few AWS Cloud solutions to achieve this goal. To store and archive video files we used Amazon Simple Storage Service (Amazon S3), AWS Elemental MediaConvert to transcode and optimize files, Amazon CloudFront for global distribution of the transcoded content and AWS Step Functions to orchestrate whole process (ingest, processing, and publishing workflows).
The results of implementing the application to AWS are scalability and quick availability regardless of the location of the user. After implementing this solution, the time required to play the video decreased from 30s to about 5s, regardless of the location. A significant improvement in the visual layer of mobile applications, adjusting views to increase clarity and improve UX. Optimization of queries on the backend, which resulted in a significant acceleration of the response from the server.