Microsoft Azure Proof-of-Concept

Client Objectives:
Client needed to scale out the hosting platform for their custom web-application platform that helps organizations measure and boot employee engagement by leveraging public cloud technologies to better scale out geographically than the current on-premises virtualized hosting solution.

Results:
Client achieved performance gains of 26-32% over on-premises hosting, reduced costs with scaling out the web application server farm, improved upwards scalability, and a much simpler to manage application hosting platform that will contribute to the company growth.

Our first cloud proof-of-concept failed, and we were sure the cloud was not for us. Heraflux helped to provide solid web application and database reference architecture on Microsoft Azure for reducing costs, increasing availability, and increased performance by 32% over our on-prem solution. To the cloud we go!

Situation

Client is a leading provider of business services helping organizations improve the quality of business through employment engagement and recognition, sales incentives, and customer loyalty programs. Client provides a web application platform that allows their customers’ employees to manage these activities through the web portal and mobile devices.

The Client needed to scale outwards the web application platform. A new on-premises hosting infrastructure was needed, complete with additional bandwidth, faster storage, additional compute nodes, and an upgraded disaster recovery strategy, and was in the process of determining if the public cloud would be a more viable option instead of continuing the on-prem investment.

A previous attempt at an application hosting proof-of-concept was undertaken on Microsoft Azure, but initial load testing showed that the proposed architecture performed two to three times slower than the on-prem hosting environment. At the close of the proof-of-concept, the idea of migrating to the cloud was tabled.

Heraflux discussed the advantaged of cloud-based hosting with the Client numerous times, but the Client was unsure that an additional proof-of-concept would yield different results. The biggest question from Heraflux was “why” was it slower to begin with? Bottlenecks always exist in any IT architecture, but a substantial bottleneck was sure to have been present in the initial test, causing the performance penalties.

The Client needed an outside specialist to review the architecture and inner workings of the application platform, with the application server, database server, virtualized platform, and networking requirements all to be scrutinized. A working proof-of-concept would then be constructed in the cloud, with the goals to have the various systems as similar in nature to an on-prem load testing equivalent. The Client would then perform a series of load tests on both platforms, and if performance differences were exhibited again, the root cause of the performance differences would be identified. If the root cause could be overcome, additional tests would be performed to measure the subsequent performance differences.

Solution

Heraflux performed a deep-dive systems review of the VMware-based virtualization systems platform powering the database and application servers to determine the overall configuration and performance characteristics of the on-prem hosting platform.

Heraflux then provisioned a SQL Server 2017 database server inside a virtual machine at Microsoft Azure. Azure SQLDB was considered, but the application required cross-database calls, which currently would require application-level changes to engineer for Azure SQLDB. The disk configuration was built to match the performance ceiling of the on-prem platform using multiple smaller disks and Storage Spaces to build a logical disk volume for the database data, log, and temporary files. The virtual machine had the same number of CPUs and allocated RAM as the on-prem equivalent.

For the web application tier, two different POCs were constructed. The first was a stand-alone virtual machine configured with Windows Server OS and IIS configured identically to the on-prem equivalent. The second was a provisioned Azure App Service server with four deployed instances, designed so that operating system-level tasks, such as patching, would never need to be managed by the Client. These different POC servers both had the same amount of CPU and RAM as the on-prem equivalent servers. Both connected to the same SQL Server virtual machine over an Azure VNET.

An external company used a custom load testing application to compare the three server’s performance. Compared to the on-prem application server, the Azure POC servers both performed between 26% and 33% faster than the on-premises equivalent.

Results

The new Azure POC demonstrated that the cloud application servers, when properly engineered, performed at least as fast as on-prem servers.

The POC also showed that the monthly hosting costs, including scale-out application servers and simpler disaster recovery, were more cost effective than on-prem hosting.

The functionality of the application in the Azure App Service allows for trivial upwards scalability of the web application platform so it can scale with the business.