Title: 3248 Applying ALM to Application Management
13248Applying ALM toApplication Management
- Chris Peltz and Scott Williams
- Hewlett-Packard Co.
2Agenda
- Introduction
- Life cycle for Application Manageability
- Adaptive Principles in Action
- Conclusion
3The Ideal World
Requirements Gathering
Design Develop
Staging
Testing
Production
Application is hanging in production. Use
OpenView to do root cause analysis and send
results to developers.
Use root cause analysis results to narrow down
which software contains bug. Fix bug.
Deploy bug fix to staging. Execute regression
tests to verify integrity of bug fix.
Simple, Quick Resolution Repair
Release bug fix to production.
4The ProblemNo Shared Context
The Application
Application Development
IT/Operations
No way to help developers finderror within the
application!
Difficult For IT/Ops To Correct Problems
5Common Pain Points
- Application integration
- -gt many technologies, techniques, etc.
- Poor communication
- -gt business dev operations
- Deployment failures -gt insufficient information
- Difficulty configuring application security -gt
technology, process - Maintenance -gt again, insufficient shared
information
6IT Today
Innovation
10
30
Consolidation/ Integration
60
- Most time and money is dedicated to maintenance
in production
Operation
7Removing theBarriers to Success
- Free up developer resources
- Today developers often spend too much time
supporting their applications when those
applications degrade or fail in production - Goal spend less time supporting applications and
more time creating new ones (greater alignment
with new business needs) - Free up IT resources
- Today Large numbers of operations staff manual
processes archeology of poorly documented
applications - Goal Well documented apps automated
troubleshooting better management at all levels
(infrastructure, apps, business processes) - Drive complexity out of the software lifecycle
- Today Hidden assumptions, poor documentation,
silos - Goal Meta-data management built in to
applications context shared throughout entire
lifecycle (business-dev-ops communicate)
8Adaptive Enterprise Imperatives
- Define the right structure, roles,
responsibilities and governance - Educate and train to continually develop critical
skill sets - Reward the right behavior, foster a
high-performance culture
People
Process
Design implement processes that maintain IT
service deliverySimplify standardize IT
processes, so you can automate
Instrument business processes into
infrastructureManage and control heterogeneous
IT resourcesOptimize resource utilization so
supply flows to meet demand
Technology
9Adaptive EnterpriseDesign Principles
Simplify applications and systems to reduce
complexity and risk.
Simplification
- Applied consistently across
- Business processes
- Applications
- Infrastructure
Standardize the way IT assets are used with
common components and processes.
Standardization
Improve performance by managing infrastructure
components discretely or collectively.
Modularity
Easily manage and modify the environment through
a uniform system of relationships.
Integration
10Management for theAdaptive Enterprise
- Do more with less
- Remove barriers to success
- Shift IT Investment frommaintenance to
innovation - Be ahead of the competition
- Be competitive or be outsourced
11Moving from Maintenanceto Innovation
3 years from now
Today
10
40
30
Innovation
60
20-25
- In large enterprises up to 75 are personnel or
services costs - Hardware, software and infrastructure only 25
Consolidation
35-40
Operation
12Agenda
- Introduction
- Life cycle for Application Manageability
- Adaptive Principles in Action
- Conclusion
133 Pillars of Management
Tracking observe aspects of a single thread
across multiple components Technologies
Logging auditing
Monitoring capture runtime and historical events
of a particular component, for the purpose of
reporting and notifications Technologies JMX,
logging, auditing
Control alter the behavior of the managed
component directly without interrupting the
operation of the component TechnologiesJMX,
custom techniques
14Management Requirements
business management
contracts with end users service level
agreements
operational management
management requirements
starting-point management best practices
operational management
new requirements learned over time through
experience
15The Management Interface
16Management Architecture
Management Interfaces
HR App
Management Solutions)
Call Center App
Management Interfaces
17Start Here
18Software Developer Tools Enterprise
debugger IDE Architecture Models
Application Owners (business
sponsors) Tools BPM/BAM Dashboards
CRM/Service Desk
Enterprisecoredump call stack traces
performance audit trail
business runtime SLOs, KPIs, etc. business
processes
Business, Application Environment Context
application runtime JMX, WMI transaction
traces, etc.
operational runtime mgmt events, infra.
health, etc.
Operations/IT Tools Performance Monitoring
Operational Status Monitoring Infrastru.
Troubleshoot Tools
Application Management Tools Application
Troubleshooting (JMX info, etc.) Service
Management Tools
19Example JMX Metrics
ltMetricDefinitionsgt ltMetrics"gt ltMetric
id"WLSSPI_0705" name"B005_JVMMemUtilPct
alarm"yes" graph"yes" previous"yes"
report"no"gt ltCalculationgt ltFormulagt((JVM_H
eapSizeCurrent-JVM_HeapFreeCurrent)
/JVM_HeapSizeCurrent)100lt/Formulagt
lt/Calculationgt lt/Metricgt ltMetric
id"JMXUDM_1000" name"JMXUDM_1000"gt ltMBean
dataType"numeric" instanceType"single"gt
ltObjectNamegt myappdomainNameMoviePreviewStats
MBeanlt/ObjectNamegt ltAttributegtPreviewDownl
oadsCountlt/Attributegt lt/MBeangt
lt/Metricgt lt/Metricsgt lt/MetricDefinitionsgt
20Management Environment
Managed Application
XML config (metrics, MBean names, attributes,
etc.)
template/ policy
read
read
MBeanServer
read
SPI Agent
Smart Plug-in (SPI)
J2EE Container
Management Console
HP OpenViewOperations
21Summary
- Remove the barriers by retooling -gt People,
Processes, Technology - Adaptive Enterprise Design Principles -gt
Simple, Modular, Standards, Integration - Remember the 3 pillars of management
- Management Built In throughout lifecycle
- Next, lets apply some best practices
22Agenda
- Introduction
- Life cycle for Application Manageability
- Adaptive Principles in Action
- Conclusion
23Building Manageable Apps
- Goal is to design manageable applications which
can adapt to change - Three steps you can take today
Express managementrequirements in models
Model It.
Design management layerisolated from application
layer
Instrument It.
Build management hooksfor adaptive control
Make It Adaptive!
24Step 1 Model It.
- Consider model-based approach to developing
manageable applications - Management models
- Represent events, metrics and control exposed in
your application - Are platform and technology-agnostic
- Act as Shared Context between development and
operations
25Example Modeling Manageability
- Modeling typically doesnt account for
non-functional requirements - UML profiles available for availability and
performance - QoS and Fault Tolerance profile
- Schedulability, Performance and Time profile
- Microsoft DSI/SDM initiative
- DMTF Utility Computing using UML-based models in
CIM
ltltmetamodelgtgtQoSCharacteristics
ltltmetamodelgtgtQoSConstraints
ltltmetamodelgtgtQoSLevels
Example QoSFramework Metamodel
26Model-Driven Development
- Models can help drive development
- Goal is to transform management model to the
appropriate management artifacts - Use of tools and a consistent build process key
to automating transformation of model - Process must account for both development and
operational needs - Model-Driven Architectures (MDA)is one way to
approach this problem
27Example MDA Applied
- Model-Driven Architecture (MDA)
- OMG Framework for software development
- Platform-independent and -specific models
- Automated transformation between layers
PIM
PSM
Code
transform
transform
JMX MBeansOpenView TemplatesWMI Classes
Management Req.Message DefinitionsSLA Contracts
JMX Design PatternsMonitoring LogicBusiness
Rules
28Bridging the Gap
Management Model
Metrics
Callbacks(Control)
Events Messages
ServiceDefinition
Include files
Source files
MessageTemplates
ControlAction Scripts
JMX MBeans
Java classes
Service Maps
MonitorTemplates
WMI
CIM
UDM
Developer Artifacts
Operations Artifacts
Targeting a single management model to both
development and operational needs
29Summary
- A well-defined management model
- Targets development and operations
- Supports multiple languages/platforms
- Feeds multiple management systems or products
- IT culture must embrace model as source of
manageability - Tools and process help in automating
transformation from model to artifacts
A model-based approach to manageability can
result in simplified development, improved
integration, and increased reusability
30Step 2 Instrument It.
- Many approaches to instrumentation
- Design patterns and frameworks
- Aspect-oriented programming (AOP)
- Annotations (e.g., JavaDoc)
- Create an abstraction layer to isolate
- Vendor or platform-specific APIs
- Well-accepted APIs (e.g., Log4J)
- Management systems or products
- Results in increased flexibility, reusability
31Why Design Patterns?
- Design patterns can
- Isolate management APIs
- Encapsulate boilerplate code (JMX)
- Reduce code redundancy
- Potential management candidates
- Creational patterns to determine who creates
managed objects - Helper classes to isolate standard
registry/discovery - Manageability facades to separate application and
management concerns
pattern n. an idea that has been useful in one
practical context and will probably be useful in
others - Martin Fowler
32Example MBean Helper
- Business object does not talk directly to MBean
- MBeanHelper takes care of the mechanics of MBean
registration and lookup - Details of MBean name and underlying method are
hidden from the business objects
use
lookup
Client
MBeanHelper
MBean Server
invoke
MBean
33Why AOP?
AOP addresses current challenges in having
tointrusively instrument an application with
manageability
Application
InstrumentedApplication
AOPCompiler
ManagementAspects
WeavingRules
- Build management concerns independent of
application - Create rules for weaving-in instrumentation
34Examples AOP and Management
- Application performance management
- Control which classes/methods get measured
- No extra instrumentation step required
- JMX instrumentation
- Update MBean when business object affected
- Security
- Audit invocations
- Audit data
35Step 3 Make it Adaptive!
- Two distinct interfaces
- Application interface
- Management interface
- Management ! Monitoring
- Command and control
- Application must provide hooks
IT Operations
Management Interface
events
control
Application
Application Interface
End User
36Example Adaptive Control
ApplicationAvailability
- Monitor application for availability
- Automatic restart if unresponsive
- Change app deployment configuration
- Allocate new machines, processes
- Tweak operational or business dials
- Database pool size, logging levels
Life CycleManagement
ApplicationConfiguration
37Techniques to Add Control
- Leverage functionality of platform
- J2EE application servers provide JMX
- Add hooks to the application
- JMX, WMI, or C/C operator callbacks
- Configure management system
- HP OpenView message templates
- Expose instrumentation in standard way
- Web Services Distributed Management
38Agenda
- Introduction
- Life cycle for Application Manageability
- Adaptive Principles in Action
- Conclusion
39Summary ofGuiding Principles
- Consider manageability in software life cycle
- Clearly define organizational roles
- Consider manageability from the beginning
- Design and architect your system appropriately
- Introduce a shared context among groups
- Adopt adaptive approaches in development
- Take a model-driven approach to development
- Build management hooks for adaptive control
- Isolate management concerns
- Introduce automation where possible
40Call to Action
- Learn more about app manageability
- http//devresource.hp.com
- Evaluate HP OpenView developer tools
- http//devresource.hp.com/drc/unifieddev
- Attend other HP technical sessions
- 1204 Tue 130pm Application management
- 3250 Tue 3pm JMX Best Practices
- Stop by the HP booth for more demos
41Questions?
42Thank You
- Course 3248
- Applying ALM to Application Management
- Please fill out the speaker evaluation
- You can contact us at chris.peltz_at_hp.com or
scott.l.williams_at_hp.com