codecentric AG
Fabian Lange, Head of Competence Center PerformanceASPECTS OF MODERN APM SOLUTIONS
codecentric AG
− Complex IT architecture
− Technology mix
− Large amount of IT infrastructure
− Legacy does not go away
− High rate of change
− Multiple distributed development teams
− Operations has little insight
TODAYS CHALLENGES IN APM
codecentric AG
TYPICAL(?) APPLICATION ARCHITECTURE
Amazon EC2 Public Cloud
VMware Private Cloud
MQ
Tomcat
Jboss
Spring
Weblogic
codecentric AG
− Single point for application health monitoring− APM solution has to support most existing and future technologies− Including End User Monitoring
− High grade of automation− Deployment of the APM solution− Discovery of application architecture and code execution paths− Auto Configuration without expert knowledge− Change Adoption− Behavior learning
− Meaningful data presentation− User view of transactions− How does the end user notice problems− Different views for various stakeholder
APM NEEDS TO PROVIDE
codecentric AG
− Scalable solution that can monitor− Tenths, hundreds, thousands of machines− Millions and Billions of transactions per minute− Thousands of users
− Tools to narrow down root causes− Operations needs to find the needle in the haystack− Provide detail level information to responsible development team
− Tools to monitor the application− Health− Load and Trends− Aggregation and Reporting
APM NEEDS TO PROVIDE
codecentric AG
MAIN ASPECT
codecentric AG
− Is there a problem?− Baselines provide realistic thresholds
− Where is the problem?− Distributed transaction tracing helps locating the root cause− Often connected to responsible dev team
− What is the problem?− Drill Down allows finding details
− Code Execution− Environment Metrics− User Data
− Improving MTTR is the main reason for APM
MTTR – MEAN TIME TO REPAIR
codecentric AG
SIDE ASPECTS
codecentric AG
− Monitoring is more important than test− Reality is different from test environment− Not reproducable problems happen in reality
− Testing allows early feedback− No real customers harmed− Early tests are an integral part of agile methodologies
− APM Solutions should support Production as well as Test environments
LOAD AND PERFORMANCE TESTS
codecentric AG
− No time for complex tool− Time savers cannot require extra time
− Not everybody is a performance expert− Collect enough data to troubleshoot problems without knowledge− Provide certain degree of automatic problem resolution− Still some problems require performance know how
− Apple raised the bar for everybody
EASE OF USE
codecentric AG
− Business wants new functionality …− … and agile finally delivers
− Application changes frequently …− … and with it its performance characteristics
− Successful products create demand …− … which is often solved by adding resources
CHANGE
codecentric AG
1. Application Complexity cannot be handled by Operations2. Operational Complexity is unknown to Developers
− DevOps lets development and operations teams cooperate more closely− Developers learn how servers are set up and configured− Operations learn how applications are supposed to work− Developers learn the pain to be called during night− Operations learn development practices like test and version control
− Major improvement for application
− Development and Operations share responsibility for Applications− They need shared tooling
DEVOPS
codecentric AG
− Cloud aka Virtualization is nothing new − APM Solutions can provide extra value
− Determining the correct sizing at any time− Automatically reconfigure the application by load pattern
− APMaaS− APM solutions can leverage SaaS models− Low cost of ownership− Pay Per use
CLOUD
codecentric AG
SUMMARY
codecentric AG
− IT Applications change fast− APM Solution needs to adapt automatically− Support for multiple languages, frameworks and protocols
− Operations need wide overview, but Developers need deep insight− An APM Solution has to provide both
− Alerts need to be actionable− False alarms disturb− No red light should be ever ignored− APM solution should be able to alert the right thing
SUMMARY