As far as enabling technologies go, CF is pretty. Write some code, wire up some marketplace services, and then simply
cf push your way to a running, scalable web application. I daresay it’s effortless. A sheer joy to use.
It’s definitely lead to more applications and more instance replicas. Can you imagine even attempting microservices using manually deployed LAMP stacks? Ick.
One of the coolest, and (in this author’s opinion) least-hyped features of Cloud Foundry is the Service Marketplace. There, only a
cf create-service away, is a whole world of data services, both on-demand and shared-host, just waiting for you to hook up to your application and get down to business. Whether you want to work with relational databases like MySQL or PostgreSQL, or fall more on the NoSQL side of the house with Redis or MongoDB, there’s a broker out there ready to set aside a small part of the internet for you to store data in.
Herein lies the danger.
Precisely because it’s so easy, we often forget to investigate things like data protections: snapshots and recovery options. If your data was important enough to persist outside of your application instances, it’s probably crucial enough to warrant some sort of backup schedule, right?
Sure, most commercial service offerings are going to include some rudimentary snapshot capabilities, if for no other reason than to protect the service provider themselves from massive liability should they somehow destroy a data center or wipe a storage array. I think we deserve better. I think we deserve data protection on our own terms.
That’s why we’ve built
We ran a live demo of the software at the October 28, 2020 Cloud Foundry Community Advisory Board call, where we focused primarily on moving data from one Cloud Foundry into another. You can find the recording of that CAB call on YouTube.
If you want to try out
cf-protect, check out the project page on GitHub. The README has installation instructions and some information on the supported Cloud Foundry marketplace services, as well as details on how to get involved to help make it better!