How Paychex Utilizes Microsoft’s Azure SQL Database For Handling Its Substantial Growth

By Dan Anderson • May 9, 2019


Photo Credit: Paychex

Paychex currently handles time tracking and payroll services for millions of hourly workers across two continents. And as Paychex has been migrating their on-premises environment to the cloud and it is utilizing elastic pools in Azure SQL Database. By doing this, Paychex has been able to optimize costs, ensure availability for customers, and scale elastically for meeting any demand.

“Azure SQL Database allows us to execute upgrades and releases without our customers ever knowing it, which is critical for an application that runs 24/7/365,” said Paychex’s Senior Director of IT Infrastructure and Architecture David Wilson in a statement. “Our goal was to offer a world-class, cloud-enabled time and labor application. It needed to scale quickly without having performance or availability bottlenecks due to capacity.”

Paychex serves over 650,000 businesses across the U.S. and Europe and the company pays 1 in 12 private sector employees in America. And Paychex has made it a mission to simplify the HR complexities for entrepreneurs while helping their businesses succeed. This includes a wide range of human capital management (HCM) services and solutions like payroll, time tracking, performance reviews, retirement, and benefits enrollment.

Paychex is able to meet and surpass these needs through its Flex suite of apps. For example, the Paychex Flex Time app is used by millions of employees every day for clocking in and clocking out of work. Flex Time handles 13 million timecards and 3 million distinct punches per day. The punches come from mobile devices, desktop browsers, and worksite kiosks. And these punches are processed in under two seconds. Since this widely used app collects critical data, there is no room for error and even a single outage for even a minute can impact thousands of clients.

“Our customers and their employees depend on our applications at all times.” explained Wilson. “We take that responsibility seriously, and it led us to leverage Azure to help us deliver an always-on service.”

Prior to using Azure, Paychex was handling all of these punches with on-premises infrastructure. As Paychex has been an increasing volume of customers, managing that environment became very cumbersome. To guarantee uptime, it meant constant investments in new hardware — which became time-consuming and capital-intensive.

Optimizing costs became impossible and managing the environment distracted from focusing on valuable work. And what ended up happening is that Paychex’s database engineers ended up focusing on updates and patching instead of creating better user experiences. Essentially, Paychex’s physical infrastructure had become a bottleneck.

So Paychex turned to Microsoft as they were intrigued by Microsoft Azure and its Platform as a Service capabilities — more specifically the Azure SQL Database.

“Microsoft’s Platform as a Service was a differentiator to allow us realize our vision for a world-class time and labor application,” Wilson added. “Our engineers can now focus on customers first and their experience with the app—not get caught up in managing infrastructure.”

In order to guarantee privacy, Paychex houses each customer within a separate database. And these databases are organized into elastic pools and sharing resources at a set price and optimizing costs across databases with a variety of performance needs.

Paychex started migrating a small test group of less than 3% of its customer base. After seeing the benefits, Paychex rapidly added new databases. Now tens of thousands of customers are hosted on Azure with triple-digit growth year-over-year.

Using automated tools within Azure, it enables Paychex to manage databases without having to add a single new piece of hardware. And Paychex now pushes a release with new features every two weeks.

Going forward, Paychex plans to build on its success with Azure service. It will increase the number of new databases per month to utilizing machine learning algorithms to further optimize elastic pools and realize even more cost-savings.

Earlier this week, Microsoft announced updates to Azure SQL Database Hyperscale and Hyperscale on Azure Database for PostgreSQL. These products help serve large customers that are dealing with vast amounts of data.

“Hyperscale (powered by Citus Data technology) brings high-performance scaling to PostgreSQL database workloads by horizontally scaling a single database across hundreds of nodes to deliver blazingly fast performance and scale. This allows more data to fit in-memory, parallelize queries across hundreds of nodes, and index data faster. This enables developers to satisfy workload scenarios that require ingesting and querying data in real-time, with sub-second response times, at any scale – even with billions of rows,” wrote Microsoft’s Azure Data Corporate Vice President Rohan Kumar in a blog post. “The addition of Hyperscale as a deployment option for Azure Database for PostgreSQL simplifies infrastructure and application design, saving time to focus on business needs. Hyperscale is compatible with the latest innovations, versions and tools of PostgreSQL, so you can leverage your existing PostgreSQL expertise.”