Cast is a project that goes beyond service and monitoring of servers to deployment of support on a cloud system. This deployment requires several stages of development which Querna likens to the five stages in Maslow's Hierarchy of Needs, used as a visual aid to explain development of the project. At the lowest level, equal to Maslow's Safety level, are Deployment Releases. The next level up is a bash script, used primarily by Apple and Unix, to actually do releases, or deployments. Competitors, like Fabric or Capistrano, are lightweight deployment tools and not really intelligent about how your deployments work. The third level up is Configuration Management, like Puppet or Shaft frameworks. Those frameworks are impressive but really only mimic another machine. They are not a high level tool. The next level, equal to Maslow's Esteem, equates to API's for Deployment. Big companies prefer these because they can push a button on a web page and magic just happens across all their servers, but it's pretty hard to reach this level of sophistication. The uppermost level, Self-actualization, equates to Heroku, a cloud application platform that runs anything and sees everything, where you just plug in your code and everything happens. But, there are many apps and environments where you can't reach such an elegant solution. The goal of Cast is to get there using a deployment system as a RESTful API.
The Cast project is broken into into four main areas. First is Service Management or start-stop-restart of a system. The next is Version Management, primarily distribution of the release version, its upgrade and rollback. Bit torrent clients are used to make it fast and the rollback script must be kept robust so it does not break on the rare occasion it's used. The third area is Service Coordination which is where the project is currently working. It gets into log files, locating network ports and monitoring processes. The forth and last area is Configuration that does things like locate the database server and act as a kind of zookeeper. Cast is written in Node.js, a software system designed for writing scalable internet applications, licensed by Apache 2.0 and can be reached at github.com or Cast.org. Anyone interested is encouraged to visit and collaborate. Querna believes a gap exists between what platforms in the service offer and what most infrastructure users really need. Cast should make your work on web sites easier.
Paul Querna is an Architect at Rackspace, and former Chief Architect at Cloudkick. He has participated in many open source projects and is a contributor to the Apache HTTP Server and Apache Libcloud, the open source library for developers to build portable cloud applications. Paul also previously served as VP of Infrastructure for the Apache Software Foundation.
This free podcast is from our Velocity Conference series.