SlideShare a Scribd company logo
1 
Automated Infrastructure and 
Application Management 
Clark Everetts, Zend Technologies, Inc. 
ZendCon - 30 Oct 2014
2 
Hi! 
Clark Everetts 
• Zend Technologies, Inc. 
• Sr. Professional Services Consultant 
– Software Architecture Audits / Performance Audits 
– Continuous Delivery Assessments 
– Migrations (PHP, ZF, etc.) 
– Training: PHP, ZF 
• Past Life: missile interceptor launch control ; C&DH for International Space Station 
• Co-author with Michael Kimsal of php/architect’s PHP Job Hunter’s Handbook 
Enough about me…
3 
SO, WHAT’S YOUR PROBLEM?
4 
Managing application infrastructure / apps 
• Server maintenance/repair, application deployments 
• Often manual process 
• Dependencies, multiple people needed 
• Tedious 
• Error prone 
• Late nights troubleshooting self-inflicted wounds 
If your process is manual, at best it will be 
slow. At worst, it will be a living nightmare.
5 
Stop the Madness! Automate! 
Standardize, Make Repeatable & Reliable, Process: 
• Well-understood, built through collaboration 
• Controlled through Versioning 
• Testable in safe environments 
• Infrastructure Solution: Chef Cookbook 
• App Deployment Solution: CLI Client SDK 
• Server and Application Management Solution: WebAPI 
Zend Patterns offers Open-Source Plugins 
for Zend Server-based Infrastructures
6 
Presentation Goals 
What are we going to do today? 
• Look at Zend Patterns on GitHub - https://github.com/zend-patterns 
• Set up a Zend Server-based development environment using 
ZendServerChefCookbook 
• Deploy, (time-permitting: Update, Rollback) an Application using 
ZendServerSDK 
• Time-permitting: Get information about the application using 
ZendServerWebApiModule (here, via ZendServerSDK) 
Open Plugins for Zend Server-based 
Infrastructures
7 
GITHUB TOUR: ZEND PATTERNS
8 
CHEF COOKBOOK
9 
Development Environment: ZendServerChefCookbook 
Prerequisite Steps: 
• Install Vagrant - http://docs.vagrantup.com/v2/installation/index.html 
• Install / update relevant Vagrant Plugins: 
– vagrant-cachier (https://github.com/fgrehm/vagrant-cachier) 
– vagrant-omnibus (https://github.com/opscode/vagrant-omnibus) 
– vagrant-* (https://github.com/mitchellh?tab=repositories) 
– Check for new plugins and also run vagrant plugin update 
• Install VirtualBox (https://www.virtualbox.org/wiki/Downloads) 
• Or, VMWare Fusion/Workstation, Docker, (Hyper-V - Avail. w/ Windows 
8.1) – requires inexpensive plugin from Hashicorp. 
• Install Chef (next slide)
10 
Development Environment: ZendServerChefCookbook 
Install Chef on Your “Workstation”: 
• System Requirements 
(https://docs.getchef.com/chef_system_requirements.html) 
• Supported Platforms 
(https://docs.getchef.com/supported_platforms.html) 
• https://www.getchef.com/chef/choose-your-version/ 
• http://downloads.getchef.com/ 
• Chef Development Kit (http://www.getchef.com/downloads/chef-dk/) 
– chef CLI tool, Client, Zero, Knife, Ohai, Berkshelf, Test Kitchen, 
ChefSpec, FoodCritic 
– Omnibus Installer 
(https://docs.getchef.com/install_omnibus.html) 
• ZendServerChefCookbook (https://github.com/zend-patterns/ 
ZendServerChefCookbook)
11 
Development Environment: ZendServerChefCookbook 
Prerequisites for Node VM: 
• Vagrant Base Box 
• Chef 
• One way to get started is to get a Chef box from VagrantCloud 
– https://vagrantcloud.com/chef 
– https://github.com/opscode/bento 
– https://github.com/opscode/vagrant-omnibus 
– Can also create a base box 
• E.g., config.vm.box = "ubuntu/trusty64“ 
• Configure Cookbook (sit tight; we’ll see it soon)
12 
Development Environment: ZendServerChefCookbook 
Need a vagrant box with Chef 
• Get a box without Chef and install the desired version yourself 
• Install Chef 
• One way to get started is to get a Chef box from VagrantCloud 
– https://vagrantcloud.com/chef 
– https://github.com/opscode/bento 
– https://github.com/opscode/vagrant-omnibus
13 
Development Environment: Vagrant and Chef 
Where to get a vagrant box with Chef? 
• Vagrant can be instructed to install Chef at runtime using the vagrant-omnibus 
plugin 
– https://vagrantcloud.com/chef (in a catalog, updated easily) 
• https://github.com/opscode/bento (Packer templates) 
• https://github.com/opscode/vagrant-omnibus 
• Download chef/ubuntu-14.04 
• Get a box with Chef already included in the base box 
– https://vagrantcloud.com/search?utf8=%E2%9C%93&sort=&p 
rovider=&q=chef 
• Can also download or create a base box yourself 
– https://vagrantcloud.com/ffuenf/boxes/ubuntu-14.04-server-amd64 
– E.g., config.vm.box = "ubuntu/trusty64“
14 
Development Environment: Vagrant Providers 
If you chose the current title layout you should use it in all the slides layout: 
• VirtualBox (part of core) 
• AWS (ships in vagrant-aws plugin) 
• Rackspace (ships in vagrant-rackspace plugin) 
• VMWare Fusion ($79, 2 computers, purchase from Hashicorp) 
• LXC (ships in vagrant-lxc) 
• OpenStack (ships in vagrant-openstack-plugin) 
• Digital Ocean (ships in vagrant-digitalocean) 
• Parallels Desktop (ships in vagrant-parallels) 
• Google Compute Engine (shell, Chef, Puppet) 
Vagrant is an ever-growing ecosystem, 
supporting standalone and cloud.
15 
Vagrant Cachier 
A “common package cache among similar VM instances”: 
• http://fgrehm.viewdocs.io/vagrant-cachier 
• Run vagrant plugin install vagrant-cachier 
• Providers known to work (others might): 
– Vagrant's built in VirtualBox and Docker providers 
– vagrant-lxc 
– VMware providers with NFS enabled 
– vagrant-libvirt 
– vagrant-kvm
16 
COOKBOOK IN ACTION
17 
DEPLOYMENT WITH 
ZENDSERVERSDK
18 
What is this ZendServerSDK, anyway? 
ZF2 CLI application for: 
• Creating zpk (deployment packages) 
• Accessing WebAPI via command line 
• WebAPI 
– http://files.zend.com/help/Zend-Server/zend-server. 
htm#web_api_reference_guide.htm 
• ZendServerSDK 
– https://github.com/zend-patterns/ZendServerSDK 
• Let’s take a look… (github and in action)
19 
ZendServerWebApiModule 
ZF2 Module for accessing Zend Server’s WebAPI 
• Everything in the GUI is really just a front-end to API calls 
– https://github.com/zend-patterns/ZendServerWebApiModule 
• Let’s take a look… (github and in action)
20 
Bye! 
Clark Everetts 
• clark.e@zend.com 
• @clarkphp 
• https://github.com/clarkphp 
• I will add a repository for this talk (with the code to create the VM image, 
and an updated version of these slides) to the above github account. 
• The slides will be available (and updated) on Slideshare/SpeakerDeck. 
Rate the talk at 
https://joind.in/12206 
And…keep in touch!

More Related Content

ODP
It Works On My Machine: Vagrant for Software Development
PDF
Vagrant presentation
PPTX
Vagrant, Chef and TYPO3 - A Love Affair
PPTX
Vagrant and Chef on FOSSASIA 2014
PDF
Docker
PDF
Continuous delivery with jenkins, docker and exoscale
PPTX
Vagrant crash course
PPTX
Automate your Development Environment with Vagrant & Chef
It Works On My Machine: Vagrant for Software Development
Vagrant presentation
Vagrant, Chef and TYPO3 - A Love Affair
Vagrant and Chef on FOSSASIA 2014
Docker
Continuous delivery with jenkins, docker and exoscale
Vagrant crash course
Automate your Development Environment with Vagrant & Chef

What's hot (20)

PDF
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
PDF
Test-Driven Infrastructure with Chef
PPTX
Package Management on Windows with Chocolatey
PDF
Steamlining your puppet development workflow
DOCX
Build Your Own SaaS using Docker
PDF
Hacking on WildFly 9
PPTX
Node.js, Vagrant, Chef, and Mathoid @ Benetech
PDF
Vagrant + Docker provider [+Puppet]
PDF
Locally it worked! virtualizing docker
KEY
Using Vagrant
PDF
Delivery Pipeline for Windows Machines
PPTX
Baking docker using chef
PDF
Improve your Java Environment with Docker
PDF
Docker and Puppet for Continuous Integration
KEY
Perlbrew
PPTX
Pod Sandbox workflow creation from Dockershim
PDF
Ci For The Web 2.0 Guy Or Gal
PDF
Drone your Ansible
PDF
PuppetCamp SEA 1 - Using Vagrant, Puppet, Testing & Hadoop
PPTX
Smarter deployments with octopus deploy
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
Test-Driven Infrastructure with Chef
Package Management on Windows with Chocolatey
Steamlining your puppet development workflow
Build Your Own SaaS using Docker
Hacking on WildFly 9
Node.js, Vagrant, Chef, and Mathoid @ Benetech
Vagrant + Docker provider [+Puppet]
Locally it worked! virtualizing docker
Using Vagrant
Delivery Pipeline for Windows Machines
Baking docker using chef
Improve your Java Environment with Docker
Docker and Puppet for Continuous Integration
Perlbrew
Pod Sandbox workflow creation from Dockershim
Ci For The Web 2.0 Guy Or Gal
Drone your Ansible
PuppetCamp SEA 1 - Using Vagrant, Puppet, Testing & Hadoop
Smarter deployments with octopus deploy
Ad

Similar to Automated Infrastructure and Application Management (20)

PPTX
Devops & Configuration management tools
PDF
Cooking with Chef, Knife, Vagrant and Co
PDF
The future of the php development environment
PDF
The Environment Restaurant
KEY
Using Nagios with Chef
PDF
Antons Kranga Building Agile Infrastructures
KEY
Avoiding surprises with Chef and Vagrant
PDF
Continuous Integration at Mollie
PDF
OpenSlava Infrastructure Automation Patterns
PPT
Managing Servers with Chef
PPTX
Vagrant and chef
PPTX
Industrialization, be fast be furious!
PDF
Chef: Smart infrastructure automation
PDF
Chef for the Symfony developer
PDF
Take Home Your Very Own Free Vagrant CFML Dev Environment
PDF
Take home your very own free Vagrant CFML Dev Environment - Presented at dev....
PDF
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)
PDF
TXLF: Chef- Software Defined Infrastructure Today & Tomorrow
PDF
Instant LAMP Stack with Vagrant and Puppet
PDF
Virtualizing Development
Devops & Configuration management tools
Cooking with Chef, Knife, Vagrant and Co
The future of the php development environment
The Environment Restaurant
Using Nagios with Chef
Antons Kranga Building Agile Infrastructures
Avoiding surprises with Chef and Vagrant
Continuous Integration at Mollie
OpenSlava Infrastructure Automation Patterns
Managing Servers with Chef
Vagrant and chef
Industrialization, be fast be furious!
Chef: Smart infrastructure automation
Chef for the Symfony developer
Take Home Your Very Own Free Vagrant CFML Dev Environment
Take home your very own free Vagrant CFML Dev Environment - Presented at dev....
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)
TXLF: Chef- Software Defined Infrastructure Today & Tomorrow
Instant LAMP Stack with Vagrant and Puppet
Virtualizing Development
Ad

More from Clark Everetts (7)

PDF
IBM Watson & PHP, A Practical Demonstration
PDF
Analysis of-quality-of-pkgs-in-packagist-univ-20171024
PDF
Php Dependency Management with Composer ZendCon 2017
PDF
Php Dependency Management with Composer ZendCon 2016
PDF
Sunshine php practical-zf1-zf2-migration
PDF
Zend con practical-zf1-zf2-migration
PDF
Zend con what-i-learned-about-mobile-first
IBM Watson & PHP, A Practical Demonstration
Analysis of-quality-of-pkgs-in-packagist-univ-20171024
Php Dependency Management with Composer ZendCon 2017
Php Dependency Management with Composer ZendCon 2016
Sunshine php practical-zf1-zf2-migration
Zend con practical-zf1-zf2-migration
Zend con what-i-learned-about-mobile-first

Recently uploaded (20)

PDF
Approach and Philosophy of On baking technology
PPTX
Big Data Technologies - Introduction.pptx
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
MYSQL Presentation for SQL database connectivity
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Modernizing your data center with Dell and AMD
PDF
Machine learning based COVID-19 study performance prediction
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
KodekX | Application Modernization Development
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Approach and Philosophy of On baking technology
Big Data Technologies - Introduction.pptx
NewMind AI Monthly Chronicles - July 2025
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Network Security Unit 5.pdf for BCA BBA.
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
NewMind AI Weekly Chronicles - August'25 Week I
Digital-Transformation-Roadmap-for-Companies.pptx
MYSQL Presentation for SQL database connectivity
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
20250228 LYD VKU AI Blended-Learning.pptx
Modernizing your data center with Dell and AMD
Machine learning based COVID-19 study performance prediction
Advanced methodologies resolving dimensionality complications for autism neur...
The AUB Centre for AI in Media Proposal.docx
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
“AI and Expert System Decision Support & Business Intelligence Systems”
KodekX | Application Modernization Development
Build a system with the filesystem maintained by OSTree @ COSCUP 2025

Automated Infrastructure and Application Management

  • 1. 1 Automated Infrastructure and Application Management Clark Everetts, Zend Technologies, Inc. ZendCon - 30 Oct 2014
  • 2. 2 Hi! Clark Everetts • Zend Technologies, Inc. • Sr. Professional Services Consultant – Software Architecture Audits / Performance Audits – Continuous Delivery Assessments – Migrations (PHP, ZF, etc.) – Training: PHP, ZF • Past Life: missile interceptor launch control ; C&DH for International Space Station • Co-author with Michael Kimsal of php/architect’s PHP Job Hunter’s Handbook Enough about me…
  • 3. 3 SO, WHAT’S YOUR PROBLEM?
  • 4. 4 Managing application infrastructure / apps • Server maintenance/repair, application deployments • Often manual process • Dependencies, multiple people needed • Tedious • Error prone • Late nights troubleshooting self-inflicted wounds If your process is manual, at best it will be slow. At worst, it will be a living nightmare.
  • 5. 5 Stop the Madness! Automate! Standardize, Make Repeatable & Reliable, Process: • Well-understood, built through collaboration • Controlled through Versioning • Testable in safe environments • Infrastructure Solution: Chef Cookbook • App Deployment Solution: CLI Client SDK • Server and Application Management Solution: WebAPI Zend Patterns offers Open-Source Plugins for Zend Server-based Infrastructures
  • 6. 6 Presentation Goals What are we going to do today? • Look at Zend Patterns on GitHub - https://github.com/zend-patterns • Set up a Zend Server-based development environment using ZendServerChefCookbook • Deploy, (time-permitting: Update, Rollback) an Application using ZendServerSDK • Time-permitting: Get information about the application using ZendServerWebApiModule (here, via ZendServerSDK) Open Plugins for Zend Server-based Infrastructures
  • 7. 7 GITHUB TOUR: ZEND PATTERNS
  • 9. 9 Development Environment: ZendServerChefCookbook Prerequisite Steps: • Install Vagrant - http://docs.vagrantup.com/v2/installation/index.html • Install / update relevant Vagrant Plugins: – vagrant-cachier (https://github.com/fgrehm/vagrant-cachier) – vagrant-omnibus (https://github.com/opscode/vagrant-omnibus) – vagrant-* (https://github.com/mitchellh?tab=repositories) – Check for new plugins and also run vagrant plugin update • Install VirtualBox (https://www.virtualbox.org/wiki/Downloads) • Or, VMWare Fusion/Workstation, Docker, (Hyper-V - Avail. w/ Windows 8.1) – requires inexpensive plugin from Hashicorp. • Install Chef (next slide)
  • 10. 10 Development Environment: ZendServerChefCookbook Install Chef on Your “Workstation”: • System Requirements (https://docs.getchef.com/chef_system_requirements.html) • Supported Platforms (https://docs.getchef.com/supported_platforms.html) • https://www.getchef.com/chef/choose-your-version/ • http://downloads.getchef.com/ • Chef Development Kit (http://www.getchef.com/downloads/chef-dk/) – chef CLI tool, Client, Zero, Knife, Ohai, Berkshelf, Test Kitchen, ChefSpec, FoodCritic – Omnibus Installer (https://docs.getchef.com/install_omnibus.html) • ZendServerChefCookbook (https://github.com/zend-patterns/ ZendServerChefCookbook)
  • 11. 11 Development Environment: ZendServerChefCookbook Prerequisites for Node VM: • Vagrant Base Box • Chef • One way to get started is to get a Chef box from VagrantCloud – https://vagrantcloud.com/chef – https://github.com/opscode/bento – https://github.com/opscode/vagrant-omnibus – Can also create a base box • E.g., config.vm.box = "ubuntu/trusty64“ • Configure Cookbook (sit tight; we’ll see it soon)
  • 12. 12 Development Environment: ZendServerChefCookbook Need a vagrant box with Chef • Get a box without Chef and install the desired version yourself • Install Chef • One way to get started is to get a Chef box from VagrantCloud – https://vagrantcloud.com/chef – https://github.com/opscode/bento – https://github.com/opscode/vagrant-omnibus
  • 13. 13 Development Environment: Vagrant and Chef Where to get a vagrant box with Chef? • Vagrant can be instructed to install Chef at runtime using the vagrant-omnibus plugin – https://vagrantcloud.com/chef (in a catalog, updated easily) • https://github.com/opscode/bento (Packer templates) • https://github.com/opscode/vagrant-omnibus • Download chef/ubuntu-14.04 • Get a box with Chef already included in the base box – https://vagrantcloud.com/search?utf8=%E2%9C%93&sort=&p rovider=&q=chef • Can also download or create a base box yourself – https://vagrantcloud.com/ffuenf/boxes/ubuntu-14.04-server-amd64 – E.g., config.vm.box = "ubuntu/trusty64“
  • 14. 14 Development Environment: Vagrant Providers If you chose the current title layout you should use it in all the slides layout: • VirtualBox (part of core) • AWS (ships in vagrant-aws plugin) • Rackspace (ships in vagrant-rackspace plugin) • VMWare Fusion ($79, 2 computers, purchase from Hashicorp) • LXC (ships in vagrant-lxc) • OpenStack (ships in vagrant-openstack-plugin) • Digital Ocean (ships in vagrant-digitalocean) • Parallels Desktop (ships in vagrant-parallels) • Google Compute Engine (shell, Chef, Puppet) Vagrant is an ever-growing ecosystem, supporting standalone and cloud.
  • 15. 15 Vagrant Cachier A “common package cache among similar VM instances”: • http://fgrehm.viewdocs.io/vagrant-cachier • Run vagrant plugin install vagrant-cachier • Providers known to work (others might): – Vagrant's built in VirtualBox and Docker providers – vagrant-lxc – VMware providers with NFS enabled – vagrant-libvirt – vagrant-kvm
  • 16. 16 COOKBOOK IN ACTION
  • 17. 17 DEPLOYMENT WITH ZENDSERVERSDK
  • 18. 18 What is this ZendServerSDK, anyway? ZF2 CLI application for: • Creating zpk (deployment packages) • Accessing WebAPI via command line • WebAPI – http://files.zend.com/help/Zend-Server/zend-server. htm#web_api_reference_guide.htm • ZendServerSDK – https://github.com/zend-patterns/ZendServerSDK • Let’s take a look… (github and in action)
  • 19. 19 ZendServerWebApiModule ZF2 Module for accessing Zend Server’s WebAPI • Everything in the GUI is really just a front-end to API calls – https://github.com/zend-patterns/ZendServerWebApiModule • Let’s take a look… (github and in action)
  • 20. 20 Bye! Clark Everetts • clark.e@zend.com • @clarkphp • https://github.com/clarkphp • I will add a repository for this talk (with the code to create the VM image, and an updated version of these slides) to the above github account. • The slides will be available (and updated) on Slideshare/SpeakerDeck. Rate the talk at https://joind.in/12206 And…keep in touch!