Continuous Delivery of Software with IBM
Transcription
Continuous Delivery of Software with IBM
Continuous Delivery of Software with IBM DevOps Solution Gopal R Kempaiah Country Manager Technical Sales IBM Systems Addressing delivery challenges Water-SCRUM-Fall? Customers Dev & Test Teams Line of Business Gap Desire for fast and continuous innovation Requirements Addressed by... Agile Dev Operations Team Gap Business Services Code & Tests Addressed by... Dev Ops Agile Development highlights bottlenecks Operations Development Gap Code & Tests Business Services Functional Testing Acceptance Testing Production Test and Ops teams have increased pressures to keep up with increased loads but continue to use waterfall approaches and traditional tools. 3 DevOps: The time is now Four key drivers are making DevOps a 2012 imperative for all organizations. Business Agility Cloud Computing DevOps Operational Discipline Agile Development DevOps is… A set of principles and values that facilitate collaboration across disciplines to… 1. Enable rapid evolution of deployed business services 2. Reduce risk, decrease cost, and improve quality across the portfolio People Process Information http://bit.ly/PRPklm DevOps Principles and Values 1. Collaborate across disciplines 2. Develop and test against a production-like system 3. Deploy frequently using repeatable and reliable processes 4. Continuously monitor and validate operational quality characteristics People Process Information How do we make this happen? Automate everything Track and Plan Automate Version everything Application Artifacts Test everything Application Code Track and Plan everything Dashboard Runtime Environment Definition Version Instrumentation and Configuration Instrument and Audit everything Test Dashboard everything Instrument and Audit 7 Key Concepts 1. Continuous Integration 2. Continuous Delivery 3. Continuous Test 4. Continuous Monitoring 5. Infrastructure as Code 6. Build and Delivery Pipeline 1. Continuous Integration Tools: • Jazz Build Engine • Jenkins, Hudson • Urban Code Deploy http://bit.ly/PRQ4a7 2. Continuous Delivery Tools: • UrbanCode Deploy • SmartCloud Continuous Delivery http://bit.ly/PRQ4a7 IBM SmartCloud Continuous Delivery packaging Extending Agile Development with Continuous Delivery Build -> Publish -> Deploy -> Test Rational Team Concert IBM SmartCloud Provisioning Agile Development Deployment to Virtual Systems 11 3. Continuous Test Tools: • RTW, RIT, RTPS • RQM • Third Party Testing Tools http://bit.ly/PRQ9dQ What is Service Simulation and Test Virtualization? Public Cloud Private Cloud Third-party Services Archives Portals Directory Identity Data Warehouse File systems Mainframe EJB Business Partners Shared Services Messaging Services Enterprise Service Bus Capture & Model App Under Test App Under Test Routing Content Service Collaboration Providers Databases Mainframe applications Third-party Services Packaged apps, messaging services, etc. Virtual Services Heterogeneous Environments System dependencies are a key challenge in setting up test environments: Test Virtualization enables to create “virtual services”: Unavailable/inaccessible: Testing is constrained due to production schedules, security restrictions, contention between teams, or because they are still under development oVirtual Services simulate the behavior of an entire application or system during testing oVirtual Services can run on commodity hardware, private cloud, public cloud oEach developer, tester can easily have their own test environment oDeveloper and testers continue to use their testing tools (Manual, Web performance, UI test automation) Costly 3rd party access fees: Developing or testing against Cloud-based or other shared services can result in costly usage fees Impractical hardware-based virtualization: Systems are either too difficult (mainframes) or remote (thirdparty services) to replicate via traditional hardwarebased virtualization approaches 13 IBM Rational Test Virtualization Solution Test Virtualization is an enabler for continuous Integration Testing Services, applications, systems are introduced into the continuous integration cycle in a prioritized, controlled fashion. Incremental Integration Testing Actual Service/App Virtual Service/App IBM Rational Test Virtualization Solution for continuous integration and testing • • • Avoid time spent installing and configuring software just to discover basic build issues Smoke tests can be integrated as part of the continuous integration process through deployment automation and test virtualization Smoke test results are made available to the entire team to shorten resolution Cloud Environment CRM Order Mgr Virtual Lab VM Catalog Manager Build Assets App Server Virtual Machines •Smoke Tests •Sandboxes •Self-provisionning Product Increment 4. Continuous Monitoring Tools: • SmartCloud Application Performance Management (Tivoli) • PureApplication Systems 5. Infrastructure as Code package "apache2" do package_name node['apache']['package'] end service "apache2" do case node['platform_family'] when "rhel", "fedora", "suse" service_name "httpd" # If restarted/reloaded too quickly httpd has a habit of failing. # This may happen with multiple recipes notifying apache to restart - like # during the initial bootstrap. restart_command "/sbin/service httpd restart && sleep 1" reload_command "/sbin/service httpd reload && sleep 1" Tools: • UCD • IBM SmartCloud Provisioning, IBM Workload Deployer, IBM PureApplication Systems • Chef, Puppet Traditional Dev - Ops Hand-off Installation Instructions RedHat Linux 1. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. 2. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Apache Web Server 1. Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo. 2. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, 3. adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem. Python 1. Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? 2. Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse quam nihil molestiae consequatur, 3. vel illum qui dolorem eum fugiat quo voluptas nulla pariatur? 6. Build & Delivery Pipeline Tools: • All of the above! AND • Rational Asset Manager • RTC, ClearCase • Other SCM systems Delivery Pipeline .jsp .html .java .sh Build, Package, & Unit Test Application Binaries & Platform Configuration Deploy chef recipes Source Artifacts Source Control Management Deployable Artifacts Library Environment Running System Agile Mobile Delivery Multi-app release, status, impact analysis UCR Test execution Test results Test plans, Suites, Cases UCD-P Service calls during testing Service recording Pattern provision Softlayer Pod Softlayer Image Middleware installation, application deployment And iOS Req, Change, Test Links Test suite/case execution RQM RIT UCB Agile Program/Project Plans Build project for iOS and And RTVS Service creation Change links for release, application, initiatives RTC Virtual API services WLAP P Device app for instrumentation RTWMTE Device app for testing Adaptor Device App UCD Agent IIM Client Worklight Schema Liberty DB2 RTW Server 21 www.ibm.com/software/rational www.ibm.com/software/rational © Copyright IBM Corporation 2012. All rights reserved. The information contained in these materials is provided for informational purposes only, and is provided AS IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, these materials. Nothing contained in these materials is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. References in these materials to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in these materials may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. IBM, the IBM logo, Rational, the Rational logo, Telelogic, the Telelogic logo, and other IBM products and services are trademarks of the International Business Machines Corporation, in the United States, other countries or both. Other company, product, or service names may be trademarks or service marks of others.