SlideShare a Scribd company logo
Building the perfect PHP app for the enterprise
Episode 5: Deploying PHP apps
on the cloud
Boaz Ziniman & Dmitry Zbarski
2
Series overview
Keeping up with PHP
Developing apps faster
Resolving problems and high availability
Optimizing performance
Now: Deploying PHP applications on AWS ←
Dmitry Zbarski
Senior cloud integration engineer
Rogue Wave Software
Boaz Ziniman
Senior director, cloud strategy
Rogue Wave Software
4
Agenda
1. Introduction to deployment
2. PHP application deployment options
3. Demos
4. Q&A
Introduction to
deployment
6
What is deployment?
“Software deployment is all of the activities that make
a software system available for use.”
• OS level configuration (i.e., NFS mounts)
• Web server (Apache) configuration
• PHP installation and configuration including PHP extensions
• Delivery of code and/or data files to server(s)
• Create/upgrade database schema and/or data
7
What is a good deployment process?
• Simple and fast
• Consistent and repeatable
• Automation
• Continuous
• Reduce the human error factor
• Perform as many steps as possible
Poll #1
Which of the following cloud
providers do you use?
- Amazon Web Services
- Google Cloud Platform
- Microsoft Azure
- DigitalOcean
- None of the above or do not use a cloud provider
PHP application
deployment options
10
Choose what’s right for you
• Manual deployment
• rsync and other basic copy methods
• Git – get code from Git repository
• S3 – get code from AWS S3 bucket
• AMI snapshot (aka “Frozen pizza” method)
• Shared file system- NFS/EFS
• AWS Beanstalk
• Zend Deployment
11
Manual deployment
• Copy files manually to server over network
• Best practice – Use Composer to satisfy dependencies
• Git and S3 are special cases in which delivery of files is changed
• Upon successful deployment, you can create AMI to ease
deployment of multiple instances (if needed)
• Probably easiest method
• Everything is manual – easy control of each step and commandPros
• Everything is manual – easy to make mistakes and/or forget something
• Server replacement/addition may require manual rebuild from scratch
• Auto scaling in most cases is impossible
• Complex to setup CI/CD (Git – hooks can be used; S3 – SNS can be used)
Cons
12
Shared file system (EFS) deployment
• Elastic File System(EFS) - A service on AWS that allows mounting network file
system (using NFSv4.1 protocol) on one or more instances
• To use it - Create a file system in the AWS Console and then mount it on any
instance where you want to use it
• All files stored on single file system are shared between all instances that has
that file system mounted
• Pay per data size stored on file system
• Update files on EFS and all instances immediately get new files
• Only one copy of files (in cases of multiple instances)
• Easy management
Pros
• Single point of failure
• Only accessible by instances in same VPC
• Performance - In the case of a large number of instances (solvable by
system)
• File locking is not supported
Cons
13
AWS Beanstalk
• A PaaS solution that can deploy PHP applications
• Upload your code and AWS Beanstalk will take care of everything else (load
balancer, instances, configuration)
• All PHP options are configurable
• Supports deploying Docker containers too, therefore you can pack your PHP
application as a Docker container and deploy it
• You do not have to manage instances at all
• Easy to setup
• Supports Docker
Pros
• Customizations are harder to implement
• Vendor lock-inCons
14
Zend Deployment
• Developed by Zend, supports packaging of both applications and libraries
• Applications and libraries are packaged in ZPK files
• Supports optional scripts that can be run on install/remove of application
• Supports Zend Server cluster out-of-box
• Has many different hooks that can be customized (pre-install, post-install etc.)
• Allows rollback of applications one version backwards
• Very customizable
• Zend Server AMI allows specifying ZPK to deploy in user data
• Supports requirements of PHP extensions and libraries
• Supports parameters which can be passed during deployment
• Build of ZPK to deploy can be easily automated using scripts
• Can be used in CI/CD flow to fully automate deployment
Pros
• Supported only by Zend Server
• Can be complex
• You must learn to use it
Cons
Poll #2
What do you think is the biggest
barrier to cloud deployment for
organizations?
- Cost
- Lack of security or privacy
- Loss of control over systems
- Lack of knowledge or skills
16
Watch on demand
• Watch this webinar on demand
• Read the recap blog to see the results of the
polls and Q&A session
Questions?
Building the perfect PHP app for the enterprise
Episode 5: Deploying PHP apps
on the cloud
Boaz Ziniman & Dmitry Zbarski

More Related Content

PPTX
Resolving problems & high availability
PPTX
Keeping up with PHP
PPTX
Fundamentals of performance tuning PHP on IBM i
PPTX
Application Performance Management
PPTX
Optimizing performance
PPTX
Accelerating Software Development with NetApp's P4flex
PDF
Automated Security Testing
PDF
DevOps For Solo Developers
Resolving problems & high availability
Keeping up with PHP
Fundamentals of performance tuning PHP on IBM i
Application Performance Management
Optimizing performance
Accelerating Software Development with NetApp's P4flex
Automated Security Testing
DevOps For Solo Developers

What's hot (20)

PPTX
Using Perforce Data in Development at Tableau
PPTX
Supporting Digital Media Workflows in the Cloud with Perforce Helix
PPTX
Lateral Movement with PowerShell
PPTX
Hacker Proof web app using Functional tests
PPTX
Security testautomation
PDF
Censum - Garbage Collection Log Analyser
PPTX
Securing the Helix Platform at Citrix
PPTX
From ClearCase to Perforce Helix: Breakthroughs in Scalability at Intel
PPTX
How to Reduce Database Load with Sparse Branches
PPTX
The OWASP Zed Attack Proxy
PPTX
Global Software Development powered by Perforce
PDF
The Final Frontier
PPTX
Engineering-Best-Practices
PPTX
Automating security tests for Continuous Integration
PPT
Case study
PPTX
Profiling and Tuning a Web Application - The Dirty Details
PPTX
URP? Excuse You! The Three Kafka Metrics You Need to Know
PPTX
Software Testing in a Distributed Environment
PDF
Security Testing using ZAP in SFDC
PDF
IT security for all. Bootcamp slides
Using Perforce Data in Development at Tableau
Supporting Digital Media Workflows in the Cloud with Perforce Helix
Lateral Movement with PowerShell
Hacker Proof web app using Functional tests
Security testautomation
Censum - Garbage Collection Log Analyser
Securing the Helix Platform at Citrix
From ClearCase to Perforce Helix: Breakthroughs in Scalability at Intel
How to Reduce Database Load with Sparse Branches
The OWASP Zed Attack Proxy
Global Software Development powered by Perforce
The Final Frontier
Engineering-Best-Practices
Automating security tests for Continuous Integration
Case study
Profiling and Tuning a Web Application - The Dirty Details
URP? Excuse You! The Three Kafka Metrics You Need to Know
Software Testing in a Distributed Environment
Security Testing using ZAP in SFDC
IT security for all. Bootcamp slides
Ad

Viewers also liked (17)

PPTX
методи та форми навчання з учнями
PDF
Achievement Oki
PDF
слова магниты
PDF
Metas da Rede Municipal de Parauapebas - 2013
PDF
BA from Park University
PDF
Mail Clerk course
PDF
COMMON Handouts
PPT
Make Money!! Project Payday!!
PDF
10 Study Tips for Finals
DOC
simz c.v
PDF
PGHTNCON-2016 Seminar at NIMS University
PDF
Apigility-powered API's on IBM i
PPTX
Christian Object Lesson - The Gospel According to a Tea Bag
PPTX
Php internal architecture
PPT
ГРАЖДАНСКО ОБРАЗОВАНИЕ
PPT
PACCAR Investigation of Glass Fiber Reinforced Nylon 6/6 for Automotive Appli...
методи та форми навчання з учнями
Achievement Oki
слова магниты
Metas da Rede Municipal de Parauapebas - 2013
BA from Park University
Mail Clerk course
COMMON Handouts
Make Money!! Project Payday!!
10 Study Tips for Finals
simz c.v
PGHTNCON-2016 Seminar at NIMS University
Apigility-powered API's on IBM i
Christian Object Lesson - The Gospel According to a Tea Bag
Php internal architecture
ГРАЖДАНСКО ОБРАЗОВАНИЕ
PACCAR Investigation of Glass Fiber Reinforced Nylon 6/6 for Automotive Appli...
Ad

Similar to Deploying PHP apps on the cloud (20)

PDF
Best Practices in PHP Application Deployment
PDF
Symfony Live NYC 2014 - Rock Solid Deployment of Symfony Apps
PDF
AWS in Practice
PPTX
Slides from LAX & DEN usergroup meetings
PDF
SymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony Apps
PDF
Deploying PHP Applications to AWS Elastic Beanstalk
PDF
Midwest php 2013 deploying php on paas- why & how
PDF
Build & deploy PHP application (intro level)
PDF
Rock Solid Deployment of Web Applications
PPTX
Moving to the Cloud: AWS, Zend, RightScale
PDF
Building and Deploying PHP Applications, PHPTour 2016
PDF
Write php deploy everywhere tek11
PDF
PHP Cloud Deployment Toolkits
PDF
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
PDF
Way to cloud
PPTX
Cloudjiffy vs AWS ops works
PPTX
Continuous delivery and deployment on AWS
PDF
Deploying Symfony | symfony.cat
PPTX
Delivering High-Availability Web Services with NGINX Plus on AWS
PPTX
Cloudjiffy vs Amazon Elastic Beanstalk
Best Practices in PHP Application Deployment
Symfony Live NYC 2014 - Rock Solid Deployment of Symfony Apps
AWS in Practice
Slides from LAX & DEN usergroup meetings
SymfonyCon Madrid 2014 - Rock Solid Deployment of Symfony Apps
Deploying PHP Applications to AWS Elastic Beanstalk
Midwest php 2013 deploying php on paas- why & how
Build & deploy PHP application (intro level)
Rock Solid Deployment of Web Applications
Moving to the Cloud: AWS, Zend, RightScale
Building and Deploying PHP Applications, PHPTour 2016
Write php deploy everywhere tek11
PHP Cloud Deployment Toolkits
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
Way to cloud
Cloudjiffy vs AWS ops works
Continuous delivery and deployment on AWS
Deploying Symfony | symfony.cat
Delivering High-Availability Web Services with NGINX Plus on AWS
Cloudjiffy vs Amazon Elastic Beanstalk

More from Zend by Rogue Wave Software (20)

PDF
Develop microservices in php
PPTX
Speed and security for your PHP application
PPTX
Building and managing applications fast for IBM i
PDF
Building web APIs in PHP with Zend Expressive
PPTX
To PHP 7 and beyond
PDF
Speed up web APIs with Expressive and Swoole (PHP Day 2018)
PDF
The Sodium crypto library of PHP 7.2 (PHP Day 2018)
PDF
Develop web APIs in PHP using middleware with Expressive (Code Europe)
PDF
Middleware web APIs in PHP 7.x
PPTX
Ongoing management of your PHP 7 application
PDF
Developing web APIs using middleware in PHP 7
PDF
The Docker development template for PHP
PDF
The most exciting features of PHP 7.1
PPTX
Unit testing for project managers
PDF
The new features of PHP 7
PPTX
Data is dead. Long live data!
PPTX
Developing apps faster
PPTX
Getting started with PHP on IBM i
PDF
Continuous Delivery e-book
PDF
Standard CMS on standard PHP Stack - Drupal and Zend Server
Develop microservices in php
Speed and security for your PHP application
Building and managing applications fast for IBM i
Building web APIs in PHP with Zend Expressive
To PHP 7 and beyond
Speed up web APIs with Expressive and Swoole (PHP Day 2018)
The Sodium crypto library of PHP 7.2 (PHP Day 2018)
Develop web APIs in PHP using middleware with Expressive (Code Europe)
Middleware web APIs in PHP 7.x
Ongoing management of your PHP 7 application
Developing web APIs using middleware in PHP 7
The Docker development template for PHP
The most exciting features of PHP 7.1
Unit testing for project managers
The new features of PHP 7
Data is dead. Long live data!
Developing apps faster
Getting started with PHP on IBM i
Continuous Delivery e-book
Standard CMS on standard PHP Stack - Drupal and Zend Server

Recently uploaded (20)

PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
How Creative Agencies Leverage Project Management Software.pdf
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
AI in Product Development-omnex systems
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
top salesforce developer skills in 2025.pdf
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PPTX
L1 - Introduction to python Backend.pptx
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PPTX
history of c programming in notes for students .pptx
PPTX
Transform Your Business with a Software ERP System
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Design an Analysis of Algorithms I-SECS-1021-03
How Creative Agencies Leverage Project Management Software.pdf
How to Migrate SBCGlobal Email to Yahoo Easily
Softaken Excel to vCard Converter Software.pdf
AI in Product Development-omnex systems
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Odoo Companies in India – Driving Business Transformation.pdf
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PTS Company Brochure 2025 (1).pdf.......
top salesforce developer skills in 2025.pdf
Upgrade and Innovation Strategies for SAP ERP Customers
L1 - Introduction to python Backend.pptx
2025 Textile ERP Trends: SAP, Odoo & Oracle
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
history of c programming in notes for students .pptx
Transform Your Business with a Software ERP System
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Design an Analysis of Algorithms II-SECS-1021-03
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Internet Downloader Manager (IDM) Crack 6.42 Build 41

Deploying PHP apps on the cloud

  • 1. Building the perfect PHP app for the enterprise Episode 5: Deploying PHP apps on the cloud Boaz Ziniman & Dmitry Zbarski
  • 2. 2 Series overview Keeping up with PHP Developing apps faster Resolving problems and high availability Optimizing performance Now: Deploying PHP applications on AWS ←
  • 3. Dmitry Zbarski Senior cloud integration engineer Rogue Wave Software Boaz Ziniman Senior director, cloud strategy Rogue Wave Software
  • 4. 4 Agenda 1. Introduction to deployment 2. PHP application deployment options 3. Demos 4. Q&A
  • 6. 6 What is deployment? “Software deployment is all of the activities that make a software system available for use.” • OS level configuration (i.e., NFS mounts) • Web server (Apache) configuration • PHP installation and configuration including PHP extensions • Delivery of code and/or data files to server(s) • Create/upgrade database schema and/or data
  • 7. 7 What is a good deployment process? • Simple and fast • Consistent and repeatable • Automation • Continuous • Reduce the human error factor • Perform as many steps as possible
  • 8. Poll #1 Which of the following cloud providers do you use? - Amazon Web Services - Google Cloud Platform - Microsoft Azure - DigitalOcean - None of the above or do not use a cloud provider
  • 10. 10 Choose what’s right for you • Manual deployment • rsync and other basic copy methods • Git – get code from Git repository • S3 – get code from AWS S3 bucket • AMI snapshot (aka “Frozen pizza” method) • Shared file system- NFS/EFS • AWS Beanstalk • Zend Deployment
  • 11. 11 Manual deployment • Copy files manually to server over network • Best practice – Use Composer to satisfy dependencies • Git and S3 are special cases in which delivery of files is changed • Upon successful deployment, you can create AMI to ease deployment of multiple instances (if needed) • Probably easiest method • Everything is manual – easy control of each step and commandPros • Everything is manual – easy to make mistakes and/or forget something • Server replacement/addition may require manual rebuild from scratch • Auto scaling in most cases is impossible • Complex to setup CI/CD (Git – hooks can be used; S3 – SNS can be used) Cons
  • 12. 12 Shared file system (EFS) deployment • Elastic File System(EFS) - A service on AWS that allows mounting network file system (using NFSv4.1 protocol) on one or more instances • To use it - Create a file system in the AWS Console and then mount it on any instance where you want to use it • All files stored on single file system are shared between all instances that has that file system mounted • Pay per data size stored on file system • Update files on EFS and all instances immediately get new files • Only one copy of files (in cases of multiple instances) • Easy management Pros • Single point of failure • Only accessible by instances in same VPC • Performance - In the case of a large number of instances (solvable by system) • File locking is not supported Cons
  • 13. 13 AWS Beanstalk • A PaaS solution that can deploy PHP applications • Upload your code and AWS Beanstalk will take care of everything else (load balancer, instances, configuration) • All PHP options are configurable • Supports deploying Docker containers too, therefore you can pack your PHP application as a Docker container and deploy it • You do not have to manage instances at all • Easy to setup • Supports Docker Pros • Customizations are harder to implement • Vendor lock-inCons
  • 14. 14 Zend Deployment • Developed by Zend, supports packaging of both applications and libraries • Applications and libraries are packaged in ZPK files • Supports optional scripts that can be run on install/remove of application • Supports Zend Server cluster out-of-box • Has many different hooks that can be customized (pre-install, post-install etc.) • Allows rollback of applications one version backwards • Very customizable • Zend Server AMI allows specifying ZPK to deploy in user data • Supports requirements of PHP extensions and libraries • Supports parameters which can be passed during deployment • Build of ZPK to deploy can be easily automated using scripts • Can be used in CI/CD flow to fully automate deployment Pros • Supported only by Zend Server • Can be complex • You must learn to use it Cons
  • 15. Poll #2 What do you think is the biggest barrier to cloud deployment for organizations? - Cost - Lack of security or privacy - Loss of control over systems - Lack of knowledge or skills
  • 16. 16 Watch on demand • Watch this webinar on demand • Read the recap blog to see the results of the polls and Q&A session
  • 18. Building the perfect PHP app for the enterprise Episode 5: Deploying PHP apps on the cloud Boaz Ziniman & Dmitry Zbarski