Deploy von PHP-Applikationen



Ähnliche Dokumente
Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Continuous Delivery in der Realität eines Großunternehmens

Zend PHP Cloud Application Platform

MailUtilities: Remote Deployment - Einführung

Installationsanleitung dateiagent Pro

Effizenzsteigerung bei Villeroy & Boch durch den Einsatz von Magento und Zend

Reporting Services und SharePoint 2010 Teil 1

Installation der SAS Foundation Software auf Windows

Datensicherung EBV für Mehrplatz Installationen

Was versteht man unter Softwaredokumentation?

Lokale Installation von DotNetNuke 4 ohne IIS

Terminabgleich mit Mobiltelefonen

ecaros-update 8.2 Update 8.2 procar informatik AG 1 Stand: DP 02/2014 Eschenweg Weiterstadt

Tipps und Tricks zu Netop Vision und Vision Pro

SCHRITT 1: Öffnen des Bildes und Auswahl der Option»Drucken«im Menü»Datei«...2. SCHRITT 2: Angeben des Papierformat im Dialog»Drucklayout«...

Anleitung zum Extranet-Portal des BBZ Solothurn-Grenchen

Hinweise zum Update des KPP Auswahltools (Netzwerkinstallation) auf Version 7.2

Professionelle Seminare im Bereich MS-Office

Verwendung des IDS Backup Systems unter Windows 2000

Datenbank-Verschlüsselung mit DbDefence und Webanwendungen.

LOG-FT BAG Filetransfer zum Austausch mit dem Bundesamt für Güterverkehr (BAG) Kurzanleitung

Der Kalender im ipad

Patch Management mit

Step by Step Webserver unter Windows Server von Christian Bartl

Powermanager Server- Client- Installation

Kurzanleitung zur Softwareverteilung von BitDefender Produkten...2

Quickstep Server Update

Xerox Device Agent, XDA-Lite. Kurzanleitung zur Installation

Bkvadmin2000 Peter Kirischitz

Lizenzen auschecken. Was ist zu tun?

Holiday plans: ein Gespräch über Urlaubspläne

DevOps bei den ID Build-Automatisierung statt Silo-Betrieb

Die Backup-Voreinstellungen finden Sie in M-System Server unter dem Reiter "Wartung".

(im Rahmen der Exchange-Server-Umstellung am )

Upgrade von Starke Praxis

Advolux Konsolen- und Unattended-Installation

Adami CRM - Outlook Replikation User Dokumentation

Oracle APEX Installer

Benutzer und Rechte Teil 1

So funktioniert die NetWorker 7.5 Eigenschaft zum Sichern umbenannter Verzeichnisse ( Backup renamed Directories )

Installation OMNIKEY 3121 USB

backupmyfilestousb ==> Datensicherung auf USB Festplatte

Wo finde ich die Software? - Jedem ProLiant Server liegt eine Management CD bei. - Über die Internetseite

Pflegende Angehörige Online Ihre Plattform im Internet

Wie richten Sie Ihr Web Paket bei Netpage24 ein

Softwaren Engineering I

PHPNuke Quick & Dirty

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Formular»Fragenkatalog BIM-Server«

Windows 10 > Fragen über Fragen

Protect 7 Anti-Malware Service. Dokumentation

Avira Professional Security/ Avira Server Security Version 2014 Release-Informationen

MetaQuotes Empfehlungen zum Gebrauch von

Einfach wie noch nie. Der mypackage-ansatz. Ihre Lösung zur automatisierten Client-Bereitstellung. mypackage im Überblick

Marketing-Leitfaden zum. Evoko Room Manager. Touch. Schedule. Meet.

Installation EPLAN Electric P8 Version Bit Stand: 07/2014

AppCenter Handbuch August 2015, Copyright Webland AG 2015

Statuten in leichter Sprache

IBM Software Demos Tivoli Provisioning Manager for OS Deployment

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Installation der 4Dv12sql Software für Verbindungen zum T.Base Server

MSXFORUM - Exchange Server 2003 > Konfiguration NNTP unter Exchange 2003

Business Application Framework für SharePoint Der Kern aller PSC-Lösungen

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

WOT Skinsetter. Nun, erstens, was brauchen Sie für dieses Tool zu arbeiten:

Was ich als Bürgermeister für Lübbecke tun möchte

Windows 8 Lizenzierung in Szenarien

Sicherheit QUALITÄTSSICHERUNG DESIGNER24.CH V 1.2. ADRESSE Designer24.ch Web Print Development Postfach Turbenthal Schweiz

SMART Newsletter Education Solutions April 2015

Leitfaden zur Nutzung von binder CryptShare

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

Windows Server 2008 (R2): Anwendungsplattform

Installation SQL- Server 2012 Single Node

Drägerware.ZMS/FLORIX Hessen

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Informationen zum neuen Studmail häufige Fragen

Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10. Technische Informationen (White Paper)

Kulturelle Evolution 12

Verwendung des Terminalservers der MUG

HTBVIEWER INBETRIEBNAHME

Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen. Alexander Schunk Marcel Teuber Henry Trobisch

OP-LOG

Sie müssen sich für diesen Fall mit IHREM Rechner (also zeitgut jk o.ä.) verbinden, nicht mit dem Terminalserver.

Updatehinweise für die Version forma 5.5.5

Anti-Botnet-Beratungszentrum. Windows XP in fünf Schritten absichern

PHP Kurs Online Kurs Analysten Programmierer Web PHP

Installation des Authorware Webplayers für den Internet Explorer unter Windows Vista

SharePoint Demonstration

Anleitung TUS Port Checker 2.0

Systemvoraussetzung < zurück weiter >

Uwe Baumann artiso Solutions

DeltaVision Computer Software Programmierung Internet Beratung Schulung

Sophia Business Leitfaden zur Administration

Memeo Instant Backup Kurzleitfaden. Schritt 1: Richten Sie Ihr kostenloses Memeo-Konto ein

1. Einschränkung für Mac-User ohne Office Dokumente hochladen, teilen und bearbeiten

Transkript:

Deploy von PHP-Applikationen Jan Burkl System Engineer Zend Technologies

Wer bin ich? Jan Burkl jan.burkl@zend.com PHP Entwickler seit 2001 Projektarbeit Bei Zend seit 2006 System Engineer Zend Certified Engineer PHP 5 Zend Framework

Agenda Worüber wir sprechen werden Deployment->Testing->Staging->Production SVN/rsync/PEAR/yum Mechanismen Worüber wir nicht sprechen werden Build Tools (Phing, Maven, etc.) Datenbank Versionierung / Deployment Continuous Integration MSI Installationen (Sorry MS folks )

Application Stages Development Testing/QA Staging Production

Schon ausgewachsen? Benefit Wo stehen Sie? Uptime!! Verschiedene Dev Environments Testen & validieren der Applikation Testen & validieren des Environments Struktur

Development Grund Den Entwicklern eine Umgebung geben, um Code zu schreiben Charakteristik Sollte der Produktionsumgebung ähnlich sein normalerweise ist sie es nicht Normalerweise lokale Entwicklung, obwohl es nicht notwendig wäre

Testing Grund Eine Non-Programming Umgebung liefern, um Funktionalität zu testen Charakteristik Continuous Integration kann integriert werden Normalerweise keine Entwicklung, nur Testen Entwickler selbst sollten nicht testen, wenn möglich Eingeschränktes Outbound Networking Zend Server Monitoring und Code Tracing benutzen, um Fehler zu reproduzieren

Applikation vorbereiten zum Weitergeben an System Administratoren (the stuff we re here to talk about)

Staging Grund Deployment Prozess/Skripting testen (nicht unbedingt den Code) Charakteristik Entwickler haben normalerweise keinen Zugriff, es sei denn sie sind auch der Sysadmin Sehr eingeschränktes Outbound Networking Spiegelt das Produktionssystem normalerweise am Besten

Change Control Ein formaler Prozess um sicherzustellen, dass Änderungen in einer kontrollierten und koordinierten Art und Weise durchgeführt werden Schutz vor unnötigen Änderungen wegen fehlender Weitsicht Erfordert das Dokumentieren des Release Prozesses Software Versionsnummer Pläne für Rollback (getestet? j/n) Erwartete Ausfallzeit Auswirkungen auf Kunden Muss vor jeglicher Änderung der Produktion gemacht werden

Pre-Production (Optional) Grund Den Code in der Produktionsumgebung ohne Auswirkung für den Kunden testen Charakteristik Nicht üblich in der Cloud oder in großen Deployments Deployment auf dem Produktivsystem umgehend bevor es live gestellt wird Die Applikation wird mit Produktions-Einstellungen aber ohne Kunden-Interaktion getestet

Production Grund Es wird gemacht, was gemacht werden soll Charakteristik Entwickler haben keinen Zugriff (sonst könnten sie in Versuchung geführt werden, direkt etwas zu fixen) Deployment sollte ohne Input vom Entwickler möglich sein Sehr limitierter Inbound Traffic normalerweise ausschließlich der Service, der benutzt werden soll, z.b. HTTP

Application - Überlegungen Die Applikation im Bewusstsein der unterschiedlichen Umgebungen entwickeln Zend_Config_* ist ein guter Anfang Nicht den Umgebungs-Typ im Code setzen Environment Variablen können in Server Config gesetzt werden Das bedeutet, dass Development Settings in der Produktion versehentlich eingeschaltet werden Produktion ist das Default Environment Minimiert das Risiko eines versehentlichen Daten-Lecks

Deployment Option 1 Source Control Benefits Einfach Source Control sollte bereits im Einsatz sein Versionierung Pre/Post Install Scripts Automatische Deployments sehr einfach einzusetzen Nachteile Möchte man Details zum Zugriff auf den Source Code auf dem Produktionssystem haben? Source Control muss von Produktionssystem erreichbar sein Deny Access zu.svn Verzeichnissen

Deployment Option 2 rsync Benefits Einfach (Normalerweise) schon auf dem System installiert Nachteile Kein Deployment Script kann ausgeführt werden Nicht integriert in PHP oder das OS Rollbacks erfordern das zurückrollen des gesamten Source Server Keine Versionierung Eine Option ist den Source Tree vor rsync zu verschieben

Deployment Option 3 PEAR Benefits Designt für PHP Sehr scriptable Geeignet zum Löschen von Cache oder ähnlich Ist näher an PHP Cross Platform kompatibel Nachteile Admins müssen sich mit PHP auskennen Limitiert auf PHP Deployment Verfügbare Tools sind restriktiv eigenes package.xml bauen

Deployment Option 4 OS-basiert Benefits Einfach als Teil des Server Deployments hinzugefügt Cloud friendly Admins wissen schon, wie es geht OS-Requirements können beschrieben werden Downtime nur während der wirklichen Installation nicht während Network Transfer Zeit Nachteile Hängt von der verwendeten Umgebung ab Jedes PHP Deployment Skript muss mit der Applikation deployed werden und im %post Hook ausgeführt werden, z.b. Cache löschen

Welches nehmen? Was einfaches? rsync Verschieden Plattformen? PEAR Interner Deploy mit minimalem Developer Input? OS (yum/apt)

Continuous Deployment Automatisiertes Deployment Stabile End-to-End Integration Erfordert eine Menge Vertrauen, dass die Entwickler eine komplett getestete Applikation mit Frontend und Backend Code haben Wahrscheinlich zu viel Arbeit, wenn man die Anzahl der Server an seinen Fingern ablesen kann Kann hilfreich sein vorher sicherstellen, dass man weiß was man tut

Takeaways Keine Notwendigkeit für Copy-and-Paste Deployment Keine Notwendigkeit für (S)FTP Einfacher Rollback Mechanismus Vorbereitet sein auf Fehler während des Deployments Versuchen die Anzahl der Skripte so gering wie möglich zu halten

Follow us! Zend Technologies http://twitter.com/zend http://twitter.com/kpschrade (Kevin Schroeder)

Get this information and all the examples at eschrade.com

Dankeschön! jan@zend.com