Architecture components - AWS Prescriptive Guidance

Architecture components

This section outlines the specifications of the following important functional architecture components:

  • SAS server – This server is the central compute component for analytics processing and includes local direct-attached storage (DAS).

  • SAS subversion server – This server acts as the centralized version control system for SAS.

  • Amazon FSx for Windows File Server – This is an SMB file server for sharing storage between the SAS server and terminal servers. End users store and archive their pre- and post-processed data files on FSx for Windows File Server.

  • Microsoft Remote Desktop Services (RDS), also known as Terminal Services – RDS allows end users to access SAS servers by using a SAS client.

  • Infrastructure automation – You can use the AWS Cloud Development Kit (AWS CDK) with AWS CodePipeline and AWS CodeCommit to automate your infrastructure. CodePipeline can help you provision your infrastructure components. CodePipeline is a continuous delivery service for modelling, visualizing, and automating the steps required to release code. Additionally, CodePipeline provides a shared central environment and enables infrastructure management that's independent from local machines. CodeCommit is a secure, highly scalable, fully managed source control service that hosts private Git repositories. You can use CodeCommit to store AWS CDK infrastructure automation code and parameters.

    Note

    AWS CodeCommit is no longer available to new customers. Existing customers of AWS CodeCommit can continue to use the service as normal. Learn more

Environment separation

The following diagram shows an architecture for separating a SAS integration and SAS production environment.

Architecture diagram for separating SAS integration and production environments

Infrastructure components

This section provides an overview of the infrastructure components that are required for the recommended architecture in this guide.

Production environment

We recommend that you use the following infrastructure components for your production environment.

Type

Instance type

Resources

1 SAS server

m6i.4xlarge

16 vCPUs (8 cores)

64 GB RAM

2 Citrix terminal servers

m6i.4xlarge

16 vCPUs (8 cores)

64 GB RAM (for example, 1–2 GB per user session for Microsoft Office and Adobe Suite and 500–1024 MB per SAS client on average)

25+ users

Potential to scale out with more terminal servers in the future

1 SAS subversion server

m6i.2xlarge

8 vCPUs

4 cores

32 GB RAM

Integration environment

We recommend that you use the following infrastructure components for your integration environment.

Type

Instance type

Resources

1 SAS server

m6i.2xlarge

8 vCPUs (4 cores)

32 GB RAM

2 terminal servers

m6i.2xlarge

 

8 vCPUs (4 cores)

32 GB RAM

1 SAS subversion server

m6i.xlarge

4 vCPUs (2 cores)

16 GB RAM

Local storage for SAS servers

The recommended architecture uses M6i instances based on the latest Intel Xeon Scalable processors and uses the Nitro Hypervisor from the AWS Nitro System. The M6i instance type is optimized for Amazon Elastic Block Store (Amazon EBS) and offers dedicated bandwidth for network-accessed EBS volumes. The following table includes details about instance storage configuration for non-shared storage. You can attach additional EBS volumes on demand.

Server

Type

Capacity

Production

Testing

SAS server

Storage type

AWS resource/service and EBS type

Requirement on seq. IO (read/write)

Same as production

SAS server

Operating system boot and swap

EBS 200 GB (gp3)

Not relevant for sizing due to low requirements

Same as production

SAS server

SASWORK

EBS 2x 512 GB (gp3/each 5,000 IOPS) in RAID 0

8 * 150 Mbps, 1200 Mbps or ~ 11.5 Gbps

M6i instance support

12.5 Gbps EBS storage bandwidth with gp3 EBS volumes

1x 1024 GB volume

gp3 5,000 IOPS

SAS server

SAS Software Depot and other auxiliary storage (to include SAS install in addition)

EBS 125 GB (gp3)

Not relevant for sizing due to low requirements

Same as production

SAS terminal server

Operating system boot and swap

EBS 100 GB (gp3)

Not relevant for sizing due to low requirements

Same as production

SAS SVN server

Operating system boot and swap

EBS 100 GB (gp3)

Not relevant for sizing due to low requirements

100 GB

SAS SVN server

Subversion repositories

EBS 1000 GB (gp3)

Default

400 GB in addition to ops drive

Shared storage infrastructure

We recommend using FSx for Windows File Server as a shared storage solution for your SAS server and the Citrix terminal servers. You don't have to use S3 buckets for any additional file storage, unless you need the bucket for maintaining system information or automation scripts.

You can also store the subversion checkout/working copy of project code on FSx for Windows File Server. The SAS subversion server stores the repositories locally. The subversion server acts as the central version control system.

We recommend that you use FSx for Windows File Server to store Windows user profiles across your Citrix terminal servers. This will enable seamless load balancing across both servers.

Production environment

The architecture in this guide is designed to meet the following requirements for the production environment:

  • Storage type – FSx for Windows File Server

  • Type – Multiple Availability Zones

  • Resource/throughput – 1024 MB

  • Storage – 1.2 TB SSD

Integration and testing environment

The architecture in this guide is designed to meet the following requirements for the integration environment:

  • Storage type – FSx for Windows File Server

  • Type – Multiple Availability Zones

  • Resource/throughput – 512 MB

  • Storage – 512 GB SSD

Performance

The I/O throughput for FSx for Windows File Server is easy to adjust, and you can build I/O throughput dashboards to meet your monitoring needs. You can also enable the operations team to adjust throughput based on end-user needs.

Back up and file recovery

All SAS data resides on a separate FSx for Windows File Server as persistent storage. There are two levels of backup implemented on the data stored in FSx for Windows File Server:

  1. Daily backups retained for 30 days – These backups are retained in an S3 bucket. You can use this snapshot-based backup for recovery if an Amazon FSx volume is corrupted or lost.

  2. Backups retained using Microsoft Volume Shadow Copy Service (VSS) – Files on the FSx for Windows File Server are snapshotted for backup to a special storage partition on the FSx for Windows File Server twice per day and retained indefinitely. The backup is based on available storage of the VSS partition on FSx for Windows File Server (up to 10 percent of total storage space). If end users corrupt or lose a file on FSx for Windows File Server, they can initiate their own restore directly from Windows File Explorer on the SAS terminal servers.

Disaster recovery

The decoupling architecture in this guide is designed with disaster recovery in mind. Amazon FSx is deployed across two AWS Availability Zones. If the Availability Zone where the active FSx for Windows File Server resides become unavailable, then the service automatically fails over and provides the file sharing services from the second Availability Zone.