Delivering software is complex. Systems being developed are made up of multiple components, which in turn interact with other systems, services, application servers, data sources and invocations of 3rd party systems. In an Enterprise this complexity is further enhanced by the cross-platform nature of the infrastructure typical enterprises have. While the customers may be interacting with Systems of Engagement using Mobile and Web Apps, the core capabilities of the enterprise that the customers access are in Systems of Record that are running on large datacenters and more than likely Mainframe systems. Keeping these complex systems up and running and constantly updated with the latest capabilities is a task that requires constant coordination between the lines of business, various cross-platform development, QA and operations teams.
DevOps addresses these development and deployment challenges. The goal of DevOps is to align Dev and Ops by introducing a set of principles and practices such as continuous integration and continuous delivery. Cross-platform enterprise Systems take the need for these practices up a level due to their inherent complexity and distributed nature. Such systems need even more care in applying DevOps principles as there are multiple platforms to be targeted, in a coordinated manner, each with its own requirements, quirks, and nuanced needs. This talk takes a look at the DevOps challenges specific to Cross-platform Enterprise Systems and present Best Practices to address them.
Main Point: We know organizations have a gap between the software delivery capabilities they need to succeed and the ones they have in house currently. Successful organizations know that when they improve their abilities in this area, they increase their success. In fact a recent IBV study where organizations self-reported that... Insights from 435 executives in 58 countries, spanning 18 industries85% realize and reported it is important to criticalOnly 25% say they are able to fully leverage software delivery effectively So there is a gap -- but when companies that can close the resulting execution gap stand to benefit. Almost 70 percent of the companies currently leveraging software development for competitive advantage outperform their peers from a profitability standpointTRANSITION – so there is a huge opportunity for our clients to close that gap…let’s move to the next slide and talk about how--------------------------------------------------------------------------------------------------Note: Outperformers were determined by a self-assessment of profitability against peers in the industry, ranging from 1 (Significant underperformers) to 5 (Significant outperformers) Significant outperformers were ranked as a 5, Average performers a 3-4 and Underperformers 1-2new Rational/WebSphere IBV Study "The Software Edge - How effective software development drives competitive advantage" This study examined the correlation between software delivery competency and industry competitive advantageInsights from 435 executives in 58 countries, spanning 18 industriesRoles included executives at director level and above in IT and other software organizationsSoftware delivery refers to all areas of development, operations, and support within IT and other development / engineering organizations“There was 54% of the companies who said they believe software is critical and 32 percent who called it moderately important – so that’s 86 percent of the respondents say software is either critical or moderately important and that points to the need for better tooling for software development and delivery.” said Randy Newell, director of capabilities marketing for IBM Software Group with a focus on the Rational brand.
Want to: Experiment in the market to judge success of products and servicesLOB: Cannot iterate quickly with market based on IT timlineswant to: Maintain system stabilityOps: Cannot keep up with the pace of change pushed into the systemWant to: Quickly iterate on functionalityDev: Cannot access production-like environments to validate application changes
Main 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, etc…And 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 outcomesTRANSITION… Now let’s talk about what’s new to support this DevOps approach…
Industry pattern is to target a subset of devices and progressively roll out – Facebook, Mailbox
Definitions to avoid confusion with Tivoli productsProvisioning - box or vm; OS+middleware (these are the provisioning step)Deployment - install the app and configure the middleware (ie Hernandez)
Industry pattern is to target a subset of devices and progressively roll out – Facebook, Mailbox
We 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.
Seamless 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