2
15below provides a platform for travel communication services and serves over 30 airline and rail companies such as Thomas Cook, Eurostar, Qantas, AirTran, and Jetblue. Their system communicates to travelers over their journey through itineraries, ticketing, check in, boarding passes, and more. 15below integrates with global reservation systems and other data sources, allowing their travel industry customers to apply complex business rules for highly targeted and personalized notifications to consumers. The system then renders output to mobile apps, SMS, email, voice, and print. 15below sends hundreds of millions of transactional consumer notifications each year across 19 countries and virtually every spoken language. CHALLENGE Dissatisfied Customers, Poor Performance, and an Inability to Scale For 15below, travel providers pay for the service to perform when they need it, and, communications between travel providers and travelers are time-sensitive. Because of performance and scalability issues at 15below, travel companies were unable to always communicate in a timely manner with the traveling consumer. For example, a traveler might not get a flight delay notice via SMS on time. This meant 15below missed SLAs and delivered lower customer satisfaction to travel provider and traveler. Under the hood, workflow tasks were being represented as rows in a SQL Server workflow table. Workflow processes were polling, processing the rows in batch, and updating the row status for the next process. According to lead architect and .NET developer, Mike Hadlow, “A relational database is not a natural fit for a queuing system. The contention on the workflow tables is high and locking issues arise from constant inserts, selects, and updates. We faced considerable problems with continuously growing tables, and deleting completed items caused problems on highly indexed tables.” AT-A-GLANCE Challenges Dissatisfied Customers, Poor Performance, and an Inability to Scale Need to replace data-base driven architecture with messaging Unstable, Tightly Coupled Services Fit with a Microsoft.NET Platform and Environment Solution RabbitMQ Key Benefits Improved Customer Satisfaction and Lowered Risk Scaled Reliably with Improved Performance and Stability More Effective Operations and Increased Uptime Improved Speed to Market and Reduced Complexity CASE STUDY 15Below IMPROVING CUSTOMER SATISFACTION, SCALE, PERFORMANCE, AND STABILITY OVERVIEW “ RabbitMQ has provided a rock solid piece of infrastructure. It has the features that allow us to significantly reduce the architectural complexity of our systems. We can now build fantastic software for our clients faster and more reliably.” —Mike Hadlow, Lead Architect and .NET Developer pivotal.io

15Below Case Study

  • Upload
    pivotal

  • View
    105

  • Download
    0

Embed Size (px)

DESCRIPTION

15below has the important responsibility of interfacing directly with their customer’s customer, the paying traveler. As they continue to grow and add new capabilities, the company is confident in their ability to achieve scale and maintain a flexible architecture. Like most software companies, 15below will likely grow in the areas of big data, analytics, mobile applications, and cloud computing, and the RabbitMQ community is already offering capabilities like Hadoop integration through AMQP. As well, Pivotal is running RabbitMQ as a service on Pivotal One and Pivotal CF, providing a path to future solutions. To learn more, visit pivotal.io/products/pivotal-rabbitmq.

Citation preview

Page 1: 15Below Case Study

15below provides a platform for travel communication services and serves over 30 airline and rail companies such as Thomas Cook, Eurostar, Qantas, AirTran, and Jetblue. Their system communicates to travelers over their journey through itineraries, ticketing, check in, boarding passes, and more. 15below integrates with global reservation systems and other data sources, allowing their travel industry customers to apply complex business rules for highly targeted and personalized notifications to consumers. The system then renders output to mobile apps, SMS, email, voice, and print. 15below sends hundreds of millions of transactional consumer notifications each year across 19 countries and virtually every spoken language.

CHALLENGE Dissatisfied Customers, Poor Performance, and an Inability to Scale

For 15below, travel providers pay for the service to perform when they need it, and, communications between travel providers and travelers are time-sensitive. Because of performance and scalability issues at 15below, travel companies were unable to always communicate in a timely manner with the traveling consumer. For example, a traveler might not get a flight delay notice via SMS on time. This meant 15below missed SLAs and delivered lower customer satisfaction to travel provider and traveler.

Under the hood, workflow tasks were being represented as rows in a SQL Server workflow table. Workflow processes were polling, processing the rows in batch, and updating the row status for the next process. According to lead architect and .NET developer, Mike Hadlow, “A relational database is not a natural fit for a queuing system. The contention on the workflow tables is high and locking issues arise from constant inserts, selects, and updates. We faced considerable problems with continuously growing tables, and deleting completed items caused problems on highly indexed tables.”

AT-A-GLANCE

Challenges

• Dissatisfied Customers, Poor Performance, and an Inability to Scale

• Need to replace data-base driven architecture with messaging

• Unstable, Tightly Coupled Services

• Fit with a Microsoft.NET Platform and Environment

Solution

• RabbitMQ

Key Benefits

• Improved Customer Satisfaction and Lowered Risk

• Scaled Reliably with Improved Performance and Stability

• More Effective Operations and Increased Uptime

• Improved Speed to Market and Reduced Complexity

CASE STUDY

15BelowIMPROVING CUSTOMER SATISFACTION, SCALE, PERFORMANCE, AND STABILITY

OVERVIEW

“ RabbitMQ has provided a rock solid piece of infrastructure. It has the features that allow us to significantly reduce the architectural complexity of our systems. We can now build fantastic software for our clients faster and more reliably.”

—Mike Hadlow, Lead Architect and .NET Developer

pivotal.io

Page 2: 15Below Case Study

Pivotal is a registered trademark or trademark of Pivotal Software, Inc. in the United States and other countries. All other trademarks used herein are the property of their respective owners. © Copyright 2014 Pivotal Software, Inc. All rights reserved. PVTL-CS-360-03/14

At Pivotal our mission is to enable customers to build a new class of applications, leveraging big and fast data, and do all of this with the power of cloud independence. Uniting selected technology, people and programs from EMC and VMware, the following products and services are now part of Pivotal: Greenplum, Cloud Foundry, Spring, GemFire and other products from the VMware vFabric Suite, Cetas and Pivotal Labs.

CASE STUDY 15BELOW

Pivotal 3495 Deer Creek Road Palo Alto, CA 94304 pivotal.io

Unstable, Tightly Coupled Components and Services Since messaging was not built into an earlier version of the architecture, any bottleneck in any part of the application slowed the entire application down. Hadlow elaborated, “Each step in the process was hosted by an application service that implemented its own threading model, often using a different approach to all the other services. This created highly coupled software with workflow steps and infrastructure concerns such as threading and load balancing mixed together with business logic.”

Fit within a Microsoft .NET Platform Environment and Multiple Integration Patterns From an architecture perspective, the solution needed to work within a .NET development platform and provide stability and performance on Windows Server 2008. In addition, the team needed to go beyond simple store-and-forward queues like MSMQ and ActiveMQ. They needed a proven track record of publish/subscribe, request/response, automatic work distribution, load balancing, and others.

SOLUTIONStabilizing and Scaling the System with RabbitMQ and .NET Plug-ins

To maintain SLAs and customer satisfaction, the requirements called for a distributed architecture and high-performance messaging platform. The development team knew RabbitMQ would improve performance, and it eradicated the locking and clean-up problems in the RDBMS. Event-oriented messaging also allowed 15below engineering to replace complex, multi-threaded batch processing code that previously caused instability.

RabbitMQ ran on Windows and provided a AMQP-based C# client for the development team to use. 15below wanted a higher-level API, and the open source model allowed them to easily develop their own .NET API as a RabbitMQ plug-in, which the team contributed the plug-in back to the community as open source.

BUSINESS BENEFITSImproved Customer Satisfaction and Lowered Risk By adding a messaging layer with RabbitMQ, 15below put a horizontally scalable application architecture in place. They could add customers, send more communications, or develop more complex workflows without a concern for stability, performance, and scale. Hadlow stated, “RabbitMQ scales to higher loads than our previous relational-database based system and is more flexible in the face of changing customer requirements.”

Scaled Reliably with Improved Performance and Stability Regarding the change to an asynchronous architecture based on micro-services, Hadlow explained, “Constructing services as independently deployable and runnable applications gives us great flexibility and scalability. If we need to scale up a particular component, we simply install more copies. This architecture also makes it easy to test each application service in isolation since it’s simply a question of firing messages at the service and watching its response.”

More Effective Operations and Increased Uptime With a scalable, reliable architecture in place, the operations team had an easier time managing the servers and infrastructure, not to mention spending less time and money. According to Hadlow, “RabbitMQ has helped us to significantly simplify and stabilise our software. It’s one of those solutions that you install, configure, and then really don’t have to worry about. In over a year of production, we’ve found it to be extremely stable without a single production issue.”

Improved Speed to Market and Reduced Complexity Instead of spending time on instability issues or complexity in the architecture, the development team could focus on bringing new features to market to help the business more effectively compete and win. Hadlow said, “RabbitMQ has provided a rock solid piece of infrastructure. It has the features that allow us to significantly reduce the architectural complexity of our systems. We can now build fantastic software for our clients faster and more reliably.”

CONCLUSION15below has the important responsibility of interfacing directly with their customer’s customer, the paying traveler. As they continue to grow and add new capabilities, the company is confident in their ability to achieve scale and maintain a flexible architecture. Like most software companies, 15below will likely grow in the areas of big data, analytics, mobile applications, and cloud computing, and the RabbitMQ community is already offering capabilities like Hadoop integration through AMQP. As well, Pivotal is running RabbitMQ as a service on Pivotal One and Pivotal CF, providing a path to future solutions.

LEARN MORETo learn more about our products, services and solutions, visit us at pivotal.io.