If you’re looking to reduce infrastructure costs while ensuring stable workflow for your commercial application, I strongly recommend experiencing this solution.
Country or Region:
Turkey
Industry:
Air Travel
Company Profile:
Founded in 2014, Airays is a booking management platform for national and international air travel. They provide real-time flight availability, pricing comparisons, booking options for different airlines, and numerous special offers and travel packages. They pride themselves on providing users with the easiest and cheapest way to fly, with no company commission.
Alachisoft Product:
NCache
Customer Needs Met:
About Alachisoft:
Alachisoft provides a high-performance in-memory distributed cache called NCache. NCache is an Open Source middleware that runs in a production environment and boosts the performance and scalability of .NET web apps, SOA service apps, and general high-traffic server apps. Since 2005, NCache has proven essential to hundreds of customers worldwide, especially in the US, UK, and Western Europe.
You can download a free 30-Day fully working trial of NCache from here.
Alachisoft
Corporate Headquarters
12005 Ford Road, Suite 520
Dallas, TX 75234
US: +1 (214) 764-6933
UK: +44 207 993-8327
sales@alachisoft.com
support@alachisoft.com
The shift from traditional travel agencies to online booking platforms has revolutionized the industry, allowing customers to search, compare, and book flights easily. Being a particularly price-sensitive option that tries for sustainability through its emphasis on direct flights over connecting flights makes Airays increasingly popular in the European market. Thus, as a growing business catering to more and more customers, the company required increased scalability and performance to remain stable. As such, they began looking into distributed caching as a solution to scale up their .NET Web API (Airays API).
The Airays API collects airline ticketing information and presents the available travel options to the customers based on their requests. Prior to integrating NCache in their architecture, the company employed a database as a data store and handled approximately 115 requests per second from their data center in Istanbul. Moreover, they could only ensure high availability and prevent data loss manually during maintenance.
While they used an in-memory ASP.NET cache to address some of theseconcerns, data sharing was impossible and scaling out was a struggle. Thus, they continued to face issues during peak performance loads. These issues prompted them to look for a solution with a centralized cache so that they could load balance their web servers, which led them to AppFabric.
However, with AppFabric’s discontinuation and Redis lacking the type of expiration required, they determined NCache to be their best option.
NCache, as a 100% native solution, with its rich feature set (especially given its powerful Object Caching features, e.g., its different expiration strategies) and comprehensive support options, was the perfect fit for Airays. NCache-based centralized cache significantly improved their response times and reduced database trips while load-balancing their web servers. Moreover, NCache has enhanced Airays scalability while remaining easy to implement.
The application is divided into tiers as discussed below:
The website allows customers to initiate requests to the Airays service, i.e., flight details, booking information, etc. Based on which, the back-end tier (consisting of two web servers) interacts with the database tier and the website. The caching tier is between the database and the web servers, containing a single cache server with 8 vCPUs and 121GB RAM.
Every time a customer request is made, for instance, if a customer requests flights from New York to Dallas, the cache server first attempts to address this request. If it cannot, the request is catered through the database.
These cache servers are present within the same Istanbul data center as the web and database servers and are accessible on the same private network to reduce latency. Moreover, there is also a backup web server available in this location to alleviate any potential availability issues. The following diagram depicts the application architecture visually.
NCache significantly enhances Airays performance by reducing the need for costly database queries through its centralized caching. By storing frequently accessed data, NCache allows Airays to quickly provide customers with booking details and handle transactions efficiently. When data is not available in the cache, NCache retrieves it from the database and stores it for future use - which is particularly helpful for trending air travel destinations. This approach perfectly aligns with Airays operational needs, ensuring that performance remains optimal even during peak usage periods.
The NCache Partition-Replica topology has been instrumental in addressing Airays high availability needs, a serious concern for the company as evidenced by their pre-existing backup server.
This topology divides the cache into multiple partitions, each with a replica on a different server. If a server fails, the replica seamlessly takes over, ensuring that data remains accessible and the application continues to function without interruption.
This guarantees that customer transactions and booking details are processed swiftly and reliably, even during server outages. By implementing this topology, Airays has significantly enhanced its resilience and minimized downtime, ensuring a consistently high-quality user experience.
To ensure up-to-date cache data, Airays implemented NCache's absolute expiration feature, which automatically expires specified cache items after 10-20 minutes. This is crucial since ticket prices update every hour. With absolute expiration, Airays guarantees that customers always receive current pricing information, enhancing the accuracy and reliability of their booking system. This approach prevents outdated data from persisting in the cache, ensuring that every customer transaction is based on the most recent information available.
Airays is thrilled with how NCache has enhanced their application performance and met all their technical requirements. With an ever-increasing user base, Airays may plan to scale out both their web and cache servers in the future.