About Me

My photo
Rohit is an investor, startup advisor and an Application Modernization Scale Specialist working at Google.

Sunday, February 26, 2017

NFSv3 volume services in PCF 1.10

Today's blog is another guest post from Usha Ramachandran

Introduction

Volume services support has been available as part of open-source Cloud Foundry and enables applications to connect to shared file systems. With volume services an operator can deploy a number of service brokers and volume drivers available to connect to a variety of file systems Details can be found here. With PCF 1.10 we are adding support for deploying the NFSv3 driver/broker pair directly through the ERT tile (see How-to below). Customers can continue to deploy other driver/broker pairs by following the OSS documentation.

Use cases

This feature is targeted towards bringing new apps to Cloud Foundry that were previously unsupported because they have a file system dependency. Key use cases include:
  • Legacy lift and shift
    • File system as a transient store
    • content and config store
    • third party modules that cannot be rewritten
  • Applications that require a file system interface for interactions
    • Pipeline jobs - inbox/outbox
  • Content Management Systems
    • content and config store
  • Enterprise shared volume
    • Collaboration and auth/z

Use cases to avoid:

  • Replacing a database as a backing service
  • Greenfield apps that could use an object store
  • Local host persistence. Only NFSv3 support
  • Running database software as an app instance

How-to

  1. An operator can enable the NFSv3 volume service by selecting it in the “Advanced” tab while deploying Elastic Runtime. 
  2. When the operator selects this option on, an NFSv3 driver is deployed on every cell in the deployment. 
  3. In addition a broker is pushed to the system domain. The service then has to be enabled by the operator for all orgs and spaces or specific orgs. 
  4. Applications can now volume mount existing NFSv3 shares.

Restrictions

  • This is only applicable to Linux, no Windows support
  • Docker apps have not been tested
  • Read-write support (read-only support is untested)
  • Access-control is left to the app developer, the user binding to the service picks a UID to use with the NFS server (No LDAP integration)
  • NFSv4 is not supported which also means that EFS is not supported
  • No HA support for the service broker (deploy one instance of your service broker)