NGINX.COM
Web Server Load Balancing with NGINX Plus

Overview

Tipico is an international developer and operator of sports betting and gaming applications. Sports betting is extremely popular, with millions of bets placed every day through Tipico’s systems. The company runs approximately 200 applications on 120 servers to provide high-quality services to sports enthusiasts across Europe.

Challenge

Sports betting is heavily regulated, and gaming companies like Tipico regularly upgrade their systems to stay in compliance with industry requirements as they evolve to incorporate the latest best practices in software security. For several years, Tipico had successfully used NGINX Open Source for basic load balancing and SSL termination. Previous upgrades to new versions of NGINX had all gone smoothly. However, during recent upgrades, Tipico experienced problems with a third-party plug-in used for health checks that it had been compiling separately into NGINX.

“Updating NGINX Open Source is not normally an issue,” explains Sabine Benz-Reichel, Process Coordinator at Tipico. “However, the last two times we upgraded NGINX, we noticed an issue with the third-party plug-in we had been compiling. Our load balancers are in a multicore, multiprocessor environment where the processors need to interact with one another to effectively direct traffic. We were seeing a mutex issue with the third-party health check plug-in – for some upstreams it didn’t work and was blocked completely.

“It was a weird issue, at least for our setup. We either needed to fix the plug-in or find another way to get health checks working as we needed,” she continues.

Booxware mobile app image

Tipico also wanted to move its infrastructure from a data center environment to the AWS public cloud, but needed to do so without interruption to services or any other discernible impact on customers.

Solution

Tipico was already familiar with the benefits of NGINX Open Source, so when it needed to get health checks working quickly in its environment, it turned to NGINX Plus.

“We either had to get someone to fix the third-party plug-in – which would take at least several days and would come with a cost – or we could quickly switch to NGINX Plus, which was the cheaper solution and would allow us to be compliant and secure right away,” says Benz-Reichel.

Since Tipico was already using NGINX Open Source, upgrading to NGINX Plus was straightforward. Switching was simply a matter of creating a new folder for license keys and replacing the NGINX binary with the NGINX Plus binary in Tipico’s repository. And because Tipico had already been using a deployment script with Ansible, it was able to roll out the NGINX Plus load balancers without any downtime.
Tipico is now running eight instances of NGINX Plus in its data center – six instances for load balancing external traffic, one for load balancing internal traffic between services, and one that acts as a failover, enabling the IT team to repair hardware as needed simply by switching the IP address.

During the cloud migration, the Tipico team used the Upstream tab on the NGINX Plus live activity monitoring dashboard to verify that the servers in the cloud were operating perfectly before they disabled the data center servers, making for a seamless transition.

I’ve worked with NGINX Open Source for a long time – it’s a great product. Things are even better for us now that we have NGINX Plus, because the health checks are supported and work perfectly. It’s good to have third-party open source modules, but it’s not good if they are no longer maintained, and you have to fix them yourself. NGINX Plus helped us quickly solve the issues we had before when compiling our own third-party module.
– Sabine Benz-Reichel, Process Coordinator at Tipico

Results

Reliable, Responsive Health Checks

After switching from NGINX Open Source to NGINX Plus, Tipico found that the built-in health checks in NGINX Plus were actually more responsive than the third-party plug-in. When load balancing high-traffic applications, active health checks are critical – NGINX Plus automatically routes traffic away from unhealthy servers to healthy ones, so users don’t see error pages from servers that have failed or been taken down for maintenance.

“Since the change to NGINX Plus, we have no more issues with health checks. Even better, the health checks are more responsive than the old ones from the third party, and they are acting far faster,” says Benz-Reichel.

Active health checks are built-in with NGINX Plus, so there’s no need to compile a separate third-party module. This saves time, simplifies upgrades, and gives customers peace of mind knowing that the health checks are fully tested and supported by NGINX engineers.

Live Activity Monitoring for Enhanced Visibility

With 120 servers delivering 200 applications, visibility into key load balancing and application metrics is essential to keeping Tipico running smoothly. The live activity monitoring feature in NGINX Plus reports a far greater number of statistics than NGINX Open Source’s stub_status module. Key load and performance metrics are displayed on a built-in, easy-to-read dashboard, and are also available through a RESTful JSON interface to easily feed into third-party dashboards and application monitoring tools.

“Our managers quickly know what’s going on with our infrastructure by using the NGINX Plus status page. And I use the JSON REST API to have an overview of our backends through Zabbix. This allows me to see which backends are responding and which are not, without sending the checks multiple times, simply by grabbing the information from the NGINX Plus status page,” explains Benz-Reichel. She adds, “We wanted our load balancers to also indirectly monitor whether or not the network has issues, and the NGINX Plus status page does just that. If we see that some of the servers didn’t come back up after doing maintenance, we have that visibility and can easily troubleshoot the issue.”

High-Performance Load Balancing for Complex Applications

NGINX Plus provides Tipico with seamless load balancing for its complex gaming application. With users spanning a range of devices and platforms, Tipico’s application has multiple tiers, each with its own separate backend: a web tier, a mobile tier, a ‘next generation’ web and mobile tier, a tablet tier, and a shop tier. Incoming web traffic comes from Tipico’s content delivery network (CDN) provider to NGINX Plus load balancers, which perform SSL termination and use DNS records to send the traffic to the backends for the appropriate tier. Load balancing all this is a hefty challenge, but NGINX Plus has worked flawlessly for Tipico.

“We measure our business in bets delivered. At peak times, which for us is on Saturdays, we process 4,500 bets per second, or around 300 megabits per second on each of our NGINX Plus load balancers. We’ve found that NGINX Plus manages all of our traffic easily and efficiently,” explains Benz-Reichel.

Smooth Transition to Microservices

Using NGINX Plus has helped Tipico begin its recent transition from a traditional monolithic application to a more agile, microservices-based architecture. Instead of adding features by updating its main application, Tipico now adds features by creating lightweight microservices, which can be developed independently and load balanced for resiliency. Using intelligent Layer 7 load balancing, NGINX Plus easily routes traffic to the proper application server.

“With NGINX Plus, we’re able to do some magic using regular expressions, where we route our traffic based on the URLs. Using regular expressions, we make sure that traffic handled by a microservice is directed to it, while what is left goes to the main application,” explains Benz-Reichel.

NGINX Plus both load balances and provides SSL/TLS termination for Tipico’s microservices. Incoming traffic to the internal load balancer is decrypted for routing and Layer 7 load balancing, and then re-encrypted as it is sent to the appropriate microservice, providing robust load balancing and end-to-end security.

Benz-Reichel adds, “It was very nice to be able to migrate from our old system to the new system using NGINX Plus in front. NGINX Plus lets you easily split up parts of your platform that you don’t want to keep in your main application and send it to microservices. This is exactly what we are doing.”

Frictionless Migration to Public Cloud

Cloud migration is a daunting task made easy by NGINX Plus. “For the migration from our data center solution to an AWS cloud solution, we configured our NGINX service with upstreams in both our data center and in the cloud – the active upstream in the data center and the inactive one in the cloud,” explains Evgeniy Sevostyanov, Tipico systems operator. “For that, the Upstream tab on the dashboard was also really useful. We then started the upstream in the cloud and tracked its health on the Upstream tab. When everything was fine, we disabled the service in the data center.”

While this process is still ongoing, the results are seamless migration with no interruption of service to customers. Sevostyanov has found the support available with NGINX Plus has smoothed the migration. “The official documentation has helped us on many occasions,” he added, “but NGINX also has a lot of community support. It’s very important in our everyday work.”

Efficient Session Persistence

With heavy variation in traffic flows depending on the time of the week, load balancing between different servers is a necessity for Tipico’s operation. However, it is equally important that all traffic from individual user sessions is directed to the same server to ensure a smooth and consistent user experience. This is ‘session persistence‘, often known as sticky sessions.

Sevostyanov highlights session persistence – along with improved performance, reduced downtime and upstream monitoring – as the areas that most benefited him in the switch to NGINX Plus.

Sports betting image Tipico case study

About Tipico

In 2002, a cooperation between bookmakers and software developers set itself the goal of bringing enthusiasm for sport and the excitement of betting even closer together. Out of this cooperation, Booxware – now known as Tipico – was born, dedicated to providing high-quality hardware and software solutions for the sports betting industry from a single source.

Today, Tipico is a pioneer in this specialized field, working both independently and in cooperation with Europe’s leading betting providers and their franchise partners. Tipico constantly hones new ideas for ever-better hardware and software modules to deliver uncompromising betting pleasure – for customers and for partners.

Challenges

To move to the public cloud without any user-visible disruption, and to replace a third-party plug-in for health checks that was no longer working consistently.


Overview

Tipico develops and operates sports betting and casino games.


Headquarters
St. Julian’s, Malta
Founded in 2004
Use Cases
Solutions