How to predict the performance of cloud data storage systems?

Object storage is an approach for storing unstructured data in the cloud that, in theory, makes it possible to store practically limitless amounts of data in its native format.  In this storage architecture, data is managed as objects, compared to traditional systems that handle data as blocks or hierarchical files.  Object storage is available on-premise, but is considered a good fit for the cloud because it is flexible and can more easily scale.  Use cases include Backup & Recovery, Data Archiving & Compliance, Big Data Analytics, and Cloud-native Application Data.

For availability and scale, client data is often automatically distributed across three or more physical facilities that are geographically separated.  This can be done regionally, across the country, or across the globe.   For distributed storage environments like this, the performance of the network is critical to the end user experience.

"Cloud data storage"The Challenge: Most organizations cannot fully assess how their system will scale and perform over wide area networks.

Because they can’t easily replicate distance, or the imperfections real networks experience, organizations don’t know how a specific object storage system will hold up under peak loads nor the impact adding additional workloads will have on performance.  This lack of knowledge leads most organizations to either under or over-provision for bandwidth which can lead to costly fixes or wasted resources. The ability to pinpoint the exact bandwidth requirements saves organizations from overspending.

Before migrating to cloud object storage, organizations should take the opportunity to test object storage workloads against different service providers. Providers use varying technology and offer different architectures which could impact performance and overall costs. Multi-tenant (public) architecture for example, may affect latency, throughput, or loss differently than single-tenant (private) architecture. Using network emulators to test the performance of different providers can help to decide which is a better fit for your organization.

It is important to test cloud object storage behavior over unreliable and challenging “real-world” networks during the entire development & deployment lifecycle.

For businesses considering cloud object storage, performance is the primary concern.  According to industry analyst Stratecast “end-to-end application performance assurances” are the highest priority when choosing a storage provider. And fear of “poor or inconsistent application performance” was a common deterrent from moving to the cloud. This means it is paramount that object storage vendors verify system level scalability and performance under real-world conditions before customer deployments.  It’s common to use a cloud architecture for object storage.  Data is typically geo dispersed into multiple datacenters:  East coast, Central, and West coast.  Sometimes international locations are also part of the system level testing.  Using 1G and 10G Ethernet links are typical, with 25/40/100G becoming more common.

Today there are several solutions that allow organizations to test application performance in the lab – as if it’s running over a wide area network.  Network emulators and load testing platforms enable organizations to test the performance of a wide range of object types over a variety of network conditions.  To do this they create real-world network conditions like bandwidth limits, excessive latency/jitter, packet loss, and other impairments.  By intelligently mimicking network conditions you can ensure the solutions you are designing and deploying work as expected when rolled out to production.

Understanding how the object storage architecture is responding to application requests under loads from multiple applications is key to delivering predictable, consistent performance to users.  A major element of the test must include emulating the network the distributed storage system will run on, considering distance, latency, loss, and other factors.

"Network emulator"

Network emulation devices are an integral part of testing a solution before deployment. These devices can seamlessly and accurately control multiple site and network features. When your application relies on fast, reliable access to stored data, you must ensure that your storage system performs as expected.

In Ayscom we work with solutions from Apposite Technologies, the market leader in network emulation for pre-production testing of applications on wide area networks. To request more information about cloud storage and network emulation solutions, please contact us.

 

Source:  Predicting the Real-world Performance of Object Storage Systems in the Cloud / Apposite Technologies