Object stores are ideal for the storage and retrieval of files for application and websites. After being stored this data can be retrieved via an API, URL or a GUI client.
Our object store is based on OpenStack Swift. OpenStack is an open source cloud platform that currently has enormous momentum. We will use OpenStack for an increasing number of solutions. One of the advantages of this is that the OpenStack API can be used to control these.
The most well known object store is Amazon S3 at the moment. The CloudVPS object store uses an open API, is significantly cheaper and is not subject to the US Patriot Act. The latter means that our object store can be used to store privacy sensitive data. Read more about the advantage of the CloudVPS Object Store: http://www.cloudvps.nl/vps-hosting/object-store
The cost of the object store is calculated monthly on the basis of the actual usage of storage space, API Requests and uitgoing traffic. Read more about pricing and invoicing: http://www.cloudvps.com/community/knowledge-base/object-store-pricing-and-invoicing/
Files that are stored in an object store are always stored on three different systems and are always stored within at least two different datacenter locations. This offers protection against hardware failure. An object store offers no protection against wrongful delete requests however' if an object is deleted because of a mistake by the user this object can not be restored. It is recommended to make backups from important data. Please contact sales if you want more information about this.
Object Store Interface
In the CloudVPS Interface you can find a section for the CloudVPS Object Store. Here you can find information about the usage of the object store as well as information about the contents of containers. You can also create S3 tokens here.
Amazon S3 compatibility
Amazon S3 is the main first generation object store and a lot of parties looking at alternatives are currently working with it. In order to allow these customers to quickly start using our object store we have developed an S3 compatible API. Read more on this here: http://www.cloudvps.com/community/knowledge-base/s3-emulation/
There are different clients available that can serve as a GUI for our object store. Read more here: http://www.cloudvps.com/community/knowledge-base/object-store-gui-clients/
Viewing the object store from your browser
With the CloudVPS Object Store you can view the contents of your object store and download objects easily via your browser. Read more on our blog: http://www.cloudvps.com/blog/manage-the-cloudvps-object-store-via-your-browser-with-static-web/
Structure and Definitions
When you have ordered your object store account you will receive the following:
- A user name
- A password
- A project ID and name
Projects and Containers
An object store is always allocated to it own unique project. Projects are used to group resources within OpenStack. You can use projects to distinguish between a test and production environment, or between different websites or customers.
Objects that are stored within one project are not reachable from other projects. Projects are called 'tenants' in older versions of OpenStack. This term is still being used occasionally in the API.
Your files (objects) are stored in containers that are a part of a certain project. Containers can be compared with folders on a file system, the only difference being that object store containers can not contain other containers. Containers can be either private, with authentication needed to access it, or public so you can easily reach objects via a URL for example.
Users can be used to log into the API and the interface. A user is assigned to one or more projects and will be given a certain role. In the CloudVPS Object Store context our users have the role 'swiftoperator', this means they can do everything within a given project.
Your main CloudVPS Interface login account will automatically have swiftoperator role on all available projects/object stores. It is possible to have only your main interface login as a user for a certain project, however, for security reasons, we recommend you create a separate user for each project to use for API calls in website or application code.
A new user can be created when ordering a new object store or by contacting CloudVPS support. This functionality will shortly be available via the interface.
The domain name of the CloudVPS Object Store is objectstore.eu.
API documentation / Quickstart
Most interaction with the CloudVPS Object Store will take place through an API. The OpenStack Swift API is documented here: http://docs.openstack.org/api/openstack-object-storage/1.0/content/.
We have a QuickStart that will allow you to quickly get a feeling for the methods and possibilities of the CloudVPS Object Store: http://www.cloudvps.com/community/knowledge-base/cloudvps-object-store-quickstart/
Information on authenticating against OpenStack can be found here: http://www.cloudvps.com/community/knowledge-base/using-your-own-domain-name/
Development and application documentation
Together with our customers we have produced documentation for usage of the CloudVPS Object Store for a number of popular libraries and programming languages: http://www.cloudvps.nl/community/knowledge-base/category/object-store-dev-docs. For a number of programming languages there are API libraries / Software Development Kits (SDKs) available for OpenStack: https://wiki.openstack.org/wiki/SDKs.
Together with our customers and partners we also produce documentation to use the CloudVPS Object Store in combination with a number of popular applications: http://www.cloudvps.nl/community/knowledge-base/category/object-store-s3-emulatie.
Documentation about advanced functionality can be found at the following location: http://www.cloudvps.nl/community/knowledge-base/category/object-store-functie-docs
Large objects can best be uploaded in segments. Starting around 250 MB you will experiende better performance if you do this. Segmentation can be done using large object support: http://docs.openstack.org/developer/swift/overview_large_objects.html.
The maximum size of single objects is 5 GB. There are no limitations to the size of segmented objects, the number of containers or the number of objects per container.