How monterey Works

monterey is a middleware platform designed for hosting large applications and making them elastic and self-optimizing.

monterey works by implementing applications as collections of actors that are dynamically distributed across any number of machines, locations and clouds.

monterey enables your application to be reconfigured and re-balanced in real-time. When used with a suitable management control plane (brooklyn), this optimization happens automatically in response to changes in operating conditions.

We call these capabilities Intelligent Application Mobility. Intelligent Application Mobility works by:

  • creating a dynamic overlay network that spans multiple runtime nodes and locations to form a single, coherent elastic processing fabric that changes in size and shape as needed
  • activating an applications as a collection of actors which can move independently across the elastic processing fabric as needed
  • using a policy-driven control plane, combining application monitoring with user-defined policies, to automatically manage actors and overlay networks in real-time.
  • incorporating the jclouds cloud portability library to enable applications to span multiple internal resources and external clouds.

monterey in Use

  • Application services are automatically deployed as fine-grained actors in any suitable infrastructure, which can be any combination of:
    • Micro-cloud for dev/test
    • Internal resources
    • External clouds
  • Requests and responses are routed via the Overlay Network.
How Monterey Works 2
  • The size of individual actors will vary according to their workload, and varying aggregate workloads will require different levels of resource at different times.
  • When resource thresholds are reached, monterey requests additional capacity, dynamically re-wires the overlay network to incorporate the new capacity, and dynamically re-distributes actors to re-balance the application.
  • Actors have live mobility; they can move while still running, with no interruption or degradation to service.
  • All changes are completely transparent to clients – there is no pause in operation.
How Monterey Works 3
  • Workloads are continually re-balanced across available resources to achieve optimum performance.
  • The amount of resource can be continually adjusted, and the service scaled by re-distributing actors. Re-configuration is completed in milliseconds.
  • Integrity is maintained at all times: new and in-flight requests are guaranteed to arrive once only and in the correct order.
How Monterey Works 4
  • Applications can easily span locations.
  • Actors move very quickly across wide-area networks.
  • This allows continual geographic re-balancing to achieve optimum performance.
  • Dynamic re-configuration enables near-instant responsiveness to any change.

 

How Monterey Works 5
  • Geographic rebalancing allows sophisticated behaviors including ‘follow-the-sun’ processing.
  • monterey is location-aware, and its policies ensure jurisdictional constraints are always enforced.
  • monterey dynamically grows or shrinks resources as required, both within and across data-centers.
  • Any number of clients and applications can run simultaneously, with policies controlling the entire estate down to a per-actor & per-location level.
How Monterey Works 6
  • In addition to machines and locations, monterey can span clouds.
  • The same monterey-enabled application can be deployed to any cloud-provider without change.
  • Any number of internal and external clouds can be combined to provide a single Elastic Application Fabric.
  • Full support for hybrid clouds, cloud spanning and cloud-bursting.

Key Technologies

Actor-Router Model
Makes building distributed systems more efficient and lays the foundation for dynamic scalability and optimization by “sharding” the processing namespace into fine-grained components called “actors”.

Overlay Network
monterey includes (software) message-router components, and dynamically rewires them as needed in order to create an overlay network that operates transparently on top of your existing networks. The patented algorithms implemented by monterey allow the overlay network to dynamically re-wire itself as actors move around machines, locations and clouds, ensuring that messages between actors – including messages already in-flight – continue to arrive at the correct location, once only, and in the correct sequence.

jclouds Cloud API
jclouds is an open-source portable abstraction for 30+ cloud providers and cloud software stacks. It allows monterey to deploy an application to many clouds, including the big names in PaaS and IaaS.

Policy-Driven Control Plane
This policy-based, extensible control system monitors the behavior of an application in real-time, matching behavior against user-defined policies, and automatically re-configuring the running application as operating conditions change in order to maintain policy compliance.

For example, if low-latency is a priority for a specific application, the monterey Control Plane will identify when demand for a service comes from a different location and will dynamically move that service in order to comply with your business policy regarding minimizing latency (while being mindful of other business policies, such as jurisdictional constraints).

The monterey Control Plane can also be extended to manage non-monterey components of an application, so that the entire application stack can adapt in real-time to changing operating conditions, subject to user-defined policies.