Running Windows-Based Business Applications on the AWS Platform

Brett Gillett

How we helped a multinational recruiting firm run their Windows-based business applications on the AWS platform.

The Customer

Our client is a recruiting firm with locations across the globe. Last year alone they placed tens of thousands of people in permanent and temporary employment positions.

We were engaged by the Americas business unit to help them better leverage the AWS platform by speeding up deployment and development work, as well as streamlining the maintenance of the business applications running on AWS.

The Challenge

While the customer had already been running their Windows workloads on AWS, they were finding it difficult to keep up with the rapid pace of change on the platform as well as demands from the business on the deployment of application updates.

The Solution

The customer is running their entire business stack on AWS including time tracking, records management and payroll, using several Microsoft-based solutions:

  • IIS for the web frontend
  • Microsoft Dynamics for customer management
  • Microsoft SQL Server for backend storage
  • Microsoft Remote Desktop Gateway for remote access

Using best practices and the principles defined in the AWS Well-Architected Framework, we worked with the customer to design and support their Microsoft Workloads on AWS.

Multi-Account / Multi-VPC Design

The first task was to segregate workloads to create a better ‘blast radius’ between production and non-production environments. We also wanted to better align the AWS accounts with the customer’s existing internal billing process to streamline chargebacks for usage.

To achieve this goal, we created AWS accounts aligned to the business units within the Americas division. Within each of those AWS accounts we created multiple Virtual Private Clouds (VPC) based on the environments - production, development, etc.

The deployment and configuration of all AWS services within each account and VPC is managed via GitLab and CloudFormation.

Improving Visibility

To successfully run critical business applications, you need to have visibility into the ongoing operation of the solution to ensure the efficient operation, performance and compliance of the deployed services.

We worked with the customer to define the gaps that existed in their current deployment. Based on those conversations we were able to augment the solution with several AWS solutions to provide better visibility and auditing. AWS services used to help improve the customer’s visibility included:

  • AWS CloudTrail
  • Amazon GuardDuty
  • AWS Config
  • Amazon Virtual Private Cloud (VPC) Flow Logs
  • Amazon CloudWatch Logs

Improving Reliability

Users expect applications to be available when they want to use them. We worked with the customer to refine their availability requirements and designed a flexible solution leveraging several AWS services to help them meet their users’ expectations.

AWS Services used to help improve the availability of their Microsoft-based workloads included:

  • Amazon Virtual Private Cloud (VPC)
  • Elastic Load Balancing (ELB)
  • Amazon Route 53

The Outcome

By combining AWS Services and Microsoft Workloads, we were able to create a solution which not only meets the customer’s needs today, but is flexible in its design to meet requirements as the market and customer demands change over time.

Windows Applications on AWS

Brett Gillett


Like what you read? Why not subscribe to the weekly Orbit newsletter and get content before everyone else?