We just released Cloud CMS version 3.1.315 which includes more sample configurations to help customers and prospects get started with on-premise Docker deployments. Our Docker distribution includes several “kits” that contain pre-built Docker Compose configurations that help customers to get up and running right away. These configurations can either be used as is or they may serve as a reference for building out new configurations that meet a customer’s exact needs.
Cloud CMS offers Docker as an option for customers who wish to run Cloud CMS on-premise on within their own data center. Customers often want to do this for security reasons - for example, they may wish to take advantage of custom volume encryption, custom port or DNS settings or transport configuration. Customers also may wish to run Cloud CMS via Docker so as to introduce custom extensions to the back end server or front-end user interface that run “in-process”. In-process code can include things like custom actions, rules, workflow triggers, mimetype transformers and more.
In most cases, the trick to getting things up and running lies not so much in the configuration of Cloud CMS, but much more in the inner workings and configuration of Docker. Docker is a very powerful container technology that makes it easy to orchestrate the different tiers that compose the Cloud CMS infrastructure. Cloud CMS is inherently multi-tiered and scalable, making use of a completely decoupled architecture that is flexible for the needs of high content demand.
Docker makes it easy to orchestrate all these containers. It makes everything easy to run. We love Docker and so do our customers.
With Cloud CMS version 3.1.315, we now ship with sample Docker configurations for the following scenarios:
The basic quickstart kit is still offered and has been updated to utilize local, container volumes instead of named volumes. This is a good kit to run for folks who are getting started with Cloud CMS as it launches the full infrastructure on a single host. You can run the Docker host on your laptop or in Amazon EC2. Instructions are provided with the kit so that you can get going quickly (hence the name “quick start”).
This configuration shows you how to launch Cloud CMS and cluster the API tier. Clustering the API tier allows you to scale out the request handling for your content API across many handlers and job workers. A load balancer runs ahead of the API containers, distributing requests across the cluster members. Cloud CMS maintains a distributed object cache and job queue so that runtime state is spread out evenly across the cluster. As new members join, runtime state rebalances automatically. This allows you to calibrate for performance, adjusting the number of API servers based on request throughput and job processing throughput.
This configuration is provided primarily for our developer community and partners (OEM relationships, consultancy partners and integrators). It offers a sample configuration that lets you connect locally-developed Cloud CMS API and UI customizations. It is intended for scenarios where you run Cloud CMS locally and compile code changes that are then hot-linked into the running Docker infrastructure. Changes are picked up automatically so that you can connect your IDE debugger and walk through your code as it executes.
We have exciting plans for our Docker support in the near future. Among them is a plan to package Amazon Elastic Container Service (Amazon ECS) configuration files so that folks can work with ECS directly and independently of either Docker Machine or Docker Swarm. We would also like to provide sample configurations for Elastic Beanstalk as we’ve found that to be very effective. Finally, we’ve had requests for IBM BlueMix configurations and would like to provide a sample of that as well.
Customers have also asked for best practices around volume management (i.e. auto-mounting of EC2 volumes for persistent containers). This turns out to be an interesting area in the Docker world with all sorts of new innovations happening to address it. We will be provide sample configurations about how to do this as well.
Definitely watch this space as many exciting things are happening. If you’re an existing customer or a prospective customer who is interested in trying out Docker, please contact our sales team at firstname.lastname@example.org.