The main goal of the projects was to turn a monolithic cryptocurrency exchange system into the microservice-based architecture that can provide high processing speed, increased stability, and advanced scalability to improve our client's business performance.
Only 5 Minutes
needed to accomplish fast fiat processing.
total security level achieved by multi-level user validation.
We were asked to create a high-speed online marketplace for cryptocurrency buying and exchange with a functionality that shows updates on rates every 30 seconds. The interface had to be intuitive and user-friendly in general, so the clients can exchange currency fast and easy. Also, the platform should provide the possibility of API-based external services integration, and 24/7 client support. We redesigned the system, so now it has microservice architecture with an improved scalability. Today, traders and people who want to exchange money for cryptocurrency and vice versa have this platform as a place for fast and successful fiat processing.
The core problem that we needed to solve for the client was to make fundamental changes in their single-code monolithic application. The original system was written in PHP and had a significant disadvantage for the company. On the one hand, a web application with such architecture is difficult to maintain and support as it took a significant amount of time for a new developer to become entirely familiar with the code. On the other hand, there was a high probability of error occurrence when updating the code and the system in general. Also, a minor malfunction of some part of the system had resulted in the service shutdown. In addition, it took too much time on processing user's request because of using the initial SQL database that uploaded a lot more information than needed. Thus, it was decided to create new architecture with beneficial microservices.
The first technical challenge we have faced on this project was the Cassandra NoSQL database integration. The reason why NoSQL database type was chosen lied in the necessity to significantly increase the service working speed to accelerate its reaction to cryptocurrency market changes, and to make the platform most convenient for its users. The peculiarity and, at the same time, difficulty of working with Cassandra was the need in precise database structure planning prior to its development. Thus, if there are changes in the client's specification requests and features on your project, this database becomes not the best choice. When working with Cassandra we had to analyze and think through as many requests as possible. Also, we had to create entity copies of the code parts to make sure we cover different requests. By the successful implementation of this database, we have managed to fasten the service reply speed so it takes seconds instead of minutes as before.
The BitGo wallet implementation into the system was also challenging. This bitcoin e-wallet is one of the most popular software programs for performing all kinds of operations with the bitcoin currency. The wallet is beneficial because of its high security level, backup copy functionality, and the possibility of using virtual tunnels. Despite all benefits, our team faced a number of difficulties with this wallet integration. The first problem was its lack of comprehensive documentation on the system integration. The second problem we've faced was the absence of the test mode for functionality performance check. Because of these issues, we had to top up the wallet with real money for testing. In terms of the e-wallet integration, our team was responsible for smooth clients' authorization and user management, and we did it the best way possible.
Our client received an entirely restructured and improved system based on microservice architecture. In total, we created 13 microcervices that interact with each other via Google RPC. The main microservices are responsible for orders receiving, processing and matching (Pro-Rata), and placing them on the external exchange markets in case if there are none in the system. One of the microservices is responsible for managing and supporting established customers in the renewed system. What we did for our client was creating a stable and trouble-free running system. Also, we have increased the system's data processing speed, and with the help of microservices implementation we made possible to scale the system with no fear of damaging its functionality. The technical part of the project was solely our responsibility, so we gave our client a transformed and vastly improved architecture. In addition, we have increased the general security level with successful implementation of multi-factor authentication, IP address checking, email and phone number validation, and more.
Light IT team has the highest level of technical expertise, professional communication, and an overwhelming passion for bringing awesome web apps to our industry. They fit snugly in our culture, never afraid to propose improvements and enhacements regarding the project. They helped to bring unique features to life and the security level was increased many times.