©All rights reserved. Zend Technologies, Inc.
Jan Burkl
System Engineer, Zend Technologies
Zend Server im Cluster
©All rights reserved. Zend Technologies, Inc.2
Wer bin ich?• Jan Burkl
[email protected]• PHP Entwickler seit 2001
Projektarbeit• Bei Zend seit 2006
System Engineer• Zend Certified Engineer
PHP 5Zend Framework
©All rights reserved. Zend Technologies, Inc.3
Zend Production Solution
Linux
(rpm/deb repositories)
IBM i
(PTF)
Windows
(MSI)
Performance
&Scalability
Acceleration
Caching
Job Queue
Availability
Monitoring
Tracing
Session Clustering
Manageability
Centralized
MonitoringNative
Installers
Reliability
&Security
Updates
Hot Fixes
Support
[Zend Framework]
PHP
Zend Server
Configuration Mgmt
©2009 All rights reserved. Zend Technologies, Inc.
Herausforderungen im Cluster
©All rights reserved. Zend Technologies, Inc.5
Architektur
Community
Community
Community
Load
Balancer
©2009 All rights reserved. Zend Technologies, Inc.
Konfiguration
©All rights reserved. Zend Technologies, Inc.7
ArchitekturCommunity
Community
Com
munity
Load
Balancer
©All rights reserved. Zend Technologies, Inc.8
Web Administrator Console• Alle Zend Server Komponenten kontrollieren• Einstellen der PHP Settings
PHP ExtensionsPHP Directives
• Monitoring des aktuellen System StatusExtension StatusPHP StatusVerfügbare Updates & Security Fixes
©All rights reserved. Zend Technologies, Inc.9
Zentralisiertes Management• Stellt konsistente Konfiguration sicher
Benachrichtung bei Konfigurationsdiskrepanzen, um Applikationsproblemen vorzubeugen
• Zentralisiertes Monitoring• Cloud / Cluster “friendly”
Schnell Server hinzufügenEinfache Verwaltung einer beliebigen
Anzahl von Servern
©All rights reserved. Zend Technologies, Inc.10
Updates & Hot Fixes• Zend Server wird regelmäßig geupdated mit:
PHP ReleasesZend Framework ReleasesWichtigen PHP PatchesBug-Fixes vom PHP Team, die noch nicht veröffentlicht sind
• Hot-Fixes wenn notwendigAlle relevanten Security Reports werden von Zend
analysiertDas schließt PHP, Extensions, Librarys und andere
Komponenten mit ein
©2009 All rights reserved. Zend Technologies, Inc.
Skalierbarkeit
©All rights reserved. Zend Technologies, Inc.12
Easy to Scale Up• Schnelles Setup des Zend Server Clusters• Einfaches Hinzufügen eines weiteren Servers um höhere Last zu bewältigen
• Job Queue benutzen, um offline Skripte auszuführen
©2009 All rights reserved. Zend Technologies, Inc.
Sessions
©All rights reserved. Zend Technologies, Inc.14
Session ClusteringCommunity
Community
Com
munity
Load
Balancer
©All rights reserved. Zend Technologies, Inc.15
High Availability• Falls ein Server ausfällt, wird die User Session an einen anderen Server übergeben
©2009 All rights reserved. Zend Technologies, Inc.
Monitoring„keine Turnschuh-EDV“
©All rights reserved. Zend Technologies, Inc.17
Application Monitoring• Überwacht die Applikation nach:
PHP Errors (einschließlich Warnings, Notices, uncaught Exceptions...)
Fehlgeschlagene FunktionenFehlgeschlagene DB QuerysSlow Functions oder DB QuerysSlow Request ExecutionsHoher Speicherverbrauch
• Bei einem Problem wird ein Event getriggert
©All rights reserved. Zend Technologies, Inc.18
Diagnose: Code Tracing• Fehler reproduzieren ist oft schwer und zeitraubend
• Zend Server speichert den kompletten Execution Flow
• Der Entwickler kann sehr schnell die Hauptursache für den Fehler ausmachen
• Integriert in Zend Studio
©2009 All rights reserved. Zend Technologies, Inc.
Performance
©All rights reserved. Zend Technologies, Inc.20
Multi-level Performance Optimierung• Opcode Acceleration• Page Caching• Data Caching • Job Queue
©All rights reserved. Zend Technologies, Inc.22
Zend Server vs. Zend Server CEZend Server CE Zend Server
Native installation PHP & Zend Framework Apache (or IIS integration) MySQL (on Windows) Built-in DB connectivity (Oracle, DB2, MySQL, …) Web-based administrator console Opcode acceleration Caching API Java connector Page caching Application monitoring Code tracing Job queue Software updates and hot fixes Technical support
©All rights reserved. Zend Technologies, Inc.23
Zend Products Address the Entire PHP Application Lifecycle