automating system deployment with deploy · pdf file–guidance from vmware, citrix, red...
TRANSCRIPT
Automating Cloud Testing and Deployment with Deploy
Monday – 9/16/2013 5:10pm – Room Strand 12A
Kay Williams - Project Lead
deploy
Background
• Software Deployment Platform
– System and Application
• Started in 2004
• Community project
– Contributors from Msft, Amazon, Ebay, EMC, HP
– Guidance from VMware, Citrix, Red Hat
• Currently supports CentOS/RHEL
www.deployproject.org Deploy Project 2
Deploy Overview
Package
Test
Deploy
Maintain
www.deployproject.org Deploy Project 3
Deployment Automation Supports: • Packaging software • Managing configuration • Testing install/update • Deploying/maintaining
production systems
Integrated process: • Seamless • Continuous • Reliable
Why Use Deploy?
• Complete – Installation and Update – Desktops and Servers – Applications, Configuration and Operating Systems – Physical, Virtual and Cloud – Automated Testing
• Standard – Integrates with Existing Deployment Infrastructure
• Open – Open Source, Nonprofit, Vendor-Neutral – Flexible Platform
www.deployproject.org Deploy Project 4
How Does Deploy Work?
1. Write a definition – Everything needed to
build, test, deploy and maintain a system
– Start with templates for config, testing, and deployment
2. Run Deploy – Command line
www.deployproject.org Deploy Project 5
# deploy web-server.definition
web-server.definition
<main>…
<repos>…
<config-rpms>…
<test-install>…
<test-update>…
<publish>…
Deploy Process Overview
www.deployproject.org Deploy Project 6
Step 2: Tests System
Installation and Updates
Step 1: Creates a System
Repository
Step 3: Deploys
Production Systems
Step 4: Updates
Production Systems
Test Package Deploy Maintain
Step 1: Creates a System Repository
• Essentially a “mini OS distribution”
– Packages
– Installation images
• Everything needed to install and update a system reliably
www.deployproject.org Deploy Project 7
System Repository
install.img
Step 2: Tests Installation and Updates
• Creates test machines – Test Install – Test Update
• Uses deployment templates – Environment specific
(physical, virtual, cloud) – Install, delete, update, etc.
• Runs test scripts – Package installation,
updates and removal – User-provided scripts
www.deployproject.org Deploy Project 8
Test Install
Test Update
Step 3: Deploys to Production Systems
• Publishes system repository to a web server location
• Users can…
– Deploy as usual
• Network installation, DVD, Enterprise management system, etc.
Or
• Use Deploy to automate deployment
www.deployproject.org Deploy Project 9
Deploy
Publish
Step 4: Updates Production Systems
• As time goes on… – Rerun Deploy to update system
repository
• Users can… – Rely on YUM to pull updates on
scheduled basis Or
– Use Deploy to push updates
• Yum “sync” plugin – Replicates packages from
system repository to production machines
www.deployproject.org Deploy Project 10
Update
Demo Overview
www.deployproject.org Deploy Project 11
• Review Example Definition
– Drupal Server Configuration Template
– Libvirt Deployment Template
• Create Drupal Server
• Review Drupal Server Results
• Update Drupal Server
– Windows Azure Deployment Template
Demo
Drupal Server Example
www.deployproject.org Deploy Project 12
Wrap-Up
• Visit our booth
• Visit www.deployproject.org
– Download
– Documentation
– Mailing Lists
• Questions?
www.deployproject.org Deploy Project 13