Difference between revisions of "Senlin"
(→Related Presentations) |
(→¤ Policies) |
||
Line 41: | Line 41: | ||
===== ¤ Policies ===== | ===== ¤ Policies ===== | ||
− | With Senlin, user can attach a ''policy'' to a cluster and enforce it, or detach it from a cluster. Some | + | With Senlin, user can attach a ''policy'' to a cluster and enforce it, or detach it from a cluster. Some built-in policies are provided to meet requirements such as auto-scaling, load-balancing, high-availability etc. |
[[file:senlin-policies.png]] | [[file:senlin-policies.png]] |
Revision as of 09:39, 18 October 2016
Overview
The mission of the Senlin project is to provide a generic clustering service for an OpenStack cloud. Such a service is capable of managing the homogeneous objects exposed by other OpenStack components, such as Nova, Heat, Cinder etc.
Features Highlight
The primary features of the Senlin service are listed below:
- A generic clustering/collection service for managing groups of homogeneous cloud objects on OpenStack.
- A set of APIs for managing cluster membership, e.g. add/remove nodes.
- A plugin-based object profile management enabling the creation and management of any object pools.
- A plugin-based policy enforcement framework featuring flexible policy customization for cluster management.
- A asynchronous execution engine for ensuring the state consistency of clusters and nodes.
- A open design for action execution that can be extended to accommodate complex application deployment.
Architecture
The following picture depicts the high-level system architecture of the Senlin service:
The main components in the picture are:
- The senlinclient component provides the command line interface (CLI) for users to interact with the Senlin service;
- The senlin-api service provides the RESTful APIs for the senlinclient component or other services;
- The senlin-engine service sits behind the senlin-api service and operates on the clusters/nodes, using profiles and policies that are loaded as plugins.
Terminologies
¤ Cluster
Senlin provides a clustering service to create and manage objects of the same nature, e.g. Nova servers, Heat stacks, Cinder volumes, etc. The collection of these objects is referred to as a cluster.
¤ Nodes
Senlin abstracts the physical objects as nodes, which can belong to any cluster of the same profile type.
¤ Profiles
Senlin supports object creation, deletion and update via a concept called Profile. Each profile is in essential a driver to communicate with certain services for object manipulation.
¤ Policies
With Senlin, user can attach a policy to a cluster and enforce it, or detach it from a cluster. Some built-in policies are provided to meet requirements such as auto-scaling, load-balancing, high-availability etc.
Documentation
Related Presentations
- Enhancing high availability in the context of OpenStack, Atlanta Summit, 2014
- A taxonomy of architecting high-availability into an OpenStack cloud. - The then current status of OpenStack support to HA. - A proposed service (HAaaS) which layed the foundation for Senlin's cluster design.
- Suning cloud and Heat, Paris Summit, 2014
- Experience sharing on using OpenStack for an online retailer - Requirements on orchestrating enterprise applications: clustering, scaling, HA ... - Gaps identified in the then current status of OpenStack services
- VM HA and cross-region autoscaling, Paris Summit, 2014
- How VM HA can be achieved by integrating OpenStack services. - How to scale a VM cluster across multiple regions.
- Senlin design discussion, Vancouver Design Summit, 2015
- A discussion on Heat design summit about senlin service design - How the service is architected, the terminology behind it - How auto-scaling can be achieved in this design
- Integration Magnum and Senlin for container autoscaling, Tokyo Summit, 2015
- Experience sharing on integrating Magnum and Senlin - Magnum provisions the container orchestration engines (COEs) - Senlin is responsible to scale the container clusters and the underlying VM clusters.
- Senlin deep dive for v1.0.0 release, Austin Summit, 2016
- An overview of the Senlin service design as of the 1.0.0 release. - A summary of progress made during Mitaka cycle. - An overlook of features planned for Newton cycle.
- OpenStack native container clustering, Austin Summit, 2016
- A technology preview of the container clustering support in Senlin - The discussion focuses on the on-going effort that builds and manages a docker cluster on OpenStack
- Elastic, resilient and load-balanced cluster in 5 mins, Austin Summit, 2016
- Experiences sharing how elasticity, resiliency and load-balancing can be achieved using Senlin - The demo shows how the above requirements are met using a Heat template consisting of Senlin resource types.
Get Involved
Launchpad Projects | Senlin SenlinClient SenlinDashboard |
Code Repositories | Senlin SenlinClient SenlinDashboard |
Blueprints | Senlin Blueprints |
Code Review | Senlin SenlinClient SenlinDashboard |
Bug Tracking | Senlin SenlinClient |
IRC Channel | #senlin on freenode.net
|
Mailinglist | Drop emails to openstack-dev with tag [Senlin] in the subject.
|
Weekly Meetings | 1300UTC every Tuesday on #openstack-meeting channel. |