anynines moves from a rented VMware to a self-hosted OpenStack infrastructure

anynines and Cloud Foundry

anynines is based on Cloud Foundry, an open source platform as a service framework. Thanks to an installation automation technology called Bosh, one of Cloud Foundry’s advantages is infrastructure agnosticism. This means that there is no tight coupling of anynines to any infrastructure provider.

anynines’ start on VMware

Cloud Foundry’s early ties to VMware, anynines started on a VMware infrastructure operated by our befriended datacenter Skyway Datacenter GmbH.

A little about the background. Back in the early days, Cloud Foundry has been funded and developed by VMware and hence first versions have been developed against and run on a VMware infrastructure.

So for us at anynines it seemed obvious that VMware will be the best supported infrastructure, so far. In addition, anynines’ approach was based on the lean startup paradigm. So the first experiments were about figuring out how hard it is to get a working Cloud Foundry setup. Which was surprisingly easy! So it was an logical choice to stay close to Cloud Foundry’s reference installation CloudFoundry.com and use VMware, at least in the first place.

Finding the right infrastructure technology

However, in the meanwhile Pivotal has been founded and took over the Cloud Foundry development. They also drove forward a support for other infrastructures such as Amazon Web Services (AWS) and OpenStack. (more…)

How to deploy a Go app on anynines and Cloud Foundry

Thanks to Cloud Foundry’s support of buildpacks it’s very easy to deploy mostly any app of any language to anynines.

This of course includes the Go language.

Derived from Heroku’s Go buildpack Michael Jemala was so nice to create a slightly modified Cloud Foundry buildpack for Go. As all Cloud Foundry buildpacks can also be used on anynines it’s just a matter of minutes to get a Go app running. (more…)

How to schedule background jobs using the clockwork-gem

First of all the most obvious question has to be discussed:

Why we can’t just use cron for scheduled jobs?

An essential part of a PaaS is to isolate running application instances from another. Therefore all application instances run in so called Warden containers. Warden is an operating system level virtualization framework shipped with Cloud Foundry, the foundation of anynines.

Most Warden containers will run application instances that will never need a CRON daemon. Running CRON jobs on application servers is generally not a good idea as it creates a coupling between application delivery and background processing. (more…)