Big data isn't new to the finance industry. Leaders in providing predictive analytics and data feed equip investment institutions with data based on public social signals. Those insights alert to major opportunities in the stock market.
The following article answers the question of how to enhance real-time analytics and empower investors. Learn how Altoros helped to improve the performance and uptime of a social media platform for online investing.
The customer is an application based on the concept “invest in what you like,” which helps users to find potential investment opportunities through analyzing brand awareness in social networks. It aggregates conversations, status updates, likes, and check-ins from social networks into a proprietary database. Then it links these keywords and phrases to publicly traded companies and translates the data into investment ideas.
The company turned to Altoros to apply best practices in cloud transformation Ruby development to their existing system in order to satisfy the high requirements to the level of concurrency, load, response times, etc.
The Web site was based on a distributed architecture that was not able to scale as expected. In addition, there were several issues with DB contention and background jobs. It was estimated that the solution would have to serve 10,000 users simultaneously with at least 100 new user registrations per minute. Every new user would need to view a partial portfolio right after signing up. The system had to interact with APIs of multiple social networks and remain within the limits of request quotas. It also had to apply complex business logic to extract investment information from social network data. Additionally, profiles of every existing user had to be synchronized with all the latest updates on their social networks.
Having analyzed the infrastructure, software architecture, and application code, we were able to implement improvements that have resolved all the issues mentioned above. The optimizations helped included reconfiguring the Amazon EC2 instances, implementing a Redis pub/sub mechanism to decouple jobs from DB operations, managing social networks quotas internally, so that the application would never exceed the allowed number of requests, and much more.The solution was written with Ruby and features a distributed, scalable architecture able to serve 10,000+ users simultaneously. To provide scalability and service availability, the application was deployed on Amazon’s infrastructure and utilized Redis—a scalable NoSQL store—for caching and network scalability (the pub/sub model).
Thanks to the improvements introduced by our team, the customer was able to launch several marketing campaigns without being afraid of performance issues due to increased traffic. The application’s overall uptime and performance have been improved significantly by 70%.
Taking into account the customers' focus on social networks, Altoros made sure that it complies with the required API quota/limits.
Amazon Web services (EC2, Route 53, CloudWatch, RDS), Redis
Ruby on Rails, Sidekiq, Capistrano
Amazon RDS for MySQL
Client Platform/Application Server