Founded in 1853, Indian Railways is the world’s second-largest railway network with nearly 7,000 stations and 72,000 miles of track. Every day, the railway carries over 23 million passengers on more than 12,000 trains. Passengers have always been able to purchase reserved tickets at railway stations—often waiting in long lines. In 2002, The Indian Rail Catering and Tourism Corporation (IRCTC), designed an Internet-based ticketing system. Initially, tickets were delivered by courier to customers and in they moved to a completely web-based e-ticketing system where tickets could be printed using a web-based application. In the beginning, the e-ticketing system generated around 100 e-tickets a day, but over the years demand has grown to where the system generates approximately 500,000 tickets daily.
Improving System Performance At Scale
While the e-ticketing system definitely made it easier to buy reserved tickets, the experience was far from seamless. Indian Railways’ unique Tatkal ticketing system offers the ability to book last minute trips one day before the date of travel starting at 10 a.m. In the past, the e-ticketing system would often crash at 10 a.m. because of Tatkal ticket demand, but the system experienced issues any time there were more than 40,000 concurrent users logged on to purchase tickets. Even when it didn’t crash, the system was so slow that it would take customers up to 15 minutes to buy a ticket—and often the system would time out and not allow customers to finish their purchases. Because of the unreliability and slow performance of the e-ticketing system at peak hours, it was easier for customers to travel to train stations and wait in long lines in person to buy Tatkal tickets.
The previous system had been designed in 2002 and scaled for 10 years, but could no longer meet growing demand. In 2013 railway management decided it was time to re-architect the e-ticketing system to better manage existing e-ticket sales, minimize impact on counter sales and accommodate future growth and hired the Centre for Railway Information Systems (CRIS) to complete the work.
Engineering for High Concurrency with Distributed In-Memory Database
CRIS experts had already determined that simply adding new hardware would not solve performance issues. They designed a completely new application but realized they also needed to incorporate technology that would enable the new e-ticketing system to manage huge concurrent workloads, migrate 3 million users and provide dynamic load balancing to seamlessly manage demand at peak hours.
After evaluating a variety of options, CRIS IT leaders chose to base their application on Pivotal GemFire, a distributed in-memory database which is part of Pivotal Big Data Suite. The CRIS team designed their new e-ticketing system around the share-nothing distributed architecture of GemFire to improve load balancing at the web and application tiers. The system is designed so that each layer provides scalability and high availability and all computing-intensive functions and operational data are served through multiple nodes of the distributed in-memory operational database rather than having to query the back-office reservation system.
CRIS initiated a pilot of the new e-ticketing system in June 2014, successfully migrated all 3 million users and then launched the system officially in July 2014.
CRIS uses Pivotal GemFire to support high concurrent transactions for reservations and ticket purchases in the newly launched Indian Railways next generation e-ticketing system. The scalability and resilience features in GemFire have helped to increase the capacity and availability of the service.
In the next phase of development, CRIS is looking to make further improvements to its e-ticketing infrastructure by possibly implementing an e-wallet solution, which will help reduce dependence on external payment systems linked to banks.
Supports More than 200,000 Concurrent Purchases Without Impacting System Performance
In the past, the old system would crash if more than 40,000 users tried to access the system at one time. Now, thanks to the ability of GemFire to manage data in-memory across a cluster of nodes, the new system can easily scale to more than 200,000 concurrent users without impacting performance—even at high demand times. For example, all journey planning information is kept in local app server in-memory rather than accessed from the legacy back-office passenger reservation system, as was the case with the old system. This has considerably reduced system latency.
Provide Stable Performance to Book Approximately 150,000 Tickets Per Hour, Compared to 60,000 in the Old System
Due to performance issues, Indian Railways used to only be able to sell a maximum of 2,000 tickets every minute. Today, because of dynamic load balancing and improved performance, the system can manage surges in sales of more than 10,000 per minute, such as during holiday periods such as Diwali. And on an hourly basis, average online sales are now nearly two and a half times higher than they used to be, growing from 60,000 per hour in online ticket sales to 150,000 per hour.
Transformed Customer Experience so Reservation Transactions Complete in Seconds Instead of 15 minutes
With the old system, it could take customers up to 15 minutes to look at travel options and book tickets. During peak times, the system was often so slow that customers couldn’t finish their ticketing transactions and it was easier to actually go down to a station, wait in line and buy a ticket at the counter.
The new e-ticketing system offers a vast improvement in customer experience over the old system. Now, user authorization and checkpoints are implemented from memory, streamlining the entire user log-in process. And, the new e-ticketing system offers passengers the choice of 40-50 payment gateways linked to banks when booking tickets. Further, because performance is so stable, almost 50 percent of ticket transactions take less than a second to complete.
Shifted Online Purchasing From 50% of Tickets Sold to 65%, Boosting Revenue Generated From E-ticket Sales to INR600 Million Daily
The CRIS team gives GemFire credit for helping to improve online revenue and minimize demand at railway station ticket counters. In the past, 10-20 percent of Tatkal tickets were booked using the e-ticketing system in the initial 10 minutes of Tatkal booking. Today, that percentage has grown to an estimated 60-80 percent of Tatkal tickets sold in this 10 minute period. Overall, online e-ticket sales have also increased from 50% to 65% of bookings, thus boosting daily revenue by INR$600 million for Indian Railways and CRIS expects this number to grow.
CRIS is just beginning to reap the benefits from incorporating Pivotal GemFire in its hugely improved e-ticketing system. Customers have taken to social media to rave about system performance improvements and about how much easier it is to buy tickets—particularly during peak times and during holidays. CRIS IT experts are happy that the system today provides the scalability, accessibility and performance to manage passenger ticket demands now and in the future.