BSE is Asia’s First Exchange and World’s Fastest Exchange with the Speed of 6 Microseconds.
Bombay Stock Exchange Limited is the oldest stock exchange in Asia, established in 1875. It is the first stock exchange in the country to obtain permanent recognition in 1956 from the Government of India under the Securities Contracts (Regulation) Act, 1956. It is widely recognised by its index, SENSEX.
The Exchange is professionally managed under the overall direction of the Board of Directors. The Exchange has a nation-wide reach with a presence in 417 cities and towns of India.
BSE required hosting Paper trading application on cloud. This application is used by brokers, traders to test their algorithm trading strategies with live market data feed during market hours. The customers would require their instances on demand to run this application. A solution needed to be devised to automate this process of provisioning their application stack, and stop/terminate them when the end user wished to do so.
They were looking for a partner who could provision infrastructure on Amazon Web Services with the appropriate configuration in order to host the PT application and then support the deployment in form of Managed Services which will aim to resolve any issue related to infrastructure on AWS.
The BlazeClan team of certified SAs conducted an exhaustive study of the system and charted out a roadmap for deploying this application.
The team analysed that the Paper trading application is an internally used application using which members can test their algorithm trading strategies with live market data feed during market hours. The application has been developed by Symphony which is expected to be used by around 23 concurrent users.
- Users will perform actual trading on Paper Trading Application.
- User can perform either Paper Trading or Back Testing.
- Paper Trading clients (hosted on BT instances) will connect to Paper Trading application instance to perform trading.
- Symphony will implement the system to receive the real time Multicast data and send Unicast data stream to AWS.
BlazeClan worked with BSE to identify and map the application and identify dependencies and criticality to chart a road map to move the application to AWS.
BlazeClan helped BSE in adopting a DevOps approach for infrastructure automation. They created templates for deploying each component of the infrastructure making it more flexible and scalable.
Automation of Infrastructure Provisioning was primarily done with AWS CloudFormation in conjunction with other services like Amazon EC2, Amazon S3 and Amazon VPC. It helped in reducing the time spent in managing infrastructure and resources so that it is easier to focus on the application.
The AWS CloudFormation Stack creation included creating security groups for the instances and opening of specific ports, as required by the application, launching of an instance with an AMI that contains the standalone third party application, in an existing subnet inside an existing VPC, and finally attaching an Elastic IP address to the EC2 instance.
AWS CloudWatch was used to monitor the performance of the system.
A web application that would make API calls to CloudFormation via web interface was developed using Go language to provide a seamless experience to the users. The User Instances was launched from a pre-configured AMI that has the standalone third party application.
DevOps flow diagram
- Improved Performance: The application performance was improved by migrating them on AWS, giving traders the freedom to test their strategies 24/7 and in real time, thereby providing them greater agility.
- Cost Savings: this engagement brought about massive cost savings as payments needed to be made only for actual usage.
BlazeClan availed a number of AWS services to execute this project successfully.
- Amazon EC2 was used for compute capacity management for their application deployment. It helped in reducing the time required to spin up new server instances to minutes, allowing them to quickly scale capacity, both up and down, as per their requirement.
- Amazon S3 was used to store and retrieve any amount of data from anywhere and everywhere.
- Amazon VPC helped in setting up the private network with AWS as it provided isolation and security.
- AWS CloudFormation was used in the production/development/UAT environment for mirroring purposes for automated deployments.
- Amazon Machine Image was used to spin new instances for creating infrastructure
- Go language was used for developing front-end of the application in combination with AWS CloudFormation templates.
- AWS CloudWatch was used to monitor the performance of the system.