Download - Microsoft TechDays 2011 - PHP on Windows
Zend Enterprise PHP on Windows
CTO, Zend/PHP Evangelist
Rynet Group, Zend Authorized Solution & Training Partner
South East Asian Region
Rama Yurindra
www.enterprisephpcenter.com.
Rynet GroupZend Technologies Authorized Solution & Training Partner ASEAN (ID, MY, SG)
http://www.zend.com/en/services/training/training-partners/http://www.zend.com/en/company/partners/solution-partners
Established in 1999, in Indonesia
2006 Zend Certified Reseller Partner, ID
2007, Zend Certified Reseller Partner, MY
2008, Zend Certified Reseller Partner, SG
2009, Zend Authorized Solution PartnerSouth East Asian Region
2009, listed as one of the 12 companies appointed to be Zend Auhtorized Training Partner covering South East Asian Region
2010, Patnership with New Horizons SG
2010, signed PHP Center of Excellence with MIMOS Berhad in Malaysia
2010, launched Enteprise PHP Centerhttp://www.enterprisephpcenter.com
www.enterprisephpcenter.com.
About me• Rama Yurindra
Zend/PHP Evangelist
Co Founder & CTO of RYNET Group
Zend Authorized Solution Partner ASEAN
Zend Authorized Training Center ASEAN
Co Founder of PHP Indonesia
Board of Singapore PHP User Group
w/ Zend & MIMOS Berhad established PHP Center of Excellence, Malaysia
Founder & Chief Editor
• Enterprise PHP Center
www.enterprisephpcenter.com
www.enterprisephpcenter.com.
Agenda – Microsoft TechDays: PHP on Windows
• PHP Overview & Case Studies
• Microsoft & Zend Strategic Collaboration to bring PHP on Windows
• Demo :Build a High-Performance PHP Stack with Windows IIS and Zend Server
• Next Step to Monetize
• PHP on Windows Training Programs
PHP Overview
# 5
RYNET Confidential
The Growth of PHP
1995 1997 1999 2000 2002 2003 2004 2005 2006 2007
20M
15M
10M
5MRasmusLerdorf IntroducesPHP/FI
PHP 4 Released
• 1M Internet domains
• Zend Engine• Zend Founded
Yahoo! Standardizeson PHP
PHP 5.0(XML,SOAP,OOP)Zend Studio
IBM, Oracle Endorse PHP
Zeev Suraski &
Andi Gutmanslead the development of PHP 3
Zend Framework & Eclipse projectMicrosoft relationship formed
PHPInternet Domains
25M
ZF and PDT released, PHP 4 EOLannounced
PHP Proliferation
RYNET Confidential
Who Uses PHP – New Case Studies
• General Electric (GE Holding)
• NYSE Euronext
• BNP Paribas
• FIAT Group
• Whitehouse.gov
• France Telecom (Orange)
• Deutsche Telecom
• Cisco WebEx
• And many more
# 7
www.enterprisephpcenter.com
Microsoft & Zend Strategic Partnership
Making PHP 1st class citizen on Windows Platform
# 8
RYNET Confidential
PHP on Microsoft.com web.ms/php# 9
http://www.microsoft.com/web/platform/phponwindows.aspx
RYNET Confidential
# 10
• Windows dominates as PHP development platform Over 75% of developers use Windows
• Few production deployments on Windows platforms
• Why? PHP did not run as well on Windows Limited connectivity to key Windows services (e.g. SQL
Server)
PHP on Windows - Background
RYNET Confidential
# 11
Zend & Microsoft Partnership
Goal:• To enhance the performance and reliability of
running PHP applications on Windows Server, and contributing these enhancements to the Open Source community.
• Richer Functionality on the Windows Platform
• Better Integration with Windows Applications and Services
“Zend is a clear leader in the PHP community, and we are excited … to provide developers using PHP with the best possible experience within a Microsoft environment.”
Bill Hilf, General Manager of Technical Platform Strategy at Microsoft
RYNET Confidential
# 12
Strategic Collaboration
• Multi-year collaboration announced 10/31/2006 Significant engineering investments on both sides
• The result: PHP codebase improvements on Windows Platform Improvements in FastCGI for IIS (included in Windows Server 2008) Stable, high-performance PHP production environment for
Windows
Improvements in IIS 7 support for PHP SQL Server Native driver to PHP
Windows Azure component in Zend Framework
Collaborating on the open source SimpleCloud project,
RYNET Confidential
Zend on Windows Server Rebate Program
# 13
https://microsoft.young-america.com/49710561/RebateForm.aspx
RYNET Confidential
Why Run Zend Server on Windows Server?
• Better performance PHP opcode acceleration, page and data caching, and job queue features, to deliver top performance for PHP applications on Windows Server. Native MSI support
• Easy to deploy and use a complete PHP stack, including the PHP runtime, commonly-used extensions, Zend Framework, and Microsoft SQL Server driver for PHP, all available as a standard MSI installer. Native IIS support (IIS 5.1, IIS 6, IIS7)
• Easy to monitor application monitoring and code tracing to enable early problem detection and rapid resolution. IIS automated failed request tracing, the joint stack enables developers to quickly troubleshoot issues in testing and production and to improve application availability. Bundles MS FastCGI for Server 2003 and XP
• Easy to manage –greatly simplifies configuration and management of the PHP stack from a single point of visibility and control.
• Fully-supported – Zend Server customers receive the latest updates and hot fixes backed by 24x7x365 support. Zend Training and Zend Certification programs are also available.
Demo Build a High-Performance PHP Stack with Windows IIS and Zend Server
# 15
16
What is Zend Server?...and why should I care?
17
...Well, Just ask your friend in Marketing!
“Zend Server is a complete, enterprise-ready Web Application Server for running and managing PHP applications that require a high level of reliability, performance and security.”
18
Let's try to make sense out of that..
Zend Server is:▶ A complete, well tested PHP runtime environment▶ Supported and updated by Zend▶ Comes with a set of extra features that:
Improve the performance and reliability of PHP applications Make it easier to manage a consistent PHP environment
Comes in two flavors:▶ Zend Server▶ Zend Server Community Edition
19
Manageability Features...making PHP even simpler
20
Installation
Zend Server uses OS-native installers▶ Linux: Deb and RPM repositories▶ Windows: MSI▶ Mac OS X*: PKG installer
This is good because:▶ Native means well-known, convenient, proven, reliable▶ Upgrading, updating, modifying and removing is easy▶ Automating, scripting and bundling is also easy
* Mac OS X is Community Edition only
21
Zend Server: Top Choice for Windows Environments• Collaborating with Microsoft since 2006
• Fastest and best integrated PHP runtime for Windows
• Native MSI support
• MSI-based hot fixes
• Native IIS support (IIS 5.1, IIS 6, IIS7)
• SQL Server for PHP driver
• Bundles MS FastCGI for Server 2003 and XP
• With Microsoft’s support & best practices
22
The Administration Interface
Zend Server's GUI allows you to conveniently...▶ Control the different Zend Server components▶ Control your PHP settings
PHP Extensions PHP Directives
▶ Monitor the current system status Extension status PHP status Logs Available updates & security fixes
23
Performance Features
24
Zend Server's approach to performance
A Web application's performance is affected by many different factors...
...This is why taking a single measure will only give partial results
25
Zend Server's approach to performanceReally improving performance requires combining different measures:
▶ Configuration Optimization▶ Opcode Optimization and Caching▶ Data Caching and Page Caching▶ Off-line or parallel execution
Not all performance optimizations are equal▶ Some are almost free and should be done in almost all cases▶ Some are expensive and should not be done without insight
Zend Server provides the measures, and the insight!
26
Optimizer+
Eliminates the stuff you don't really need:▶ Code optimizer
Optimizes certain code fragments to improve execution speed
▶ Opcode cache Caches the optimized, compiled bytecode in RAM Reduces or eliminates
compile time Reduces or eliminates
disk access
Magento Drupal SugarCRM CE05
101520253035404550
2.24
13.96 12.69
5.3
45.5541.73
Bare PHP Optimizer+
27
Data Caching
Provides a set of API functions for caching of data items
▶ DB query results, web service calls, complex or hard-to-get data
▶ Output elements
▶ Allows skipping slow PHP code chunks▶ Shared memory and Disk storage backends▶ Data could be grouped using namespaces▶ APC user cache compatibility layer▶ Zend Framework Zend_Cache_Backend adapters
28
Page CachingDon't execute a single line of PHP if you don't have to...
▶ Caches entire HTTP response ▶ Super fast (seriously!)▶ Configured from UI, no code changes required▶ Live / cached decision is based on request or session parameters▶ Variants can be created
based on request or session parameters
No Cache Session Rule Other Rule0
100
200
300
400
500
600
700
21.94
201.17
589.26
29
Page Caching
30
Reliability FeaturesMake sure it keeps running!
31
Reliability?
Getting your application out there is one thing, keeping it working properly is a different story!
Zend Server helps you by:▶ Making sure your software is
up-to-date, including critical fixes▶ Monitoring your apps for errors,
slowdowns and other troubles▶ Capturing data that can be used
when resolving any detected issues
32
Application Level MonitoringZend Server Monitor will watch your application for:
▶ PHP Errors (including warnings, notices, uncaught exceptions...)▶ Failing functions (user-defined or internal)▶ Failing DB queries ▶ Slow functions (user-defined or internal) or DB queries▶ Slow request executions▶ High memory consumption▶ Errors reported by Zend Server
components
When an issue is detected, Zend Server will report an event
33
Root Cause AnalysisRecurring events are aggregated and placed on a timeline
▶ So you can know if a problem repeats, and if so when
Each event report contains context information that can assist in debugging the event:
▶ URL, file, line, error message, repeat count etc.▶ Request information (GET, POST, COOKIE etc.)▶ Server information ▶ Session Information▶ Backtrace (if relevant)
For many errors, this information is crucial for debugging
34
Integration with Zend StudioZend Server integrates with Zend Studio and allows you to “replay” an event
▶ In a debugging session▶ In a profiling session
▶ This can be done with one button click from the GUI▶ …or, by exporting the event data and passing it to a developer,
from the developer's IDE
▶ You can also “replay” on an alternate testing server
In many cases this eliminates time spent on reproduction
35
Code TracingReproducing an issue is not always possible...
▶ Dependency on specific SESSION state▶ Dependency on specific database state▶ “Replaying” the request is risky or impossible
Zend Code Tracing can capture the entire execution flow
▶ ...and, it is efficient enough to be used in most production environments!
“Hindsight is always twenty-twenty.”- Billy
Wilder
36
Code TracingCan be used in several ways:
▶ Automatic tracing in case of a Zend Monitor event For example a PHP error, a slow execution or high memory usage
▶ Manually through the GUI or from a browser▶ Through API
Can capture the following information:▶ Execution tree including function calls and included files▶ Function agrument and return parameters▶ Output and header generation▶ Location of errors, exceptions and Zend Monitor events▶ For each node, execution time and memory usage is
measured
37
Code Tracing
38
Updates & Hot Fixes from ZendZend Server is regularly updated with...
▶ PHP releases▶ Zend Framework releases▶ Important patches to PHP and supporting components
Bugs fixed by the PHP team but not yet released Patches committed by Zend to the PHP source tree, but not yet
released
Zend also issues hot-fixes when needed▶ All relevant security reports are analyzed by Zend▶ This includes PHP, extensions, libraries, and other
components▶ Zend is committed to releasing hot-fixes for critical issues
39
Demo : Installation Zend Server on Windows
RYNET Confidential
Download Zend Server from Zend.Com# 40
RYNET Confidential
Fastest and best integrated PHP runtime for Windows Out of the box seamless installation of PHP on Windows
# 41
RYNET Confidential
Zend Server will also install the MS-SQL Server Native Client
# 42
RYNET Confidential
Configure Zend Server to integrate with your existing IIS# 43
RYNET Confidential
Standard & native MSI installer# 44
RYNET Confidential
Dashboard provides a quick overview of recent PHP events, such as errors and warnings, as well as information on the current status of the various Zend add-on components
# 45
RYNET Confidential
Application Monitoring
• Watches your application for: PHP Errors (including
warnings, notices, uncaught exceptions...)
Failing functions Failing DB queries Slow functions or DB queries Slow request executions High memory consumption
• When an issue is detected, an event is reported
RYNET Confidential
Diagnostics: Code Tracing
• Reproducing problems is often difficult and time-consuming
• Zend Server captures the full execution flow in testing or production
• Allows the developer to “step back in time” and quickly determine root cause
• Integrated with Zend Studio
RYNET Confidential
High Availability: Session Clustering
• When one server fails, user’s session is maintained while failing over to another server
RYNET Confidential
Centralized Management
• Ensures consistent configuration Alert on configuration
discrepancies to prevent application issues
• Centralized monitoring
• Cloud “friendly” Quickly add servers Easily manage any number of
servers
RYNET Confidential
Updates & Hot Fixes from Zend
• Zend Server is regularly updated with: PHP releases Zend Framework releases Important patches to PHP and supporting components Bugs fixed by the PHP team but not yet released Patches committed by Zend to the PHP source tree, but
not yet released
• Zend also issues hot-fixes when needed All relevant security reports are analyzed by Zend This includes PHP, extensions, libraries, and other
components Zend is committed to releasing hot-fixes for critical
issues
© All rights reserved. Zend Technologies, Inc.51
Zend - the Cloud and Virtual DataCenters
Simple Cloud API
Cloud
Develop
RADDebuggingTesting
Manage
MonitoringDiagnosticsPerformanceSecurity
Simple Cloud APIAmazon EC2
Next Step to Monetize
# 52
RYNET Confidential
Path to Enterprise PHP# 53
www.enterprisephpcenter.com.
How’s Zend Holistic Approach to Enterprise PHP
RYNET Confidential
Next Step
• Download & “Play” with PHP on Zend Server
• Start a Pilot Project, convince your boss/customers
• Get yourself Trained by Professionals
• Get professional Support from Zend & Microsoft
• Start to generate some Online revenues with PHP on Windows
• Pass the Zend/PHP Certification for Global Recognition
• Actively involve in PHP Community
# 55
Thank you!
For More Information Please Visit :
• www.zend.com
•www.microsoft.com/web/platform/phponwindows.aspx
• www.enterprisephpcenter.com
•Email: [email protected] Twitter: @ramayurindra @ephpc
•