AWS EC2 System Requirements and Performance Considerations

AWS Instances

Amazon EC2 provides computing instances, which are virtual machines running on the XenSource hypervisor. Each instance is a unique copy of a virtual machine image. We will use EC2 terminology instance to refer to these VMs. 
There are over 200 possible combinations of the EC2 instance type. When choosing an instance type for production deployment, give careful consideration to the overall storage demand and best practices for performance. 
The top two things to consider are IOPS and Throughput. SoftNAS® product specific configurations to consider are the use of Deduplication and / or Compression.

General Instance Type Recommendations

Buurst recommends the r5.2xlarge as a minimum default AWS instance size, the r5.4xlarge for medium workloads, and the r5.12xlarge or r5.24xlarge for heavier workloads. Specific use cases may require a more tailored approach. SoftNAS® offers the broadest range of instance sizes and region availability on Amazon Web Services™. It’s important to select the right instance size to configure a storage solution that is the right combination of performance and price for your use case. Contact Buurst Support if you require assistance in determining the right size for you.

For extremely heavy workloads, increase cache memory with "High-Memory Instances" and/or use EBS-Optimized and Provisioned IOPS to provide better control over available IOPS.

Buurst always recommends further analysis and testing of their selected instance until workload characteristics are fully understood. This will allow the customer to then refine their instance size selection to the perfect balance of performance and cost.


SoftNAS product performance and throughput is governed by:

  • Available Memory: SoftNAS uses around 1 GB of RAM for the kernel and system operation. Memory beyond 1 GB is available for use as cache memory, which greatly improves overall system performance and response time - more memory = better performance, to a point. If application workloads involve a high number of small, random I/O requests, then cache memory will provide the best performance increase by reducing random disk I/O to a minimum. If running a SQL database application, cache memory will greatly improve query performance by keeping tables in memory. At a minimum, 2 GB of RAM will yield around 1 GB for cache. For best results on production workloads, start with 16 GB or more RAM. With deduplication, add 1 GB of RAM per terabyte of deduplicated data (to keep deduplication look-up tables in RAM)

  • CPU: SoftNAS needs a minimum of 4 vCPUs for normal operation. To maintain peak performance when using the Compression feature, add CPUs (e.g., 8 vCPU) if CPU usage is observed at 60% or greater on average.

  • Network - In EC2, SoftNAS uses Elastic Block Storage (EBS), which are disks running across the network in a SAN (storage area network) configuration. This means all disk I/O travels across a shared network connecting the EC2 computing instance with the SAN. This makes network I/O an important factor in SoftNAS® environment performance.

  • Multiple Performance & Scale Options: EC2 offers Fixed Performance Instances (e.g. m5 c5, and r5) as well as Burstable Performance Instances for occasional heavy use over baseline. EC2 also offers many instance sizes and configurations. Consider all potential networking requirements when choosing instance type. Purchasing models include On-Demand, Reserved, and Spot Instances.

SoftNAS® System Requirements

Listed below is a table to assist with the setup decisions during the configuration required to accomplish various tasks and goals.


Recommended

Configuration Note

Compute

For more in-depth guidance on instance size recommendations, see the SoftNAS Cost Saving Calculator here.

Small Workloads

r5.2xlarge


Standard: a good starting point in regards to memory and CPU resources.  This category is suited to handle the processing and caching with minimal requirements for network bandwidth.

Medium Workloads

r5.4xlarge

Medium: good for workloads that are read intensive will benefit from the larger memory-based read cache for this category.  The additional CPU will also provide better performance when deduplication, encryption, compression and/or RAID is enabled.

Heavier Workloads

r5.12xlarge or r5.24xlarge

High: This category can be used for workloads that require a very high speed network connection due to the amount of data transferred over a network connection.  In addition to the very high speed network, this level of instance gives you a lot more storage, CPU and memory capacity.

Memory


Base RAM

16GB

Required for kernel and system operations.

System RAM

16 GB or more for best results

Paired with CPU by instance

Additional RAM

1 GB per 1 TB of deduplicated storage.

Recommended for best performance

e.g.: 50 TB deduplicated storage = 50 additional GB for deduplication tables.

Storage


Boot Disk

256 GB Hard disk for Linux boot and system disk (all EC2 instance types provide enough space to install and use SoftNAS®)

Data Disks

Elastic Block Storage (EBS) provides block data storage on Amazon EC2.

Software RAID

Recommended to configure EBS disks using SoftNAS software RAID for increased performance and data durability.

Networking


Up to 120 MB/sec

1 GbE

Small to Large instances provide up to 1GbE connectivity. Use High I/O instances to increase network throughput.

HA Networking

Not supported in Amazon EC2.

HA Host Failover

Configure multiple redundant SoftNAS® instances in separate availability zones or different geographic regions.


CRITICAL: Do not use ephemeral disks for write logs. Ephemeral disks are local instance disks providing a much larger second-level read cache than RAM, and are typically more than twice as fast as standard EBS volumes. However, the data stored here is temporary and therefore lost upon each reboot.


Refer to AWS for specific SSD performance metrics.

SoftNAS® System Capacities

Listed below is a table representing the capabilities of the SoftNAS® for Amazon Web Services.


SoftNAS® Capacity

Configuration Note

Editions


SoftNAS®

NA

No capacity limits

SoftNAS® BYOL

NA

No capacity limits

Memory


RAM Cache

16 GB to 100 GB

Defaults to 50% total RAM for read cache

SSD Cache

low-speed level 2 cache

Optional

Ephemeral Cache

low-speed level 2 cache

Optional for read cache

Storage


Maximum Storage

16 PB

Maximum usable storage capacity with SoftNAS®, contingent on license.

# of Storage Pools

Unlimited


# of Volumes

Unlimited


# of Snapshots

Unlimited


# of Snapshot Clones

Unlimited


SnapReplicate

Unlimited Pools & Volumes


SnapReplicate Throttle

56Kb/sec to Unlimited bandwidth


Active Directory

Kerberos Integration


Files and Directories

Unlimited


Network


Schedules

Unlimited


NFS Exports:

Linux Default


iSCSI Targets

Linux Default


CIFS Shares

Linux Default


Firewall Ports:

22 (ssh), 443 (https)

Plus NFS, iSCSI, and CIFS as required by network

IP Tables Firewall

Off by default

May be configured but is not required. Use an alternative method to set Security Groups unless added firewall protection on a SoftNAS® instance is required.

AWS EC2 Best Practices

To get the best performance out of SoftNAS® in an AWS environment, consult the following best practices:

Network Planning Considerations

Take into account best practices for AWS EC2 combined with Buurst® optimization configurations before getting started with SoftNAS® for Amazon EC2.  For extremely heavy workloads, increase cache memory with High Memory Instances and / or EBS-Optimized and Bursting IOPS to provide better control over available IOPS. Consult the AWS EC2 System Requirements and Performance Considerations page for more detailed recommendations and explanations on this topic.

2nd Level Read Cache

To further improve read and query performance, configure a Read Cache device for use with SoftNAS®. SoftNAS leverages the ZFS L2ARC as its second level cache.

AWS EC2 Read Cache

During instance creation, choose an instance type that includes local solid state disk (SSD) disks. The storage server will make use of as much read cache as is provided to it. Read cache devices can be added and removed at any time with no risk of data loss to an existing storage pool. There are two choices for SSD read cache on EC2:

  1. Local SSD - the fastest read cache available, as the local SSDs are directly attached to each EC2 instance and provide up to 120,000 IOPS.

  2. EBS Provisioned IOPS - these EBS volumes can be assigned to SSD, providing a specified level of guaranteed IOPS.