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
Top Related