brooklyn at a Glance
brooklyn ( brooklyn.io ) is an open-source, policy-driven control plane for distributed applications.
brooklyn enables single-click deployment of applications across machines, locations and clouds; then continually optimizes your running applications to ensure ongoing compliance with your policies – including those relating to SLA’s, QoS, costs, application priorities, preferred providers, and jurisdictional constraints.
Unlike alternatives, which are infrastructure-centric, brooklyn has a unique application-centric approach to managing resources and workloads.
brooklyn uses business and service policies to understand what each application needs, then drives the infrastructure to meet those needs – dynamically and in real-time.
brooklyn dramatically improves the speed and consistency of application deployment, and ensures applications continually adapt in real-time to changing operational requirements – completely automatically, and in-line with your policies.
brooklyn uses business and service policies to automatically manage the behaviour of running applications – including their cost, performance, service levels, and compliance with jurisdictional and internal requirements.
Drive Up Resource Utilization
Traditional capacity planning relies on “just in case” over-provisioning. By contrast brooklyn enables “just in time” provisioning, automatically responding in real-time to changing workloads and scaling out/back in line with your policies.
Drive Down Costs
In addition to reducing the resources needed to service your workloads, brooklyn also reduces the costs of managing running application through policy driven automation.
The Benefits are Immediately Accessible
brooklyn requires little or no change to your existing applications in order to begin delivering the benefits of real-time elasticity, automatic governance, greater consistency, lowers costs, and reduced time to market.
Rapid Application Configuration
Pre-defined metadata are re-used to greatly improve the speed, consistency and compliance of application configuration.
brooklyn automatically deploys your applications into any infrastructure(s), ensuring that even large-scale distributed applications with complex interdependencies are deployed correctly.
Policy-Driven Automatic Governance
Policies are at the heart of the brooklyn solution. They are powerful yet straightforward to define, and apply to applications as they are running not just to how they are initially deployed.
Individual policies can deal with anything ranging from high-level regulatory and business requirements right down to low-level technical dependencies, taking in compliance and service levels along the way.
Policies can then be attached to applications at run-time to ensure fine-grained compliance and real-time optimization according to your own best practices.
One of the main applications of policy-driven automation is real-time elasticity, whereby brooklyn matches application behaviour against your service level policies to determine whether to scale-out/scale-back the application footprint. (brooklyn uses secondary policies todetermine the best way to action the scaling to maintain compliance).
With brooklyn, applications are both portable across execution environments and able to span multiple clouds simultaneously, thereby avoiding lock-in and maximizing flexibility.
Hierarchical Tree of Entities
Model applications and deployment environments as collections of entities.
Use a simple domain specific language to manage entities and to simplify deployment.
Policy Driven Automation
User defined policies are used to automate the deployment and behavior of applications by collecting monitoring data and invoking effectors on entities — either individually or as collections. This enables simple, transparent management of the complete application stack, from standard off-the-shelf entities to highly customized products and technologies developed in-house.
Fine-Grained Application Monitoring
Detailed application instrumentation is available programmatically and through a Web Console. The instrumentation can take data by monitoring entities (via JMX, HTTP, or other transports), computing aggregates across collections, or pulling data from many well-known monitoring tools. Both simple and enriched data can be emitted as a data source for other industry-standard monitoring and management tools.
brooklyn automatically manages technical dependencies and enforces compliance.
The jclouds abstraction API is built into brooklyn. Consequently your applications can seamlessly span your internal infrastructure and a large and growing number of external cloud providers.