architecture-based virtual management
DESCRIPTION
Architecture-Based Virtual Management. ZHOU Minghui School of Electronics Engineering and Computer Science Peking University, Beijing, 100871, China Oct.29, 2007. Agenda. Why virtual management Architecture-based virtual management management view Management process - PowerPoint PPT PresentationTRANSCRIPT
Administration of a SOA platform
European and Chinese Cooperation on Grid
Architecture-Based Virtual Management
ZHOU MinghuiSchool of Electronics Engineering and Computer
Science Peking University, Beijing, 100871, ChinaOct.29,
2007
Agenda
Why virtual managementArchitecture-based virtual
managementmanagement viewManagement processArchitecture-based
approachCase studyPKUASJASMINeSummary
Why virtual management?
Computing environments are becoming increasingly
sophisticatedNumerous complex softwareHeterogeneous programming
models Configuration facilities are generally proprietary
Resources virtualization is necessary Shielding users from their complexity and allowing them to focus on what they wish to do, rather than how the technology can get it done
Automation management is importantEase burdenAchieve
efficiency
Why virtual management? A scenario
Http session replication
EJB session replication
JGroup
CMI
Database replication
CJDBC
A scenario-J2EE cluster managementComplexity: Different layer,
Different technology, Different mechanism
Challenge
So, we have to build an infrastructure to support thisVirtual,
adaptable, open, on-demandHow? (What are the problems?)How to
virtualize?How to automate?
Site A
Site D
Virtual Machine
European and Chinese Cooperation on Grid
Architecture-Based Virtual Management Approach
Management view-three dimensions
Configuration
Runtime
Statistic
Web Service
CPU, Memory, Thread
Middleware Service
Cluster
Component Application
View
Modify
Diagnose
Resources
Operations
Contents
Management Process
MonitoringMeasuring parameters of the controlled system that are
relevant for the function under control
Decision Deciding the corrective action to be taken. Analyzing and planning
ExecutionActually performing the actions on the controlled
system. Knowledge base Represents information on the controlled
system.
Process-How to make it?
MechanismControl processVirtual operating systemPoints: how to
monitor? How to analyse? How to execute? How to make them
well-structured?
PolicyPredict systems behavior and actionCapability of learning adjustment policy dynamically by history dataPoint: What to be drawn as rules?
UIEasy way to know the managed resourcesEasy way to manage policy
EvaluationManagement overheadManagement efficiency Point:
tradeoff
Reflective Middleware Based System
Runtime Software Architecture
Causal Connection
Causal Connection
SAin Lifecycle
Highlight: Architecture-Based Approach
PhilosophyDesigners can predict some runtime changes and plan
correct adaptationsSelf-Adaptive Software Architecture (SASA)When
to changeClassical SA analysis methods, e.g., ATAM and SAAMWhat to
changeDynamic SA, e.g., Taylor@UCI and Garlan@CMUHow to
changeRuntime SA by reflective middleware or reflective
component
Fractal: dynamic SA
European and Chinese Cooperation on Grid
Case Studies
1 Self-Adaptive tuning in PKUAS2 Autonomous management in
JASMINe
Case study -Self-Adaptive tuning in PKUAS
Tuning Make AS running more high-performace by
AdministratorSelf-Adaptive Tuning Tuning AS by itself via
rulesPKUAS(JO2nAS): Peking University Application Server
Why self-tuningmake AS running high-performance without
depending on AdministratorSelects the system requirements and then
outputs a diagram of the system configuration and estimates the
construction fees
Case study 1--management process
Management Module
AnalyseRuleLib
Config File
Statistics Analyser
TuningRule Lib
Tune Actions
Environment
AS RuntimeInformation
ManagedObject Model
Tuning Controller
Statistics Information
AnalyseResult
Statistics Model
Management process: 3 stepGet realtime Performance
StatisticsAnalyse Statistics and give a resultTuning AS according
to the result and runtime information
Architecture based Deployment
Visualization of architecture models in the development
Visualization of servers and their capabilities
Drag-and-drop deployment of components
Automatic calculation of deployment factors
Fractal: software deployment and configuration management
Case study 1-test case
WaitingThreadCount1JDBCConnectionPool_1
JDBCConnectionPool_1
Case study 1test case
Test tool: LoadRunner Comparison of WaitTime
Comparison of WaitThreadCount
WaitTimeCountMaxTimeMinTimeTotalTimeAverage(TotalTime/Count)First test(before tune)80180780186173985021748.125Second test(after tune)5014578015090886818177.36
WaitThreadCountCurrent LowWaterMark HighWaterMark First test (before tune)0080Second test (after tune)0050
Case study 1- Self-Healing of Correlated Faults
DB failures cause TX failures
Case study 1--Experiences
LearnedMechanism is easily built, especially for application server
developersThe point is how to build an elegant infrastructure
(extensible, modules independent with each other )People like
architecture
ChallengeHow to get Rule for Analysing and TuningHow to describe
the Analyse Rule Lib and Tuning Rule Lib exactly and completelyHow
to make architecture to explain system exactlyTradeoff between
abstraction and serviceability
Case study 2- Autonomous management in JASMINe
Build a configuration is quite difficultHeterogeneous files
(properties, XML, )Numerous files and parameters JOnAS = 46 files,
Apache configuration file =160 linesSOA platform => several
products, cluster mode => multiple nodes, large scale
deploymentSame problem for the monitoring taskHuge number of events
to monitorDistributed architectureMultiple levels
!!! Not manageable by human beings !!!
Case study 2- Autonomous management in JASMINe
JASMINe: New OW2 projectBull, SERLI, INRIA, PKU
Tool for administration of SOA platformsFor the
designerConfiguration (clusters)DeploymentFor the
administratormonitoring, error detection, performance
trackingAutonomic administration configurationConfiguration and
DeploymentBased on logical configuration through ADL and
JADEMonitoring and autonomous managementProbes, filters, rules
engine
Case study 2- JASMINe architecuture
Case study 2- JASMINe: Design GUI
Eclipse EMF/GMF for architecture description
Case study 2- Configuration and Deployment
Logical configuration TO physical configuration
Case study 2- Monitoring and Autonomous Management
Data
Data
Data
Data
Rules
JASMINe
LogMailSMS
Summary
All roads lead to Rome: virtualization and automation on
managementIs computer determinedly on the road of virtualization
and automation?
Management process is general, Essence is the same: rule, Architecture makes this efficientCan machines make decisions and control complex situations without inflexible dependence on predetermined programs?
GRID infrastructure can benefit from current technical solution whose goal (or current goal) isnt GRID
European and Chinese Cooperation on Grid
Thanks
The web server (e.g., Apache) receives clients' requests and serves those that only require static contents. The other requests go to the next tier. The servlet server (e.g., Tomcat) generates dynamic content web pages, using data from the next (EJB) tier. The EJB server (e.g., JOnAS) executes the business code of the application, using data stored in the database. The database server (e.g., MySQL) stores the persistent data of the application.
J2EE platformManagement of a variety of legacy systemsEach tier
in the J2EE architecture embeds a different piece of
software-heterogeneityComplex administration interfaces and
procedures associated with very heterogeneous softwareRequirement
for high reactivity in taking into account events which may
compromise the normal behavior of the managed system
Parametric computing Huge volumes of input data Small or big
granularity computations EOD, intra-day, real-time results
,.JDBCConnectionPoolWaitThreadCount,JDBCConnectionPool_1.JDBCConnectionPool_1MaxCapacity30.
LoadRunner,.JDBCConnectionPoolWaitTheadCountWaitTime.MaxCapacity120,200,,,WaitingThreadCountCurrent,JDBCConnectionPool_1,MaxCapacity30150.,,200
*
*
*
*