170 likes | 276 Views
Virtual Appliance Based Products and Agile. James Watt Dell Enterprise Systems and Solutions 3-14-2012. James Watt. Dell Inc., 2007-Present Systems Management Software Group Sr. Software Engineer Agile Coach Multimedia Games, Inc., 2003-2007 SCM Engineer Core Technologies Engineer
E N D
Virtual Appliance Based Products and Agile James Watt Dell Enterprise Systems and Solutions 3-14-2012
James Watt • Dell Inc., 2007-Present • Systems Management Software Group • Sr. Software Engineer • Agile Coach • Multimedia Games, Inc., 2003-2007 • SCM Engineer • Core Technologies Engineer • Game Development Engineer • University of Texas at Austin • B.S. Computer Science - 2003
Agenda • Virtual Appliance Product Stack • Agile CI • Agile Appliance Build Process • ALM Considerations • Virtual Appliance Platform as a Product
Cloud Solutions • “Half-Stack” Targets (Product + Support Libs) • Amazon EC2 • RedHatOpenShift • Google App Engine • Full Stack Targets • Amazon EC2 • Windows Server Cloud Hosting • Dell Cloud-On-Demand • LunaHost, eApps, etc... • Customer Private Cloud
Benefits and Challenges • Appliance Product Benefits • Stable and controlled application runtime environment • Pre-Configured deployment to public cloud and customer private cloud environment • Dedicated and scalable application resources • Ease of transition between hosting providers • Appliance Product Challenges • Appliance Build • Appliance Size • Update
Agile Continuous Integration Challenges • Clean build several times a day • Unit Test and Integration Test execution • Keep the Build Fast
Virtual Appliance Builds failed
YUM/RPM Based Build Strategy Build Under Test (cloned and booted) VMM Product YUM Repo Product Services Postgres, Tomcat, etc... 3rd Party YUM Repo Cent OS 6.3 Baseline/Reference Snapshot Cent OS 6.3
Build Verification Testing (BVT) Build Under Test (cloned and booted) VMM Product YUM Repo Product Services Postgres, Tomcat, etc... 3rd Party YUM Repo Cent OS 6.3 Baseline/Reference Snapshot Cent OS 6.3
Build Verification Testing (BVT) Build Under Test (cloned and booted) Test Harness VMM Product Services Postgres, Tomcat, etc... Cent OS 6.3 BVT Failure Snapshot
Application Lifecycle Impacts • Three Update Streams • Try not to couple them • Build created using software update paths • ALM Impacts
N, N-1 Update Testing N-1 Build Baseline (cloned and booted) VMM Version “N” Product Product Services Update Postgres, Tomcat, etc... “N” 3rd Party Cent OS 6.3
Virtual Appliance Platform as a Product • Appliance has lifecycle of its own • Consistent appliance management experience • Appliance can be shared between multiple applications/products • Can look into getting your appliance 3rd party certified for large enterprises and public sector customers • “Half-Stack” solutions providers are Platform Providers!
Summary • Build Fresh Appliances from Snapshot image baseline for faster builds • Consider using update processes to create your build as well as update it • Leverage Virtualization to capture build failures • Automate N-1 to N upgrade regression testing • Treat the appliance platform as its own product