microsoft techdays 2011 - php on windows

56
Zend Enterprise PHP on Windows CTO, Zend/PHP Evangelist Rynet Group, Zend Authorized Solution & Training Partner South East Asian Region Rama Yurindra

Upload: enterprise-php-center

Post on 28-Jan-2015

124 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: 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

Page 2: Microsoft TechDays 2011 - PHP on Windows

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

Page 3: Microsoft TechDays 2011 - PHP on Windows

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

Page 4: Microsoft TechDays 2011 - PHP on Windows

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

Page 5: Microsoft TechDays 2011 - PHP on Windows

PHP Overview

# 5

Page 6: Microsoft TechDays 2011 - PHP on Windows

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

Page 7: Microsoft TechDays 2011 - PHP on Windows

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

Page 8: Microsoft TechDays 2011 - PHP on Windows

Microsoft & Zend Strategic Partnership

Making PHP 1st class citizen on Windows Platform

# 8

Page 9: Microsoft TechDays 2011 - PHP on Windows

RYNET Confidential

PHP on Microsoft.com web.ms/php# 9

http://www.microsoft.com/web/platform/phponwindows.aspx

Page 10: Microsoft TechDays 2011 - PHP on Windows

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

Page 11: Microsoft TechDays 2011 - PHP on Windows

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

Page 12: Microsoft TechDays 2011 - PHP on Windows

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,

Page 13: Microsoft TechDays 2011 - PHP on Windows

RYNET Confidential

Zend on Windows Server Rebate Program

# 13

https://microsoft.young-america.com/49710561/RebateForm.aspx

Page 14: Microsoft TechDays 2011 - PHP on Windows

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.

Page 15: Microsoft TechDays 2011 - PHP on Windows

Demo Build a High-Performance PHP Stack with Windows IIS and Zend Server

# 15

Page 16: Microsoft TechDays 2011 - PHP on Windows

16

What is Zend Server?...and why should I care?

Page 17: Microsoft TechDays 2011 - PHP on Windows

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.”

Page 18: Microsoft TechDays 2011 - PHP on Windows

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

Page 19: Microsoft TechDays 2011 - PHP on Windows

19

Manageability Features...making PHP even simpler

Page 20: Microsoft TechDays 2011 - PHP on Windows

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

Page 21: Microsoft TechDays 2011 - PHP on Windows

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

Page 22: Microsoft TechDays 2011 - PHP on Windows

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

Page 23: Microsoft TechDays 2011 - PHP on Windows

23

Performance Features

Page 24: Microsoft TechDays 2011 - PHP on Windows

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

Page 25: Microsoft TechDays 2011 - PHP on Windows

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!

Page 26: Microsoft TechDays 2011 - PHP on Windows

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+

Page 27: Microsoft TechDays 2011 - PHP on Windows

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

Page 28: Microsoft TechDays 2011 - PHP on Windows

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

Page 29: Microsoft TechDays 2011 - PHP on Windows

29

Page Caching

Page 30: Microsoft TechDays 2011 - PHP on Windows

30

Reliability FeaturesMake sure it keeps running!

Page 31: Microsoft TechDays 2011 - PHP on Windows

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

Page 32: Microsoft TechDays 2011 - PHP on Windows

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

Page 33: Microsoft TechDays 2011 - PHP on Windows

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

Page 34: Microsoft TechDays 2011 - PHP on Windows

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

Page 35: Microsoft TechDays 2011 - PHP on Windows

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

Page 36: Microsoft TechDays 2011 - PHP on Windows

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

Page 37: Microsoft TechDays 2011 - PHP on Windows

37

Code Tracing

Page 38: Microsoft TechDays 2011 - PHP on Windows

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

Page 39: Microsoft TechDays 2011 - PHP on Windows

39

Demo : Installation Zend Server on Windows

Page 40: Microsoft TechDays 2011 - PHP on Windows

RYNET Confidential

Download Zend Server from Zend.Com# 40

Page 41: Microsoft TechDays 2011 - PHP on Windows

RYNET Confidential

Fastest and best integrated PHP runtime for Windows Out of the box seamless installation of PHP on Windows

# 41

Page 42: Microsoft TechDays 2011 - PHP on Windows

RYNET Confidential

Zend Server will also install the MS-SQL Server Native Client

# 42

Page 43: Microsoft TechDays 2011 - PHP on Windows

RYNET Confidential

Configure Zend Server to integrate with your existing IIS# 43

Page 44: Microsoft TechDays 2011 - PHP on Windows

RYNET Confidential

Standard & native MSI installer# 44

Page 45: Microsoft TechDays 2011 - PHP on Windows

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

Page 46: Microsoft TechDays 2011 - PHP on Windows

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

Page 47: Microsoft TechDays 2011 - PHP on Windows

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

Page 48: Microsoft TechDays 2011 - PHP on Windows

RYNET Confidential

High Availability: Session Clustering

• When one server fails, user’s session is maintained while failing over to another server

Page 49: Microsoft TechDays 2011 - PHP on Windows

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

Page 50: Microsoft TechDays 2011 - PHP on Windows

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

Page 51: Microsoft TechDays 2011 - PHP on Windows

© 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

Page 52: Microsoft TechDays 2011 - PHP on Windows

Next Step to Monetize

# 52

Page 53: Microsoft TechDays 2011 - PHP on Windows

RYNET Confidential

Path to Enterprise PHP# 53

Page 54: Microsoft TechDays 2011 - PHP on Windows

www.enterprisephpcenter.com.

How’s Zend Holistic Approach to Enterprise PHP

Page 55: Microsoft TechDays 2011 - PHP on Windows

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

Page 56: Microsoft TechDays 2011 - PHP on Windows

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