1. Best Practices for
PHP Delivery
Brian Land
Director, Business Development
brian@osscube.com
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. The approach to application development is changing
Busines Technology
s
Always-connected web and Rapid adoption of private
mobile 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. Faster application delivery poses
challenges…
60% of data center application failures are the result of faulty
Hiring 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 the
How do I enable end-user
faster while time developers
developers to be expectations for
maintaining spend on problem
more productive? application
quality? resolution?
response times?
Develop Deploy Manage
4
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. 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. 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. 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 experts
8
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. 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 session
Code Tracing Deployment
Support Hot Fixes management supporting High Availability
Zend Framework
– Architecture and performance audit by
PHP
Zend’s expert consultants
10
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. 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
12
12
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 Deployment
Code Assist, Refactoring Job Queue Support Deployment Fixes
Hot
Job Queue Deployment Support Deployment Fixes
Code Tracing Hot
Support Zend Hot Fixes
Framework
Zend 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. Develop Deploy Manage
How do I meet How do I cut the
How do I make How do I release
end-user time developers
my developers faster while
expectations for spend on problem
more 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. 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
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
22. Gartner: PHP Adoption by Corporate IT is Growing
Rapidly, almost double by 2013
PHP
Developers
5M
“Commercial and corporate IT
4M developers will account for
more than 2 million PHP
3M community members—growing
from 20% to 50% of the
2M 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
25. 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 event
25
26. 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 event
26
29. Multi-level Performance
Optimization
Web
HTTP Server PHP DB Task Output HTTP
Request Processin Compilatio Queries Executing Generation Response
g n
TIME
Client-side Zend Client-side Job Queue Output
Cache Download Cache Compression
Utilization Server Utilization Data Caching API
30. Multi-level Performance
Optimization
HTTP Web Server PHP DB Task Output HTTP
Request Processing Compilation Queries Executing Generation Response
TIME
32. 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 Recognition
32
33. 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
34. 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 i
34
35. 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 vulnerabilities
35
36. 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 standard
36
38. 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 centers
38
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 SimpleCloud.org 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.