codybum edited this page Dec 20, 2014 · 21 revisions

Cresco is a free and open source distributed resource management framework.

####The project includes these modules:

  • Cresco-Agent: Communicates with controller for configuration and control management. Provides environment to dynamically load plug-ins.
  • Cresco-Controller: Discovers agents and manages the control channels of groups of agents and agent plug-ins. Deprecated
  • Cresco-Agent-Controller-Plugin: Discovers agents and manages the control channels of groups of agents and agent plug-ins.
  • Cresco-[someplugin]-Plugin: Is dynamically loaded and uses the control channel of the host Cresco-Agent. Plugins produce either produce interface channels or data channels.

######Future project modules:

  • Cresco-Guilder: Topology optimization (Cost, Performance, Energy, etc) analytics engine.

####Controllers: Controllers manage agents and agents support plug-ins. Controllers provide the following functions:

  • Discovers Agents and Plug-ins based on zone configuration (controller and agent sharing the same log channel)
  • Web-based RESTful API interface for the management of Agents and Plug-ins.
  • SSH-based Command-line interface for the management of Agents and Plug-ins.
  • Monitors core agent services based on WatchDog messages.
Controller Future Development:
  • Web-based Dashboard /w topology reporting
  • Monitors data integrity of streams produced by plug-ins based on WatchDog messages
  • Monitors performance metrics of plug-in services based on WatchDog messages

####Agents: Agents are distributed components that provide a standard execution environment for plug-ins. Agents provide the following functions:

  • Establishes log channel for agent and plug-in status and WatchDog reporting to controller
  • Establish a control channel between the agent and controller
  • Provides a platform to dynamically (load, configure, unload) plug-ins
Agent Future Development:
  • Mesh based (agent-to-agent gateway) control of agents

####Plugins: The Cresco-Controller and Cresco-Agent provide a framework to manage plug-ins loaded on distributed agents. Plug-ins can function as:

  • External Interfaces: Provides interfaces into clouds of resources external to the core Cresco service.
  • Data Channel Source: Generates a data stream and provisions a data channel.
  • Data Channel Drain: Provides a destination for a data stream, consuming information from a specified data channel. Note: Data channel drains don't terminate data channels, they simply subscribe to data. Many drains can be connected to the same data channel.

#####Interface Plug-ins: These plugins provide a command interface into an external system. Typically, these interfaces would be used to provision resource to be used to transmit, process, or store data streams.

Interface plug-in WatchDog information should include current resource utilization and applicable consumption cost information for the provisioned service.

#####Data Channel Plug-ins: These plugins provide a data channel from/to external sources/destinations. Typically, these interfaces would be used to generate, process, transmit, or store streams of data.

Data Channel plug-in WatchDog information should include performance metrics related to the generation, processing, transmission, or storage of data streams.

#####Plugins Released:

  • Cresco-Dummy-Plugin: Example plug-in that demonstrates agent and controller interaction. This plug-in does not produce a data channel.

#####Plug-ins In Development:

#####Plug-ins Future:

  • Amazon Web Services (AWS): Provision resources from AWS.
  • OpenStack: Provision resources from OpenStack deployments.
  • OpenDayLight (ODL): Manage network paths using the ODL Software-Defined Networking (SDN) controller.
  • Agent Benchmark: Determine the system-level performance of the node hosting the agent.
  • Agent-to-Agent Discovery: Agents discover other agents and determine agent-to-agent reachability. This provides a reachability matrix for topologies.

####Gilders: Controllers manage agents and agents support plug-ins. Controllers provide the following functions:

  • Maintains performance metrics of plug-in services
  • Generates real-time cost information of deployed topologies.
  • Discover/Deploy alternative topology components.
  • Automatically augments topology based on desired optimization.

###How does Cresco Work?

Why the name Cresco?

  • Proto-Indo-European *ker ("to grow").
  • Old Armenian սերիմ (serim, "be born") and սերեմ (serem, "bring forth")
  • Latin creare ("become visible, multiply, augment")

Build Status

Cresco-Agent
Build Status

Cresco-Agent-Controller-Plugin
Build Status

Cresco-Controller
Deprecated
Build Status

Cresco-Agent-Dummy-Plugin
Build Status

Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.