- Industry: Telecom, IoT
- Location: London, England
- Partnership period: 17 months
- Team size: 21 experts
- Software product: Rater Engine, a service cost calculation system
- Expertise delivered: Software Development from Scratch, Architecture Design, Maintenance, Feature Development, New Component Development
- Spring Framework
- Elastic Search
- API first
- Domain-Driven Design (DDD)
SPD Group started a partnership with the Israel-based company BD-Innovations which runs a complex Business Support System (BSS) platform for modern Telecom operators. In late 2019, floLIVE acquired BD-Innovations, and our development team began to work for the new owners. At the time of the acquisition, BD-Innovations was a cellular provider that had its own networks and an early version of a billing system for clients called Rater Engine.
After the acquisition by floLIVE, Rater Engine had to be improved to become consistent with its vision and business demands. This complex task was entrusted exclusively to a team of 4 experts from SPD Group. After a rigorous analysis, our team decided to build a new Rater Engine,(a 3.0 version) completely from scratch to align the solution with the modern technological standards. We worked in direct collaboration with the client’s Solution Architect and Technical Director.
floLIVE is the world’s first Software-Defined Connectivity (SDC) solution – a converged, cloud-native, global connectivity service with inherent billing that is fully designed and built for IoT services. floLIVE raised a total of $37M in funding in Series B, backed by Intel Capital, 83North, ARIE Capital Group, Dell Technologies Capital, Qualcomm Ventures, and Saban. The company offers a full suite of IoT connectivity solutions for businesses, including:
- IoT Connectivity Platform
- Cloud-managed Mobile Private Network (LTE/5G)
- Global IoT Network as-a-service (LTE/5G)
- A Cloud-based BSS, built for IoT
floLIVE is a modular platform, where each module is built around the main one based on the customer needs. SPD Group is responsible for the Rater Engine which is just one of the system’s modules.
The Rater Engine is the main focus of this case study.
From the perspective of our client, the main value of this system lies in the improved customer experience and satisfaction. The system aims to provide the best possible service in the market. From the technical point of view, this can be achieved by improving the speed of the high-loaded system’s response. Our team is, thus, aiming to build a modern software solution in accordance with the client’s requirements, with a close-to-instant speed of response that will ultimately add to the functionality, profitability, and reputation of floLIVE.
The three main challenges encountered by our team were:
- Gaining an understanding of the client’s domain.
- Optimizing the system performance.
- The nine-month production deadline, as requested by our client.
Our team managed to successfully overcome each of these challenges.
Our team had sufficient experience in implementing finance and e-commerce projects, but we were entirely new to the Telecom domain. We needed to capture the smallest nuances to properly meet the client’s expectations and come up with the most optimal way to deliver the results.
To achieve this goal, we conducted a great many discussion sessions with the Solution Architect. We systematically analyzed specific use cases that were new to us. During these informal sessions, the Solution Architect provided us with all the under-the-hood insights we needed to get a complete perspective on the new domain.
Writing a code and implementing features is part of the process for us, and we do not consider it a challenge, unlike elevating performance to the highest standards. The early version of our system we developed from scratch without any caches could handle 200 requests per second. This number was too low, so our team switched to Apache Ignite, an in-memory data grid. This enhanced the system’s performance to 2300 requests per second.
“The tech stack was set by our client. We had a demand to use Kotlin, Kafka, PostgreSQL, and Spring Framework. In some instances, the technologies we were requested to use were not the best option. We always had an opportunity to proactively suggest and discuss the most optimal technologies for the task or design approaches, and the client always supported us in this. This also happened with Apache Ignite – when we showed that it was not enough, and that the system would still hit the limit too quickly. The client agreed with us, and we found a better replacement.”
— Ihor Chanzhar, Tech Lead
That’s how we arrived at the point of implementing Hazelcast. Hazelcast gave us a more than 2x boost to the system performance 5000+ requests per second, without any scaling or additional actions. We tested the system on databases with over 1 million users and were completely satisfied with the results. Sometimes, we had to do some refactoring and rewrite certain modules of the system in order to adjust to the changing requirements and new functionality. We don’t have any legacy code left and are engaged in constantly improving the application’s current code.
“In this industry, a 1-2ms event reaction optimization can be game-changing for a company; that’s why performance is so important. Previously, the SMS request time was 90ms. Our team managed to reduce this number to 30ms, which changed the performance dramatically. Sometimes, in multi-sessions, the first event can take up to 30ms with each, and the next as little as 2ms. That was the main performance-related goal for us.”
— Oleksandr Kosholap, Java Developer
floLIVE has been very cooperative toward our development team as we always offer our own solutions to the challenges we encounter. However, the investors and the clients of the company set a very strict timeline that we had to comply with. Even though a lot of additional requirements arose along the way, we successfully managed to implement everything. Our team completed 30% of the entire project during the intense three-month period from January to March 2021. We had a team of professionals who had comprehensive knowledge of the requirements at each phase of the project. This was a contributing factor, along with the occasional overtime put in by our experts, which helped us meet the deadline.
During the development process, our team was gradually expanded. In 2020, we already had 12 experts working on the project. However, due to COVID-19-related budget cuts, we were forced to revert to the initial team of 3–4 experts. In the first quarter of 2021, the investors returned, and we formed our biggest team to date with 21 dedicated experts. Our current team includes:
- Lead Architects
- Front-End Developers
- Back-End Developers
- QA Automation Experts
Since the Rater Engine module went to production on time and within the budget, the client was very impressed with our work and proactive approach. We continued our collaboration with floLIVE, as our partner trusted us with more new and exciting projects. The list of our current projects includes device management, the new and improved customer management system, software for 5G and IoT modules, and a billing system for corporate clients. We also have a platform team that monitors changes on the entire floLIVE platform. Our team hopes to make the platform scalable, migrate it completely to the cloud, and implement microservice architecture to the Rater Engine.
“It is almost a year since we started to work with SPD Group. During this short period, I found a great team of professionals that assisting us to develop and deliver different components of our product. The most important for us was to be able to scale up our development team fast enough but without compromising on the experience and knowledge level of the team. SPD Group achieved to build a very professional, dedicated team much quicker than expected!”
— Boris Shagalov, Co-Founder, VP R&D and SW Delivery, floLIVE
ARE YOU INTERESTED IN SOFTWARE DEVELOPMENT SERVICES?
Contact our experts to get a free consultation and time&budget estimate for your project.Contact Us