You are on page 1of 10

White Paper

Zadara Object Storage


White Paper

Executive Summary
Cloud providers using Zadara’s technology can now offer S3/Swift compatible
object storage. Object Storage is simple, easy to use, and well protected
solution for storing multimedia data, sensors sampling big data, or archiving
data of any sort. Object Storage runs side by side with virtual private storage
arrays on Zadara’s clouds, utilizing the same infrastructure, and providing
higher value to our customers.

2
White Paper

What is Object Storage?


Object Storage is an alternative way to store, organize and access units
of data. It provides a reasonable balance between performance and
functionality versus simplicity and scalability. Object Storage enables a
minimal set of features: store, retrieve, copy, and delete objects. These basic
operations are done via REST APIs that allow programmers to work with the
objects. The HTTP interface to Object Storage systems allows fast and easy
access to the data for users from anywhere in the world.

The Differences Between Object Block, and File Storage


Object Storage is much more scalable than file storage because it is vastly
simpler. Objects are not organized in hierarchical folders, but in a flat
organization of containers or buckets. Each object is assigned a unique
ID or key. Their keys, regardless of where the objects are stored, retrieve
objects. Access is via APIs at the application level, rather than via OS at the
file system level. As a result, Object Storage requires less metadata, and less
management overhead than file systems. This means Object Storage can be
scaled out with almost no limits. Object Storage is easier to use than block
storage and overcomes the limitation of fixed size LUNs. It also removes file
system limitations such as the folder size or path name length. Unlike block or
file, Object Storage does not use RAID for data protection. It simply keeps a
number of copies of each object.

What is Private Object Storage?


Private Object Storage is an Object Storage solution built on dedicated
compute resources either in a private or public cloud. As such, it guarantees
better isolation and security to ensure no performance impact by other
users of the object storage. Object Storage in a private cloud enables all of
the benefits of the public Object Storage. However, it eliminates the latencies
associated with the Internet and the public cloud, and therefore, provides
much better performance.

3
White Paper

Object Storage Use Cases


The common use of object storage is for big amounts of relatively static data,
like:

• Multimedia - music, images, and video


• Backup files, database dumps, and logs
• Big Data - Large data sets. Pharmaceutical or financial data, sensor
data, scientific research data samples
• Archive files in place of local tape drives
• Web content

Figure 1: Typical Data Profile

Object Storage Characteristics


Object Storage is Zadara’s object storage service. It is provided on Zadara
clouds, side by side with the virtual private storage array that provides block
and file storage services. These are the key properties of Object Storage:

• Flat namespace (key/value store)


• Unlimited scalability (scaling out) in both capacity and total objects -
simply keep adding drives
• User-defined object’s metadata
• 2- or 3-way distributed data protection
• “Eventually consistent” copies
• Supports both S3 and Swift REST API
• Comprehensive usage reporting and metering
• Multi-tenancy at both the object storage and account levels

4
White Paper

Provisioning
Object Storage is ordered and
provisioned just like the virtual
private storage array, by request at
the Zadara Provisioning portal. The
administrator selects the number
and type of drives to be assigned
to the newly created Virtual private
storage array, and the system
automatically assigns the needed
number of Virtual Controllers (VC’s).
The administrator receives access
to the object storage that contains
a default account. At that point, the
administrator can create accounts,
assign account administrators, and
can begin storing objects. Figure 2: Object Storage Provisioning Portal

Object Storage Usage Model


Object Storage may contain any number of accounts that are assigned to
different organizations. Users of each account can store objects, and organize
them in containers, as illustrated to the right.
• Object Storage is the entire
object storage. It may contain any
number of accounts as defined by
the administrator.
• Accounts are assigned to
an organizational unit or a
department, and contain a list of
user-defined containers.
• Containers are uniquely named
buckets with flat structures that
contain objects.
• Objects are a piece of data of any
size. A key that is assigned to it Figure 3: Object Storage Structure

uniquely identifies them.

5
White Paper

Authentication and Permissions


There are three types of users assigned to Object Storage:
• Administrator is responsible for the administration of the object storage.
The user (registered in Zadara Provisioning Portal) that orders the object
storage becomes the Administrator. By default, the object storage is
created with one account (Administrator account) and the Administrator
is a member of this account. Administrators can add other users with the
same role. Administrator is a super-user with privileges to create accounts
and users of any role. Users with Administrator role can define policies,
add/remove drives and assign drives to policies. Users with Administrator
role can perform containers and objects operations across accounts. The
Administrator is also responsible for the Object Storage settings (like IP
addresses, SSL certification, etc.), and has access to the Object Storage
metering and usage information.
• Account administrator can create an account and can manage their
own account. They can perform any user management and containers/
objects
• Member can do object storage operations according to the permission
given by the account administrator, within the limits of that account.
These operations include create/delete/list containers and create/delete/
list objects. User authentication is done against an internal Object Storage
users database.

Data Protection and High Availability


Object Storage data protection and reliability is achieved by replicating
objects across multiple storage nodes and disk drives. The user can configure
the number of replicas to suit their needs. The minimal Zadara object storage
configuration utilizes three storage nodes. Zadara object storage with the
redundancy of three copies can survive any double failure of drives, virtual
controllers, or physical storage nodes. Administrators can define a number
of protection policies, determine the drive types, and redundancy levels of
each policy. Containers are created within a given policy. Default policy is
automatically generated at the Object Storage creation time.

6
White Paper

Architecture
Object Storage is built on two main building blocks: Proxy Layer (Node) and
Storage Layer (Node). The proxy node is the interface to the users or the
application using the data objects. The Proxy node gets the API command,
authenticates the requester, decides what storage node should handle the
coming request, and passes it over. Once the appropriate storage node
handles the request, the proxy returns the answer to the caller. The storage
node is responsible for storing the objects on the drives, and updating the
metadata in the databases. The load balancer controls the traffic from
all clients to all Proxy Nodes. Object Storage comes with an internal load
balancer, but users can configure the external load balancer outside of the
Zadara environment, to get even better performance.

Figure 4:
Logical Object
Storage Architecture

Object Storage and Storage Arrays, Side-by-Side


Zadara Cloud side by side with Zadara virtual private storage arrays. The
object storage infrastructure is a collection of Virtual Controllers (VC) and
drives across the cloud storage nodes. VC’s are dedicated Virtual Machines
(VM) running the Proxy and Storage Nodes as described above. Just like
virtual private storage arrays, Object Storage has dedicated drives assigned
to it to store the data. Object Storage automatically distributes the load across
the storage nodes in a way that
guarantees the system survival,
even in case of Storage Node
failures. Drives assigned to object
storage are organized in policies
according to the redundancy
level required (2-way or 3-way).
When drives are added to the
configuration, Object Storage
automatically redistributes the
data across all drives. Figure 5: Logical Object Storage Architecture

7
White Paper

Object Storage uses large SATA drives (per customer order) to store object
contents, and fast SSD drives (automatically assigned) to store the users
and container databases. By default, each Zadara object storage Virtual
Controller contains one Proxy Node and one Storage Node. Users with heavy
traffic can add additional Proxy Nodes in additional VC’s. These can be
ordered from the provisioning portal.

Operations
Object Storage fully supports both
AWS S3 API and OpenStack Swift
API. For API details refer to the API
documentation. Both are REST
API over HTTPS. The four basic
operations are: 1) PUT that writes an
object, 2) GET that reads an object, 3) DELETE; and 4) COPY object. The flow
of these operations is described in the diagrams below:

PUT Operation
1. PUT (Object) request comes from client.
2. Load-balancer selects a Proxy
Node and routes request to it.
3. Proxy determines the Storage
Nodes to handle the request.
4. Proxy sends the object to 2 or
3 replicas.
5. Proxy queues container DB
updates, and completes the
PUT operation.

GET Operation
1. GET (Object) request comes from client.
2. Load-balancer selects a Proxy Node and routes request to it.
3. Proxy determines the Storage
Node to handle the request.
4. Storage Node reads the object.
If failed, the proxy will retry to
read from another replica.
5. Proxy returns the object to the
caller.

8
White Paper

Performance
Object Storage does not guarantee performance, as it depends on the
configuration and the workload.
As a quick reference, here are some performance measurements taken with
Zadara object storage built over 4 VC’s with 20 x 6TB drives, using a 2-way
protection policy.

Object Size Workload Ops/sec Bandwidth MB/s


4KB 100% PUT 500 2
4KB 100% GET 1500 6
1MB 100% PUT 150 150
1MB 100% GET 500 500
10MB 100% PUT 20 170
10MB 100% GET 65 650

Billing and Chargeback


Object Storage provides usage and billing reports both at the storage and the
account level. The reports contain details regarding the capacity consumed
and upload/download traffic. Usage reports can be exported as CSV files for
further processing in external billing tools.

Conclusion
Object Storage complements Zadara offerings for public and private clouds.
In addition to block and file storage services, Zadara now offers Object
Storage to fit the needs of any storage workload. Customers storing static
data can enjoy Zadara object storage and its infinite scalability. Cloud
providers using Zadara’s technology can now offer S3/Swift compatible
object services. Object Storage is simple, easy to use, and well protected
solution for storing multimedia data, sensors sampling big data, or archiving
data of any sort. Object Storage runs side by side with virtual private Storage
Arrays on Zadara’s clouds, utilizing the same infrastructure, and providing
higher value to our customers.

9
White Paper

Transform your business with zero-risk enterprise storage.


Zadara transforms storage-related costs from a variable mix of equipment
and management expenses to a predictable, on-demand, pay-per-use, elastic
service that greatly simplifies planning, streamlines budgeting, and improves
return on investment (ROI). Find out how zero-risk enterprise storage can help
transform your business. Call or email today.

+1 949 251 0360


sales@zadara.com
www.zadara.com

©2018 Zadara Storage, Inc. All rights reserved. Zadara is a registered trademark of Zadara Storage, Inc. Rev. 111618

You might also like