There are only two open source object storage programs currently available: OpenStack Swift and Ceph.
The OpenStack Swift system has more trade press and is better known in the market. Many vendors say they support OpenStack, but that claim can be a bit confusing because OpenStack is a series of open source projects. The best known is Nova, which is the open source compute component. Nova works with storage via OpenStack Cinder or Swift. Cinder is the block and file API for external, mostly commercial SAN, direct-attached storage or NAS systems. Swift is the API to OpenStack object storage. There are substantially fewer vendors that distribute and support OpenStack Swift than OpenStack Nova and Cinder.
Ceph is a competing open source object storage product that has notably more functionality and performance. It also integrates with OpenStack Nova, but fewer vendors distribute and support Ceph than Swift.
Implementing open source object storage: A technology checklist
The decision to implement Swift or Ceph open source object storage should not be taken lightly. Both are fine open source projects, but each one has its drawbacks. When evaluating your technology options, you will need to do some homework:
- Determine the objectives and goals of your object storage project. You need to define what the project will accomplish and how it will work. What are the internal expectations? What are the requirements for performance, data durability, scalability, geo-distribution, management, operating expenses, administrator expertise and downtime?
- Prioritize internal requirements. Group your requirements into must-have (deal breaker), important to have (can make some exceptions) and nice to have (would like, but can live without it being met). Ascertain the capabilities, features and functions of each open source object storage product and match that to the internal requirements.
- Evaluate internal skills. Object skills to be assessed include scripting/coding experience, the ability to troubleshoot, testing, quality assurance and documentation disciplines. There is a statistically significant likelihood these skills will be needed. If a feature is missing, it may need to be internally written, tested, troubleshot, quality assured and documented. The same will most likely be true for some bugs and bug fixes. Remember, it is more difficult to hold the feet of an open source distributor/supporter to the fire than it is a commercial software vendor.
- Estimate the risks involved. What happens if the open source software dies or data is lost? How will data protection be implemented? Who will be responsible internally for ensuring the software works and is managed correctly? Who is accountable for finding, fixing, testing, quality assuring and documenting bugs and bug fixes, as well as rolling them out?
- Forecast the actual costs as closely as possible. Open source object storage does not require a license, but it does have costs, including the hardware infrastructure required to run the software, servers, disk drives (including hard disk drives and possibly solid-state drives), power and cooling, rack space and more. Administrator costs, training, downtime and equipment for troubleshooting can also add to the cost of open source storage.
After analyzing the results of your homework, you should be able to make an informed decision about whether or not open source object storage meets your organization's requirements and budget.
Open source object storage technology builds cloud software
Open source makes a splash at Linux conference
Interview with SwiftStack CEO Joe Arnold
SUSE Enterprise Storage software targets object storage with open source Ceph
Selecting open source object storage for your company