Slide 1

Slide 1 text

© All rights reserved. Zend Technologies, Inc. Automating Deployment with Zend Server By Slavey Karadzhov

Slide 2

Slide 2 text

© All rights reserved. Zend Technologies, Inc. About •Name: Slavey Karadzhov (Славей Караджов) •PHP programmer since 1999 •Master in Computer Science, Master in Software Technology •Working for Zend Technologies since 2008 •In Stuttgart, Germany •As a consultant, trainer and programmer 2 Automating Deployment with Zend Server

Slide 3

Slide 3 text

© All rights reserved. Zend Technologies, Inc. Agenda •What is Deployment •How to perform a deployment •Deployment of the source code is easy •Meet Zend Server •Automating the deployment •Common use cases •Auto-Scaling Deployment •Questions 3 Automating Deployment with Zend Server

Slide 4

Slide 4 text

© All rights reserved. Zend Technologies, Inc. What is Deployment … and the most important things about it

Slide 5

Slide 5 text

© All rights reserved. Zend Technologies, Inc. What is Deployment "Software deployment is all of the activities that make a software system available for use.“[1] 5 Automating Deployment with Zend Server

Slide 6

Slide 6 text

© All rights reserved. Zend Technologies, Inc. What is Deployment (2) •Activities Generate requirements • the targeted environment must have – PHP version, PHP modules, libraries, etc • external systems that are related to the application must have – Databases, Caching Solutions, etc Specify what should happen in the different stages of the deployment • Stage • Activate • UnStage • Rollback 6 Automating Deployment with Zend Server

Slide 7

Slide 7 text

© All rights reserved. Zend Technologies, Inc. What is Deployment (3) •Activities(2) Specify what is the source code to be used Specify external system configurations • Apache vhosts 7 Automating Deployment with Zend Server

Slide 8

Slide 8 text

© All rights reserved. Zend Technologies, Inc. How to perform a deployment … different approaches and their advantages and disadvantages

Slide 9

Slide 9 text

© All rights reserved. Zend Technologies, Inc. How to perform a deployment •Manual Time consuming Error Prone •Automatic Faster Less error prone Improves consistency Eliminates communication problems Requires flexible tools 9 Automating Deployment with Zend Server

Slide 10

Slide 10 text

© All rights reserved. Zend Technologies, Inc. Modern Deployment

Slide 11

Slide 11 text

© All rights reserved. Zend Technologies, Inc. Modern Deployment 11 Automating Deployment with Zend Server •Get the source code from the versioning system •Add the "deployment action" scripts •Create a package •Deploy to testing •Deploy from testing to production

Slide 12

Slide 12 text

© All rights reserved. Zend Technologies, Inc. Meet Zend Server … and see how it can help you automate your deployment

Slide 13

Slide 13 text

© All rights reserved. Zend Technologies, Inc. Meet Zend Server • Zend Server [2] Application Server for running and managing business-critical PHP applications in production. Optimize application performance Monitor for problems and diagnose them quicker •Deployment Deploy applications faster and more consistently • Source code deployment can be automated with a click of a button. •Java Bridge Use existing Java classes in your PHP 13 Automating Deployment with Zend Server

Slide 14

Slide 14 text

© All rights reserved. Zend Technologies, Inc. Meet Zend Server •Useful environment variable •User parameters •Triggers Scripts that allow better control and automation Pre-defined Environmental Variables for better flexibility Automating Deployment with Zend Server 14

Slide 15

Slide 15 text

© All rights reserved. Zend Technologies, Inc. Meet Zend Server •Scripts can control Creating log directories and setting permissions Adding/Modifying apache virtual host Database Deployment Pre-generating caches Resetting caches 15 Automating Deployment with Zend Server

Slide 16

Slide 16 text

© All rights reserved. Zend Technologies, Inc. Demonstration

Slide 17

Slide 17 text

© All rights reserved. Zend Technologies, Inc. > Fast Forward >>

Slide 18

Slide 18 text

© All rights reserved. Zend Technologies, Inc. Automating the deployment With a click of button

Slide 19

Slide 19 text

© All rights reserved. Zend Technologies, Inc. Automating the deployment •To save time •To integrate the deployment system with other existing systems •To eliminate the weak link – the human 19 Automating Deployment with Zend Server

Slide 20

Slide 20 text

© All rights reserved. Zend Technologies, Inc. Automating the deployment (2) •Zend Server Web API •Zend SDK http://code.google.com/p/zend-sdk/ •Deployment phases Stage, Activate, Un-stage, Rollback •Deployment scripts •Zend Server as part of a cluster The deployed applications are automatically deployed across the servers Even newly added server do the cluster will get the deployed applications 20 Automating Deployment with Zend Server

Slide 21

Slide 21 text

© All rights reserved. Zend Technologies, Inc. Automation Scenarios

Slide 22

Slide 22 text

© All rights reserved. Zend Technologies, Inc. Automation Scenario (Release is coming) •In a continuous integration system (hudson) Get source code from version control system(git) Make all unit tests Build a package Deploy the package to the staging/testing system •Ask thousand of non-technical users to test •Deploy this same package to the production environment 22 Automating Deployment with Zend Server

Slide 23

Slide 23 text

© All rights reserved. Zend Technologies, Inc. Auto-Scaling Deployment …extra work needed for adding a new machine to the deployment

Slide 24

Slide 24 text

© All rights reserved. Zend Technologies, Inc. Auto-Scaling Deployment •Extra work that needs to be done == 0 Zend Server will automatically deploy all application to the newly added Zend Server 24 Automating Deployment with Zend Server

Slide 25

Slide 25 text

© All rights reserved. Zend Technologies, Inc. Thank you very much … questions anyone? Ask now or write your feedback at [email protected].

Slide 26

Slide 26 text

© All rights reserved. Zend Technologies, Inc. References 1. http://en.wikipedia.org/wiki/Software_deployment 2. http://www.zend.com/en/products/server/downloads 27 Automating Deployment with Zend Server