Templatize infrastructure for multiple clients in a SAAS Healthcare Environment

Problem Statement

An in-house analytics application developed by a healthcare organization was needed to be deployed on AWS, in a single tenant SAAS environment for multiple clients. Focussing on Application availability and data security, a one click solution needs to be designed to deploy the analytics application for each of the existing clients and forthcoming new clients.

Business Objectives

  1. One-Click secure deployment of the analytics application on AWS.
  2. Public data sources could be shared across clients but private client data to be private to respective clients.
  3. Prime focus on data security and Application availability with warm disaster recovery.
  4. Scalable solution to be provided that can help with the fast growing client base.

Technical Objectives

  1. Application to be deployed on Dedicated hardware on AWS
  2. Network level separation of Infrastructure of individual clients
  3. Warm disaster recovery set up for individual clients with data syncing in near real time
  4. Secure traffic moving between client datacentre to AWS during the initial private MySQL and MongoDB data migration
  5. Data to be imported from Public data sources onto MySQL and MongoDB destination and shared across applications of all the clients
  6. Leverage DNS routing to set up Active-Passive failover between production and Disaster recovery set up for individual client
  7. Implement a one Click solution to deploy Production and DR Infrastructure

Design Factors

  1. To ensure high availability, both the environments viz Production and DR were placed under different availability zones and to ensure network level separation, one VPC per environment per client was used.
  2. VPC peering was configured between production and DR VPC of respective client infrastructure to ensure secure data transfer between environment during data sync operation.
  3. Both Mysql and MongoDB database Masters to be running in production with one slave each running in DR environment.
  4. To ensure higher control of databases, the databases were deployed on EC2 instances.
  5. All the EC2 Instances were Dedicated EC2 instances and databases were EBS Optimized High memory instances
  6. Complete application set up was done on both Production and DR environment and Active-Passive routing configured on using Route53.
  7. Autoscaling was configured on all the production application layers for automated scalability.
  8. One VPC was created which contains publicly available data to be used by the application. The VPC to have MySQL and MongoDB databases syncing regularly from public healthcare data sources. Public data sources VPC was peered with all the client production environment.
  9. VPN tunnel was set up between client VPCs and corresponding data centers to ensure secure private data migration to AWS
  10. Once the set up was validated and approved, a CloudFormation template was designed to perform single click deployment of the infrastructure for multiple clients. The template was used to set up the application for existing more than 100 Clients and to be used for new clients.

Architectural Diagram

Outcomes

  1. The multi environment set up for the application was deployed which satisfies the given organizational SLAs and internal process framework.
  2. The application availability was ensured with Active-Passive failover, near real time data sync between Databases across environments and by leveraging Auto-scaling.
  3. Data movement between environments was secure using VPN Tunnels and VPC peering connections.
  4. Deployment on AWS Cloud and using Cloud Formation to templatize the infrastructure has helped the organization accelerate the application deployment to each of the client.

Quick Inquiry

Fill out my online form.