Model-Based Performance Evaluations in Continuous Delivery Pipelines



Similar documents
Using Dynatrace Monitoring Data for Generating Performance Models of Java EE Applications

SPECjEnterprise2010 & Java Enterprise Edition (EE) PCM Model Generation DevOps Performance WG Meeting

Using Performance Models to Support Load Testing in a Large SOA Environment Industrial Track

Towards a Performance Model Management Repository for Component-based Enterprise Applications

ACCELERATE DEVOPS USING OPENSHIFT PAAS

Model-based Performance Evaluation of Large-Scale Smart Metering Architectures

Modeling Big Data Systems by Extending the Palladio Component Model

Enabling Continuous Delivery for Java Projects with Oracle Cloud Services (Oracle PaaS) Siva Rama Krishna Oracle India

Continuous Delivery of Software

Integrating the Palladio-Bench into the Software Development Process of a SOA Project

Load and Performance Load Testing. RadView Software October

November 12 th 13 th London: Mastering Continuous Integration with Jenkins

Towards Performance Awareness in Java EE Development Environments

Agile Delivery Framework Automation & Deployment With Puppet

Managing Application Performance with JBoss Operations Network and OC Systems RTI

SUCCESFUL TESTING THE CONTINUOUS DELIVERY PROCESS

Continuous Integration Multi-Stage Builds for Quality Assurance

Practicing Continuous Delivery using Hudson. Winston Prakash Oracle Corporation

The Rationale For Continuous Delivery

Stream Processing on Demand for Lambda Architectures

Workflow/Business Process Management

Continuous Integration and Deployment Modern Technique's

Mastering Continuous Integration with Jenkins

INCREASE YOUR WEBMETHODS ROI WITH AUTOMATED TESTING. Copyright 2015 CloudGen, LLC

Why continuous delivery needs devops, and why devops needs infrastructure-as-code. Sriram 25-Oct-2012

Continuous Delivery Software-Deployments ohne graue Haare. 3. April 2012 Corsin Decurtins

Continuous Delivery: Automating the Deployment Pipeline. Solution Brief

Understanding Code Management in a Multi-Vendor Environment. Examples of code management in a multi-team environment

IT Home 2015 DevOps 研 討 會

Continuous Integration, Delivery and Deployment. Eero Laukkanen T Software Testing and Quality Assurance P

Continuous Integration

SUCCESFUL TESTING THE CONTINUOUS DELIVERY PROCESS

Tomáš Müller IT Architekt 21/04/2010 ČVUT FEL: SOA & Enterprise Service Bus IBM Corporation

Application Testing Suite: A fully Java-based software testing platform for testing Oracle E-Business Suite and other web applications

ITG Software Engineering

Fundamentals of Continuous Integration

Continuous Delivery for Alfresco Solutions. Satisfied customers and happy developers with!! Continuous Delivery!

How To Write A Continuous Delivery

Introduction of Continuous Delivery in Multi-Customer Project Courses

White Paper. How to Achieve Best-in-Class Performance Monitoring for Distributed Java Applications

automated acceptance testing of mobile apps

Continuous Integration (CI)

Spirent CLEAR Mobility. End-to-End Mobile Network Infrastructure Test and Lab Automation Solutions

Continuous Integration: Improving Software Quality and Reducing Risk. Preetam Palwe Aftek Limited

zenterprise The Ideal Platform For Smarter Computing Eliminating Redundant Software

Continuous Integration

The SPES Methodology Modeling- and Analysis Techniques

Operations and Monitoring with Spring

Application Release Automation (ARA) Vs. Continuous Delivery

What Is the Cloud?

BuildBot. S.Cozzini/A.Messina/G.Giuliani. And Continuous Integration. RegCM4 experiences. Warning: Some slides/ideas.

Pipeline Orchestration for Test Automation using Extended Buildbot Architecture

Monitoring of Applications for Performance and Availability. RTView for APM for applications built using GlassFish

Continuous Delivery Benefits, Best Practices and Practical Advice

Agile Software Factory: Bringing the reliability of a manufacturing line to software development

Data Center Automation with YADT

HP DevOps by Design. Your Readiness for Continuous Innovation Rony Van Hove/ April 2 nd, HP Software: Apps meet Ops 2015

Past Experiences and Future Challenges using Automatic Performance Modelling to Complement Testing. Paul Brebner, CTO

Efficient Mobile Testing Georg Thurner Mike Nemeth, September 18, Copyright 2014, Tricentis GmbH. All Rights Reserved. 1

Continuous Integration and Automatic Testing for the FLUKA release using Jenkins (and Docker)

18/09/2015. DevOps. Prof. Filippo Lanubile. Outline. Definitions Collaboration in DevOps Automation in DevOps. Prof.

MySQL Enterprise Monitor

NXTware Remote. Advanced Development and Maintenance Environment for OpenVMS and other Strategic Platforms

Application Testing Suite Oracle Load Testing Introduction

Continuous Delivery: implementation considerations. Léon Hagenaars-Keus Edwin van Dillen

Developing Plugins for Cloud Scale

Jenkins World Tour 2015 Santa Clara, CA, September 2-3

Business Intelligence for Dynamics GP. Presented By: Rob Jackson, Business Intelligence Consultant Brent Keilin, GP Consultant

Ingres Global Partner Summit OpenROAD Meets Open Source: Are YOU Ready? March 2008

Using DevOps Tools to Achieve Continuous Integration

Scaling Agile Is Hard, Here s How You Do It!

Do DevOps on VMware vcloud Air Your Way, Without the Rework! Ashok Aletty, vcloud Air Solution Architect

Be Fast Or Stay Behind

Apache Stratos Building a PaaS using OSGi and Equinox. Paul Fremantle CTO and Co- Founder, WSO2 CommiCer, Apache Stratos

DRUPAL CONTINUOUS INTEGRATION. Part I - Introduction

Winning the J2EE Performance Game Presented to: JAVA User Group-Minnesota

DevOps. Building a Continuous Delivery Pipeline

Automated Integration Testing & Continuous Integration for webmethods

What is new for HP LoadRunner and Performance Center 11.52

The care of open source creatures. Vincent Sanders

Product Training Services. Training Options and Procedures for JobScheduler and YADE

Continuous Delivery by example.net

GO BEYOND DATA Real-time Analytics for Application Performance Management

CloudCenter Full Lifecycle Management. An application-defined approach to deploying and managing applications in any datacenter or cloud environment

Continuous Delivery Workshop

DevOps for CA Plex Automated Testing

Continuous Integration Optimizing Your Release Management Process

Patterns to Introduce Continuous Integration to Organizations

How to Optimize Automated Testing with Everyone's Favorite Butler

Security Automation in Agile SDLC Real World Cases

Increasing frequency of releases to every week down from quarterly major releases

DevOps to Enterprise Agile

Performance Management for Cloudbased STC 2012

Continuous Integration Processes and SCM To Support Test Automation

Custom Development Methodology Appendix

Web Application Hosting Cloud Solution Architecture.

Continuous Delivery is the improvement in the delivery process of software,with strong emphasis on test automation, continuous integration,

TEST AUTOMATION FRAMEWORK

Continuous Delivery. Anatomy of the Deployment Pipeline (Free Chapter) by Jez Humble and David Farley

Continuous integration for databases using Red Gate tools

Transcription:

Bergamo, 01/09/2015 Model-Based Performance Evaluations in Continuous Delivery Pipelines 1st International Workshop on Quality-aware DevOps (QUDOS 2015) Markus Dlugi Andreas Brunnert Helmut Krcmar fortiss GmbH An-Institut Technische Universität München

Agenda Motivation Architecture Live Demo 2

Motivation Continuous Integration, Delivery, Deployment Continuous Integration (CI) ensures a usable application during all stages of the development process Continuous Delivery (CD) demands that the application is production deployable for every successful release candidate Continuous Deployment is the practice of actually deploying every application version that has passed the necessary tests to production Humble & Farley (2010) 3

Motivation Deployment Pipeline Developer checks in Deployment Pipeline Commit Stage Automated Acceptance Tests Automated Capacity Testing Manual Testing Release Humble & Farley (2010) 4

Motivation Modified Deployment Pipeline Developer checks in Deployment Pipeline Commit Stage Automated Acceptance Tests Automated Capacity Testing Manual Testing Release Performance Change Detection Performance Feedback Brunnert & Krcmar (2014) 5

Motivation Benefits Detect performance changes continuously to prevent regressions and help maintain SLAs Provide stable performance tracking mechanism independent of testing environments Improve integration and collaboration between development and operations teams 6

Architecture System Context Java EE Application Server Cluster Monitoring Data RETIT APM Server Dynatrace Server Monitoring Data RETIT Continuous Delivery Jenkins CI System builds & deploys 7

Architecture Architectural Overview RETIT Continuous Delivery OSGi Environment Jenkins JVM RETIT APM CQL Resource Profile Generator 1 Simulator 2 Simulation Result Comparator 3 Resource Profile Comparator Dynatrace HTTP Performance Change Detection Builder 4 Performance Change Visualization Artifact Repository Jenkins Subsystem # Communication Process 8

Demo Method control flow @WebMethod public boolean sellinventory(integer userid, long inventoryid, boolean rollback){ Customer customer = getcustomer(userid,true); CustomerInventory inventory = getinventoryitem(inventoryid, customer.getid()); if (inventory == null) return false; customer.changebalance(inventory.gettotalcost()); customer.getinventories().remove(inventory); em.remove(inventory); if (rollback) { mysessionctx.setrollbackonly(); } return true; } 9

Demo Modified method control flow @WebMethod public boolean sellinventory(integer userid, long inventoryid, boolean rollback){ for(int i = 0; i < 50000; i++) { Math.random(); } Customer customer = getcustomer(userid,true); CustomerInventory inventory = getinventoryitem(inventoryid, customer.getid()); if (inventory == null) return false; customer.changebalance(inventory.gettotalcost()); customer.getinventories().remove(inventory); em.remove(inventory); if (rollback) { mysessionctx.setrollbackonly(); } return true; } 10

Demo Live Demo 11

References Brunnert, A., Krcmar, H. (2015). Continuous Performance Evaluation and Capacity Planning Using Resource Profiles for Enterprise Applications. Journal of Systems and Software (JSS), 10.1016/j.jss.2015.08.030 Brunnert, A., Krcmar, H. (2014). Detecting performance change in enterprise application versions using resource profiles. In Proceedings of the 8th International Conference on Performance Evaluation Methodologies and Tools, VALUETOOLS 14, pages 165-172, ICST, Brussels, Belgium. Humble, J., Farley, D. (2010). Continuous delivery: reliable software releases through build, test, and deployment automation: Pearson Education. Dehling, H., Haupt, B. (2006). Einführung in die Wahrscheinlichkeitstheorie und Statistik: Springer-Verlag. Stephens, M. A. (1992). An Appreciation of Kolmogorov's 1933 Paper 12

Q&A Markus Dlugi Andreas Brunnert dlugi@fortiss.org brunnert@fortiss.org performancegroup@fortiss.org pmw.fortiss.org 13

Questions for the audience How should the Simulation Result Comparator be built to ensure that significant performance changes are detected while simultaneously being robust enough to avoid false negatives? How can sensible thresholds for metrics like the mean/median response time be determined? 14