Multi-Cloud Data Management Software

Cloud-native storage for unstructured data in a single namespace, powered by policies to
extend enterprise workflows across private and public infrastructure.

     

Cloud storage, in your enterprise environment

You want Amazon or Google cloud storage in your own environment, so do not settle for an imposter and use the real thing. SwiftStack was built from day one to have the fundamental attributes of the cloud and allows you to get your on-premises unstructured data cloud-native.

New Capabilities in SwiftStack!

In 2017, significant enhancement have been made to enable new distributed workflows, across multiple geographic regions and multiple clouds. They include:

 
  • File access (SMB and NFS) built into the core engine. New in SwiftStack 6! Learn More
  • Public cloud archiving while maintaining a single storage namespace.
  • Visibility and access to a single multi-cloud namespace with the SwiftStack Client.
  • Deterministic placement of data across multiple regions.
  • Enhanced erasure coding when placing data in multiple regions.

To learn more about the new capabilities in SwiftStack attend and watch our Product Feature Webcast Series.

Universal Access

Metadata Search

Cloud-native storage for applications of today and tomorrow

A common inhibitor to adopting cloud architectures are applications and tools that expect traditional on-premises infrastructure, resulting in the continuation of unnecessary data silos. SwiftStack is cloud-native storage that is optimized for applications of tomorrow while providing access to classic applications that are still needed today.

Modern applications have storage on-demand via RESTful HTTP APIs. Classic applications can access and consume the same data from the single namespace via file access protocols without the need for a gateway or application refactoring.

New in SwiftStack 6, SMB and NFS file access protocols are native in the product. Classic applications that do not support Object APIs can store and access data through a purpose-built file system. This file system provides universal access so that data ingested via file protocol can be read via Object APIs and vice-versa.

This filesystem new technology, called ProxyFS, is open to the community. Learn More

Data in SwiftStack is stored in a single namespace, independent of the access method used, eliminating the need for unique storage systems based on the language the application speaks. For example, data that is written via a file protocol can be read using an object API and vice versa.

Metadata Search

Object APIs

Traditionally it’s been common that applications store data in their own dedicated storage system or logical volume. Cloud-native applications that use RESTful HTTP APIs get to leverage all the inherent capabilities of cloud storage like scale-out performance, a globally-distributed namespace, and increased durability/availability of data.

SwiftStack natively supports both commonly used interfaces for accessing object storage, the S3 API and the Swift API.

The OpenStack Swift API is the leading community developed, standards-based cloud storage API, with SwiftStack being the leading contributor.

While not standards-based, the S3 API has become a defacto standard for accessing cloud storage based on the success of Amazon’s public cloud offerings. SwiftStack natively supports the S3 API alongside the Swift API. Learn More

Metadata Search

Metadata search

Any amount of metadata can be associated with objects, allowing applications to optimize data for end-to-end workflows and allow others to easily utilize it.

See how metadata search works in SwiftStack.

SwiftStack can automatically send metadata for each object to Elasticsearch, a popular open search platform, so it is indexed and searchable. Applications and users can then get additional value from the data by being able to quickly find what they need.

Similar to SwiftStack, Elasticsearch is the leading open source indexing and search platform that’s backed by a commercial team. After giving SwiftStack access to your Elasticsearch environment, metadata will automatically be sent to Elasticsearch. As metadata changes, SwiftStack will always keep Elasticsearch up-to-date. This gives you a searchable index of all your data in a SwiftStack cloud. Learn more

While applications can programmatically find what they need in Elasticsearch and then request the objects from SwiftStack, the Kibana dashboard allows you to visualize all of your data, giving end users the same ability. Learn more

End-user access on your desktop with the SwiftStack Client

End-user access on your desktop with the SwiftStack Client

While applications can put and get objects into SwiftStack using object APIs, end users also need to access petabyte-scale storage. The all-new SwiftStack Client provides simplified access to containers/buckets from macOS, Windows, and Linux.

Download Now

As SwiftStack places data across multiple clouds based on defined policies, the SwiftStack client provides a consistent view into the storage namespace. Within a single container/bucket, data is shown as being on-premises or in a remote cloud, while access to the data remains constant.

Optionally, SwiftStack Drive can mount containers/buckets on your desktop so you can read and write files as you would with any local filesystem.

Multi-Cloud

Cloud Sync

Place data across multiple cloud with Cloud Sync

Many data workflows can benefit from a hybrid cloud strategy. With Cloud Sync in SwiftStack, data can automatically be synchronized with, or moved to, the public cloud based on a policy you define. The result is data lives wherever it is needed by users and applications.

Extending your storage infrastructure to the public cloud allows you to more easily collaborate with external teams, leverage cloud bursting for faster compute, and take advantage of cost-effective offsite archiving capabilities using Amazon Web Services or Google Cloud Platform.

Learn More

Cloud Sync in SwiftStack can synchronize data with the public cloud or archive data to it. When data is archived, it is moved off of SwiftStack nodes and into a bucket in Google or Amazon, but it remains in the SwiftStack namespace. This ensures that local applications and users retain access to data even after it’s been moved to a remote cloud. SwiftStack can optionally rehydrate local storage if an object in the public cloud is accessed.

Policy profiles are created and applied to any number of private-to-public bucket relationships, directing SwiftStack to continuously replicate data with the public cloud. The profile defines whether data is synchronized, archived, cached on access, and more.

Unlike many cloud gateways, SwiftStack stores data in public buckets in its cloud-native format and not in a proprietary archive. This means that your users and applications can access and operate on the data directly, without going through an intermediary.

Truly hardware-neutral software

Policy-driven storage

SwiftStack’s storage policies give you the power to have the cluster behave in a manner that’s best for each application. Where the data is stored, the type of drive it consumes, and the type and level of protection that’s used can be custom to each app.

Storage policies can represent classes of storage in your private cloud that users can consume on-demand. Physical capacity is only provisioned when data is stored, so no more capacity planning. Tell SwiftStack how it should behave and it takes care of the rest.

When physical storage is added to the cluster, it is assigned to a storage policy, which specifies what regions the data should live in, the types of drives it should be on, how many replicas to store, or if it should be using erasure coding instead. Then, containers/buckets are assigned a storage policy. It allows different types of data to be treated differently, all in the same clusters under a common namespace. Learn more

Cloud storage is known to be highly durable because data is replicated across multiple nodes in the cluster and can optionally be replicated to different geographical regions. This allows for drive, node, and even site failures while keeping the data protected and available. In SwiftStack, the policy states how many replicas to keep for each object and the cluster does everything possible to be compliant with this policy.

Instead of replicating whole objects multiple times across the cluster, an erasure coding algorithm can be used to encode and store fragments of an object across the cluster to reduce the physical footprint needed to protect the data. You can think of erasure coding like RAID5, but across different physical nodes in a cluster. Erasure coding can be used for both single-region and multi-region clusters. Learn more

Location-optimized storage

Nodes of a SwiftStack cluster can exist in multiple geographic regions. For each application, you choose where you want the data to go. Write to multiple sites simultaneously...eventually replicate there...whatever you want.

If one site goes down or an app has to be moved, it automatically accesses nodes in another site without knowing the difference. SwiftStack also keeps track of client performance, so data is always accessed from the fastest node.

Unlike traditional storage, replicating data across multiple regions is built into SwiftStack. There’s no need for third-party replication software or the requirement to manage independent storage in each region to further protect or location-optimize your data. Also, geo-replicated containers/buckets have a common namespace, so if a node in one region becomes unavailable, the storage is automatically accessed in another region. Learn more

One capability of a storage policy is to designate what regions, or physical sites, participate in storing the objects. This gives you the ability to not only ensure your data is protected from a regional outage, but optimizes the location of that data for fastest access by other users or parts of a workflow.

For a multi-region cluster, read and write affinity settings allow fastest access to the storage based on location. In SwiftStack, applications and users interact with the proxy role and then the proxy roll interacts with the object role. These settings allow you to ensure the proxy servers first interact with the object servers closest, or fastest, to them.

Core Storage

Open-source at the core

The core engine IS OpenStack Swift. It’s not forked, fattened, or watered down. This means you get to utilize what drives some of the largest storage clouds, leverage the power of a vibrant community, and there is no vendor lock-in.

SwiftStack is the lead contributor to the Swift project that has over 220 additional contributors. Swift is used to drive some of the storage clouds at companies like Comcast, Time Warner, and Wikipedia, to name a few. It also powers public clouds like Rackspace, NTT, and IBM SoftLayer. Having an engine backed by this community, along with demanding customer environments, makes SwiftStack the most proven, enterprise-grade object storage software.

Additional functionality is added in optional “middleware” or the SwiftStack Controller, keeping the core pure.

Truly hardware-neutral software

Truly hardware-neutral software

Take advantage of modern advances in commodity hardware components to build storage infrastructure that’s ideal for your environment. Significant, if not exponential, cost savings is achieved by being able to have choice of server, drives, and networking.

High-density servers for maximum capacity, SSDs for metadata, cloud disk drives for objects, and 10Gb Ethernet to make it all flow fast. Everything you need and nothing you don’t.

You can also start with one vendor’s hardware and expand with another. Mix and match vendors, capabilities, capacities, etc.

Learn more about hardware infrastructure for SwiftStack.

SwiftStack clusters are built using standard servers with an Intel x64 architecture. Since data durability is achieved by replicating data to different nodes, physical redundancy inside the server is not necessary and a high number of disk drives can exist in each server to maximize usable capacity.

With durability being achieved through replication, high capacity, single-port SATA drives can be utilized to maximize the ratio of cost per TB. SwiftStack architecture optimizes for many concurrent connections, making lower RPM and higher capacity drives suitable while still filling 10GbE pipes.

SwiftStack installs on top of standard Linux (Red Hat Enterprise Linux, CentOS, or Ubuntu), allowing you to use an OS that has been configured to meet your management and security requirements. Just a single command downloads and installs SwiftStack.

Massive scalability

No more storage silos. SwiftStack is a fully-distributed storage system that horizontally scales to hold your data today and tomorrow. The storage system scales linearly, allowing you to add additional capacity and performance independently...whatever your applications need.

While scaling storage is typically complex, it’s not with SwiftStack. No advanced configuration is required. Only a few simple commands to install software on a new node and deploy it in the cluster. Load balancing capabilities are fully integrated allowing applications to automatically take advantage of the distributed cluster.

There are four unique roles in a SwiftStack cluster (Proxy, Account, Container, and Object). Each node in the cluster is delegated specific roles. For small clusters, it’s common that each node participates in each role. In larger scale clusters, some roles are given their own nodes. No matter how the cluster is initially configured, it can seamlessly scale.

Both capacity and performance of a SwiftStack cluster can scale independently. To scale overall performance by allowing more concurrent connections, add nodes with the Proxy role. To scale capacity, add nodes with the Object role.

Adding additional hardware infrastructure to most applications, whether servers, network, or storage, is a tedious process. With SwiftStack, the expansion of the cluster can be automated by setting up hardware profiles for each type of server in the cluster. For example, some servers may be high-capacity for a specific use while others may have a higher ratio of CPU for performance applications. These can be recognized automatically and added to the cluster with no administration overhead. Learn more

Inherently designed for system durability and data availability

SwiftStack is designed to withstand hardware failures without any downtime. Even major disasters, since nodes of the cluster can be globally distributed.

It is most common that data is replicated to multiple regions of a globally distributed for high levels of durability and availability. With this distributed architecture, standard cluster configurations have between 10 and 14 nines availability, significantly higher than SANs in tier 1 datacenters.

This redundancy allows you to maintain, upgrade, and enhance the storage system while in flight. For example, one click and all of the steps needed to perform rolling updates across all nodes happens automatically in the background. There is no 2am on New Year's anymore to schedule maintenance.

Extend with custom middleware

Extend with custom middleware

Extend SwiftStack’s functionality with build-in and/or custom middleware. Whether it be functionality like large object support, authentication integration, or support for the S3 API, middleware is a proven and flexible method to extend and adapt a distributed system like SwiftStack.

SwiftStack included valuable middleware right out of the box and will continue to add options over time to extend SwiftStack’s capabilities. These include Keystone authentication integration, rate limiting, S3 support, quotas, large object support, and more.

Unlike most commercial storage products, with SwiftStack you can customize the way it works for your needs. You can write custom "middleware" and deploy it inside a SwiftStack cluster, allowing you to inject functionality into or outside the data path.

MANAGEMENT/SECURITY

Metadata Search

At-Rest Data Encryption

Data encryption is available in SwiftStack to protect object data and user metadata from being exposed if a data drive leaves the cluster and to keep inter-cluster data in-flight encrypted. AES 256-bit encryption of data-at-rest in SwiftStack encrypts all object data, object etags (checksums), and any user metadata values set on objects.

Internally-encrypted data is never returned to clients via the API and by encrypting data in the access layer, all inter-cluster communication is encrypted.

Learn more about encryption in SwiftStack.

Metadata Search

Single pane-of-glass management and monitoring

The out-of-band SwiftStack Controller gives you full control of your storage clusters from anywhere. It’s a SaaS application in the cloud for ultimate simplicity or can run on your infrastructure behind your firewall. Your choice.

The cloud service is fully redundant and an on-premises secondary controller can be deployed for failover as well. Data services are independent, so even if the controller is unavailable, objects still move.

Optionally, you can deploy the SwiftStack Controller on servers you control behind your firewall. Even though the SwiftStack controller is out-of-band, you can deploy a secondary controller instance in the event where the primary controller is unavailable. While this increased the availability of all SwiftStack management functions, this also gives you the ability to update and maintain your controller instances without downtime.

In the SwiftStack user interface is a “Planning” tab. This shows you the amount of capacity used over time so you can properly deploy additional resources when your applications and users need them. No over-provisioning years out and no unexpectedly running out of space.

SwiftStack is designed to be multi-tenant. Starting with the SwiftStack Controller, multiple users can be added with roles assigned to them. Access levels include, User, Account Manager, Operator, and Administrator.

Automates storage provisioning and maintenance

No more drastic reduction in performance and system stability when adding or removing capacity.

Add a node, or even a single drive, to the cluster in-flight without any disruption. SwiftStack can gradually add drives to the online storage pool to keep the cluster performing at its max. If a drive is showing unhealthy signs, it can also be gradually removed from the storage pool to avoid protection and rebalancing storms.

SwiftStack is architected so expansion and maintenance can occur at any time. Unlike an application-specific silo of storage, many apps across many regions can share the same storage cloud. As storage is added and removed from SwiftStack, it’s done gradually to minimize the impact on application performance. For those that have RAID experience, you know what type of storm is created when a drive is removed or added. That does not occur with SwiftStack.

In keeping with an architecture that allows SwiftStack to be maintained at any time, software updates roll out gradually across the nodes in the cluster, allowing all cluster services to remain running at the service levels designated. No need to wait months to plan downtime in the middle of the night just to roll out new and desired software functionality.

Integrates with your existing enterprise systems

Integrates with your existing enterprise systems

Manage storage access and administration with using your existing identity services. SwiftStack integrated with Active Directory, LDAP, and OpenStack Keystone.

With SwiftStack’s user-centric administration and access layer, it’s easy to generate usage reports and tie in your chargeback systems.

Alerts can be integrated with external monitoring tools such as Nagios, Splunk, and via SNMP.