Performance Tuning and Database Migration to Azure

Company

Fast-food Restaurant Franchise

This customer is one of the largest fast-food restaurant franchises in the world by the number of locations, with over 30,000 restaurants in more than 100 countries. The company has prioritized driving revenue per location by launching innovative digital experiences and enabling restaurant operators with state-of-the-art technology.

Location
Wordwide
Industry
Hospitality
By the Numbers
4,500+
Simultaneous worldwide menu updates within minutes.
5x Increase
Performance improvement, leveraging Azure App Service and SQL Azure.
About

Leveraging the use of Azure App Service and SQL Azure using the discipline of the Microsoft Cloud Adoption Framework (CAF) all performance issues were eliminated with increased performance.

As a multinational fast food restaurant franchise in over 100 countries with nearly 37,000 restaurants, the customer wanted to enable franchisees and restaurant operators to drive their own localized pricing campaigns. To do this, restaurant operators needed to be able to quickly update their menus and populate the latest menu simultaneously across all ordering channels. Reasons for a menu update can be manifold: the restaurant runs out of a food item, a restaurant wants to drop the price on a food item because of a local college football game, etc.  Before the new system’s launch, updating and deploying a menu could take a full day, especially when thousands of restaurants were publishing simultaneously. For example, this bottleneck would be hit whenever a new food item was being launched nationwide, or a nationwide campaign was triggered.

Challenge

Poor Performance with mission-critical Menu Management Software

The company was updating its Menu Management software for worldwide stores. Despite over-provisioned resources, they faced performance issues and timeouts while transferring servers, apps, and databases to Azure. The ASP.NET application performed poorly in early tests against Azure SQL, requiring immediate attention.

Atmosera was tasked with identifying and resolving performance issues in the application and Azure SQL server environment. The goal was to optimize performance before the launch and to migrate the application and on-premises SQL Server database to Azure PaaS. After completion, Atmosera collaborated with the FWH team to validate the results, following best practices aligned with the Microsoft Cloud Adoption Framework (CAF).

Need & Impact – The customer aimed to empower franchisees and restaurant operators to create their own customized pricing campaigns. Restaurant operators needed the ability to swiftly update their menus and synchronize the latest menu across all ordering channels. Menu updates could be required for various reasons, such as running out of food items or wanting to adjust prices for local events like college football games.

Data Protection
Solution

Debugging, Optimization, and Data Migration to Azure

Atmosera focused on debugging and optimizing the application and related databases. They optimized stored procedures and implemented needed changes with queuing in the application. The databases were migrated from on-premises SQL Servers to Azure SQL using the Database Migration Assistant (DMA) tool. Visual Studio and Visual Studio Code were used as the core dev and debugging platform. The applications were migrated to Azure App Service.

The user flow involves a franchisee drafting a new menu in the Menu Manager portal application, which is then validated and staged in respective databases by triggering a series of Azure functions. Once all databases report a successful stage, the current menu version is updated to the new one, and all new order transactions are directed to the new menu.

These tasks used to be performed using a monolithic application hosted on Windows servers, which had inefficient scaling and processing times. However, processing time has now been reduced to sub-minutes.

See Figure 1 – High-Level Conceptual Architecture

Outcome

Delivering Business Results

The new application and databases were rolled out on time and under budget, allowing franchisees to update their restaurant menu and publish it with a single click. Once published, an API triggers a series of parallel functions to update all menus and place messages on a Service Bus to alert all order channels (App, GrubHub, UberEats, local restaurants, etc.) that a new menu is ready for publishing.

  • All timeouts and performance issues were resolved, greatly exceeding performance goals.
  • The new system provides for 4,500+ simultaneous menu updates, successfully updating all menus within minutes.
  • The company achieved a 4x to 5x performance improvement, leveraging the use of Azure App Service and SQL Azure.
  • Atmosera worked with the company and Microsoft to assess the Azure app and Azure SQL implementations and identified key fixes to queries that showed excessive numbers of locks and long execution times. Atmosera then worked closely with the company to review the app code and the deployment configuration, helping eliminate performance issues from the web application and optimize it for Azure.

Why Atmosera?

The customer needed a partner who was expert at providing the architectural, debugging, performance optimization, and application/database skills needed to take a mission-critical enterprise system and make it flexible and performant, as well as the implementation expertise to deploy the production system to the Azure cloud.

  • Atmosera has deep experience in application and SQL Database debugging and performance tuning, as well as in the development of these solutions.
  • Atmosera is a Microsoft partner.
  • Atmosera is a recognized leader in software architecture and implementation on the web, mobile, and cloud platforms.