Does Cloudfoundry require persistent block storage like EBS or equivalent to run in production?

413 views
Skip to first unread message

ch...@productscience.co.uk

unread,
Jun 1, 2014, 7:58:45 AM6/1/14
to vcap...@cloudfoundry.org
Hi there,

I've had a look through the documentation on Cloudfoundry, and read a few conversations on the mailing list, but I can't seem to work out the answer to this question:

Does the current release of Cloudfoundry rely on there being some kind of persistent block storage in the blobstore to run? If so, where would I find these requirements?

I should probably add that I'm not referring to something like AWS's S3, but something more like AWS's EBS instead.

The use-case I'm interested in is applications that often assume they have access to a file system like Drupal, or Wordpress.

I know that Openstack, Google's Cloud Platform and AWS all provide this kind of persistent block storage that you'd attach to a running instance, and they're the ones linked to in the CF documentation - this makes me me assume this to be the case. 

However, I see various references to Directory servers and NFS, in the documentation for both the DEA and the Cloud Controller, which I'd assume is the most common way to provide shared file storage between app instances:


There are a few questions on the mailing list which suggest work is going on in this area, but these are at least 6 months old, and I'm afraid I haven't been keeping up with the pace of all the updates to CF in 2014 ):


FWIW, I'd like to be able to run Cloudfoundry on IaaS providers like Greenqloud and Digital Ocean, but at present it's not clear how I could, or whether this is possible, because I'm not aware of either them providing an an EBS like service to customers.

Anyone?

Many thanks
 
Chris Adams

James Bayer

unread,
Jun 1, 2014, 11:09:53 AM6/1/14
to vcap...@cloudfoundry.org
i'm not quite clear on what you are asking for. is your main goal to run Cloud Foundry on digital ocean, etc or is it to run WordPress and similar apps on top of Cloud Foundry that require persistent disk?

cloud foundry requires persistent disk to several of the VMs, the cloud controller database (data storage for models), the UAA database (data storage for users and authentication information), and the cloud controller blob storage. the cloud controller blog storage could be an NFS mount - cloud foundry does include an NFS server should you want to go this route, the NFS mount would be for the cloud controller file system path. the cloud controller blob storage could also be a separate blob storage provider like s3, OpenStack Swift, etc.

the DEAs, the components that run the applications, do not currently have persistent disk recommended and when application instances startup then get ephemeral disk, meaning that if the app instance is restarted, whatever changes were made after the instance started last time to the local file system will revert to the state at application startup.

active state has donated a persistent file system service to open source, which in Stackato binds a single remote disk via sshfs to all instances of an application, but that it is not included in cloud foundry open source runtime. we'll look to incorporate that after the "diego" project is responsible for running applications. 


--
You received this message because you are subscribed to the Google Groups "Cloud Foundry Developers" group.
To view this discussion on the web visit https://groups.google.com/a/cloudfoundry.org/d/msgid/vcap-dev/af642ba5-d4ef-44b7-a328-a74cfc680e21%40cloudfoundry.org.

To unsubscribe from this group and stop receiving emails from it, send an email to vcap-dev+u...@cloudfoundry.org.



--
Thank you,

James Bayer

Chris Adams

unread,
Jun 1, 2014, 11:47:03 AM6/1/14
to vcap...@cloudfoundry.org
Thanks for the response on a Sunday, James :)

Responses in-line.

i'm not quite clear on what you are asking for. is your main goal to run Cloud Foundry on digital ocean, etc or is it to run WordPress and similar apps on top of Cloud Foundry that require persistent disk?

To be honest, it was both - I could definitely have been clearer in the original email.

I wanted to know if it was possible to run CF on providers like Digital Ocean, Greenqloud, Linode, which don't currently provide any EBS style service.

I also expected the organisations I'd might be hosting apps for to ask about running the likes of Wordpress/ Drupal, which by default, assume write access to the file system.

I'm just going to paraphrase your response, to make sure I understand this:

Cloud foundry requires a persistent disk (i.e. like AWS EBS for example)  for these two components:
    • the cloud controller database (data storage for models)
    • the UAA database (data storage for users and authentication information)
      The cloud controller blob storage can use a persistent disk for the blob storage, but it can also use a separate blob storage provider along the lines of Swift, AWS S3, which will often be cheaper.

      Does that sound about right?

      Thanks again for clarifying this.

      C

      James Bayer

      unread,
      Jun 1, 2014, 1:24:35 PM6/1/14
      to vcap...@cloudfoundry.org
      chris,

      yes, the spirit of your reply is correct.

      it's also possible to run the cloud controller db and uaa db outside of cloud foundry VMs using a service like AWS RDS. that's how we do many of our AWS CI pipelines.

      so in that case, and if you use an external blob store provider like s3/SWIFT, then you don't necessarily have to have an EBS-like store in theory.

      there are not currently BOSH Cloud Provider Interfaces (CPIs) [1] for DIgital Ocean, etc. so since BOSH is how we recommend to install/update Cloud Foundry, if you go that route you're in unfamiliar territory for us.

      canonical is working on Juju support for cloud foundry [2], which seems to have at least some experimental support for digital ocean [3], so that could be another path. i've heard that the canonical team has made very good progress with that approach recently.



      --
      You received this message because you are subscribed to the Google Groups "Cloud Foundry Developers" group.

      To unsubscribe from this group and stop receiving emails from it, send an email to vcap-dev+u...@cloudfoundry.org.
      Reply all
      Reply to author
      Forward
      0 new messages