NOTE: This Developer Center and itsâ€™ contents are focused on our S3 API based Cloud Object Storage Service. Developers who are using our OpenStack Swift API based service should refer to our Swift Documentation.
About Object Storage
Object storage systems take a different approach to storing and referencing information, and is ideally suited for managing large volumes of unstructured data. Object data storage concepts include the following three constructs:
- Data: This is the user and application data that requires persistent storage. It can be text, binary formats, multimedia, or any other human- or machine-generated content.
- Metadata: This is the data about the data. It includes some predefined attributes such as upload time and size. Object storage allows users to include custom metadata containing any information in key and value pairs. This information typically contains information that is pertinent to the user or application that is storing the data and can be amended at any time. A unique aspect to metadata handling in object storage systems is that metadata is stored with the object.
- A unique key: An identifier is assigned to every object in an object storage system, allowing the object storage system to differentiate objects from one another and is used to find the data without needing to know the exact physical drive, array, or site where the data is located or stored.
This approach allows object storage to store data in a simple, flat hierarchy, which alleviates the need for large, complex hierarchies that can pose challenges in file or block systems when storing extremely large volumes of data.
About IBM Cloud Object Storage
IBM Cloud Object Storage Public Cloud is a cost-effective multi-tenant object storage as a service that provides a scalable, durable and highly available unstructured data store for a broad range of workloads, including mixed cloud-native applications with dynamic data access patterns, and collaboration, backup and archiving applications that have a more predictable data access pattern.
IBM Cloud Object Storage Public Cloud Services are delivered via IBM Bluemix Cloud Platform as IaaS services. Accessible via a self-service portal, these services reside on a shared multitenant cloud infrastructure spanning a global network of IBM Cloud facilities managed by IBM specialists. Users can access these security-rich services from virtually anywhere in the world through object storage S3-compatible RESTful application programming interface (API).
REST API access to storage offers several advantages:
- Tolerates Internet latency
- Provides for programmable storage interface
- Provides efficient global access to large amounts of data
IBM Cloud Object Storage stores data as objects within resources called “buckets”. You can control access to the bucket including who can create, delete, and retrieve objects in the bucket. The storage service is fully integrated with a self-service portal for provisioning, support and billing with a consumption (pay only for what you use) pricing model.
You can employ storage services stand-alone or integrate them with other IBM Cloud services, including analytics, and compute and cognitive services.
Typical use cases
Typical use cases include the following ones:
- Storing unstructured data such as media files (images, music, and video) and web content
- File sharing
- Data archiving and backup
- Analytics and cognitive applications
- Enterprise collaboration
- Storing sensor data and log files
- Content repository
When not to use object storage
IBM Cloud Object storage is not optimized for transaction-oriented primary storage for databases and similar workloads that require low latency or small random I/Os.
IBM Cloud Object Storage provides security-rich storage options that scale with your application needs.
Rapid Development. Built for simplicity, with a web-based management console, and RESTful S3- compatible API, allowing you to benefit from the large ecosystem of compatible applications. You can use the Services natively as a content store using APIs and SDKs for rapid development and DevOps as well as quickly combine cloud services for building cloud applications and services. Cognitive, Analytics, IOT, and other workflows can leverage frameworks, toolkits, and SDKs. Unlike other cloud providersâ€™ object storage services, all operations in IBM Cloud Object Storage are immediately consistent (including overwrites and deletes).
Scalability. You can store as much data as you want and access it when needed. You can start at an initial capacity and add or remove capacity as needed, paying only for what you use. Operations in IBM Cloud Object Storage are immediately consistent, including overwrites and deletes).
Built-in data security. Uses an innovative approach for cost-effectively storing large volumes of unstructured data while ensuring security, availability and reliability. As shown in Figure 1, this is accomplished by using Information Dispersal Algorithms (IDAs) whereby data is dispersed into separate data â€śslicesâ€ť that are distributed across a network of data centers, making transmission and storage of data inherently private and secure. No complete copy of the data resides in any single storage node, which makes it safe and less susceptible to data breaches, and only a subset of nodes needs to be available to fully retrieve the data increasing the tolerance to node and disk failures.
Data at rest is encrypted, specifically with automatic provider-side Advanced Encryption Standard (AES) 256-bit encryption and SHA-256 hash. Data in motion is secured by using built-in carrier-grade Transport Layer Security/Secure Sockets Layer (TLS/SSL) or SNMPv3 with AES encryption. When itâ€™s time for data access, credentials are generated and managed for each user, and digital certificates are issued to each node, helping to protect data against unauthorized user access and to guard network connections against rogue node attacks.
Data Availability and Reliability. Designed for high availability of objects including regional outages and is backed by the IBMâ€™s Cloud Object Storage Service Level Agreement. You can choose IBM COS cross-region or regional options to optimize for latency, minimize costs, or address regulatory requirements.
Flexibility. You can choose from multiple data classes and resiliency options to match your workload requirements. IBM Cloud Object Storage Services accommodate cloud-native applications such as Internet of Things (IoT) and mobile devices, and enables moving on-premises application data, such as backup, archiving, and content repositories, to the cloud. You may also choose a hybrid configuration that enables you to mix on-premises with private or public cloud services to enable a flexible configuration if you need additional data center space and site fault tolerance.
Public cloud service portfolio
Services are designed for todayâ€™s dynamic workloads, you have several classes and resiliency options.
Multi-tenant IBM Cloud Object Storage is available as four classes: Standard, Vault, Cold Vault, and Flex.
- Standard: This service is for unstructured data that requires frequent access, such as DevOps, collaboration and action content repositories.
- Vault: This service is for workloads with infrequently accessed data, such as backup, archive and compliance workloads.
- Cold Vault: This deployment option is ideal for minimum access requirements, historical records compliancy and long-term backup.
- Flex: A single class of storage for mixed or unpredictable workloads and access patterns. Deploy for varying data access requirements and protect your budget from unexpected cost fluctuations.
Figure 2: This chart helps you assess the various IBM Cloud Object Storage against your workload data access and resiliency requirements.
You can Implement Standard, Vault, Cold and Flex services in two resiliency options: Regional and Cross-Region.
Your data is stored in IBM Cloud facilities across three or more geographic regions, designed to provide business continuity and workload data accessibility from multiple regions. This option protects data against the most common component failures and power outages and provides additional protection from region-wide outages. There is no separate charge for multiple data centers, or for bandwidth used across data centers.
Figure 3. Example: IBM COS cross-region option
Your data is stored in multiple IBM Cloud facilities within a single geographic region. Your data is accessible via end points within a single region for business continuity and availability. This helps protect your data from the most common component failures and power outages. It also tolerates facility failure with no interruption in data availability. There is no separate charge for multiple data centers within the region, or for bandwidth used across data centers.
Figure 4. Example: IBM COS regional option
See Compare Editions table to help you assess the various IBM Cloud Object Storage classes against your data access and resiliency requirements.
API and SDK reference, using desktop clients and command line interfaces
Application Programming Languages (APIs)
IBM COS uses an implementation of the S3 API that supports the most commonly used subset of Amazon S3 API operations. For a complete list of supported functions, see the IBM Cloud Object Storage API Developer Guide.
For more information about using the account management API for credential administration, capacity consumption checks, retrieval of UUIDs, and other account functions, see the Bluemix/SoftLayer SLN Reference web page.
Software Development Kits (SDKs)
IBM COS supports multiple SDKs covering .Net, Node-RED, Java, and Python. SDK guides explain to developers how to use the language to port existing applications to IBM COS. For more information, see the IBM Cloud Object Storage SDK Library.
Using Desktop client tools
For basic tasks, such as configuring routine backup or shared hosting for large files, there are GUI tools for accessing S3 API compatible object storage. Cyberduck is a popular, open-source, and easy to use FTP client that is also capable of calculating the correct authorization signatures needed to connect to IBM COS. Refer to the Using Cyberduck desktop client with IBM COS Tutorial for detailed instructions. In addition, Cloudberry is a flexible backup utility that allows users to back up some or all a local filesystem to an S3 API compatible object storage system. It can be configured to be run either manually or scheduled based on need, and can backup different directories to different buckets if needed.
Command-line interfaces (CLIs)
You can use the Amazon Web Services (AWS) Command-Line Interface (CLI) to control multiple IBM Cloud Object Storage accounts from the command line and automate functions through scripts. The AWS CLI Simple Storage Service (S3) tool can be used to access any S3-capable storage platform, including any IBM COS systems.
IBM Cloud Object Services pricing is based on capacity, outbound bandwidth, and access. You pay only for what you use. You can order from the IBM Bluemix Infrastructure (SoftLayer) portal. You must create an IBM Bluemix Infrastructure account first.
Free Tier Offer (free tier of storage at no charge)
You can also try IBM COS at no charge with the promocode COSFREE for 12 months, with the following options:
- Up to 25 GB/month
- Up to 20,000 GET requests/month
- Up to 2,000 PUT requests/month
(please note you will be asked to input your credit card, but will not be charged unless you exceed the capacity and GET/PUT requests outlined here.)
For instructions on how to create an account, sign up for the free tier offer or order storage refer to the IBM Cloud Object Storage Quick Start Guide.