IBM Continuous Delivery with UrbanCode Deploy & UrbanCode Release

download IBM Continuous Delivery with UrbanCode Deploy & UrbanCode Release

If you can't read please download the document

description

IBM Continuous Delivery with UrbanCode Deploy & UrbanCode Release. Agenda. Introductions DevOps Overview Introducing UrbanCode UrbanCode Deploy UrbanCode Release IBM Integrations. - PowerPoint PPT Presentation

Transcript of IBM Continuous Delivery with UrbanCode Deploy & UrbanCode Release

UrbanCode for IBMers

IBM Continuous Delivery withUrbanCode Deploy & UrbanCode ReleaseIntroductionsDevOps OverviewIntroducing UrbanCodeUrbanCode DeployUrbanCode ReleaseIBM IntegrationsAgenda2Enterprise capability for continuous software delivery that enables clients to seize market opportunities and reduce time to customer feedback Acceleratesoftware deliveryfaster time to valueBalance speed, cost, quality and riskincreased capacity to innovateReduce time to customer feedbackimproved customer experienceIBM DevOps

Continuous Release and DeploymentContinuousCustomer Feedback and Optimization

Monitor& OptimizeDevelop& TestRelease& DeployPlan& MeasureContinuousinnovation,feedback and improvementsContinuousMonitoringCollaborative Development

ContinuousBusiness PlanningContinuousTesting 3 3

DevOps Foundation Open Lifecycle and Service Management Integration Platform

DevOps LifecycleOperations/ProductionDevelopment/TestCustomersBusiness Owners

Continuous Innovation, Feedback and ImprovementsEcosystemBest PracticesMonitor and OptimizePlan and MeasureDevelop and TestRelease and Deploy

OSLCEnabling a DevOps approach Enterprise capability for continuous software delivery that enables the business to seize market opportunities and reduce time to customer feedbackMain Point: So the idea is to build a continuous delivery pipeline, from ideas through to delivery. Products, services, apps, and infrastructure flow through the pipeline as software and related artifacts, This way, you can get to the speed needed to meet those ever-increasing rates of market shifts and customer demand.

You need to consider and leverage to your best use Mobile, Cloud, Big Data, Social, etcAnd there are key intermediate stages of specialized tasks in the delivery pipeline workflow which you can associate as discrete sources of customer pain that can be entry points for targeted solution capabilities Develop and Test, Release and Deploy, Monitor and Optimize.

These capabilities utilize the open Jazz platform to deliver specialized services for the intermediate stages & tasks. And to enable feedback, automation, collaboration, data sharing, and task flow. As well as integration of a partner ecosystem of complementary software & services capabilities. All of the above tuned to accelerate time to value for various new workloads and target platforms the target delivery environment for the DevOps delivery pipeline.

You need to have an Optimization feedback loop, continuously providing: Business performance measures (KPIs) for the delivery pipelineFeedback from customers to the front end of the pipelineMeasures and feedback from intermediate stages of delivery are provided back to up-stream stagesUsed to respond quickly, adjust, and deliver again with improved outcomes

TRANSITION Now lets talk about whats new to support this DevOps approach

4Continuous Delivery Adoption MaturityCommon Source Control Automated Builds (Build Definitions)Continuous Integration (CI)Automated DeliveryContinuous Delivery to Test (CD)Continuous Delivery to Production-like Systems (Infrastructure as Code)Continuous Delivery thru ProdLegacySystemsSW-Defined EnvironmentsMobile TransformationMarket Experimentation Continuous Delivery Quality Improvement AgileInitiativeAgileInitiativeAgile Initiative: Heatmap based roadmapDevOps Maturity ModelNice to HaveNot NecessaryImportantCriticalLevel of importance:

DeploymentProvisioningRelease / DeployDevelop /TestMonitor / OptimizeMonitoringCustomer FeedbackCodeTestStrategyRequirementsChange ManagementDashboards/AnalyticsPlan /MeasureDevOps and Cloud adoptionAutomating for faster delivery with DevOps and cloudNetworkingNetworkingStorageStorageServersServersVirtualizationVirtualizationO/SO/SMiddlewareMiddlewareMid ConfigMid ConfigDataDataApplicationsApplicationsTraditional On-PremisesInfrastructureas a ServiceManual Customization; higher costs; slower time to valueStandardization; lower costs; faster time to valueMan/AutoUC Deploy

UC DeployMan/AutoNetworkingStorageServersVirtualizationO/SMiddlewareMid ConfigDataApplicationsPlatformas a ServiceCodename: BlueMixPureApplication SystemSmartCloud OrchestratorSoftLayer

JazzHub(SaaS)

Investing in Release Automation Introducing UrbanCodeDrive down costRemove manual effort and wasted resource time with push button deployment processesSpeed time to marketSimple, graphical process designer, with built-in actions to quickly create deployment automationReduce riskRobust configuration management, coordinated release processes, audits, and traceabilityEnabling clients to more rapidly deliver mobile, cloud, big data and traditional applications with high quality and low riskIBM 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.

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. https://www.ibmdw.net/urbancode/8UrbanCode improves software delivery enabling continuous release and deployment via application release automation, helping to drive down costs, speed time to market and reduce risk.

To complement IBMs DevOps solutions already in place, UrbanCode was acquired to strengthen the Release & Deploy segment

Speak to changing delivery mindset:Infrastructure Developer vs. Operator/AdministratorNeed to bring a software development mindset to the operational areasReplicate, where appropriate, standard architecture/development tools and methodologies

Use an Agile approach to delivery of routine tasksContinuous, incremental improvements and delivery of new functionalityAutomated unit and integration testing improves operational runtimes

Version management for scripts & source codeAutomation routines and scripts are fundamental to Operations Central point of truth as routines and environments changeIdentify possible regressions by comparing with prior versions

Example Managed Assets:Perl, Jython, WSADMIN, ANT scripts, Service orchestration routines (opsware, buildforge, etc),

8Continuous Delivery Pipeline

Replace with new diagram UC product logos consistent throughoutDeployment and release issues impede innovation

Costly, error prone manual processes and efforts to deliver software across an enterpriseCHALLENGES Upgrade risk due to managing multiple application configurations and versions across servers Slow deployment to development and test environments leave teams waiting and unproductive CHALLENGESOperations/ProductionDevelopment/TestCustomersBusinessOwners

Knight Capital loses $440 million due to a misconfigured release (in only 45 minutes)A bad software upgrade at RBS Bank leftmillions unable to access money for four days

An entertainment company routinely spent 2 weeks just getting the software to work in the test lab

10IBM DevOps Solution11

Line of BusinessRational Team Concert

SmartCloud Application Performance Management

Rational Focal PointRational Requirements Composer

SmartCloud OrchestratorIBM Pure Application System

IBM UrbanCode DeployIBM UrbanCode Release

Rational Quality ManagerRational Test WorkbenchRational Test Virtualization ServerRational Development and Test Environment for System zInforSphere Optim Test Data Mgmt

Jenkins

IBMs 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 Build Forge

Rational Asset Manager

11 p. 36 We have a string toolchain - and we accept that there are open source elements to this where people can choose and our tools will coexist with these. UrbanCode solutions deliver business resultsInternational Investment FirmDriving Down CostsRelease process required considerable effort and delayed by manually-introduced errorsSolution: Automated release processResults: Cost avoidance of over $2.3M/year, reduced release time from 2-3 days to 1-2 hours and virtually eliminated test teamdown-timeHigher EducationSpeeding Time-to-MarketAgile development teams constrained by slow deployment to dev and test environments Solution: Accelerate deployment by enabling development teams to self deploy with automationResults: Deployment cut from hours to minutes, to a greater number of servers, with fewer resourcesSaaS Software ProviderReducing RiskDifficulty managing multiple customer configurations and versions of software deployed across serversSolution: Automate managing configuration and version deploymentResults: Execute customer specific releases, reduced deployment outages by over 90%Online RetailerSpeeding Time-to-MarketSignificant delays getting application changes to productionSolution: Scaled up continuous deploymentResults: Deployment time reduced by over 95% with easy scale and deployingto over 250 servers within 2 months of implementation

IBM UrbanCode DeployIBM UrbanCode Release121212IBM Release and Deploy Value PropositionUrbanCode compliments IBM DevOps solution enabling clients to more rapidly deliver softwareIBM DevOps solution helps clients:Reduce errors: Automated software release and deploymentImprove productivity: Push-button deployments for developer and operationsFaster time-to-market: Automated release and deployment with built-in best practices providesCompliance and auditability: Enforced Security and traceability

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.

Versioned ArtifactsQAEnvironmentProduction EnvironmentDevelopment EnvironmentArtifactsArtifactsArtifactsExecute AgainstExecute AgainstExecute AgainstQARelease

ProductRelease

Development ReleaseApplication BlueprintWe are very excited to welcome their highly skilled team and market leading products. The combination of IBM and UrbanCode capabilities, enable our clients to more rapidly deliver mobile, cloud, social, big data analytics and traditional applications.

UrbanCode capabilities complement IBMs DevOps solution enabling Continuous Release and Deployment in a category that many analyst and press call Application Release Automation (ARA). These capabilities enable clients to more rapidly deliver applications to development, test and production environments. Application release automation will enable clients to:Drive down cost. Reduce the amount of manual labor, resource wait-time, and reworkPush-button deployments improve productivity of developer and operations staffSpeed time to market. Increase frequency of software deliveryAutomated software release and deployment reduces errors Built-in best practicesPlug-ins for custom integrations and added platform supportReduce risk. Deliver higher quality application releases with increased complianceEnd-to-end transparency, auditability and reduced time to feedback

13Application Deployment AutomationManage application components and versionsManage environment configuration from dev/test through productionDeployment of Applications across Environments

Compliance: audit trails quality gatesEasy to use visual process designer Inventory: what is whereIBM UrbanCode Deploy

14UrbanCode Deploy Platform TechnologyCoreDistributed AutomationApplication ModelsInventoryConfiguration ManagementSupporting

Package Repository

Calendars & Scheduling

Intelligent File Transfer

Approvals & Work Lists

History & Audit Trail

IBM UrbanCode DeployComponentsTiers or servicesEnvironmentsTarget serversServers have rolesEnvironment Specific ConfigurationProcessesCoordinates Component processesApplication Component Model

IBM UrbanCode DeployUrbanCode Deploy configuration settings

IBM UrbanCode DeployUrbanCode Deploy process designerIBM UrbanCode Deploy

NavigationViewDrag and DropInterfaceVersioned ProcessesExtensible pallet of AvailableActionsSnapshots A Version of the App

Contents of environments that pass testscontain deployables and configDeployments are based on deltasThey help with:Automation, Audit, and Visibility

IBM UrbanCode Deploy

UCDeploy Resource Model20Global resource tree.

Components are now added to a resource tree.

Resource taggingIBM UrbanCode DeploySecurity - Teams21

Teams

InheritanceIBM UrbanCode DeployUrbanCode Deploy compare22

Component VersionsSnapshot VersionsIBM UrbanCode DeployResource Template and blueprints23

Resource Template from cloud patternApplication BlueprintImport resource template from patternIBM UrbanCode DeployIBM UrbanCode Deploy Plug-ins59 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 ImprovementsRational Team Concert IntegrationChange ManagementOSCL IntegrationMappingRTC Delegated UI DialogsRelease Progression

Release Impact AnalysesPipeline ViewFederated Deployment Dashboard

v6.0 and v6.0.1Qualify 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 whats going on Allocate environments to releases Tie release back todevelopment

Release planning and orchestrationIBM UrbanCode Release

26Releases encompass more than application deployment Examples: Middleware, network, hardware changes in addition to application changes Steps known in development and integration, but missed in ProdInteraction between applications in a release Ordering of application deployment steps fails to account for dependencies between applications or deployment steps. Required artifacts or applications missed or wrong application versions deployed. Difficulty coordinating dozens of participantsLate breaking changes to deployment instructions or targeted artifacts are not communicated. Work product quality and process check lists scattered about many tools and not digested for at-a-glance status

What troubles production releases? Change TypeApplicationsVendor SoftwareMiddlewareDatabaseNetworkOS & PatchesVM platformIBM UrbanCode ReleaseVisualizing your Release TrainsIBM UrbanCode Release

See the video showing this new feature in UC-Release v6.0.1: http://www.youtube.com/watch?v=P8XyBbNOw8428Automation & ManagementuDeployuReleaseApplication Release AutomationAutomate deploymentsVisual process designerPlug-in actions for application containers, web servers, network devices, database deployment, etc.Model environments & deployment targetsRelease ManagementEnforce quality gates for environmentsOrchestrate changes across multiple applicationsManage infrastructure in addition to application changesReal-time status for long production releasesTrack the allocation of environments to releasesIBM UrbanCode ReleaseIBM UrbanCode DeployUrbanCode uBuildRational Build ForgeJenkins/HudsonOther generic integrations via udclient or APIBuildReliable management of middleware configuration across environmentsApplication Deployment AutomationWAS Configuration Template Creation7 - Deploy

5 - Publish

Middleware Administrator-or-Application Developer

Exemplar WAS Cell2 - Plugin3 - Import4 - AssembleWAS Configuration Template

Artifact Library

Deployment Automation Developer6 Define Deployment Process7 - Deploy7 - DeployApplication Environments

QAProdDevApplicationEARWARDBCluster template

Deployment Automation Developer or Deploy Administrator imports the AMC Plug-in into Deploy. The Plug-in is configured to auto-discover WAS installs on specific resources so when the agent comes on-line it will invoke the AMC plug-in which will discover the cell topology and create WAS Cell and WAS Cluster subresources back on the Deploy server.A Middleware Administrator or Application Developer unzips the AMC plug-in on a system that has connectivity to the exemplar WAS cellThe Middleware Administrator or Application Developer will run a script packaged in the AMC plug-in that will prompt for some information, then discover and import configuration from the exemplar WAS cellThe AMC template creation script will ask the user for a base product template (e.g. WAS v8.5) and to chose what configuration data from the imported cell should be added (either only cell scoped configuration or a cluster configuration). Note that if any custom tokens are required (e.g. host specific information like JDBC connection URL, etc.), then the Middleware Administrator or Application Developer will need to open the appropriate template file up for editing and insert the tokens manually. They will then need to create appropriate properties on the appropriate WAS Cell/Cluster resources to ensure the token substitution happens correctly during deployment (this is not directly shown in the diagram above for the sake of clarity).The AMC template creation script will prompt the user for information required to connect to a Deploy server, including the name of the WAS configuration component and will create/update the template in CodeStation. The Deployment Automation Developer should now have all the Deploy artifacts he needs to assemble the Application including deploy/undeploy processesThe application, including WAS configuration, can be deployed and promoted across all environments defined in the application31Improve Delivery Lifecycle with Software Defined EnvironmentsSCMBuild Automation

IBM Endpoint ManagerQAPRODProvision platformExecute application deployment and manage settings across environmentsPatch/updatePublish buildPull changesSmartCloud Orchestrator

Platform Config ManagementEnvironmentsDeploy early and often to ensure higher quality and faster releases using repeatable, reliable, and managed automationDEVDEVDEVDEVIBM PureApplication System

Deployment automation and service virtualization for reducing time to market and improving quality

Databases

InternalMessages

Third-partyServicesvirtual components

Simultaneously test across multiple test stages Dev

QA

IBM Rational TestVirtualization Server

DeployProvisionTestCombining continuous testing withDevOps: Continuous TestingIBM UrbanCodeDeploy

IBM RationalTest Workbench

integrated with Test EnvironmentsDynamic InfrastructureDeploy what is ready, virtualize the restContinuously test in production-like env.Test using real world network conditionsnSHUNRA NetworkVirtualization

Close with bringing in the orchestration piece and how Deploy (deployment automation) combined with service virtualization, test automation, and dynamic infrastructure is the end goal.

Deploy what is ready, virtualize the restContinuously execute tests against production-like environmentsTest end-to-end, including mobile, cloud-based applications, and mainframe

33Rational Team ConcertJIRA

Change ManagementCodeStationRational Asset ManagerMavenAsset ManagementRational Asset Manager as source configuration to UrbanCode Deploy36

IBM UrbanCode Deploy

Rational Asset ManagerSource config type

Synchronize statusesIBM UrbanCode DeployUCD and RAM integration: http://www.youtube.com/watch?v=DoOyzuV084A36Integrations with IBM platformsIntegration with OpenStackIntegrations with VM WareLandscaper ?

Infrastructure ManagementContinuous Delivery with CloudIBM UrbanCode DeploySmartCloud Orchestrator

IBM Pure System

BuildArtifact Library

ApplicationResource Template

BuildDeployProvisionApplication binaries (versioned)Environment configurations (versioned)IBM UrbanCode DeploySeamless process flow for incremental, full stack provisioning and application deployment automationExtend UrbanCode Deploy to capture Resource TemplatesDescribe desired pattern to use from the cloudAssociate application components to pattern resources

38Resource Template and blueprints39

Resource Template from cloud patternApplication BlueprintImport resource template from patternIBM UrbanCode DeployApplication lifecycle management with cloud (SCO)SCMBuild Automation

IBM Endpoint ManagerDEVQAPRODProvision Platform Patch/updatePublish buildPull changesIBM UrbanCode Deploy

SmartCloud Orchestrator

Platform Config ManagementDeploy early and often to ensure high quality and faster releases using repeatable, reliable, and managed automationExecute application deployment and manage settings across environmentsIBM UrbanCode DeployLandscaperToolsEnginePlatform Providers

Manage, automate, and govern changes to application workloads across environments.Capture in code and manage a collection of related platform resources, provision, and configure them in an orderly and predictable fashion.Client works across many platform providers giving customers a consistent development experience and reduces vendor lock-in.Exposes APIs to provision and work with platform resources. Provides management, placement, security, scaling, etc services.

Landscaper Vision (development client for the clouds)Application release and deployment automationPlatform design and coordination clientCurrent integrationFuture integrationRational Automation Framework

RAF short-term convergence435 - Deploy

Middleware Administrator-or-Application Developer

Exemplar WAS Cell2 - Plugin3 - Import4 - AssembleWAS Configuration Template

CodeStationResources Dev Cell Cluster1 Cluster2 QA Cell Cluster1 Cluster2 Prod Cell Cluster1 Cluster2 App 1 EAR DB Scripts WAS Cell Cfg App 2 EAR WAR DB Scripts WAS Cell Cfg WAS Cluster Cfg Applications

Deployment Automation Developer

1 Auto Discover6 Define Deployment Process7 - Deploy7 - Deploy7 - DeployWAS Configuration Template CreationApplication Environments

QAProdDevDeployment Automation Developer or Deploy Administrator imports the AMC Plug-in into Deploy. The Plug-in is configured to auto-discover WAS installs on specific resources so when the agent comes on-line it will invoke the AMC plug-in which will discover the cell topology and create WAS Cell and WAS Cluster subresources back on the Deploy server.A Middleware Administrator or Application Developer unzips the AMC plug-in on a system that has connectivity to the exemplar WAS cellThe Middleware Administrator or Application Developer will run a script packaged in the AMC plug-in that will prompt for some information, then discover and import configuration from the exemplar WAS cellThe AMC template creation script will ask the user for a base product template (e.g. WAS v8.5) and to chose what configuration data from the imported cell should be added (either only cell scoped configuration or a cluster configuration). Note that if any custom tokens are required (e.g. host specific information like JDBC connection URL, etc.), then the Middleware Administrator or Application Developer will need to open the appropriate template file up for editing and insert the tokens manually. They will then need to create appropriate properties on the appropriate WAS Cell/Cluster resources to ensure the token substitution happens correctly during deployment (this is not directly shown in the diagram above for the sake of clarity).The AMC template creation script will prompt the user for information required to connect to a Deploy server, including the name of the WAS configuration component and will create/update the template in CodeStation. The Deployment Automation Developer should now have all the Deploy artifacts he needs to assemble the Application including deploy/undeploy processesThe application, including WAS configuration, can be deployed and promoted across all environments defined in the application434444

www.ibm.com/software/rational44Demo

Continuous Delivery with Virtualised ServicesAutomating deployment and testing to production-like environments

Databases

Mainframeapplications

Third-partyServicesRational Test Virtualisation Server

Application changes being testedvirtualised servicesDev

QA

DeployRational Team ConcertBuild Process

BuildDeployRational Test Workbench

TestConfigureIBM UrbanCode Deploy

VirtualBox & VagrantWe have Green Hat virtualized services today and SCD to automate the build, deploy, and test. What is new here is that we are leveraging the cloud for the GH test virtualization server and we have modified SCD to capture GH configuration data as part of a test environment. This gives us the ability to automate the deployment and setup of a test environment for application changes that automatically configures the GH virtualization stubs, turns them on, and configures the application to use the stubs. All of this is done leveraging the private cloud for its dynamic provisioning behavior giving us the ability to provision dedicated test environments without the dependency of complicated and sometimes costly end point services.46JKE Banking ApplicationDBWebJKE Banking ApplicationDev EnvironmentNode1QA EnvironmentNode1Node2build: jke.dev_5 timestamp: 2013-07-15_01-44-51build: jke.dev_1 timestamp: 2013-07-14_22-27-54BackupAgent Relay for Separate Networks:- Only two holes in the firewall- Relays JMS to/from agents- Includes HTTP proxy

Architecture Overview: Agent Relay

JMS Mesh for Servers/Relays- Automatic failover handling- Agents just have to be able find one active server

Architecture Overview: Active/Active COBOL, PL/I, C++, Java, EGL, Batch, Assembler, Debug Tool

x86 PC running Linux

IMS

NEW!

z/OS

WAS

DB2

MQ

CICSNote: This Program is licensed only for development and test of applications that run on IBM z/OS. The Program may not be used to run production workloads of any kind, nor more robust development workloads including without limitation production module builds, pre-production testing, stress testing, or performance testing. DevOps Lifecycle

Continuous Feedback and ImprovementsOperations/ProductionDevelopment/TestCustomersBusiness Owners

IBM Continuous Integration Solutions for System ZIBM Rational Test Workbench

51IBM Application Deploy

Rational Continuous Integration, Delivery and Test for System z Continuous build and test of distributed systems51515151Accelerate continuous testing with Service VirtualizationDeploy what is ready, virtualize the rest - Enable continuous integration testing and progressive deployments throughout the software delivery lifecycle for complex applications

Automate the creation of virtual test environments as part of the end-to-end DevOps process Establish a virtual system pattern with automated deployment to standardize and share test environments quickly and easily across projects and teams

Enable an end-to-end Agile software delivery process Increase the frequency of releases by testing earlier in the development cycle and deploying reliably to pre-production and production environments..

Databases

Mainframeapplications

Third-partyServicesRational Test Virtualization Server

Virtualized servicesDev

QA

DeployRational Test Workbench

TestConfigureIBM UrbanCode Deploy

RTW pluginRTVS plugin123IBM UrbanCode Deploy v6.0DevOps for Mobile

RTW Mobile

IBM UrbanCode BuildIBM UrbanCode DeployIBM UrbanCode Release

Mobile Application Deploy Process

Console.wlappadapter

Application CenterBinary (IPA/APK)WorklightAccelerate delivery of mobile apps focusing on quality and user experience Automate deployment of Worklight mobile applications as part of end-to-end delivery process.

Continuous Feedback and Optimization using Tealeaf helps monitor user sentiment and usage, letting teams react to poor feedback before it spiralsIndustry pattern is to target a subset of devices and progressively roll out Facebook, Mailbox53