I like to take a break from my usual Docker blog posts and discuss the Apcera Cloud Platform. The Apcera Cloud Platform runs containerized workloads such as Docker images or applications from source code in a clustered environment. For the past several weeks, I have been playing with Docker Swarm and spent time researching how to put this blog into production on it. Life has been very difficult for this migration because Swarm requires a lot of handholding and lacks the failover automation that I need. I began researching the Apcera Platform and tried out the community edition that users can try for free. The areas that I focused on for my needs regard ease of use and workload portability.
Workload mobility is important for me because I will eventually need to perform maintenance or upgrades on a server that will require downtime. Unlike Docker Swarm, Apcera features a built-in job and health manager that actually works and is not beta code. These managers ensure that my applications are running healthy with the desired number of instances. If a node running this website dies, it will automatically be scheduled to run on another machine in the cluster. This great technology by Apcera makes my life easier because I do not have to worry about Swarm not failing over my applications properly and also risk running rogue containers when the failed node comes back online.
The Apcera Platform makes it easier for me to host this site because the routing is automatically handled by the platform. For example, I can create a cluster that exists at home on multiple VMware ESXI servers and the built-in router can direct web traffic to where this site is running. Apcera features a built-in persistent storage provider called APCFS that I use to store the database for this site. Another container running MySQL can use the persistent storage so data will not be lost when the container stops running. If the website or MySQL container fails or moves machines, routing adjustments will be made automatically so the application can use the database.
Scaling the website for performance has also never been easier. From the Apcera Web Console, I can click on an application and increase or decrease the number of instances on the fly and the job manager will make the necessary adjustments on this cluster. It is also easy to accomplish this with the APC command-line utility that comes with Apcera. I hope that you enjoyed this blog post and find a way to run containers in production easier than ever!