Introduction
Many customers have asked about running 3rd party apps on the VPSA. With Zadara’s Container Services, application developers can run Docker Containers embedded in the Virtual Private Storage Array. This provides a powerful application layer to extend the capabilities of the enterprise storage by bringing the application closer to the hardware for faster and optimal performance. No more network latency, just fast access to terabytes of world class storage.
Nowadays, quick, snappy and highly responsive cloud apps are what we expect to see. In this post, I’ll show how to get that “desktop experience” running OwnCloud – a popular file sharing application – using Zadara’s VPSA.
Example Docker Orchestration of OwnCloud in VPSA
Microservices Reduce Deployment Time
The figure above shows an example deployment of OwnCloud version 9.0 in a VPSA Docker container which was up and running in a matter of minutes using the pre-built image pulled out of the Docker Official OwnCloud Repository. While this was done in the AWS Cloud, the same steps apply if your cloud provider is Azure, a Colo or from on premessies connected directly to your Zadara Cloud Storage.
Five basic steps are required to orchestrate this app:
- Create an OwnCloud NFS share with the desired space for the app
- Download the Official OwnCloud Docker image
- Create and start the VPSA’s ZCS for OwnCloud
- Export the OwnCloud share to an EC2 instance
- Configure the OwnCloud following prompted installation instructions
Note: for the complete and up to date instructions, always refer to our GitHub repository.
If you are a Managed Service Provider deploying this application for clients running their 100% of their business in the cloud, your job is nearly complete. Just add client accounts.
But what about all those features we need such as accessing data from mobile or tablets? The good news is that OwnCloud data is accessible from phones, tablets or even remote desktops not running in the cloud.
Remote Access
The final steps to enable remote access to files stored on the VPSA is to provide a proxy from a public IP to the private IP:port mapped to the OwnCloud container. For this I use NGINX and a EC2 Nano Ubuntu instance with an Elastic IP for pubic access.
A complete solution for this is shown below with backup to Zadara ZIOS or S3 and NGINX serving public requests from mobile and remote users. With backup to object store, you can also remove the NFS mount point after everything is up and running since the only data path required is via the app itself.
Fully Deployed Docker OwnCloud in VPSA
Configuring your NGINX server is simply a proxy pass-thru record to the VPSA’s management URL with the container port assignment for the OwnCloud instance. An example of this routes my EC2 public IP to port 9229 in my VPSA running in our AWS Japan Cloud.
NGINX Proxy Settings for OwnCloud running in Docker
Final Touches
While you can use the app interface directly via a browser, OwnCloud provides a set of drivers which allow desktop synchronization with data stored in the cloud. You can download the drivers from their site.
When you move files into your local OwnCloud desktop folder, the files are uploaded to the cloud storage. Likewise, there are connectivity apps you can install on your iPhone or Android device which will move data between your mobile device and OwnCloud.
OwnCloud Desktop Synchronization
Some Considerations
As with all 3rd party applications you pull from the Docker Hub, you need to understand that you will have limited access to container’s root file system. The best practice is always to map your data and log files to a VPSA volume. This way your data is persistent across new container deployments.
Since containers run embedded in the VPSA and you cannot access them directly via the command line, it is a good idea to rebuild the images with ssh access. We provide instructions on how to do this in our dockerfiles GitHub underneath the ssh directory.
You also will need to select the correct number of CPU’s for your ZCS Engine. We provide a single CPU and 256M of container space free of charge. Normally this engine size is enough for running utility apps. For OwnCloud, I found that ZCS with 2 CPUs is the minimum requirement do to running Apache in the container.
Next Steps: Implementing / Free Trial
If you already have VPSA and want to run Docker on it, contact Support on how to enable it (support@zadarastorage.com). They will add an ZCS engine to the array. If you don’t have a VPSA, we offer a free 7 day trial where you can see if this works for your project requirements. Please create an account here.
Want to learn more without signing up for a free trial?
Join me every Tuesday for Tech Tip Tuesdays. This Tuesday, April 19th we’ll be covering this topic of running 3rd party apps on the VPSA such as OwnCloud. Click here to sign up!