IBM Continuous Delivery with UrbanCode Deploy & UrbanCode Release Agenda Introductions DevOps Overview Introducing UrbanCode UrbanCode Deploy UrbanCode Release IBM Integrations IBM DevOps Enterprise capability for continuous software delivery that enables clients to seize market opportunities and reduce time to customer feedback Continuous Business Planning Accelerate software delivery faster time to value Plan & Measure Continuous Monitoring Balance speed, cost, quality and risk increased capacity to innovate Reduce time to customer feedback improved customer experience Monitor & Optimize Continuous Customer Feedback and Optimization Continuous innovation, feedback and improvements Collaborative Development Develop & Test Release & Deploy Continuous Release and Deployment Continuous Testing Enabling a DevOps approach Enterprise capability for continuous software delivery that enables the business to seize market opportunities and reduce time to customer feedback DevOps Lifecycle Customers Business Owners Development/Test Operations/Production Plan and Measure Develop and Test Release and Deploy Monitor and Optimize DevOps Foundation Open Lifecycle and Service Management Integration Platform OSLC Best Practices Ecosystem Continuous Innovation, Feedback and Improvements Continuous Delivery Adoption Maturity Common Source Control Automated Builds (Build Definitions) Continuous Integration (CI) Automated Delivery Continuous Delivery to Test (CD) Continuous Delivery to Production-like Systems (Infrastructure as Code) Continuous Delivery thru Prod Agile Initiative: Heatmap based roadmap DevOps Maturity Model Agile Agile Initiative Initiative Quality Improvement Level of importance: Continuous Delivery Market Experimentation Critical Important Mobile Transformation Nice to Have SW-Defined Environments Not Necessary Plan / Measure Develop / Test Release / Deploy Monitor / Optimize Strategy Code Deployment Monitoring Requirements Test Provisioning Customer Feedback Dashboards/ Analytics Change Management Legacy Systems DevOps and Cloud adoption Automating for faster delivery with DevOps and cloud UC Deploy Traditional On-Premises Infrastructure as a Service Applications Applications Data UC Deploy Mid Config Man/Auto Data Platform as a Service JazzHub (SaaS) Applications Data Mid Config Mid Config Middleware Middleware O/S O/S O/S Virtualization Virtualization Virtualization Servers Servers Storage Storage Networking Networking Middleware Man/Auto Manual PureApplication System SmartCloud Orchestrator SoftLayer Codename: BlueMix Servers Storage Networking Customization; higher costs; slower time to value Standardization; lower costs; faster time to value Investing in Release Automation … Introducing UrbanCode Enabling clients to more rapidly deliver mobile, cloud, big data and traditional applications with high quality and low risk Drive down cost Remove manual effort and wasted resource time with push button deployment processes IBM UrbanCode Deploy automates the deployment of applications, databases and configurations into development, test and production environments, helping to drive down cost, speed time to market with reduced risk. Speed time to market Reduce risk IBM UrbanCode Release is an intelligent collaboration release management solution that replaces error-prone manual spreadsheets and streamlines release activities for application and infrastructure changes. Robust configuration management, coordinated release processes, audits, and traceability https://www.ibmdw.net/urbancode/ Simple, graphical process designer, with built-in actions to quickly create deployment automation Continuous Delivery Pipeline IBM DevOps Solution IBM’s DevOps solution is built on an open standards based platform and a set of services which enable clients to leverage open source and third party tools Rational Focal Point Rational Requirements Composer Line of Busine ss Rational Team Concert 11 IBM UrbanCode Release IBM UrbanCode Deploy Jenkins SmartCloud Orchestrator IBM Pure Application System Rational Build Forge Rational Asset Manager Rational Quality Manager Rational Test Workbench Rational Test Virtualization Server Rational Development and Test Environment for System z InforSphere Optim Test Data Mgmt SmartCloud Application Performance Management IBM UrbanCode Release IBM UrbanCode Deploy UrbanCode solutions deliver business results International Investment Firm Online Retailer Driving Down Costs Speeding Time-to-Market Release process required considerable effort and delayed by manually-introduced errors Significant delays getting application changes to production Solution: Automated release process Solution: Scaled up continuous deployment Results: Cost avoidance of over $2.3M/year, reduced release time from 2-3 days to 1-2 hours and virtually eliminated test team “down-time” Results: Deployment time reduced by over 95% with easy scale and deploying to over 250 servers within 2 months of implementation Higher Education SaaS Software Provider Speeding Time-to-Market Reducing Risk Agile development teams constrained by slow deployment to dev and test environments Difficulty managing multiple customer configurations and versions of software deployed across servers Solution: Accelerate deployment by enabling development teams to self deploy with automation Results: Deployment cut from hours to minutes, to a greater number of servers, with fewer resources Solution: Automate managing configuration and version deployment Results: Execute customer specific releases, reduced deployment outages by over 90% IBM Release and Deploy Value Proposition UrbanCode compliments IBM DevOps solution enabling clients to more rapidly deliver software IBM DevOps solution helps clients: Reduce errors: Automated software release and deployment Improve productivity: Push-button deployments for developer and operations Application Blueprint Faster time-to-market: Automated release and deployment with built-in best practices provides Compliance and auditability: Enforced Security and traceability Versioned Artifacts UrbanCode Deploy orchestrates and automates the deployment of applications, middleware configuration, and database changes into development, test and production environments, accelerating time to market, driving down cost while reducing risk. UrbanCode Release transforms error-prone and chaotic release planning into streamlined release events, replacing spreadsheets with a collaborative solution that eliminates breakdowns in communication enabling more frequent releases at lower risk. Artifacts Development Release Artifacts QA Release Artifacts Product Release Execute Against Execute Against Execute Against Development Environment QA Environment Production Environment IBM UrbanCode Deploy Application Deployment Automation Deployment of Applications across Environments Manage application components and versions Compliance: audit trails quality gates Easy to use visual process designer Manage environment configuration Inventory: what is where from dev/test through production IBM UrbanCode Deploy Application – Component Model Components – Tiers or services Environments – Target servers – Servers have roles – Environment Specific Configuration Processes – Coordinates Component processes IBM UrbanCode Deploy UrbanCode Deploy process designer Versioned Processes Navigation View Drag and Drop Interface Extensible pallet of Available Actions IBM UrbanCode Deploy Snapshots – A Version of the App Snapshot Deployment Creating a Snapshot Component Versions Snapshot Web 1 2 3 3 Mid. Code 1 2 3 2 ENV Snapshot 3 3 2 2 2 1 WEB HOST MID HOST Mid. Config 1 2 3 3 3 3 1 DB 1 2 3 1 1 X 1 • Contents of environments that pass tests • contain deployables and config • Deployments are based on deltas • They help with: Automation, Audit, and Visibility DB HOST IBM UrbanCode Deploy – Plug-ins • • • 59 plug-ins from15 different vendors and open source organizations Broad range of plugins supported: • Application servers • Databases • Messaging platforms • Test automation • Issue tracking systems • Operating system services • Cloud platforms • Issue tracking • Even more… Plug-ins can be downloaded for free from https://www.ibmdw.net/urbancode/plugins/ Recent UrbanCode Release Improvements v6.0 and v6.0.1 Rational Team Concert Integration – Change Management – OSCL Integration – Mapping – RTC Delegated UI Dialogs – Release Progression Release Impact Analyses Pipeline View Federated Deployment Dashboard IBM UrbanCode Release Release planning and orchestration Qualify with one question: Do you have large monthly or quarterly releases that take hours/days and require dozens or that hundreds of people to get on a call? UrbanCode Release delivers Plan the release day Execute the release Communicate what’s going on Allocate environments to releases Tie release back to development IBM UrbanCode Release Visualizing your Release Trains IBM UrbanCode Release IBM UrbanCode Deploy Automation & Management uDeploy uRelease Application Release Automation Automate deployments Visual process designer Plug-in actions for application containers, web servers, network devices, database deployment, etc. Model environments & deployment targets Release Management Enforce quality gates for environments Orchestrate changes across multiple applications Manage infrastructure in addition to application changes Real-time status for long production releases Track the allocation of environments to releases Build UrbanCode uBuild Rational Build Forge Jenkins/Hudson Other generic integrations via udclient or API Reliable management of middleware configuration across environments Middleware Administrator -orApplication Developer Deployment Automation Developer 2 - Plugin Artifact Library 3 - Import 4 - Assemble 6 – Define Deployment Process 5 - Publish EAR 7 - Deploy WAS Configuration Template 7 - Deploy Exemplar WAS Cell 7 - Deploy WAR Cluster template DB Application Application Deployment Automation WAS Configuration Template Creation Dev QA Prod Application Environments Improve Delivery Lifecycle with Software Defined Environments Build Automation SCM Pull changes Publish build IBM PureApplication System SmartCloud Orchestrator Execute application deployment and manage settings across environments Environments Provision platform DEV DEV DEV DEV QA PROD Patch/update Platform Config Management IBM Endpoint Manager Deploy early and often to ensure higher quality and faster releases using repeatable, reliable, and managed automation DevOps: Continuous Combining Testing continuous testing with Deployment automation and service virtualization for reducing time to market and improving quality Test Environments IBM UrbanCode Deploy integrated with IBM Rational Test Virtualization Server Deploy what is ready, virtualize the rest IBM Rational Test Workbench Continuously test in production-like env. SHUNRA Network n Virtualization Test using real world network conditions virtual components Databases Dev Internal Messages QA Third-party Services Simultaneously test across multiple test stages Dynamic Infrastructure RAF short-term convergence Middleware Administrator -orApplication Developer Deployment Automation Developer 2 - Plugin CodeStation 3 - Import 6 – Define Deployment Process 4 - Assemble 5 - Deploy • App 1 • App 2 • EAR • DB Scripts • WAS Cell Cfg •… 7 - Deploy Applications 7 - Deploy WAS Configuration Template 7 - Deploy Exemplar WAS Cell • EAR • WAR • DB Scripts • WAS Cell Cfg • WAS Cluster Cfg •… • Dev Cell • QA Cell • Cluster1 • Cluster2 •… Resources WAS Configuration Template Creation 43 Dev QA Prod 1 – Auto Discover Application Environments • Prod Cell • Cluster1 • Cluster2 •… • Cluster1 • Cluster2 •… www.ibm.com/software/rational 44 Demo