Puppet is written in Ruby and is licensed under Apache 2.0 License. Any virtualized environments or Public and Private Clouds can be manged with this tool. This is an overview of Puupet Software and some links to protype snippets and other developments. This article gives the reader an idea of the scope of using Puppet, itself it is not a guide on how to modify and use Puppet according to your need.
Puppet and Management
Puppet is a tool for management the configuration of UNIX and Unix-like systems declaratively. Puppet include a declarative language for describing the configuration of the system, which can be applied directly to the system, or in a catalog compiled and distributed to the target system through client-server paradigm (using an application programming interface for Representational State Transfer or RESTful API) and the agent uses system-specific providers to implement the resource specified in the “manifiest”. The resource abstraction layer allows the administrators to describe the setting in terms of high level, such as users, services and packages without having to specify the operating system-specific commands (such as rpm, yum, apt). One must know that Puppet is a prototype and one of the commonly known tool. There are other tools and solutions for kind of same purpose.
You can officially read more on Puppet and download it :
Puppet and Management of Own Public and Private Clouds
You must heard of Boxen, may be you are using it. Boxen is tool for Mac released GitHub :
Boxen officially uses Puppet. Obviously, there are many such solitory or organized developments like this tool to manage nginx webserver :
Officially, one can Provision and Configure Public & Private Clouds using Puppet :
Puppet and Management of Own Public and Private Clouds : What We Want to Say
There are various Copyleft Cloud Computing softwares – either being developed or in the process of development. The licensing part is important to understand as Apache License, for example is not Copyleft. GNU General Public License is Copyleft and The Standard for free software development. What a developer can do is that, combining these softwares are quite easy. In fact, knowing the source code of the base software is not a per-requisite to use for using Puppet for the development of own management of tools for Public and Private Clouds. But definitely, if you want to create a SaaS, these kind of tool are very much powerful and effective.
Most importantly, one needs not care whether the infrastructure is of Amazon or OpenStack. You can easily adopt according for the change in case of any shift.