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 will take a look at the DevOps challenges specific to Cross-platform Enterprise Systems and present Best Practices to address them.
Use the Pace-Layered Application Strategy to Guide Your DevOps Strategy – Gartner, Oct
Companies that can close the resulting execution gap stand to benefit. In fact, almost 70 percent of the companies currently leveraging software development for competitive advantage outperform their peers from a profitability standpoint--------------------------------------------------------------------------------------------------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-2
Another cultural and process gap is that operational orgs and development orgs have very different notions of what it means to be “done, with quality”. Some of these different concerns are described in the text under the ops and dev people above.
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…
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)
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.