Satisfactory software performance is essential for the adoption and the success of a product. In organizations that follow traditional software development models (e.g., waterfall), Software Performance Engineering (SPE) involves time-consuming experimental modeling and performance testing outside the actual production environment. Such existing SPE methods, however, are not optimized for environments utilizing Continuous Integration (CI) and Continuous Delivery (CD) that result in high frequency and high volume of code changes. We present a summary of lessons learned and propose improvements to the SPE process in the context of CI/CD. Our findings are based on SPE work on two products conducted over 5 years at a major online services company. We find that (a) SPE has mainly become a post hoc activity based on data from the production environment, (b) successful application of SPE techniques require frequent re-evaluation of priorities, and (c) engineers working on SPE require a broader skill set than one traditionally possessed by engineers working on performance.
Wed 15 JunDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
17:30 - 18:00 | Industrial track session 3Industrial Track at Wednesday Track 2 session 2 (Tesla and online) Chair(s): Aleksander Fabijan Microsoft, Rebekka Wohlrab Carnegie Mellon University | ||
17:30 15mTalk | The Evolving Landscape of Software Performance Engineering Industrial Track Link to publication DOI Pre-print | ||
17:45 15mTalk | The Lifecycle of Developing Overall Evaluation Criterion in AB Testing for Netflix Messaging Industrial Track |
Link to join: https://eu01web.zoom.us/j/61841934182?pwd=ZkpFVFhpTnZKcXhNbU4ydlUxRWl1Zz09