opensaf symposium_architecture_and_roadmap_update9.19.11
DESCRIPTION
OpenSAF is a mature platform that has undergone a series of architectural improvements and changes, making it the leading solution in the commercial-off-the-shelf (COTS) HA middleware industry. In particular, Release 4.0, released in mid 2010, is the biggest step to date in the direction of implementing a full suite of SA Forum services. This session will provide an overview of the OpenSAF architecture and specifically shed light on a series of improvements for Release 4.1 and the upcoming Release 4.2 that make OpenSAF the most scalable, robust and comprehensive implementation of the SA Forum standards. Lastly, this session will survey the OpenSAF roadmap and discuss the key priorities for OpenSAF over the next year.TRANSCRIPT
OpenSAF Architecture & Roadmap
Jonas Arndt Telecom Architect
Hewlett Packard
Presentation Layout
• What is OpenSAF
• Project Tools & Roles
• Release Cycle / Process
• OpenSAF Concept and Architecture
• Services Descriptions
• OpenSAF Releases & Roadmap
• Features/Improvements in 4.1 & 4.2
• Looking Ahead
What is OpenSAF
• Base platform middleware
developed by OpenSAF
Project
• Provides availability,
manageability, utility and
platform services needed
to develop highly available
distributed applications
• LGPLv2 license
• Implements SA Forums AIS
Specification
• Supported by OpenSAF
Foundation
SA Forum
AIS HPI
OpenSAF OpenHPI
Standards Body
Open Source Projects
Users
Developers
Maintainers Release
Manager
Technical Leadership
Council - TLC
Project and Tools
Community Roles
• User – suggest new features, report bugs,
participate on user mailing list
• Developer – user who contributes to OpenSAF (code,
docs., etc.)
• Maintainer
– Developer that has development leadership of a certain module.
• Release Manager – Manages OpenSAF releases, decides
when development release has needed quality to be announced as Generally Available
• Technical Leadership Council – Architecture reviews of major contrib.
– Release Strategy, Development process
• Web: http://devel.opensaf.org
• Trac: for wiki, ticket system (enhancements, bugs)
• Mercurial: for DSCM
• Mailing lists:
• Buildbot: for autobuild
• For OpenSAF developers:
– User Mode Linux support
• Example to build UML environment
$ cd tools/cluster_sim_uml
$ ./build_uml
• To start 4 node UML cluster
$ ./opensaf start 4
Project Infrastructure
Timeline & Release Process
• ~ mid 2007: Initial code contribution by Motorola ECC • February 2008: Infrastructure finalized, Foundation launched • August 2008: OpenSAF 2.0 • June 2009: OpenSAF 3.0 • July 2010: OpenSAF 4.0 • March 2011: OpenSAF 4.1 • September 2011: OpenSAF 4.2 (planned)
Beta
1
Ms
1
Beta
2
Ms
2
FC Ms
0
RC1 RC2 GA
Feature A Feature B Feature C
Trunk
Stable
Release Open (Allowed to commit enhancements and defect fixes to repository)
Stabilization Period (Only defect fixes allowed to be committed to repository)
Change Control Process applied (Only fixes to major, critical, blocker defects allowed)
6 – Months Release Cycle
OpenSAF Concepts
• Defines two types of nodes – System Controller Node
– Payload node
• System Controller Node – Management Access Point for Entire Cluster
– Hosts Centralized Functions of OpenSAF Services
– 2N Redundancy
• Payload Node – Contains Node-Scoped functions of OpenSAF Services
– Hosts target OpenSAF Applications
OpenSAF 2-tier Architecture
• Server on Controller
• Only library on
Payload, used to talk
directly to the Server
• Examples
– PLM
– LOG
– NTF
– EVT
Controller
Server
Payload
Client
Library
OpenSAF 3-tier Architecture
• Director on Controller
• Node Director on Payload, handles node-scoped activities and communicates with Director
• Examples – AMF
– CKPT
– CLM
– IMM
– SMF
Controller
Director
Payload
Client
Library
Node
Director
Deployment Architecture Controller Node (Active)
Payload Node 1
Controller Node (Standby)
Payload Node N
State replication
2N
Director Director
Director
Director Director
Director
Node
Director Node
Director Node
Director
Node
Director Node
Director Node
Director
Server Server
Server
Server Server
Server
Lib
App
Lib
App
OpenSAF Core services
• AMF - Availability Management Framework
– Manages redundant service providers for each
service
• instantiate, terminate and monitor service providers
• Dynamically (re)assing services to service providers
• Model driven
• IMM - Information Model Management Service
– Manages the Information Model
– Allows objects of the Information Model to be
created, accessed, and managed by system
management applications
• LOG - Log Service
– Enable application to express and forward log
records through well-known log streams that lead to
particular output destinations such as named files
AMF
Node Component
Service
Instance (CSI)
Service
Instance
Service
Unit
AMF
Application
Component
Hosted On
Hosted On
Protects
Assigned to
Assigned to
Service
Group
OI 1
OM 1 OM 2
IMM Object
Management API
IMM Object
Implementer
API OI 2
Object IMM Service
Node V Node U
Log
Alarm Notification System
Notification
Log lib
Application
App 1
Log lib
Node W
App 2
Log lib
OpenSAF Core services
• CLM - Cluster Membership Service
– Deciding which nodes are part of the
specific cluster
• NTF - Notification Service
– Notification producers generate notifications
– Notification consumers consume
notifications generated by producers, and
can be either of subscriber or reader type
– Support for Notification filters
Notification Log File
Log Service
Transport Service
Forwarding
Logging
Notification Server
Application Producer
Notification Library
Application Subscriber
Notification Library
Alarm Mgr Reader
Notification Library
Application Subscriber
Notification Library
OpenSAF Optional services
• CKPT - Checkpoint Service
– Manages checkpoints that a process uses
to save its state to minimize the impact of
failure
– A checkpoint is a cluster-wide entity, with a
unique name, that is structured into areas
called sections
– A copy of the data that are stored in a
checkpoint is called a checkpoint replica.
• PLM - Platform Management Framework
– Service providing management of hardware
(via HPI) and low-level software.
Active Compon
ent
Node A
Service Unit A
Active Compon
ent
Service Group
Section xyz
Section abc Checkpoint C
Node B
Service Unit B
Standby Compon
ent
Section xyz
Section abc Checkpoint C
CKPT
OpenSAF Optional services
• EVT - Event Service
– Publish/subscribe multipoint-to-multipoint communication mechanism based on cluster-wide event channels
• LCK - Lock Service
– The Lock Service is a distributed lock service that allows different application processes on the same or different nodes in the cluster to compete for access to a shared resource in the cluster
• MSG - Message Service
– Buffered message passing system, for processes on the same or different nodes, that is based on the concept of a message queue.
OpenSAF Optional services
• SMF - Software Management Framework
– Software Upgrade: Support for migrating a
target system in operation from one
deployment configuration to another is
realized following an upgrade campaign
specification
SMF
-Admin operations
-Read config
-Modify config
Install/remove software
on target nodes
SMF
Adaptation
commands
IMM
Software
repository
Campaign.xml
OpenSAF Roadmap
16
2008 2009 2010 2011 2012
1.0
2.0
3.0
4.0
4.1
Initial Release from Motorola
HP HW Integration C7000
CKPT Stepped to B.02.02
MSG B.03.01
Partial Java Mapping
IMM
64-Bit support
AIS – LOG Service
IMM Improvements
Performance enhancements
SMF Rollback & API
Alternative transport protocol for internal messaging
AM4J/AMF Agent
PLM, SMF
Retired HiSV, MASV, PSSv,
SRMSv, IFSv, SNMP subag
OpenSAF CLI
Overhaul of CLM Architecture
Modularized Architecture
Streamlined Architecture
Major overhaul of build system
4.2
IMM Improvements
Python Mapping
NTF Reader API improvement
AMF B04 API
Non-Root User
Retired DTSv
Hot-Standby Support for AMF
Architecture Change: From 2.0 till 4.2
AMF
Logtrace
MDS RDE, FM MBCSv
CLM CKPT
MSG EVT
LCK
MASv
PSSv SRMSv
IFSv
SNMP
Subagent
OpenSAF
CLI
AvMv HiSv
Architecture Change: From 2.0 till 4.2
AMF
Logtrace
MDS RDE, FM MBCSv
CLM CKPT
MSG EVT
LCK LOG
NTF
SMF PLM IMM
Architecture Change: From 2.0 till 4.2
AMF
Logtrace
MDS RDE, FM MBCSv
CLM CKPT
MSG EVT
LCK
IMM “CLI”
LOG
NTF
SMF PLM IMM
OpenSAF Core
Java
Bindings
Python
Bindings
OpenSAF Optional Services
Runtime
Dependency
• AMF – Availability Management Framework
• CKPT – Checkpoint Service
• CLM – Cluster Membership Service
• EVT – Event Service
• IMM – Information Model Management Service
• LCK – Lock Service
• LOG – Log Service
• MSG – Message Service
• PLM – Platform Management Service
• SMF – Software Management Framework
Project Focus Areas
Architecture
Usability
Ecosystem
t
t
t
4.0
• Streamlined
• Modularity
• Functionality
―Solve simple problems
in simple way‖
• Documentation
• Tools
• Migration Support
• 3PP Plugins
• Distros (visibility)
OpenSAF 4.0 Released July 2010
Major Design
changes
Redesign and break-
out of CLM
Streamlined
Architecture
Modular Architecture
Services Introduced
SMF
PLM
Services Retired
MASv
HISv
PSSv
SRMSv
IFSv
Project Focus Areas
Architecture
Usability
Ecosystem
t
t
t
4.1
• Streamlined
• Modularity
• Functionality
―Solve simple problems
in simple way‖
• Documentation
• Tools
• Migration Support
• 3PP Plugins
• Distros (visibility)
OpenSAF 4.1
Released March 2011
Major features:
‒ IMM Improvements (read performance)
‒ SMF Rollback & API
‒ Alternate transport protocol for internal messaging
‒ No hard dependency on TIPC
‒ Stretched Cluster Support
‒ AM4J/AMF Agent
Project Focus Areas
Architecture
Usability
Ecosystem
t
t
t
4.2 / Today
• Streamlined
• Modularity
• Functionality
―Solve simple problems
in simple way‖
• Documentation
• Tools
• Migration Support
• 3PP Plugins
• Distros (visibility)
OpenSAF 4.2
Release Planned September 2011
Major features:
— IMM Improvements
Multiple Appliers (enables e.g. Hot-Standby for AMF)
Model Mediation (OI CCB Augmentation)
– Python Mapping
– AMF Improvements
• B.04 APIs (subset of)
• Support for Application Dependency Modeling.
• Hot-Standby Support
– Non-Root User
– Retired DTSv
OpenSAF 4.2 Architecture
Optional
AMF
IMM LOG NTF
Logtrace MDS RDE, FM
OpenSAF Infrastructure Services
MBC
CLM
OpenSAF Core OpenSAF Optional Services
Runtime
Dependency
CKPT
SMF
MSG
PLM
EVT
LCK
SNMP / Netconf / SOAP / HTTP / RPC / …
Management Systems
Management Daemons
Optional,
Modular,
Pluggable
CM, FM
IMM “CLI” Java
Bindings
Python
Bindings
Project Focus Areas
Architecture
Usability
Ecosystem
t
t
t
4.3
• Streamlined
• Modularity
• Functionality
―Solve simple problems
in simple way‖
• Documentation
• Tools
• Migration Support
• 3PP Plugins
• Distros (visibility)
OpenSAF 4.3 and Beyond
Release Planned Spring - 2012
Planned Features:
Reduce complexity of integrating legacy applications
Enhanced Virtualization support
Security Improvements
No dependency on shared file systems
Java mappings for EVT and AMF (B.04)
Feature Lifecycle
”Wish-list”
Feat.
A
TLC
OpenSAF
Roadmap
User
I need Feat. A
Detailed
Plan for
Release N
Feat. A
+ Time
Estimate Major
Release Manager
Feat A
Feat B
Feat C
Feat.
A
Feat.
B Feat.
C
Betas Milestones FC RC
General
Availability
Dev
Trunk
User Release N
Stable Trunk
I have Feat. A !
Minor
OpenSAF Release N
M M
Feat.
A
Developer
I’ll implement
Feat. A