Collaborative DevOps Learn the magic of Continuous Delivery. Saurabh Agarwal Product Engineering, DevOps Solutions agarwasa@us.ibm.

Similar documents
DevOps for the Mainframe

IBM Rational DOORS Next Generation

DevOps Best Practices for Mobile Apps. Sanjeev Sharma IBM Software Group

Leveraging Rational Team Concert's build capabilities for Continuous Integration

L'automazione dei test come elemento chiave delle pratiche DevOps

Requirements Management im Kontext von DevOps

Increased Agility with Integration Testing

Enhance visibility into and control over software projects IBM Rational change and release management software

Harnessing the power of software-driven innovation. Martin Nally IBM Rational CTO IBM Fellow and VP

Shifting Enterprise Development into the Fast Lane

Bridge Development and Operations for faster delivery of applications

Lunch and Learn: BlueMix to Mainframe making development accessible in the

DevOps: Multiplatform Application Deployment

Continuous integration using Rational Team Concert

Developing in the Cloud Environment. Rosalind Radcliffe IBM Distinguished Engineer, IBM Academy of Technology

DevOps: Development Challenges and New Approaches

DevOps: Extending Agile Development Disciplines to Deployment IBM Corporation

Parasoft and Skytap Deliver 24/7 Access to Complete Test Environments

2015 IBM Continuous Engineering Open Labs Target to better LEARNING

Easily deploy and move enterprise applications in the cloud

5 Ways to Improve the Quality and Efficiency of your Mobile Testing

Tivoli Automation for Proactive Integrated Service Management

Urbancode Deploy Overview

IBM Security IBM Corporation IBM Corporation

Leveraging the full potential of automation

Software change and release management White paper June Extending open source tools for more effective software delivery.

Orchestrated. Release Management. Gain insight and control, eliminate ineffective handoffs, and automate application deployments

Implement a unified approach to service quality management.

Addressing Security for Hybrid Cloud

IBM Cloud Security Draft for Discussion September 12, IBM Corporation

HP Application Lifecycle Management

CONTINUOUS INTEGRATION TESTING

Platform as a Service: The IBM point of view

Best Practices for Building Mobile Web

Continuous Delivery Workshop

Modernizing enterprise application development with integrated change, build and release management.

Enabling Continuous Delivery by Leveraging the Deployment Pipeline

Requirements Change Management and Artifact Workflow. DOP-1027 DOORS Next Generation

IBM Rational Software

CA Automation Suite for Data Centers

TRANSFORMING TO NEXT-GEN APP DELIVERY FOR COMPETITIVE DIFFERENTIATION

IBM QRadar Security Intelligence April 2013

Optimizing your IT infrastructure IBM Corporation

Crossing the DevOps Chasm

DevOps Course Content

DevOps - en inngang til den Digtale Transformasjon Rapidly Deliver Exceptional Software

Rational Asset Manager 7.2 Editions and Licensing

Establish a Continuous Delivery Pipeline: IBM UrbanCode Deploy

Industry Perspec.ve: DevOps - What it Means for the Average Business

Use service virtualization to remove testing bottlenecks

Rethink IT. Rethink Business. Cloud Computing. October 18-19, Jim Sanders

An introduction to the benefits of Application Lifecycle Management

Key Benefits of Microsoft Visual Studio Team System

Automation and Virtualization, the pillars of Continuous Testing

Optimize workloads to achieve success with cloud and big data

Faster and Safer of WebSphere Portal Environments at Daimler with IBM Auto Deploy

Securing the Cloud with IBM Security Systems. IBM Security Systems IBM Corporation IBM IBM Corporation Corporation

Monitoring your cloud based applications running on Ruby and MongoDB

Why continuous delivery needs devops, and why devops needs infrastructure-as-code. Sriram 25-Oct-2012

Solutions for Quality Management in a Agile and Mobile World

IBM s Cloud Platform : IBM Bluemix

Software Defined Everything

DEVOPS: INNOVATIVE ENGINEERING PRACTICES FOR CONTINUOUS SOFTWARE DELIVERY

Continuous???? Copyright 2015 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Cloud Computing and Standards

Service Orchestration

Maximizing Cross-Platform Application Availability

IBM Software Cloud service delivery and management

Develop enterprise mobile applications with IBM Rational software

Cloud computing: Innovative solutions for test environments

ACCELERATE DEVOPS USING OPENSHIFT PAAS

What new with Informix Software as a Service and Bluemix? Brian Hughes IBM

Learn How to Leverage System z in Your Cloud

Cloud, where are we? Mark Potts, HP Fellow, CTO Cloud November 2014

CLOUD TECH SOLUTION AT INTEL INFORMATION TECHNOLOGY ICApp Platform as a Service

How To Achieve Continuous Delivery

The Continuous Delivery Tool Chain: So Many Choices!

Realizing business flexibility through integrated SOA policy management.

Intel IT Cloud Extending OpenStack* IaaS with Cloud Foundry* PaaS

Continuous Delivery for Alfresco Solutions. Satisfied customers and happy developers with!! Continuous Delivery!

Move beyond monitoring to holistic management of application performance

Scale Cloud Across the Enterprise

Transformation to a ITaaS Model & the Cloud

agility made possible

Top Ten Reasons to Transition Your IT Sandbox Environments to the Cloud

Practicing Continuous Delivery using Hudson. Winston Prakash Oracle Corporation

The Role of Feedback in Continuous Integration, Continuous Delivery and Agile ALM

Cloud, Beyond the Hype

HP DevOps by Design. Your Readiness for Continuous Innovation Rony Van Hove/ April 2 nd, HP Software: Apps meet Ops 2015

Modern App Architecture for the Enterprise Delivering agility, portability and control with Docker Containers as a Service (CaaS)

Maximo Business Intelligence Reporting Roadmap Washington DC Users Group

Name: Srinivasan Govindaraj Title: Big Data Predictive Analytics

journey to a hybrid cloud

Oracle Grid Computing Achieved

Requirements-Based Testing: Encourage Collaboration Through Traceability

IBM Innovate AppScan: Introducin g Security, a first. Bobby Walters Consultant, ATSC bwalters@atsc.com Application Security & Compliance

Introduction to SOA governance and service lifecycle management.

Accelerate Application Development through DevOps Automation

Taking control of the virtual image lifecycle process

Datacenter Management and Virtualization. Microsoft Corporation

Transcription:

Collaborative DevOps Learn the magic of Continuous Delivery Saurabh Agarwal Product Engineering, DevOps Solutions agarwasa@us.ibm.com

Please note IBM s statements regarding its plans, directions, and intent are subject to change or withdrawal without notice at IBM s sole discretion. Information regarding potential future products is intended to outline our general product direction and it should not be relied on in making a purchasing decision. The information mentioned regarding potential future products is not a commitment, promise, or legal obligation to deliver any material, code or functionality. Information about potential future products may not be incorporated into any contract. The development, release, and timing of any future features or functionality described for our products remains at our sole discretion. Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput or performance that any user will experience will vary depending upon many factors, including considerations such as the amount of multiprogramming in the user s job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve results similar to those stated here.

Addressing Application Lifecycle Management gaps Customers Line of Business Dev & Test Teams Operations Team 1st Gap 2nd Gap Desire for fast and continuous innovation Requirements Code & Tests Business Services Addressed by... Addressed by... Agile Dev Dev Ops

Needs: Software Delivery Challenges: what we hear from customers Reduce cycle time and delays Improving software delivery efficiencies with standardization and automation Improving Quality of Delivery and reducing roll-backs Takes Weeks/Months to deliver a change Simplified view of a single-release pipeline. In general, there are multiple projects, releases, and technologies at play Development Test QA Staging Production Incident Management Quality Challenges Difficulties in reproducing production defects Long time to fix defects Poor Test coverage Release Challenges Differences in Dev/Ops environments Siloed / Limited automation Long set up time Process and Cultural challenges Point-Point, adhoc and Fragile integration of tools Poor visibility, stability and extensibility Cultural barriers limiting collaboration 4

Current Customer approaches addressing these challenges.. Selective & Siloed automation of the delivery process with limited benefits Poor visibility and control impacting cycle time Build Automation Continuous Integration Automated Testing Deployment Automation Middleware Deployment Automation Env Config Automation Infrastructure Deployment Automation

Changes Need for a Simple approach to bringing agility across the lifecycle Continuous and automated delivery of changes leveraging Cloud Takes Weeks/Months Long Cycle Time Poor Visibility and Control Process Simplification Automation Standardization Quality Takes hours/mins Dev Continuous Delivery Deployment environment Ops Reduced cycle time Continuous Feedback Incident Management Control, Agility and scalability

Time is now for DevOps Trends accelerating the need for Continuous Delivery Business Agility Development and Test Cloud Agile Development DevOps Cloud Computing Production Cloud Operational Discipline

DevOps Principles & Values Collaborate across disciplines Develop and test against a production-like system Deploy frequently Continuously validate operational quality characteristics People Process Information

How do we make this happen? Automate Everything Dashboard Automate Version Everything Test Everything Track and Plan Everything Audit and Monitor Dev Application Artifacts Application Code Instrumentation and Configuration Runtime Environment Definition Test Version Audit and Monitor Everything Ops Test Dashboard Everything Track and Plan

Automate Everything Infrastructure Developer Developer Application Install & Config Automation Tester Repeatability Reliability Consistency Rogue Troubleshooting Hero Manual Changes

DevOps leverages IBM s Pattern Strategy for Workload-Aware Cloud Workload Awareness Consistent framework for deploying and managing middleware and applications in cloud environments Standardized patterns capturing best practices Automated, workload aware deployment and management Virtualized middleware content for cloud deployment Cloud Enabled Middleware Deployment Flexibility Portable across deployment environments Hosted and Managed environments Heterogeneous Enterprise Systems Expert Integrated Systems Pattern based deployment and management Hosted and Managed Environments Heterogeneous Enterprise Systems Expert Integrated Systems x p z IBM SmartCloud Application Services IBM Workload Deployer IBM PureApplication System

Virtual System Patterns to standardize and automate deployments Dev & Ops Work together to create patterns Provisions to the Cloud IBM SmartCloud provisioning IBM Integrated Workload Deployer IBM PureSystem Consistent framework for deploying and managing middleware and applications in cloud environments Standardized patterns capturing best practices Portable across deployment environments

Version Everything: Library of Deployable Artifacts Infrastructure Developer Library Source Control Developer Deliver Application Code Build Fetch Automate Source Artifacts Deployable Artifacts Tester

#!/usr/bin/env ruby class DevopsDeployer def initialize(build_url, build_id) @log = Logger.new(LOG_FILE) @log.level = LOG_LEVEL @iaas_gateway = IaasGateway.new(HsltProvider.new(), LOG_FILE, LOG_LEVEL) @server_instance = nil.jsp.sh Source Artifacts.html rtc_build_system_provider = RtcBuildSystemProvider.new( RTC_REPOSITORY_URL, RTC_USER_ID, RTC_PASSWORD_FILE) @build = rtc_build_system_provider.resolve_build( build_url, ENV['buildResultUUID'], build_id) @build_system_gateway = BuildSystemGateway.new( rtc_build_system_provider,.java LOG_FILE, LOG_LEVEL) end def add_build_stamp template_file = WEB_APP_ROOT + "/app/templates/pages/page.html" @log.info "Adding build ID stamp #{@build.id} to \ #{template_file}" chef recipes # Read in the file's contents as a string, replace # the build_id, then overwrite the original contents # of the file text = File.read(template_file) new_text = text.gsub(/\{\{ build_id \}\}/, "<a href=\"#{@build.uri}\">#{@build.id}</a>") } end #... Source Control Management File.open(template_file, "w") { file file.puts new_text Infrastructure as Code

Infrastructure Developer Test Everything: Continuous, automatic testing across the lifecycle Did the app compile? Did unit tests pass? Did the app get packaged OK? Library Source Control Developer Deliver Application Code Build Fetch Automate Did deployment succeed? Did BVT/Smoke test succeed? Tester Did system tests succeed? Are performance tests succeeding? Are there any new errors in the logs?

Application Monitoring OSLC Consistent monitoring deployed throughout lifecycle

Delivery Pipeline Integrated Change Management Automated Delivery Task Execution Delivery Library Pattern driven Provisioning of deployment environment.jsp.java.html Build, Package, & Unit Test Application Binaries & Platform Configuratio n IBM SmartCloud Enterprise IBM PureSystem IBM Integrated Workload Deployer.sh chef recipes Source Artifacts Source Control Management Deployable Artifacts Library Deployment Environment Using the same tools and methodologies to manage and deliver software and deployment configuration changes.

Open Services Lifecycle for Collaboration Integration Fabric using OSLC DevOps Integrated Architecture Built on open standards allowing plug-in components from IBM products, open source, and third party Continuous Delivery Services Delivery Dashboard Delivery Pipeline Services Instrumentation & Auditing Work Distribution Services Reporting Library Services Rules Logging Licensing Security Storage Foundation Services

Open Services for Lifecycle Collaboration (OSLC) Working to standardize the way software lifecycle tools share data Open Services for Lifecycle Collaboration Lifecycle integration inspired by the web Community Driven @ open-services.net Specifications for numerous disciplines Such as, ALM, PLM and DevOps Defined by scenarios solution oriented Inspired by Internet architecture A different approach to industry-wide proliferation Based on Linked Data How does it work? Automation Monitoring Inspired by the web Free to use and share Changing the industry

Introducing IBM SmartCloud Continuous Delivery Collaborate: Dev and Ops co-develop app environment definitions and patterns Dev and Ops use the same metrics in Dev/Test/Prod Integrate: Optimize: Continuously integrate, test & automate build changes onto standard cloud environments Continuously deploy app changes into multiple (distributed and mainframe) environments Measure velocity of change based on agile processes supported by DevOps

Scenario 1 Collaborate 2 Define 3 Execute 4 Measure Dev and Ops collaborating together to create deployment patters Define the DevOps project with tasks for build, deploy, test Changes from dev/test/ops automatically deploy changes to the Cloud Measure against desired metrics for continuous improvement

IBM helps ease adoption of DevOps Journey Assess Pains, metrics, culture, technologies for DevOps adoption Adopt Roadmap aligning with business goals, metrics, milestones Acquire Solution capability mapping to Continuos Delivery roadmap driven by IBM SmartCloud Continuous Delivery Implement Install, Integrate, Implement, Skills transfer Grow Grow, Scale with your needs

Creating standard workload patterns

Demo: Application 24

25 Demo: Security Test

26 Demo: Defect created

Demo: Fix the defect Fix New Test 27

28 Demo: Deliver the fix

29 Demo: Build starts

Demo: Deploy, test, and report feedback 30

31 Demo: Test with fix

32 Demo: Resolve the defect

Better Business Outcomes with DevOps The need To reduce costs through improved management of its testing environment. The solution IBM Rational software to enhance management of its testing environments by providing collaboration and automation capabilities. The benefit Enabled costs to remain flat as demand for services has increased 35 percent. Reduce the time required to begin working on a new project from three months to four weeks.

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.

DevOps 2012 Capabilities Release Continuous Integration Continuous Delivery Deployment Library Development Operations Change Management Source Control Management Configuration Automation Incident Management Requirements Management Quality Management Test Automation Topology Provisioning Automation Application Monitoring 36

DevOps 2013 Capabilities Release Continuous Integration Continuous Delivery Deployment Library Release Management Development Operations Change Management Source Control Management Service Simulation Configuration Automation Incident Management Requirements Management Quality Management Test Automation Topology Provisioning Automation Application Monitoring 37

Define Delivery Project Build system configurations Library & pattern configuration files Infrastructure as Code files Automation process files

Creating standard workload patterns

Delivering Changes

DevOps Adoption Strategy 1. Acquire a cloud platform that supports PaaS (ideally support for virtual patterns) 2. Define standard, production-like virtual patterns that will be used for dev/test (and possibly production) 3. Identify a well contained project for adoption 4. Define infrastructure code for platforms and the project application 5. Define automated configuration for middleware services 6. Define automated tests for the infrastructure and application 7. Adopt a single-stage continuous delivery process to support continuous build, deploy, and test for dev and test virtual environments Growth Inject monitoring as part of the standard pattern and use the data in the delivery process to improve feedback Adopt a multi-stage delivery process that supports promotion of changes from one stage to the next (e.g., Dev to QAT) Adopt a delivery process with promotion to production Track and manage incidents in production linked to work/tasks in development

Better Business Outcomes with DevOps Large Insurance Company The need Continuous delivery to support demand to deliver business value rapidly at lower cost while improving quality The solution Collaboration between Operations and Development Infrastructure as Code to maximize automation Governance: Monitoring, Metrics, Optimization The benefit Upwards of 1000 deploys per week to be performed without requiring additional Operations personnel Provides an average turn-around time to the developer of under 5 minutes 42

Change Management OSLC Delivery Pipeline OSLC Configuration Automation OSLC Continuous Integration OSLC Quality Management OSLC Provisioning Automation OSLC Incident Management OSLC Cloud Pull configurations Track work Create development defect Create incident Requirement Management OSLC Trigger deployment Deploy service Track quality Track work Trigger Tests Trigger Tests Test Service Trigger Delivery Update configurations Pull changes Service Simulation OSLC Application Monitoring OSLC Monitor application Configure agents Configure endpoints Deployment Design OSLC Generate automation Integrated Capabilities

Introducing IBM SmartCloud Continuous Delivery A simple approach to bringing agility across the lifecycle Developers Quality Managers IT Managers Source control Rational Team Concert Provisioning Pattern Composition Architecture & Design Image Management Build Management Continuous Delivery Infrastructure Access Improved Cycle Time: Improved efficiency, accelerated delivery; automated hand-off between processes Improved Quality: Reduced risk, improved quality; Managed change from development to deployment Improved Control: Standardization, Visibility and Governance

Capabilities Offered Self-sufficient, Ready-to-deploy solution with plug-in capabilities Leverages virtual environment and cloud Changes Rational Team Concert User Services Build Package Deploy Test Deployment Library Services Delivery Automation Services Performance Services Reporting Services Provisioning Services to Cloud / Virutal environment Deployed IBM SmartCloud Provisioning V2.1 IBM PureSystem IBM Workload Deployer Starter Pack of Rational Team Concert, if RTC is not available IBM SmartCloud Continuous Delivery Integration Fabrinc using OSLC Cloud needed for Continuous Delivery SmartCloud Provisioning 2.1, if Cloud is not available Automated Env and Middleware Configuration Deployment Automated Test Execution Performance Services Chef Custom Scripts Rational Automation Framework Rational Quality Manager Tivoli App Performance Management Capabilities packaged in SmartCloud Continuous Delivery PID Needed Pre-Reqs Optional Capabilities.

Extending ALM to Cloud and virtual environments Bridging the Gap Dev Ops Development Test QA Staging Incident Management Production Virtual System Pattern driven Deployment environment IaaS Rational Team Concert IBM SmartCloud Continuous Delivery Automatically deploys to Cloud / Virtual environment Continuously Deploy Changes to the Cloud Automated execution of Build, Test, Deployment tasks with Performance Characteristics Deployment library for Versioning and traceability Integration with enterprise Dev/Test processes PaaS- pre-built middleware deployment

Applying Continuous Delivery Select scenarios Scenario Dev/Test teams continuous Delivery of changes with automated testing in productionlike environments Value Improved Cycle Time with automated tasks Consistency and Quality of deliverables Savings from automated test, deployments, labor, improved efficiencies, and leveraging existing tools and processes Operations teams delivering scalable, continuous services to the development organization, and ultimately to the business Improved Quality from automation and standardized deployments Faster time and low cost to fix defects Enterprise Incubators/ Depts/Teams developing new business/growth market Apps using a self-contained environments Faster time-to-market with reduce cost Self-Service, easy-to-manage integrated Continuous Delivery Environment in the Cloud

Continuous Delivery architecture flow Load changes and build Op Engineer Post results to build Jazz Build Engine(s) Load workspace Execute SCCD process Publish packages Rational Asset Manager (Deployment Library Notify results Rational Team Concert (server) Trigger build Execute tests Get packages Store changes Provision pattern with build Virtual System Rational Team Concert (Client) Developer Provision system from pattern with build Cloud Provisioning System