Best Practices for              PHP DeliveryBrian LandDirector, Business
About Us• One of the Largest pool of                             • Founded in 2006 with a  Certified LAMP                 ...
The approach to application development is changingBusines                               Technology    sAlways-connected w...
Faster application delivery poses                                         challenges…           60% of data center applica...
How do I make   How do I release         How do I make         How do I cut the my developers   faster while             e...
How do I make         How do I release         How do I make         How do I cut the my developers         faster while  ...
How do I make   How do I release         How do I make         How do I cut the my developers   faster while             e...
How do I make       How do I release         How do I make         How do I cut the       my developers       faster while...
How do I make   How do I release         How do I make         How do I cut the                                           ...
How do I make     How do I release         How do I make         How do I cut the my developers     faster while          ...
How do I make   How do I release         How do I make         How do I cut the                                           ...
How do I make     How do I release         How do I make         How do I cut the      my developers     faster while     ...
The Zend Solution                       Development                                             Production                ...
Develop                              Deploy                                  Manage                                       ...
ROI Examples     “Our choice of Magento Enterprise with the Zend PHP solution for     development and server-sidecomes to ...
Zend Clients16
About Zend• Zend provides the best way to deliver  web apps in the cloud• 40,000+ customers worldwide• 7,500+ Zend PHP Cer...
Thank YouBrian LandDirector, Business Developmentbrian@osscube.com19
Gartner: PHP Adoption by Corporate IT is Growing                    Rapidly, almost double by 2013   PHPDevelopers5M      ...
Zend Framework:                       Standardized Best Practices & Reuse• Rapidly Growing                                ...
Problem Detection with Zend Server’s                                       Application-Level Monitoring▶    Zend Server Mo...
Root Cause Analysis with Zend                                      Server’s Code Tracing▶    Reproducing an issue is time-...
Zend Server Code Tracing View27
Multi-level Performance                                                              Optimization                Web HTTP ...
Multi-level Performance                                                                               Optimization HTTP   ...
Solutions                                • Optimal deployment and configuration     Deployment &               • Implement...
Service Delivery Methodology                       Discovery and            Deployment Strategy and              Design   ...
Deployment and On-boarding                                               Programs     •   Optimal implementation of Zend  ...
Zend Application Audit                          •   Application scalability optimization                          •   Data...
Zend Training Overview                                 • Architects of PHP                                 • Creators of Z...
Role Based Curriculum37
Zend Certification                         • The only broadly recognized certification                           program f...
OSSCube - Zend Webinar
Upcoming SlideShare
Loading in …5

OSSCube - Zend Webinar


Published on

Best Practices for PHP Delivery

Published in: Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • The world of application development is significantly different from just a few years back: [reference “Business” box on top left] Most business critical applications are now being delivered as web applications, and as more and more devices connecting to more and more apps means increased importance for applications that serve critical business purposes – and bring with them unpredictable and increasing load.[reference “Technology” box on top right] At the same time, the underlying infrastructure that applications run on is becoming virtual, inexpensive, and easier to use which is driving IT organizations to look and private and public cloud solutions.[Click to advance build]These disruptions are driving your organizations to have to deliver applications faster while keeping costs down but maintaining top quality. Instead of releasing in 3-6 month release cycles, business requirements are driving the need for almost weekly or monthly release cycles.[Click to advance build]How have these development organizations adapted? They’ve moved from …[reference “Change” box on bottom] [read change #1] … namely PHP, the most agile of the major web technologies[change #2] They have moved from waterfall software development methodologies to agile and scrum based development[change #3] and they are looking to move from on-premise deployments to cloud deployments to bring agility to IT infrastructure.Real-life scenario: Maxdome, the equivalent of Netflix in Germany, has moved to weekly release cycles based on what their business units and end users have demanded.
  • Delivering faster has brought with it a number of challenges – as I go through these, I would like to get your feedback on how these might be affecting your organization.[Click to advance]It takes a long time to get new developers within your organization to maximum productivity. It’s a HARD problem to shorten the time to productivity, and so organizations are looking at solutions to enable faster developer productivity[Click to advance]According to Forrester, most deployments fail due to incorrect deployment and uncoordinated changes – as development release cycles become shorter, organizations are asking how they can launch their applications quickly and correctly, every time! [Click to advance]End-users of your applications expect near real-time response, and as evidenced by the Aberdeen Group 58% of organizations are not satisfied with the perceived performance of their business critical applications. They are asking themselves how to build applications designed to scale well, handle unpredictable load, and fail gracefully if they fail so that end-users are satisfied with application response times. Real-life scenario: New York Stock Exchange converted their applications from Java to PHP with a primary goal of ensuring sub-second response times[Click to advance]In a survey of executives in Zend’s database, over 50% of those who responded indicated that 30% or more of their developer time is spend in fixing problems in production (Forrester independently validated this statistic). This means that if you have 10 developers within your organization, 3 of them are really working for the production operations team as opposed to developing application functionality. What are your thoughts on how these issues are affecting your organization, and if there are other issues that are priorities for you? [you can also ask open ended questions as you are going through the various bullets to get feedback, and understand their organization better]
  • Let’s take each of these challenges and understand what causes these challenges, and some best practices on how to address them. During development and QA, development teams run into problems in several ways: lack of standardization across the developers – each developers uses their own favorite IDE such as VI, Emacs, … leading to different coding and documentation standards; setting up development environments with all the security policies, frameworks and standardized tools takes a long time; and developers have varying skill levels – some have been programming in PHP for years, and leverage best practices, while others might have developed in other languages and start developing with PHP in the same manner they did before (which might not lead to the best written PHP applications).Real-life scenario: ABC built a PHP application for their Dancing With The Stars show, but because it was built by Java people based on their Java experiences and best practices, doing it in PHP didn’t result in the expected savings[Click to advance]Organizations are now beginning to adopt best practices such as giving developers tools that support agile development processes – integration with source control, supporting a large plug-in ecosystem, etc. They acknowledge the flexibility cloud infrastructures can bring: for example, General Electric has developed the capability to provision a complete development environment with an IDE, with security policies, with custom developed frameworks to access GE specific resources within minutes from a web based tool. ABC/Disney is working on testing their applications during development at production scale by leveraging the cloud. And they push towards standardization of the PHP application development skill set through training and the leverage of certification.
  • To enhance the speed of development, reuse/modularity of code and standardization of best practices, Zend released an enterprise-grade PHP application framework, called Zend Framework, in 2005. 200 different organizations including Google, Adobe, Microsoft and IBM have contributed to this framework, and it provides a use at-will architecture for your developers to leverage functionality such as creating a web service, or using ACLs or an MVC paradigm without needing to write 100s of lines of code. That makes for millions of lines of code that you don’t have to spend time writing and testing.Zend’s IDE called Zend Studio supports agile development processes and code re-use. It supports 1,000+ plug-ins, e.g. SVN, mylyn, and enables developers to develop and debug seamlessly in PHP, Java and Flash. In addition, it is tightly integrated with Zend Server to enable production level debugging which we will speak about a bit later.Given the importance of mobile applications, Zend has made it simpler to develop mobile apps across mobile platforms. Zend Framework supports device detection, along with device property identification. Zend Studio supports HTML 5/AJAX or Flash/Flex based mobile app development. For example, Flash Builder 4.5 for PHP, which is powered by Zend Studio, gives developers the ability to write both the PHP back-end and the Flex front-end of mobile apps, with a single codebase across iOS, Android, and Blackberry devices. Zend Studio and Zend Server support development, testing and deployment of your PHP applications in the cloud without needing any changes to your applicationsAnd, Zend provides a complete training curriculum for non-programmers, experienced java developers, and around zend framework to help you build and maintain professional skills of developers. We also have two levels of PHP developer certification – Zend Certified Engineer for PHP and Zend Framework.
  • It’s a challenge for the entire IT organization, development and production operations, to release faster while maintaining quality. The key challenges that make this hard include varying PHP stacks across development, QA and staging/production which lower the chances of successful deployments Today’s deployment process consists of developers providing a “blueprint” with steps that production ops has to execute manually and hence is error-prone Developers are not writing modular re-usable code which means more lines of code, and hence more errors.[Click to advance]The best practices for solving these challenges are require driving towards consistency, standardization, automation, re-use! Standardize on a high-quality, supported application stack, automate deployment processes, and build applications on top of strong and flexible frameworks to allow your dev team to concentrate on the problems specific to your business.
  • Zend’s application server, Zend Server which runs at the web-tier itself, provides the consistent PHP stack across development, testing and production, a stack that’s certified and 24x7 supported, and confirmed to have the latest security hotfixes along with an SLA for fixes to PHP bugs or new security vulnerabilities identified in PHP – being identical across environments ensures minimization of mis-configuration errors.Zend Server has also developed a packaging mechanism for your PHP code, configuration, dependencies, etc. such that development can create the package with all their knowledge of what is required for a successful deployment, and production ops, with the click of a button and in minutes can deploy the new release across all the servers in a cluster. Zend Server also focuses on managing the servers in your cluster as one – if a configuration on one server is changed, you will automatically receive an alert, and you can either have that change reverted or deployed across all the other servers in a cluster.Applications built on Zend Framework tend to be higher-quality and fail-resistant due to its rigorously tested reusable components. We’vebuilt a 3-4 week consulting engagement which helps implement deployment best practices within your development and operations environment. In addition, we get called in to perform 3rd party, independent security audits before applications get launched in production or on an on-going basis.
  • Once your applications have been pushed out to production, you’ll hear about it if your end-users are unhappy. If they are getting 15-second page loads, or the app is down when they need it to be up, that’s a serious problem. So this comes down to a few questions: 1) how does your organization become aware of performance problems before they impact the users? 2) how do you identify the cause of the performance issues rapidly? 3) how do design your infrastructure to scale to handle varying load based on usage cycles?[Click to advance]The great thing about a PHP request is that there are lots of ways to optimize its performance at various levels – more places to potentially squeeze a bit more speed out of your code. And of course you need the ability to monitor and see exactly how applications are performing, ideally applications that have been built and tested from the ground up with scalability in mind.
  • Zend Server gives you the tools to ensure your applications are highly available and meeting/exceeding their Service Level Agreements (SLAs). From bytecode caching to a data caching API to URL-based page caching, you can optimize performance at several points in the PHP request cycle. In addition, a job queue allows you to architect your code to remove serial bottlenecks. One of our customers, inTicketing, sells tickets to U2 and Madonna concerts. They have to process 20-30 thousand credit card transactions within a matter of minutes from the time the sale of tickets for the concert is opened to the public. Previously, the webservers would wait to respond to the customer until the Visa Mastercard transaction was approved. However, this was crushing their servers since the authroization took a long time, and the webservers could not be freed to handle more requests. They now respond immediately to the customer letting them know they are in the queue (thus freeing up their webservers), and queue an credit card authorization job to a backend server using Zend’s Job Queue. Once the authorization is successful, they fire up another PHP job that sends an email to the customer with a printout of their ticket in the email.Zend Server provides you insight into the performance of the PHP application itself – without any changes to your code, we are able to monitor and alert on events such as scripts running slowly, database queries are taking too long, etc. so the operations and development organizations can proactively address the problem before it the end-user experiences it.To help applications handle sometimes unpredictable load, and to provide real high availability, Zend Server allows easy scaling in the cloud. The servers in a cluster detect increased load and vote to increase the number of instances of their application – a VM instance gets provisioned, the instance gets added to the cluster, the application is deployed on the server, and sessions are seamlessly distributed across the entire cluster. More importantly, as the load decreases we move sessions off the server, and start decommissioning servers. There is no need to provision too many servers upfront, or to wait and watch for increased load.Zend Server also provides session clustering out of the box which aids with scaling and performance while providing true application high availability. If a server crashes or operations decides to turn-off a server, the sessions associated with the users connected to that server are retrieved from a backup copy of the session randomly replicated on one other server in the cluster. This is done in memory, with some serialization to disk peroidically.And the Zend PHP experts can also provide architecture and performance audits, which in 5-10 days, can review your code and architecture and provide recommendations on how to improve the architecture and performance of your applications. Real-life example: UBM worked with Zend consultants to get their architecture right as they did a complete move from Java to PHP
  • Along the application lifecycle, we’ve discussed increasing developer productivity, helping deploy applications better and faster, and tools for optimizing performance and scaling under load. But inevitably things do go wrong, and figuring out exactly what and why is a time sink. First, how do you know when something bad happens? And second, how do you get it resolved as quickly as possible? These are serious challenges when, as in most modern IT orgs, developers don’t have access to production systems. Most existing monitoring solutions (Nagios, etc.) cover the OS level, the hardware level, etc. But where insight is lacking is into the PHP application itself.So let’s think about the process when a production issue pops up: operations team files a ticket with development describing the symptoms of a problem that took place (like “users reporting horribly slow application time”), perhaps accompanied by some log files. And then development has to attempt to reproduce the issue locally to pinpoint its root case. But that can be a long, arduous, sometimes impossible prospect – is it the load that has to be identical to successfully reproduce the problem? The database state? Did it happen on a particular production server? Are configuration settings different between production and development? In a worst-case scenario, the help ticket gets filed “could not reproduce” and nobody is satisfied. We all know that sometimes developers are considered “guilty until proven innocent” – gotta watch out for that finger pointing![Click to advance]How do you overcome these challenges? Infrastructure has become pretty resilient and hardly fails, and so the key area of focus is monitoring inside the application across all the servers in the cluster – without this monitoring it’s like driving around a curvy winding road at nite with your headlights turned off. And further, a monitoring solution that gives you enough insight into problems that can eliminate the need to reproduce problems. All this is in the name of fostering better collaboration between operations and development and enabling a feedback loop between these organizations.
  • Zend Server has a capability called code tracing that is like a black box recorder on a plane. When a plane crashes with 223 people on it, it’s hard to justify crashing another plane and killing another 223 people to reproduce the crash and understand the root cause of the crash. Zend’s code tracing runs in production (with 2-4% impact on app performance) and records every method you went into, the session data, the variable values, the queries created for database calls, etc. leading upto the crash. It provides an interface to say, show me the most time consuming path, or the most memory consuming portion of the code. In addition, Zend Server is integrated with Zend Studio so that developers can take this code trace and step through the code with all variables instantiated to quickly identify the root cause – as if the end user is sitting on their shoulders telling them exactly what was done. With these kinds of capabilities, one does not need to reproduce problems any more.This code tracing capability is a great benefit for performance: when you have slow-performing requests, Zend Server lets you know exactly what function calls are causing the problem, reporting the running time on a function-by-function basis. So not only can you use it to fix problems, you also get a detailed analysis of where to focus performance improvement efforts and can see how effective the improvements are.In addition, Zend Server aggregates problems across a cluster so that one does not have to look at log files on each server to identify a problem. Zend Server will show you one line of monitoring indicating a problem happened 220 times with 40 occurrences on server A, 160 occurrences on server B, and 20 occurrences on server C.Zend Server’s monitoring thresolds provide a common communication language between development and production ops – the development team can tell production ops that when a particular script exceeds 3 sec, an alert should be generated because something is trending incorrectly even though the problem has not impacted end-users yet.
  • Zend’s solutions are meant for use across both development AND production. Using feature-rich Zend Studio, you can develop directly onto a local Zend Server, providing a consistent PHP stack as well as development-enabling features like data caching and job queue APIs and code tracing’s insight into the PHP call stack for every request. And then in production, Zend Server provides all the enterprise-class capabilities we’ve discussed – including scaling out to provide high availability and additional application capacity.
  • To reiterate, Zend’s solutions span the entire application lifecycle. As you can see the process move from left to right:Zend enhances developer productivity with Zend Studio for building applications, Zend Framework providing the application framework, Zend Server providing a consistent and developer-friendly PHP stack, and Zend training and certification invests in developer skills and expertise.Zend helps release faster while maintaining quality by providing both a supported and secure stack as well as robust, automated PHP application deploymentZend ensures you meet end-user expectations for response times by letting you optimize your apps at multiple levels, monitor their performance, and scale out to provide additional capacity and high availabilityZend lets you cut down on problem resolution time by letting you detect problems when they occur, capture a “recording” of what went wrong to pinpoint root cause, and import that directly into Zend Studio for resolution
  • Note on 3rd quote (Shaklee):Shaklee, which sells health and nutrition products, had external applications written in Java when one of their products was mentioned on Oprah – and their website crashed. Then they moved to PHP and Zend Server, found their application bottlenecks with Code Tracing, and have since survived 3 more Oprahs without any problems.
  • Zend Framework - 15 million downloads and 500 contributors including Google, Microsoft and Adobe.Strong commitment to the open source community – PHP, Eclipse PHP Development Tools, SimpleCloud APIMission: Zend is a partner to business in the rapid delivery of modern apps across mobile and cloud environments.  Business: Zend offers IT organizations a highly flexible and productive cross-platform solution to develop and deliver modern apps powered by PHP. Co-founded in 1999 by Andi Gutmans and Zeev Suraski, Zend helped establish the PHP language and grow its ecosystem, which today numbers close to 5 million developers and boasts such game-changing social networks and applications as Facebook, Zynga, Wikipedia and Drupal. Under the leadership of Gutmans and Suraski, Zend’s commitment to innovation and community-building has contributed to expansion of PHP into virtually every facet of modern computing.  Zend PHP Solutions: With Zend’s integrated solutions, developers can rapidly build, deploy and sustain best-in-class applications for web, mobile and cloud environments. Using Zend, dev and ops teams can work collaboratively and be more productive than ever before. Zend PHP Cloud Platform – everything needed to successfully develop, run and scale business-critical PHP applications in the cloud. A platform that ensures streamlined development, testing and deployment processes; elasticity to changing business demand; cross-cloud portability and flexibility to customize the environment; application performance and availability; and cost efficiencies throughout the application lifecycle.Zend Server – An enterprise-ready application server for business-critical PHP applications that demand high performance, reliability and scalability. Zend Server Cluster Manager extends the benefits of Zend Server with centralized monitoring and management across multi-server environments. The RightScaleZend Solution Pack leverages the benefits of Zend Server to public, private or hybrid cloud deployments. Zend Server Community Edition (CE) is a fast and reliable PHP application stack that is completely free, for use in development, testing and production. Zend Studio – An award-winning professional-grade IDE for PHP code editing, debugging, profiling, unit testing, diagnostics and more. Adobe Flash Builder, co-developed by Adobe and Zend, includes an integrated copy of Zend Studio for launching PHP apps across all major mobile platforms. Zend Guard – A proven tool for source code encoding and obfuscation for protection from unlicensed use and redistribution. Zend Framework – An open-source application framework for rapid, cost-effective development with the efficiencies of proven, reusable code, best practices and enhanced security. Zend Framework speeds development of cloud apps with components for accessing Windows Azure and Amazon EC2 cloud services; and enables portable code using the SimpleCloud API. Zend Training and Certification – Complete professional onsite or online training options, and the only recognized PHP certification program. Customers: Zend solutions are deployed at more than 40,000 companies worldwide, including such renowned global brands as GE, AT&T, Time Warner, NYSE Euronext, Disney, BNP Paribas, Lufthansa, Orange Telecom, Fiat, and others. Enterprise customers benefit not only from Zend’s technology, but also its consulting, support and training/certification services and its flexible Unlimited Subscription Program. Zend Partners: Adobe Systems IncorporatedIBM CorporationMicrosoft CorporationOracle CorporationRightScale, Incorporated Zend and Open-source:PHP – According to Gartner, PHP is a cornerstone technology of the Web and one of today’s most popular dynamic languages. Zend Framework – Lightweight application framework with some 15 million downloads and 500 contributors including Google, Microsoft and Adobe. Eclipse PHP Development Tools (PDT) – Eclipse PDT is an open source project, led by Zend and based on the widely popular Eclipse project and Web Tools Platform, that provides the basic code editing capabilities needed to get started developing PHP apps.SimpleCloud – SimpleCloud API empowers developers with one interface to access the cloud services and technologies of multiple cloud vendors. Includes interfaces to key services on such popular cloud platforms as Amazon Web Services, Windows Azure and Rackspace Cloud Files.  Zend, IBM, Microsoft, Nirvanix, Rackspace and GoGrid are co-founding contributors to the community project. DevZone – A developer-driven community resource dedicated to advancing the art of PHP, with news, articles, tutorials and more. Zend’s Global Reach, Investors: Zend’s worldwide operations include U.S. headquarters in Cupertino, California, with global offices in France, Germany, India, Ireland, Israel and Italy. Zend is privately-held, backed by Azure Capital, Greylock Partners, Index Ventures, Walden, Viola Private Equity, Intel Capital and others.
  • OSSCube - Zend Webinar

    1. 1. Best Practices for PHP DeliveryBrian LandDirector, Business
    2. 2. About Us• One of the Largest pool of • Founded in 2006 with a Certified LAMP vision to provide end to Professionals end open source solutions• World’s first Zend Center of • Lineage of a Product Excellence Engineering company• 250+ Technology Team working with Open Source• Top Project Managers part since 1998 of the team for last 10 • Founding team of years technologists and People About US entrepreneurs• Recognized technology leaders, authors Locations Community• Raleigh-Durham, USA • Actively contribute to• Austin, TX Open Source• Houston, USA Community• London, UK • Organize Open Source• New Delhi and Conferences and camps Bangalore, India – OSI Days, OSS Camps. 2
    3. 3. The approach to application development is changingBusines Technology sAlways-connected web and Rapid adoption of privatemobile apps and public cloud Disruptions Deliver faster but manage cost and quality Change Traditional languages Open, dynamic programming languages Waterfall development Agile development On-premise deployments Cloud deployments
    4. 4. Faster application delivery poses challenges… 60% of data center application failures are the result of faultyHiring and Ramping Skilled uncoordinated Taking of 10 developers are only fixing deployment and Developers is changes Long On average, 3 out Too production problems rather than building new functionality 58% of organizations are unhappy with application response times How do I meet How do I release How do I cut theHow do I enable end-user faster while time developersdevelopers to be expectations for maintaining spend on problemmore productive? application quality? resolution? response times? Develop Deploy Manage4
    5. 5. How do I make How do I release How do I make How do I cut the my developers faster while end -users time developers more maintaining happy with spend on problem productive? quality? application resolution? The Challenges response times?D e v e l o p D e p l o y M a n a g e  No standardization across the development team How do I enable developers to be  It takes too long to purchase, install and update more productive? development and test environments  Inconsistent skill levels Best Practices  Use a development environment that supports agile development  Leverage the flexibility of cloud  Invest in building professional skills of developers, and standardization 5
    6. 6. How do I make How do I release How do I make How do I cut the my developers faster while end -users time developers more maintaining happy with spend on problem productive? quality? application resolution? response times?D e v e l o p D e p l o y M a n a g e Zend helps improve developer productivity How do I enable developers to be more productive? – Accelerate and standardize development with Zend Framework – Zend Studio – award-winning, high Agile Development productivity IDE RIA: Ajax/Flash – Single code base for iOS, Android and Debugging & Profiling Blackberry native apps Unit Testing – Leverage cloud for faster Code Assist, Refactoring provisioning, testing at production scale Zend Server Integration – Comprehensive PHP training and Remote Systems (FTP, SSH, SFTP) certification undertaken by thousands SVN, Git each year Zend Framework 6
    7. 7. How do I make How do I release How do I make How do I cut the my developers faster while end -users time developers more maintaining happy with spend on problem The Challenges productive? quality? application resolution? response times?D e v e l o p D e p l o y M a n a g e  Discrepancies in environment for development, test How do I release and production increase deployment failure rates faster while maintaining quality?  Manual deployment is error-prone and slow  Unstructured, non-reusable code Best Practices  Develop and deploy on a consistent, supported PHP stack  Take manual errors out of app deployment through automation  Leverage best-in-class reusable frameworks 7
    8. 8. How do I make How do I release How do I make How do I cut the my developers faster while end -users time developers more maintaining happy with spend on problem productive? quality? application resolution? response times? D e v e l o p D e p l o y M a n a g e Zend increases deployment success rates How do I release faster while maintaining quality? – A consistent PHP stack used across development, testing and production – Enterprise-grade support – Automated application packaging and deployment Clustering Auto-scaling – Manage a cluster of servers as one Session Management server Monitoring Caching Acceleration Job Queue – Zend Framework minimizes errors Code Tracing Deployment through code re-use and best practices Support Hot Fixes Zend Framework – Deployment Solution (best practices) PHP – Security audit by Zend’s PHP experts8
    9. 9. How do I make How do I release How do I make How do I cut the The Challenges my developers faster while end -users time developers more maintaining happy with spend on problem productive? quality? application resolution? response times?D e v e l o p D e p l o y M a n a g e  Performance not optimized across all tiers How do I meet end-user  Difficult to understand what slows applications down expectations for when they move into production application response times?  Hard to scale applications quickly to meet demand spikes Best Practices  Optimize performance in each stage of request/response cycle  Monitor and manage performance of PHP apps  Design and deploy apps to withstand unpredictable load conditions 9
    10. 10. How do I make How do I release How do I make How do I cut the my developers faster while end -users time developers more maintaining happy with spend on problem productive? quality? application resolution? response times?D e v e l o p D e p l o y M a n a g e Zend Server optimizes the performance of your PHP apps How do I meet end-user expectations for application response times? – Multi-level optimization across the HTTP request/response cycle – Built-in Application Performance Monitoring – Auto-scaling using elastic cloud Clustering Auto-scaling Session Management infrastructures Monitoring Caching Acceleration Job Queue – Out-of-the-box high performance sessionCode Tracing Deployment Support Hot Fixes management supporting High Availability Zend Framework – Architecture and performance audit by PHP Zend’s expert consultants 10
    11. 11. How do I make How do I release How do I make How do I cut the The Challenges my developers faster while end -users time developers more maintaining happy with spend on problem productive? quality? application resolution? response times?D e v e l o p D e p l o y M a n a g e  Infrastructure monitoring does not give visibility into app performance How do I cut the time developers spend on problem  Difficult to reproduce problems seen in production resolution?  80% of problem resolution time is spent pinpointing root cause  Blamestorming between development and operations Best Practices  Aggregated application-specific monitoring  Eliminate need to reproduce problems  Greater Dev-Ops collaboration 11
    12. 12. How do I make How do I release How do I make How do I cut the my developers faster while end -users time developers more maintaining happy with spend on problem productive? quality? application resolution? response times? D e v e l o p D e p l o y M a n a g e Cut problem resolution time by 50% How do I cut the time developers spend on problem – See inside your apps - code tracing resolution? eliminates the need for problem reproduction – Integration with Zend Studio further simplifies troubleshooting Clustering – Find PHP errors faster Auto-scaling Session Management • Performance, functional and Monitoring Caching configuration errors Acceleration Job Queue Code Tracing Deployment • Proactive monitoring across a cluster Support Hot Fixes • Monitoring thresholds improve Dev-to- Zend Framework Ops collaboration PHP 1212
    13. 13. The Zend Solution Development Production Clustering Agile Development Clustering Auto-scaling Clustering Auto-scaling Clustering RIA: Ajax/Flash Auto-scalingManagement Session Session Management Auto-scaling Debugging & Profiling Session Management Code Tracing Monitoring Session ManagementCode Tracing Monitoring Acceleration Monitoring Caching Code Tracing Unit Testing Monitoring Code Tracing Acceleration Job Queue Monitoring Caching Acceleration Queue Caching Job Deployment Acceleration Caching Job Queue Caching Acceleration DeploymentCode Assist, Refactoring Job Queue Support Deployment Fixes Hot Job Queue Deployment Support Deployment Fixes Code Tracing Hot Support Zend Hot Fixes FrameworkZend Server Integration Support Hot Fixes Support Hot Fixes Zend Framework Remote Systems Zend Framework PHP (FTP, SSH, SFTP) Zend Framework Zend Framework PHP PHP SVN, Git PHP PHP
    14. 14. Develop Deploy Manage How do I meet How do I cut theHow do I make How do I release end-user time developersmy developers faster while expectations for spend on problemmore productive? maintaining application resolution? quality? response times?• Leading open • Consistent PHP • Multi-level • Fast issue detection source web app stack performance • Code tracing for framework • Enterprise-grade optimization root cause analysis• High-productivity support • Built-in application • Studio/Server development • Automated, frictionl monitoring integration for rapid environment ess deployment • Auto-scaling and problem resolution• Training & High Availability certification
    15. 15. ROI Examples “Our choice of Magento Enterprise with the Zend PHP solution for development and server-sidecomes to ROI, we consider our investment in Zend technology to When it deployment helped us achieve a six-digit dollar cost savings within the first year, while introducing a to manage the PHP stack, and the be a benefit on several fronts. It is easy whole new level of e-Commerce functionality for Villeroy & Boch.” reporting helps us reduce the time strength of the error detection and spent troubleshooting while& eBusiness Services Pascal Rheinert, Dr.-Ing., Internet increasing application availability and Villeroy & Boch “Zend Server’s Code Tracing capabilities clustering alone, Zend more than paid for responsiveness. With session reduced our debugging and troubleshootingthe momentas much as thepercent. We use it itself timeline by we flipped 50 switch.” constantly, and it helps us identify root cause issues proactively before they have impact on our users.”15
    16. 16. Zend Clients16
    17. 17. About Zend• Zend provides the best way to deliver web apps in the cloud• 40,000+ customers worldwide• 7,500+ Zend PHP Certified Engineers• Zend Framework - 15 million downloads• Strong commitment to the open source community• Strategic partnerships with IBM, Adobe, Oracle and others 17
    18. 18. Thank YouBrian LandDirector, Business Developmentbrian@osscube.com19
    19. 19. BACKUP SLIDES
    20. 20. ABOUT PHP
    21. 21. Gartner: PHP Adoption by Corporate IT is Growing Rapidly, almost double by 2013 PHPDevelopers5M “Commercial and corporate IT4M developers will account for more than 2 million PHP3M community members—growing from 20% to 50% of the2M worldwide PHP developer population.”1M 2007 2009 2013 Non-commercial developers Commercial and corporate IT developers Gartner Research Note: “PHP: Past, Present and Future”, Dec. 2nd, 2009
    22. 22. Zend Framework: Standardized Best Practices & Reuse• Rapidly Growing Cloud  >10M downloads  >200 contributors• Commercial Contributions• Enterprise Adoption
    24. 24. Problem Detection with Zend Server’s Application-Level Monitoring▶ Zend 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 event25
    25. 25. Root Cause Analysis with Zend Server’s Code Tracing▶ Reproducing an issue is time-consuming and not always possible... ▶ Dependency on specific SESSION state ▶ Dependency on specific database state ▶ “Replaying” the request is risky or impossible▶ Zend Code Tracing captures the entire execution flow ▶ Full code execution tree, arguments, return values, duration, … ▶ Can be used in live production environments! ▶ Manual or automatic tracing in case of an event26
    26. 26. Zend Server Code Tracing View27
    28. 28. Multi-level Performance Optimization Web HTTP Server PHP DB Task Output HTTPRequest Processin Compilatio Queries Executing Generation Response g nTIMEClient-side Zend Client-side Job Queue Output Cache Download Cache CompressionUtilization Server Utilization Data Caching API
    29. 29. Multi-level Performance Optimization HTTP Web Server PHP DB Task Output HTTPRequest Processing Compilation Queries Executing Generation Response TIME
    30. 30. ZEND SERVICES
    31. 31. Solutions • Optimal deployment and configuration Deployment & • Implementation of Zend best practices On-boarding • Immediate productivity gains Application Audits : • PHP & Zend Framework Application Architecture Performance • Scalability & Performance Optimization Architecture • Security & Vulnerability prevention Security • Most comprehensive PHP Training & Certification Training & Certification • Robust Curriculum & Methodology • Proven Success and Global Recognition32
    32. 32. Service Delivery Methodology Discovery and Deployment Strategy and Design Mentoring Optimization Monitoring Summary Goals and Assurance Technical & Performance Validation Requirements Foundation Tuning Installation and Executive Project kick- review, training and Scalability Follow up and wrap up off Call Deployment Hands-on Security Reviews design Configuration Delivery Management* Some milestones are applicable for specific engagements 33
    33. 33. Deployment and On-boarding Programs • Optimal implementation of Zend Zend Deployment Solution Production Solution • Applying Zend’s Best Practices • Flexible model addressing your specific business goals • Mentoring your R&D and IT staff Zend On-boarding • Deliver immediate productivity gains • Deliver sustainable value from your investment in Zend and PHP Zend Smart Start for IBM i34
    34. 34. Zend Application Audit • Application scalability optimization • Database scalability analysis Architecture Audit • Zend Framework & PHP best practices • Application Design & implementation optimization • Web server architecture & configuration • Application performance optimization • Database performance analysis Performance Audit • Load balancing methodologies • Caching techniques • Web server and PHP performance acceleration • Analysis of all known web application attacks • Automated and Manual Penetration tests • Source Code review for application vulnerabilities Security Audit • Risk assessment of the identified faults • Recommend solutions for discovered vulnerabilities35
    35. 35. Zend Training Overview • Architects of PHP • Creators of Zend Framework Built by the PHP Company • SMEs are established authors and architects • Leveraged by Fortune 100 • Top pick by individuals Proven Success • Recognized differentiation • PHP, Zend Framework, RPG to PHP for IBM i Robust Curriculum & • Role-based curriculum from beginners to advanced Methodology • On-line, on-site and classroom • Developed according to ANSI standard36
    36. 36. Role Based Curriculum37
    37. 37. Zend Certification • The only broadly recognized certification program for PHP and Zend Framework Brand Name in PHP • Certified engineers are paid 30%+ more than Market non-certified engineer • SMEs are established authors and archite • Leveraged by Fortune 100 • Over 5,000 ZCEs Proven Success • Certification in multiple languages with ZCEs in most countries globally • Largest contributor to Zend Training • Test Preparation courses, Study Guides & Mock Exams, Certification Vouchers Complete offering • PHP and Zend Framework • Multiple languages • 3,500 worldwide test centers38
    38. 38. Discussion