Cloud technologies opened the doors for a lot of experimentation in terms of storage architecture. Everyone wants a cloud storage solution that is fast, smart and cheap. Taking this into account, InkTank developed a software-defined Cloud storage architecture by the name of Ceph, which is now maintained by RedHat. The beauty of Ceph storage architecture is that it is capable of all three types of storages, namely block, object and file storage and can easily handle many petabytes of data. For those who don’t know what a Petabyte is, it is essentially equivalent to 1,000,000 GB. That’s not all. Ceph storage architecture has a few very useful enterprise features that makes it one of the most reliable and efficient storage architectures to be implemented over the Cloud. Let’s look at some of these features.
1. Replication and Erasure Coding
In Ceph Storage, all data is automatically replicated from one node to multiple other nodes. This way the data is automatically backed up on multiple nodes (which means servers) and in case one node fails, the data can always be retrieved from a different node. This is a great feature for Cloud Hosting and the website data is made redundant and safe in case of disasters.
An obvious question that arises is that replication of data will consume a lot of storage space. So essentially you will be utilizing a lot of storage space for just backups and not actual data. This is solved with the help of Erasure coding algorithm. In Erasure Coding, the data replication is done smarter so that a lot of disk space is not used. Erasure code algorithm breaks the object into data chunks (k) and coding chunks (m), and stores those chunks in different OSDs. This type of coding uses storage capacity more efficiently by maintaining only k + m chunks. For example, 3 data and 2 coding chunks use 1.5x the storage space of the original object.
Ceph storage architecture allows the creation of snapshots of all data present. This is just wonderful for virtual machine environments because the snap and the original file points to the same storage extent. Which means I can access both the original and the snapshot using the same storage extent and essentially has had hundreds of snaps pointing to the same extent. But, at the same time I can edit each snap individually which will not occupy the same storage as the original one does, but only store the change of the data in separate storage extents. For everything that is common between the original and the snap, the main storage extent will be used and for unique aspects from different snaps, the respective extents will be used. This saves a lot of space and also makes it really easy to share information across multiple virtual environments.
3. Thin Provisioning
Thin Provisioning is another great feature for smart data storage and especially useful for Cloud Solutions like Cloud Hosting. In traditional storage provisioning, suppose you have 3 services such as programs, emails and media and they need to be stored on the disk. They can be allocated a certain disk space where each allocation for the specific service is fixed. Here, it is possible that the services don’t even use the full storage space allocated to them but still it cannot be used for anything else as the space is reserved This changes in Thin Provisioning where the allocation of space is only virtual and actual disk space is provided as and when needed. This provides a lot more flexibility and efficiency.
Ceph Storage constantly monitors failed nodes. In case it encounters a failed node, it replaces it with a replicated node seamlessly and thus it is self-healing and self-managing. That being said, the whole architecture is fault tolerant and highly reliable.
With such features, if Cloud Hosting is based on Ceph storage architecture, the overall system becomes a whole lot more reliable, cheap, effective and fast to host websites. So the next time you are looking for Cloud Hosting, check if they have Ceph storage architecture in place. Hope this helps you guys understand Ceph Storage and its enterprise features better. If you have any other features to add or any specific questions or thoughts, please feel free to mention them in the comments section below.