+ All Categories
Home > Technology > Achieving Massive Scalability and High Availability for PHP Applications in the Cloud

Achieving Massive Scalability and High Availability for PHP Applications in the Cloud

Date post: 24-Jun-2015
Category:
Upload: rightscale
View: 1,943 times
Download: 1 times
Share this document with a friend
Description:
RightScale User Conference NYC 2011 - Joshua Solomin - Senior Product Marketing Manager, Zend Technologies It's a common pain point among PHP developers: How do you achieve application-level elasticity while never losing a user session when you scale down servers? Now there's a push-button solution from Zend and RightScale that enables persistent sessions and allows you to readily triage problems with your business-critical PHP applications. This session will introduce you to an auto-scaling PaaS solution specifically designed to make it easier for you to deploy and manage cloud-based, highly available PHP server clusters.
Popular Tags:
21
© All rights reserved. Zend Technologies, Inc . PHP in the Cloud: Achieving True High Availability Joshua Solomin Senior Product Marketing Manager, Zend Technologies [email protected]
Transcript
Page 1: Achieving Massive Scalability and High Availability for PHP Applications in the Cloud

©All rights reserved. Zend Technologies, Inc.

PHP in the Cloud: Achieving True High Availability

Joshua Solomin

Senior Product Marketing Manager, Zend [email protected]

Page 2: Achieving Massive Scalability and High Availability for PHP Applications in the Cloud

©All rights reserved. Zend Technologies, Inc.2

Who is Zend?

• Leader in software and services for development, deployment and management of enterprise PHP applications

• RightScale Partner jointly producing the RightScale Zend Dev & Test Pack (2010) and RightScale Zend Solution Pack (2011)

• Co-founders Andi Gutmans and Zeev Suraski created PHP3

• PHP community leader & contributor through PHP advisory boards, core dev contributions, Zend Framework, SimpleCloud

• Zend solutions are deployed at more than 40,000 organizations

Page 3: Achieving Massive Scalability and High Availability for PHP Applications in the Cloud

©All rights reserved. Zend Technologies, Inc.3

Realizing IaaS scalability at the platform level

Particularly for platforms…

But IaaS doesn’t automatically handle application-level HA

We all love the cloud!

Page 4: Achieving Massive Scalability and High Availability for PHP Applications in the Cloud

©All rights reserved. Zend Technologies, Inc.4

What does high availability require?

1) No single points of failureMultiple web servers

Multiple load balancers

Database replication

Provided by the cloud, managed by RightScale

2) Graceful failover when individual components DO fail

But how does the PHP platform fail over – what about running applications?

Page 5: Achieving Massive Scalability and High Availability for PHP Applications in the Cloud

©All rights reserved. Zend Technologies, Inc.5

A closer look at application user sessions

• HTTP is a stateless protocol – there is no “user session”

The good news: this makes HTTP highly scalable and versatile

The bad news: representing user state is left to the implementation

• A basic use case: identifying logged in usersIf I get two consecutive HTTP requests, how can I know

that they are from the same user?

How can I know if that user has logged in or not, before I authorize some actions?

PHP sessions to the rescue!

Page 6: Achieving Massive Scalability and High Availability for PHP Applications in the Cloud

©All rights reserved. Zend Technologies, Inc.6

Session Handling in PHP

Page 7: Achieving Massive Scalability and High Availability for PHP Applications in the Cloud

©All rights reserved. Zend Technologies, Inc.7

But when a node fails, how do you prevent session loss?

Page 8: Achieving Massive Scalability and High Availability for PHP Applications in the Cloud

©All rights reserved. Zend Technologies, Inc.8

Different Session Handling Mechanisms

• Default: stored in local files… but doesn’t easily scale >1 node

A sticky load balancer can help, but has downsides

NFS is a bad idea

• Can switch to other save handlers Database

Memcached

or …

Page 9: Achieving Massive Scalability and High Availability for PHP Applications in the Cloud

©All rights reserved. Zend Technologies, Inc.9

Zend’s Session Clustering

• A PHP Session storage mechanism designed to be:

Scalable

Fault-tolerant

Fast

Cloud ready

• Sessions stored either in memory or on disk

• Daemons in a cluster talk to each other to share sessions

• Each session stored on two servers: master and backup

Page 10: Achieving Massive Scalability and High Availability for PHP Applications in the Cloud

©All rights reserved. Zend Technologies, Inc.10

Architectural Overview

Page 11: Achieving Massive Scalability and High Availability for PHP Applications in the Cloud

©All rights reserved. Zend Technologies, Inc.11

How does it work?

• New session created on the server that receives request (master)

• Master server picks a backup, and copies the session to it

• Session IDs identify the session’s master and backup servers

• If the request ends up at any non-master server, session is requested from the master

Page 12: Achieving Massive Scalability and High Availability for PHP Applications in the Cloud

©All rights reserved. Zend Technologies, Inc.12

Normal Operation

Page 13: Achieving Massive Scalability and High Availability for PHP Applications in the Cloud

©All rights reserved. Zend Technologies, Inc.13

Failure Handling

Page 14: Achieving Massive Scalability and High Availability for PHP Applications in the Cloud

©All rights reserved. Zend Technologies, Inc.14

Scalability & Cloud Readiness

• Session Clustering provides a Graceful Shutdown mechanism

At shut down, a node transfers all its sessions to a different server

All cluster members notified to use the replacement server

Rarely takes more than 30 seconds

• Graceful Shutdown allows spinning down machines without losing sessions

• Allows simple scaling down as well as scale up – ideal for the cloud!

Page 15: Achieving Massive Scalability and High Availability for PHP Applications in the Cloud

©All rights reserved. Zend Technologies, Inc.15

Enterprise PHP in the Cloud: IaaS + PaaS

• New service co-developed by RightScale and Zend

• Instant provisioning of a pre-configured, multi-server PHP runtime environment in the cloud

• Portable across cloud providers – Amazon, Rackspace, Cloud.com

• Automated scaling at the server and PHP levels

• Management, monitoring and diagnostics

• Usage-based pricing

Page 16: Achieving Massive Scalability and High Availability for PHP Applications in the Cloud

©All rights reserved. Zend Technologies, Inc.16

High Availability PHP Solutionfrom RightScale & Zend

Page 17: Achieving Massive Scalability and High Availability for PHP Applications in the Cloud

©All rights reserved. Zend Technologies, Inc.17

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 18: Achieving Massive Scalability and High Availability for PHP Applications in the Cloud

©All rights reserved. Zend Technologies, Inc.18

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 19: Achieving Massive Scalability and High Availability for PHP Applications in the Cloud

©All rights reserved. Zend Technologies, Inc.19

DEMO

Page 20: Achieving Massive Scalability and High Availability for PHP Applications in the Cloud

©All rights reserved. Zend Technologies, Inc.20

Next Steps

• Learn more about Zend Server:http://www.zend.com/server

• Learn more about the Rightscale-Zend solution:http://

www.rightscale.com/products/plans-pricing/zend-solution-pack.php

• Watch the RightScale-Zend webinar: http://

www.rightscale.com/info_center/webinars/paas-in-a-box-zend.php

Page 21: Achieving Massive Scalability and High Availability for PHP Applications in the Cloud

©All rights reserved. Zend Technologies, Inc.

Q&A


Recommended