-
Notifications
You must be signed in to change notification settings - Fork 54
Architecture
fairchild edited this page Sep 13, 2010
·
8 revisions
PoolParty is a tool for coordinating the deployment and management of clouds (a set of machines, for now). Services such as EC2 provide the basic ability to create and destroy machine instances (Xen Instances). PoolParty provides a higher-level abstraction that enables simplified deployment and dynamic scaling. PoolParty is designed from the ground-up to be highly decentralized. PoolParty is designed to extensible along several dimensions.
Poolparty is composed of the following building blocks:
- Remoter Bases: Also known as Cloud Provider, such as Amazon EC2. Remoter bases are responsible for creating and destroying instances. Currently support exists for EC2 and VMWare instances. Support is planned for disk images and other backends. Please update Requested features with specific requests.
- Provisioner: Provisioner allows communication between the host where the cloud commands are being run (i.e. your laptop) and the instances created using remoter bases. Examples include Capistrano and SSH. Their primary use is transfer dependency files, templates, deploy_directory (if being used) and chef recipes to the cloud.
- Dependency Resolvers: These are host configuration management tools such as Chef and Puppet. The default dependency resolver for PoolParty is Chef. Chef is used in the solo mode, i.e., standalone with no master or slave.
- Plugins and Resources: PoolParty supports the notion of resources – entities that can be addressed and manipulated such as files, directories and packages. Plugins are collections of resources. Use of PoolParty plugins and resources ensures that the cloud configuration does not change when the dependency resolver changes. PoolParty handles the complexity of translating the high-level resources into resolver-specific commands and resources. With Chef as the resolver, users can elect to write Chef recipies instead of PoolParty plugins. Chef recipes behave just like PoolParty plugins and have a very similar syntax.
- Monitors: This is set of monitoring services written as a Rack application running on port 8642. In the near future Monitors will support a plugin interface that will allow users to write cloud-specific or application-specific monitors.