In the conditions of such data volumes, the distributed Cassandra database was used as storage. Several data centers located in different regions were used to ensure data integrity and load balancing.
As for billing, the system is not able to issue invoices itself, but it processes the data that is used for this purpose. For processing and calculating the distributed data, the development team used Apache Spark.
The system functions as data storage and a billing system for all clients’ spendings and actions.. In addition to the fact that all data is stored in a distributed manner, it is processed and stored using microservices. Currently, there are about 20 microservices within the system.
To ensure system security, the SFTP protocol, Single Sign-on (SSO) technology, and data encryption are used.
To ensure system security, the SFTP protocol, Single Sign-on (SSO) technology, and data encryption are used.
At the initial stage, the project was developed according to the Scrum methodology with two-week sprints. At the end of each sprint, the whole dev team including business analysts discussed the demo versions. Once a month the development team presented demo versions directly to the client.
During the project, the team was growing. For convenience, a special Slack chat was created for daily meetings. Also, once a week the dev team arranged a general Zoom meeting in order to discuss both the current situation of the project and news in the IT-sphere.
At the stage of active project implementation, the development team switched to the Kanban methodology to optimize work processes.