By Nir Ilani
MONITORING & MANAGINGPHP APPLICATIONSIntroduction to Applications Management
About Myself…
• Live and work at Tel-Aviv, Israel• Married, no children (yet)• Product Manager of Zend Platform• 10+ years experience of software development and
product management of large-scale Enterprise Software, Internet Applications, Java EE & Open-source software
• Previously worked at Mercury (acquired by HP), Gaya / Comverse Technology & Exent
• Blog - http://blogs.zend.com/author/nir/
About You…
• Develop / operate / manage Web applications• Familiar with PHP 4/5• Want to understand what Application Management
is all about• Want to learn how you can apply it in your PHP-
based environments
What’s on this session
• No code (at all…)
• Overview of Application Performance Management
• Website Monitoring techniques• Zend Platform monitoring demo
Agenda
• Introduction• The Systems Management Universe• Performance Management defined• APM - Application Performance Management• Website Monitoring• Inside vs. Outside Website Monitoring• Application Downtime and Business Loss Impact• Website Monitoring Types• Monitoring PHP Applications• Zend Platform Monitor & PHP Intelligence
Introduction – cont.
Application Performance Management
WHAT?HOW?
!@#$?
Why Monitor Web Applications at all?
# 7
Introduction - cont.
• We want our application to perform well• We want to increase customers satisfaction• We want our application to excel• we want our organization to grow and succeed• It’s about money
The performance and consistency of your Website will determine whether visitors purchase your products and services, or click away to the competition
Introduction – cont.
• Businesses used to heavily invest in their hardware, networks, etc.
• Businesses did not examine how they look from the end-user perspective
• Businesses did not measure the overall experience they provide to their clients
• This has significantly hurt business performance…
The Systems Management Universe
• Addresses the need for administrating distributed computer systems
• Strongly influenced from the telecommunicationssector
• Popular commercial products include:§ IBM Tivoli Framework§ IBM Director§ Microsoft Systems Management Server§ HP OpenView§ LANDesk§ Novell ZENworks§ BMC Patrol§ CA Unicenter
The Systems Management Hierarchy
The Systems Management Universe – cont.
• Systems Management functions are described by the ITU-TX.700 standard or ITIL
• They’re often referred to as FCAPS: § Fault management
• Troubleshooting, error logging and data recovery § Configuration management
• Hardware and software inventory • Provisioning, software deployment and package management
§ Accounting management• Billing and statistics gathering
§ Performance management• Software metering and event monitoring
§ Security management• Identity management • Policy management
Performance Management
• A process in which progress is being assessed towards achieving predetermined goals
• A specific type of Performance Management is Application Performance Management (APM)
• APM is a process in which there is focus on monitoring and managing the performance and availability of software applications
Application Performance Management
Application Performance Management –cont.
• APM goal is: Detect, diagnose, remedy and report on application performance issues to ensure that application performance meets or exceeds end-users’and businesses’ expectations
• A variation on APM is Web APM which focuses on managing Web applications.
• Web APM address the needs of Dynamic Web applications including monitoring application performance experienced by end-users, business groups and Web services, and relating potential performance issues to points within or without the data center for speedy problem diagnostics and resolution
• A significant portion of Web APM is Website Monitoring
Website Monitoring
• Why?§ Avoid downtime § Keep Web applications running§ Improve response time
• Website Monitoring is the process of testing or tracking (monitoring) how end-users interact with a website or web application
Inside vs. Outside Monitoring
• Inside vs. Outside the corporate firewall• Inside Monitoring is a traditional Network
Management solutions focus on inside the firewall monitoring
• Outside Monitoring will test and monitor performance issues across the Internet backbone and in some cases all the way to the end-user§ It is also known as end-user monitoring
Application Downtime & Business Loss Impact
If it's up… A.K.A It's down... per year90% 876 hours95% 438 hours99% “two 9's” 87:36 hours99.9% “three 9's” 8:45:36 hours99.99% “four 9's” 0:52:33.6 minutes99.999% “five 9's” 0:5:15.36 minutes99.9999% “six 9's” 0:0:31.68 seconds
The larger down time per year, the higher chances of business loss and lower users satisfaction…
Website Monitoring Types
• Synthetic monitoring§ Performed using a Web browser emulation (typically using
behavioral scripts)§ Also known as active monitoring
• Passive monitoring§ Used to capture traffic from a network by generating a
copy of that traffic • The two monitoring types are considered
complementary
Monitoring PHP Applications
• PHP applications:§ Are typically dynamic§ Intensively access database / storage§ Often involve other modern Web technologies
• AJAX, JSON, Web Services, etc.§ Usually contain lots of content (in larger deployments)
• QEDWiki, MediaWiki, SugarCRM, Facebook, WordPress, digg
• Given that, it is crucial to monitor and have insight about a PHP applications behavior and performance
Zend Platform
• PHP Application Server• Provides: Performance,
Scalability,Inter-operability with other technologies and:
• Website Monitoring
PHP ProductionEnvironment Stack
System Architecture
Zend Platform Monitor
• Combines both Synthetic and Passive monitoring• Tailor-made for PHP applications• Run-time profiling and performance monitoring• Reports and tracks run-time issues • Enables recreation of issues with original context • Also provides online debugging• A.K.A. PHP Intelligence
Immediate Problem ResolutionImproved TTM Better ROI
PHP Intelligence Event Types
• PHP Error • Function Error • Slow Function Execution • Database Error • Slow Query Execution • Inconsistent Output Size • Load Average • Slow Script Execution
(Absolute / Relative)• Excess Memory Usage
(Absolute / Relative)
l Custom Eventl HTTP Errorl Java Exceptionl Apache Processes
Exceededl Slow Content Downloadl More…
Integration With Zend Studio
• Provides direct access to the affected source code• Immediate debugging & profiling enables code problems
to be identified and fixed within seconds
Integration with External Monitoring Tools
Virtually any using:• Send as XML to URL• Send email• Trigger SNMP Trap• More…
What’s next?
• Additional event types• Database monitoring• Extended integration to other monitoring tools• More to come… J§ Meet me at the booth to hear suggestions / ideas