Ceph Storage offers significant benefits in terms of scalability and flexibility, its complexity and resource requirements necessitate careful planning and management, especially in dynamic environments like Kubernetes, OpenStack, and OpenShift.
Operational Complexity:
Ceph can have complex configurations and require specialized expertise to implement and manage which can increase OpEx.
Resource Management:
Ceph can be resource-intensive, requiring significant CPU, memory, and network resources to achieve higher levels of performance—especially for the block storage. Proper HW provisioning is crucial to avoid performance bottlenecks. Both of which can add to infrastructure, CapEx, and OpEx costs.
Performance Tuning:
Good Ceph performance is dependent on a robust and high-performance network. Network latency and bandwidth can significantly impact Ceph’s performance.
While Ceph storage is a good choice in many situations, it comes with some disadvantages too.
Advantages
» Despite its limited development history, Ceph is free and is an established storage method.
» The application has been extensively and well-documented by the manufacturer.
» A great deal of helpful information is available online for Ceph regarding its setup and maintenance.
» The scalability and integrated redundancy of Ceph storage ensure data security and flexibility within the network.
» CRUSH algorithm of Ceph ensures high availability.
Disadvantages» To be able to fully use all of Ceph’s functionalities, a comprehensive network is required due to the variety of components being provided.
» The set-up of Ceph storage is relatively time-consuming, and sometimes the user cannot be entirely sure where the data is physically being stored.
» It requires additional engineering oversight to implement and manage
While there is no denying the fact that Ceph is highly scalable and a one-size-fits-all solution, it has some inherent architectural loopholes. Ceph storage is not suitable for modern workloads for the following reasons:
1. Organizations either working with the public cloud, using their own private cloud or supporting modern applications require low latency and consistent response times. While BlueStore (a back-end object store for Ceph OSDs) helps to improve average and tail latency to an extent, it cannot necessarily take advantage of the benefits of NVMe flash.
2. Modern workloads typically deploy local flash, (local NVMe flash), on bare metal to get the best possible performance and Ceph is not architected to fully leverage the performance of this media. In fact, Ceph in a Kubernetes environment where local flash is recommended, can be an order of magnitude slower than local flash.
3. Ceph has a comparatively poor flash utilization (15-25%). In case of a failure with Ceph or the host, the rebuild time for shared storage needs can be very slow because of massive traffic going over the network for a long period.