I just finished a great call with Joseph Weitekamp
Joe got introduced to Cloudify by one of my friends and shared with me his perspective on what is Cloudify. I realy liked the way he was able to put this togather and thought that the rest of you would be intrested in his perspective as well, so here it is..
What is Cloudify:
Cloudify is a software runtime lifecycle management system for cloud-hosted services.
- It manages in an automated fashion:
- The provisioning of cloud infrastructure
- The installation and configuration of services on that infrastructure
- Monitors those services for health and parameters. Respond to SLA violations.
- The uninstallation of service software and deprovisioning of cloud infrastructure
- Provide customized ways to interact with the running system that hide its cloudy deployment.
- Cloud-provider agnostic through abstraction layer. Public or private, ie, Amazon, Rackspace…
- Recipe-based definition of deployments: end-state and means for achieving it
- Recipes are parameters + app lifecycle event handlers written in Groovy, a Python-like JVM-hosted language.
- Recipes for complex suites of services can be declared, which manages the coordinated configuration of these services.
- Service interdependencies declarable and respected. Services don’t start until those they depend one are up.
- Recipe parameterization and inheritance (generalization / specialization) allow re-use and standardization
- Custom Commands can be defined in Groovy and run interactively in a shell or web browser
- Probes can be defined to surface telemetry on the services. Standard probes for standard telemetry are provided. Custom probe can be coded in Groovy or Java
- Web Service Dashboard (meters and time-series graphs) can be declared to monitor service health/performance
- Automated SLA Assurance can be declared to assure required number of service instances are always running. Additional service instances are provisioned, installed and started as necessary
- Auto-scaling based on telemetry can similar drive the provisioning, installation and startup / shutdown of service instances.