May 22, 2018 – Advisory: Software Defined Data Centers (SDDC) and Hyper-Converged Infrastructure (HCI)
Important Considerations for InterSystems Clients
A growing number of IT organizations are exploring the potential use of SDDC and HCI solutions. These solutions appear attractive and are marketed as simplification of IT management and potential cost reductions across heterogeneous data centers and cloud infrastructure options. The potential benefits to IT organizations are significant, and many InterSystems clients are embracing SDDC, HCI, or both.
These solutions are highly configurable, and organizations can choose from many permutations of software and hardware components. We have seen our clients use a variety of SDDC and HCI solutions, and through those experiences we have realized that it is important to carefully consider solution configurations to avoid risk. In several cases, there have been clients whose implementations did not match the performance and resiliency capabilities required for mission-critical transactional database systems. This resulted in poor application performance and unexpected downtime. Where the goal is to provide mission-critical transactional database systems with high resiliency and consistently low-latency storage performance, component selection and configuration requires careful consideration and planning for your situation, including:
- Selecting the right components
- Properly configuring those components
- Establishing appropriate operational practices
SDDC and HCI offer flexibility and ease of management and they operate within or alongside the hypervisor layer between the operating system and the physical storage layers. This adds varying degrees of overhead. When misconfigured, this can radically affect disk latency – which is disastrous for performance of applications.
Design Considerations for InterSystems IRIS Data Platform, Caché, and Ensemble
The following list of minimum requirements and design considerations is based on our internal testing of SDDC and HCI solutions. Note that this is not a reference architecture, which means that your application-specific requirements will depend on your situation and performance targets.
- Two or more 10Gb NIC interfaces per node that are dedicated for the exclusive use of storage traffic.
- Two local non-blocking line-rate 10Gb switches for switch connectivity resiliency.
- As an option, 25, 40, 50, or 100Gb instead of 10Gb for future-proofing investment in HCI and the specific benchmarked and measured application requirements.
- At least a six-node cluster for higher resiliency and predictable performance during maintenance and failure scenarios.
- Intel Scalable Gold or Platinum processors or later, at 2.2Ghz or higher.
- Installing RAM in groups of 6 x DDR4-2666 DIMMs per CPU socket (384GB minimum)
- All-flash storage. This is the only recommended option for storage. InterSystems strongly recommends against hybrid or tiered HCI storage for production workloads
- Minimum of two disk groups per physical node. Each disk group should support at least three capacity drives.
- Exclusive use of write-intensive 12Gbps SAS SSDs or NVMe SSDs.
- For all-flash solutions with cache and capacity tiers, it is recommended to use NVMe for the cache tier and write-intensive 12Gbps SAS for the capacity tier.
- Use of LVM PE striping with Linux virtual machines, which spreads IO across multiple disk groups (contact InterSystems for guidance).
- Use of the Async IO with the rtkaio library for all databases and write image journal (WIJ) files with Linux virtual machines. This bypasses file-system caching and reduces write latency (see the documentation or contact the WRC for assistance with properly enabling Async IO on Linux).
These minimum recommendations have shown to alleviate the overhead of SDDC and HCI but do not ensure application performance. As with any new technology, testing of your own application for performance and resiliency is paramount to any successful deployment.
If you are considering SDDC or HCI solutions, please contact your Sales Account Manager or Sales Engineer to schedule a call with a Technical Architect. This is important to ensure your success.