Why build your own cloud storage?
Public clouds were created around the premise of dynamic demand, scaling up and down to the right size based on the resource demands of the application or organization. This flexibility is very appealing and justifiable when it comes to resource management around computing resources. However, when storing data in the cloud, more often than not you don’t only pay for storage but also to read (egress) and write (ingress) to the storage system. With public cloud storage, the egress and ingress costs can be unpredictable, which makes building your own cloud storage so appealing. Typically, an organizations storage usage will grow over time, both in capacity as well as in egress/ingress making the cost grow as well. While most public cloud providers do not charge for ingress, they do however charge for API calls. This pricing model can make for unpredictable and variable monthly costs, and make it difficult to budget for.
This is where building your own cloud (or cloud adjacent) storage comes in. Storing your data on your own hardware, using open-source Charmed Ceph unlocks a new level of flexibility. With thousands of data centers located worldwide, it is easy to set in a neutral location, but in close proximity to multiple public cloud providers and their availability zones. This new level of multi-cloud flexibility allows you to quickly switch to a new cloud provider should it offer a service not available elsewhere, without incurring significant access or migration costs. You would be using your own cloud storage and simply making your data available to the new provider.
Things to consider before starting
Typically the choice would be between colocation or bare metal cloud cloud. However, since you will be looking at locations worldwide, shipping hardware around the world does not make sense, so colocation would be a local solution. For the private cloud option, you will need to find a dedicated server provider to build your private cloud on.
Choosing the correct hardware from the start is important as it should not only suit your own needs, but also that of the software you will be using. You can either use proprietary software, or use open-source Charmed Ceph. Whichever route you choose underlying hardware requirements will be more or less the same, but it is necessary to make sure of the requirements for what you are planning. If you are building a storage system that will have a lot of activity from applications or users, then building less dense nodes with smaller drives would be the better choice. If you are building a system for long term storage or for mostly archival data, then storage nodes with dense NL-SAS/SATA disks would be a better choice.
Open-source systems like MAAS and Charmed Ceph makes managing the end-to-end deployment and configuration of hardware quick and easy. After deploying your storage system, all you need to do is make your endpoints available to your users and applications.
We will cover Ceph more in detail in a future article.