1. A system for deploying and managing software services, comprising: a computing environment that includes a plurality of virtualized and non-virtualized machines to which services and applications can be deployed; a plurality of agents, wherein each agent resides on one of the plurality of virtualized and non-virtualized machines in the computing environment and can be used to manage the software processes and resources running in the computing environment and can also render the resources as a resource pool; a rules engine that: compares administrator defined constraints with runtime metrics, wherein a constraint of the administrator defined constraints is a user defined service level agreement (SLA) that is captured by a metric or state that is derived from meta data or metrics and the runtime metrics are provided to the rules engine by a monitor service; generates events when a constraint is violated by a metric of the runtime metrics, each event generated by the rules engine carries with it information necessary to handle the event including the scope of a constraint failure that caused the event.