SlideShare a Scribd company logo
1 of 20
Download to read offline
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

What's hot

Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20Michael Lihs
 
Test-Driven Infrastructure with Chef
Test-Driven Infrastructure with ChefTest-Driven Infrastructure with Chef
Test-Driven Infrastructure with ChefMichael Lihs
 
Package Management on Windows with Chocolatey
Package Management on Windows with ChocolateyPackage Management on Windows with Chocolatey
Package Management on Windows with ChocolateyPuppet
 
Steamlining your puppet development workflow
Steamlining your puppet development workflowSteamlining your puppet development workflow
Steamlining your puppet development workflowTomas Doran
 
Build Your Own SaaS using Docker
Build Your Own SaaS using DockerBuild Your Own SaaS using Docker
Build Your Own SaaS using DockerJulien Barbier
 
Node.js, Vagrant, Chef, and Mathoid @ Benetech
Node.js, Vagrant, Chef, and Mathoid @ BenetechNode.js, Vagrant, Chef, and Mathoid @ Benetech
Node.js, Vagrant, Chef, and Mathoid @ BenetechChristopher Bumgardner
 
Vagrant + Docker provider [+Puppet]
Vagrant + Docker provider [+Puppet]Vagrant + Docker provider [+Puppet]
Vagrant + Docker provider [+Puppet]Nicolas Poggi
 
Locally it worked! virtualizing docker
Locally it worked! virtualizing dockerLocally it worked! virtualizing docker
Locally it worked! virtualizing dockerSascha Brinkmann
 
Using Vagrant
Using VagrantUsing Vagrant
Using Vagrantandygale
 
Delivery Pipeline for Windows Machines
Delivery Pipeline for Windows MachinesDelivery Pipeline for Windows Machines
Delivery Pipeline for Windows MachinesDmitry Buzdin
 
Baking docker using chef
Baking docker using chefBaking docker using chef
Baking docker using chefMukta Aphale
 
Improve your Java Environment with Docker
Improve your Java Environment with DockerImprove your Java Environment with Docker
Improve your Java Environment with DockerHanoiJUG
 
Docker and Puppet for Continuous Integration
Docker and Puppet for Continuous IntegrationDocker and Puppet for Continuous Integration
Docker and Puppet for Continuous IntegrationGiacomo Vacca
 
Pod Sandbox workflow creation from Dockershim
Pod Sandbox workflow creation from DockershimPod Sandbox workflow creation from Dockershim
Pod Sandbox workflow creation from DockershimVictor Morales
 
Ci For The Web 2.0 Guy Or Gal
Ci For The Web 2.0 Guy Or GalCi For The Web 2.0 Guy Or Gal
Ci For The Web 2.0 Guy Or GalChad Woolley
 
Drone your Ansible
Drone your AnsibleDrone your Ansible
Drone your AnsibleDennis Rowe
 
PuppetCamp SEA 1 - Using Vagrant, Puppet, Testing & Hadoop
PuppetCamp SEA 1 - Using Vagrant, Puppet, Testing & HadoopPuppetCamp SEA 1 - Using Vagrant, Puppet, Testing & Hadoop
PuppetCamp SEA 1 - Using Vagrant, Puppet, Testing & HadoopWalter Heck
 

What's hot (20)

Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
 
Test-Driven Infrastructure with Chef
Test-Driven Infrastructure with ChefTest-Driven Infrastructure with Chef
Test-Driven Infrastructure with Chef
 
Package Management on Windows with Chocolatey
Package Management on Windows with ChocolateyPackage Management on Windows with Chocolatey
Package Management on Windows with Chocolatey
 
Steamlining your puppet development workflow
Steamlining your puppet development workflowSteamlining your puppet development workflow
Steamlining your puppet development workflow
 
Build Your Own SaaS using Docker
Build Your Own SaaS using DockerBuild Your Own SaaS using Docker
Build Your Own SaaS using Docker
 
Hacking on WildFly 9
Hacking on WildFly 9Hacking on WildFly 9
Hacking on WildFly 9
 
Node.js, Vagrant, Chef, and Mathoid @ Benetech
Node.js, Vagrant, Chef, and Mathoid @ BenetechNode.js, Vagrant, Chef, and Mathoid @ Benetech
Node.js, Vagrant, Chef, and Mathoid @ Benetech
 
Vagrant + Docker provider [+Puppet]
Vagrant + Docker provider [+Puppet]Vagrant + Docker provider [+Puppet]
Vagrant + Docker provider [+Puppet]
 
Locally it worked! virtualizing docker
Locally it worked! virtualizing dockerLocally it worked! virtualizing docker
Locally it worked! virtualizing docker
 
Using Vagrant
Using VagrantUsing Vagrant
Using Vagrant
 
Delivery Pipeline for Windows Machines
Delivery Pipeline for Windows MachinesDelivery Pipeline for Windows Machines
Delivery Pipeline for Windows Machines
 
Baking docker using chef
Baking docker using chefBaking docker using chef
Baking docker using chef
 
Vagrant and CentOS 7
Vagrant and CentOS 7Vagrant and CentOS 7
Vagrant and CentOS 7
 
Improve your Java Environment with Docker
Improve your Java Environment with DockerImprove your Java Environment with Docker
Improve your Java Environment with Docker
 
Docker and Puppet for Continuous Integration
Docker and Puppet for Continuous IntegrationDocker and Puppet for Continuous Integration
Docker and Puppet for Continuous Integration
 
Perlbrew
PerlbrewPerlbrew
Perlbrew
 
Pod Sandbox workflow creation from Dockershim
Pod Sandbox workflow creation from DockershimPod Sandbox workflow creation from Dockershim
Pod Sandbox workflow creation from Dockershim
 
Ci For The Web 2.0 Guy Or Gal
Ci For The Web 2.0 Guy Or GalCi For The Web 2.0 Guy Or Gal
Ci For The Web 2.0 Guy Or Gal
 
Drone your Ansible
Drone your AnsibleDrone your Ansible
Drone your Ansible
 
PuppetCamp SEA 1 - Using Vagrant, Puppet, Testing & Hadoop
PuppetCamp SEA 1 - Using Vagrant, Puppet, Testing & HadoopPuppetCamp SEA 1 - Using Vagrant, Puppet, Testing & Hadoop
PuppetCamp SEA 1 - Using Vagrant, Puppet, Testing & Hadoop
 

Similar to Automated Infrastructure and Application Management

Vagrant Binding JayDay 2013
Vagrant Binding JayDay 2013Vagrant Binding JayDay 2013
Vagrant Binding JayDay 2013Hendrik Ebbers
 
Linux containers and docker
Linux containers and dockerLinux containers and docker
Linux containers and dockerFabio Fumarola
 
Using Vagrant, Puppet, Testing & Hadoop
Using Vagrant, Puppet, Testing & HadoopUsing Vagrant, Puppet, Testing & Hadoop
Using Vagrant, Puppet, Testing & HadoopPuppet
 
PuppetCamp SEA 1 - Using Vagrant, Puppet, Testing & Hadoop
PuppetCamp SEA 1 - Using Vagrant, Puppet, Testing & HadoopPuppetCamp SEA 1 - Using Vagrant, Puppet, Testing & Hadoop
PuppetCamp SEA 1 - Using Vagrant, Puppet, Testing & HadoopOlinData
 
2 Linux Container and Docker
2 Linux Container and Docker2 Linux Container and Docker
2 Linux Container and DockerFabio Fumarola
 
Develop with linux containers and docker
Develop with linux containers and dockerDevelop with linux containers and docker
Develop with linux containers and dockerFabio Fumarola
 
Detailed Introduction To Docker
Detailed Introduction To DockerDetailed Introduction To Docker
Detailed Introduction To Dockernklmish
 
Improved development workflows using vagrant
Improved development workflows using vagrantImproved development workflows using vagrant
Improved development workflows using vagrantMakis Asimidis
 
Docker-Hanoi @DKT , Presentation about Docker Ecosystem
Docker-Hanoi @DKT , Presentation about Docker EcosystemDocker-Hanoi @DKT , Presentation about Docker Ecosystem
Docker-Hanoi @DKT , Presentation about Docker EcosystemVan Phuc
 
Avoiding surprises with Chef and Vagrant
Avoiding surprises with Chef and VagrantAvoiding surprises with Chef and Vagrant
Avoiding surprises with Chef and Vagrantandygale
 
Improving WordPress Development and Deployments with Docker
Improving WordPress Development and Deployments with DockerImproving WordPress Development and Deployments with Docker
Improving WordPress Development and Deployments with DockerBrett Palmer
 
Pipelining DevOps with Jenkins and AWS
Pipelining DevOps with Jenkins and AWSPipelining DevOps with Jenkins and AWS
Pipelining DevOps with Jenkins and AWSJimmy Ray
 
Introduction to Containers - SQL Server and Docker
Introduction to Containers - SQL Server and DockerIntroduction to Containers - SQL Server and Docker
Introduction to Containers - SQL Server and DockerChris Taylor
 
Sebastien goasguen cloud stack and docker
Sebastien goasguen   cloud stack and dockerSebastien goasguen   cloud stack and docker
Sebastien goasguen cloud stack and dockerShapeBlue
 
Killer Docker Workflows for Development
Killer Docker Workflows for DevelopmentKiller Docker Workflows for Development
Killer Docker Workflows for DevelopmentChris Tankersley
 

Similar to Automated Infrastructure and Application Management (20)

Vagrant Binding JayDay 2013
Vagrant Binding JayDay 2013Vagrant Binding JayDay 2013
Vagrant Binding JayDay 2013
 
Linux containers and docker
Linux containers and dockerLinux containers and docker
Linux containers and docker
 
Using Vagrant, Puppet, Testing & Hadoop
Using Vagrant, Puppet, Testing & HadoopUsing Vagrant, Puppet, Testing & Hadoop
Using Vagrant, Puppet, Testing & Hadoop
 
PuppetCamp SEA 1 - Using Vagrant, Puppet, Testing & Hadoop
PuppetCamp SEA 1 - Using Vagrant, Puppet, Testing & HadoopPuppetCamp SEA 1 - Using Vagrant, Puppet, Testing & Hadoop
PuppetCamp SEA 1 - Using Vagrant, Puppet, Testing & Hadoop
 
Vagrant & Docker
Vagrant & DockerVagrant & Docker
Vagrant & Docker
 
2 Linux Container and Docker
2 Linux Container and Docker2 Linux Container and Docker
2 Linux Container and Docker
 
Develop with linux containers and docker
Develop with linux containers and dockerDevelop with linux containers and docker
Develop with linux containers and docker
 
Detailed Introduction To Docker
Detailed Introduction To DockerDetailed Introduction To Docker
Detailed Introduction To Docker
 
Vagrant + Docker
Vagrant + DockerVagrant + Docker
Vagrant + Docker
 
Vagrant For DevOps
Vagrant For DevOpsVagrant For DevOps
Vagrant For DevOps
 
Instant ColdFusion with Vagrant
Instant ColdFusion with VagrantInstant ColdFusion with Vagrant
Instant ColdFusion with Vagrant
 
Improved development workflows using vagrant
Improved development workflows using vagrantImproved development workflows using vagrant
Improved development workflows using vagrant
 
Docker-Hanoi @DKT , Presentation about Docker Ecosystem
Docker-Hanoi @DKT , Presentation about Docker EcosystemDocker-Hanoi @DKT , Presentation about Docker Ecosystem
Docker-Hanoi @DKT , Presentation about Docker Ecosystem
 
Instant ColdFusion with Vagrant
Instant ColdFusion with VagrantInstant ColdFusion with Vagrant
Instant ColdFusion with Vagrant
 
Avoiding surprises with Chef and Vagrant
Avoiding surprises with Chef and VagrantAvoiding surprises with Chef and Vagrant
Avoiding surprises with Chef and Vagrant
 
Improving WordPress Development and Deployments with Docker
Improving WordPress Development and Deployments with DockerImproving WordPress Development and Deployments with Docker
Improving WordPress Development and Deployments with Docker
 
Pipelining DevOps with Jenkins and AWS
Pipelining DevOps with Jenkins and AWSPipelining DevOps with Jenkins and AWS
Pipelining DevOps with Jenkins and AWS
 
Introduction to Containers - SQL Server and Docker
Introduction to Containers - SQL Server and DockerIntroduction to Containers - SQL Server and Docker
Introduction to Containers - SQL Server and Docker
 
Sebastien goasguen cloud stack and docker
Sebastien goasguen   cloud stack and dockerSebastien goasguen   cloud stack and docker
Sebastien goasguen cloud stack and docker
 
Killer Docker Workflows for Development
Killer Docker Workflows for DevelopmentKiller Docker Workflows for Development
Killer Docker Workflows for Development
 

More from Clark Everetts

IBM Watson & PHP, A Practical Demonstration
IBM Watson & PHP, A Practical DemonstrationIBM Watson & PHP, A Practical Demonstration
IBM Watson & PHP, A Practical DemonstrationClark Everetts
 
Analysis of-quality-of-pkgs-in-packagist-univ-20171024
Analysis of-quality-of-pkgs-in-packagist-univ-20171024Analysis of-quality-of-pkgs-in-packagist-univ-20171024
Analysis of-quality-of-pkgs-in-packagist-univ-20171024Clark Everetts
 
Php Dependency Management with Composer ZendCon 2017
Php Dependency Management with Composer ZendCon 2017Php Dependency Management with Composer ZendCon 2017
Php Dependency Management with Composer ZendCon 2017Clark Everetts
 
Php Dependency Management with Composer ZendCon 2016
Php Dependency Management with Composer ZendCon 2016Php Dependency Management with Composer ZendCon 2016
Php Dependency Management with Composer ZendCon 2016Clark Everetts
 
Sunshine php practical-zf1-zf2-migration
Sunshine php practical-zf1-zf2-migrationSunshine php practical-zf1-zf2-migration
Sunshine php practical-zf1-zf2-migrationClark Everetts
 
Zend con practical-zf1-zf2-migration
Zend con practical-zf1-zf2-migrationZend con practical-zf1-zf2-migration
Zend con practical-zf1-zf2-migrationClark Everetts
 
Zend con what-i-learned-about-mobile-first
Zend con what-i-learned-about-mobile-firstZend con what-i-learned-about-mobile-first
Zend con what-i-learned-about-mobile-firstClark Everetts
 

More from Clark Everetts (7)

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

Recently uploaded

Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Principled Technologies
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 

Recently uploaded (20)

Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 

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!