A T T Dt Ti D a T T Dt Ti D Automated Testing and Devops for Continuous
Total Page:16
File Type:pdf, Size:1020Kb
AtAutoma tdTted Testi ng and DevOps for Continuous Delivery Dan Gahafer July 2012 A Combat Support Agency What is DevOps? • The integration of software development with operations to enable the rapid delivery of new capabilities • Increase release frequency while reducing risk by: – Collaborating across organization – Reducing change scope – Increasing release coordination – Automating!!! Deploy is the new Build 2 A Combat Support Agency Role of Test • Despite the name, Test is not excluded Testers & Developer Sys Admins & Testers • Without integrated Test, DevOps will fail! • Test expands and adapts to support this constant motion – integrated with development and operations teams – graduate to scriptable test cases – support automation Better, faster, more comprehensive coverage 3 A Combat Support Agency Continuous Improvement Agile Software Continuous Continuous Development Integration Delivery Software Forge Jenkins Puppet Forge.mil CDP 4 A Combat Support Agency Distributed Dev Challenge TODAY: • Siloed development environments Shared Asset • Expensive and time consuming start-up Libraries & Repositories • Limit ed exposure, sh ari ng, or re-use Tester • Duplication of effort Developer Developer Shared Test & Development Certifier Tools/Services/Environments User GOAL: • Agile development and testing • Cross-program sharing: software and services • Early and continuous collaboration • Integrated approach to development life cycle • Extensible platform to support delivery of partner capabilities 5 A Combat Support Agency Application Delivery • Requirements Management • Source Code Management Code • Continuous Integration Build TtTest • Cloud / Environment Management • Configuration Management • Package Management 6 A Combat Support Agency Managing Chaos 7 A Combat Support Agency Continuous Delivery Principles – Software development should be a fast, repeatable process. – Versioning does not apply just to code, but to (almost) everything needed to build, deploy, test and release. – To ‘build quality in’, testing should be an integral part of the software delivery process. – Agility requires continuous (actionable) feedback. – Automate build and release with delivery pipelines, turning integrated code into production software. 8 A Combat Support Agency Forge.mil Supports CtiContinuous DliDelivery Future: Every 1‐2 DiDesign Dev weeks (or less) Test Deploy New Capabilities: On‐demand provisioning Policy‐driven governance and automation Seamless environment promotion Current: 2‐6 week Continuous testing release cycles services Design Development Test Deploy 9 A Combat Support Agency Continuous Improvement Agile Software Continuous Continuous Development Integration Delivery Software Forge Jenkins Puppet Forge.mil Forge.mil CDP Testing Services 10 A Combat Support Agency Forge.mil Testing Services Forge.mil Testing Services doesn’t just talk about “What to do” and goes beyond showing “How to do” by providing the tooling to support & enable the industry best practices of Agile Development Continuous Integration Continuous Delivery & Deployment 11 A Combat Support Agency What it Does Forge.mil Testing Services empowers the user with the ability to … C2 System C2 System – collect and share software systems building blocks – use these to create simple to complex scenarios of virtual and physical systems, devices, and appliances – install and configure multiple software C2 System applications – pull, build & install source code – deploy these scenarios into a cloud resource – run tests against a deployment – save, manage and reuse all the compp,yonents, systems and scenarios Virtual Machines Hardware Operating System Software Configurations Test Assets Scenarios Source Code Virtual Services Devices Asset Library 12 A Combat Support Agency Use Case: DMO DIB User: DCGS-DIB Integration Team Challenge: “I need three DIB v3.0 nodes federated tdto reproduce an itiingestion error repor tdbPORted by a POR.” Current Effort: Virtual DTL VM Work Steps Bare Metal Machines Library Identify node types & availability 30 min 15 min 15 min Analyze/adjust resources 30 min 2‐5 hours 35‐50 min Build nodes/validate 7‐9 3‐4 40 min/node hours/node hours/node Configure environment and test 60 min 30 min 30 min Totals 23‐29 hours 12‐18 hours 3 ½ hours 13 A Combat Support Agency Use Case: DIB Solution • Build DIB nodes on demand DIB Test Data • Optionally include test data DIB MDF • Deploy multiple instances DIB Customization Nodes Total Deploy Time 137 minutes JBOSS 241 minutes Java JavaJRE 1.6_u31JRE 346 minutes Java JDK • Exchange components DIB Prerequisites • Include source code Oracle 11g • Use more tools (test, scanning) Red Hat Linux • Leverage other services Result is faster, more comprehensive and lower cost development, testing and deployment of software applications. A Combat Support Agency Use Case: Forge.mil Ops User: Forge.mil Operations Team Challenge: “I need to validate March Forge.mil drop fthEiit”from the Engineering team” Current Effort: Work Steps Effort TestForge Baseline string 8 hours 0.5 hours Integrate TeamForge Components (manual) 8 hours 0.5 hours Integrate CommunityForge Components (auto) 3 hours 0.5 hours Execute functional tests 16 hours 4 hours Mitigate test findings and re‐test 8 hours 6 hours Execute and evaluate Retina scans 3 hours 0.5 hours Execute load tests 12 hours 4 hours Total 58 Hours 16 Hours 15 A Combat Support Agency Moving Forward Information Assurance Scanning Interoperability Testing On -demand Platform as a Service Training Cloud Management Scenario Analysis 16 A Combat Support Agency Contact Info Email us at [email protected] Follow us on Twitter @ForgeMil Join the Forge.mil Group on milBook Join the Forge. mil LinkedIn Group Sign up for Forge.mil updates at http://www.disa.mil/forge/ 17 A Combat Support Agency Qti?Questions? .