architecture-based virtual management

Download Architecture-Based Virtual Management

If you can't read please download the document

Upload: damian

Post on 07-Jan-2016

30 views

Category:

Documents


2 download

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 Presentation

TRANSCRIPT

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
*
*
*
*