Our most recent case study webinar featured James Nocentini, Developer Advocate at Couchbase, discussing how they Continuously Deploy mobile applications running on Couchbase Mobile with Docker, Compose and Tutum.
The CouchBase Mobile stack is the following:
• Couchbase Lite is a NoSQL mobile database that persists data in JSON and binary format.
• Sync Gateway is the middleman server that exposes a database API for Couchbase Lite databases to replicate to and from (data is not persisted in Sync Gateway).
• Couchbase Server is a NoSQL server that’s used as a storage engine by Sync Gateway.
In this stack, each component has a clear responsibility and can greatly reduce the time it takes to build a suite of applications (Android, iOS, Web…) without compromising on the user experience because the user’s data is automatically synced to Couchbase Lite in the background.
• Basic Docker commands for Sync Gateway
• The development environment with Docker Compose and code sharing on GitHub
• Adding more components (here, a Web App) in the lifecycle of the project
• Setting up the Docker Hub repositories
• Continuously Deploying with Tutum
The release pipeline will look like this:
Watch the recorded webinar below and scroll down for the Q&A session from this webinar with James Nocentini.
Also, be sure to check out this step by step tutorial reviewing what was covered in the webinar.
How did Couchbase decide on using Docker Hub?
With the images of our application versioned and hosted on Docker Hub, any member of the team can use a simple docker pull command to run the application in a pristine environment minimizing potential build errors.
How are you using Docker Hub in your environment today?
We use Docker Hub to build and host the Docker image of the latest version of the source code from GitHub.
Are you using the autobuild feature within Docker Hub?
Yes, to publish an image of the latest version of the application from GitHub.
How do you use Docker Compose in your application?
Docker Compose can greatly simplify the development process by combining all of the application components into one. Before using Docker Compose, you will have to Dockerize your application. Dockerizing applications is a crucial part of this process because unless you use an image that is already published on Docker Hub, you will need to Dockerize your application components to get Continuous Delivery set up correctly. In this webinar, we looked at 3 components: a Web App, Sync Gateway and Couchbase server.
Are you using any Docker tools for distributed application in production?
Yes, to continuously deploy the different services to a staging server: Tutum <- Docker Hub <- GitHub. This workflow allows developers building apps with Couchbase Mobile to deploy continuously which is vital to improve the product and keep your users happy. Running a simple git push command to see the changes live on the staging server a couple of minutes later increases productivity 10x and makes the whole team happier as a result!
What kind of clustering tools are you considering for your environment?
Yes, Swarm to transparently scale to multiple hosts.
Head to the Couchbase developer portal to learn more about Couchbase Server 4.0 and Couchbase Mobile and check out the Docker Hub reference page in the Couchbase Server documentation.
Learn More about Docker
• New to Docker? Try our 10 min online tutorial
• Sign up for a free 30 day trial of Docker
• Share images, automate builds, and more with a free Docker Hub account
• Read the Docker 1.8 Release Notes
• Subscribe to Docker Weekly
• Register for upcoming upcoming Docker webinars
• Attend upcoming Docker Meetups
• Register for DockerCon Europe 2015
• Start contributing to Docker