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
- An operator can enable the NFSv3 volume service by selecting it in the “Advanced” tab while deploying Elastic Runtime.
- When the operator selects this option on, an NFSv3 driver is deployed on every cell in the deployment.
- 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.
- 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)