Platform Upgrades As A Service Raj Nagarajan, Robert Enyedi.

Slides:



Advertisements
Similar presentations
Jenkins User Conference San Francisco, Sept #jenkinsconf Business Process Model & Notation (BPMN) Workflows in Jenkins Max Spring Cisco
Advertisements

Developer Tester Architect IT / Project Manager BusinessAnalyst Designer Database Professional Team Collaboration Software Quality Project Transparency.
Keeping our websites running - troubleshooting with Appdynamics Benoit Villaumie Lead Architect Guillaume Postaire Infrastructure Manager.
Java Stack 4 Providing Robust Back-end Web Services For Your Solution.
Agile Testing with Testing Anywhere The road to automation need not be long.
© copyright 2014 BMC Software, Inc. DevOps consultant Niek Bartholomeus Going DevOps with BMC.
Building solutions with Improving solution governance on SharePoint 2010 Rico Ho Chief Dreaming Officer
Introduction to the Java Stack Michael Youngstrom.
Version Enterprise Architect Redefines Modeling in 2006 An Agile and Scalable modeling solution Provides Full Lifecycle.
Introduction to Continuous Integration Mike Roberts.
DNN LOVES JENKINS FOR CONTINUOUS INTEGRATION
Estimation Wrap-up CSE 403, Spring 2008, Alverson Spolsky.
QWise software engineering – refactored! Testing, testing A first-look at the new testing capabilities in Visual Studio 2010 Mathias Olausson.
Achieving Agility with WSO2 App Factory S. Uthaiyashankar Director, Cloud Solutions WSO2 Inc. Dimuthu Leelarathne Software Architect WSO2 Inc.
DevOps Jesse Pai Robert Monical 8/14/2015. Agile Software Development 8/14/2015© 2015 SGT Inc.2.
Immutable Infrastructure With Docker and EC2 Docker Conf 2014 Michael Bryzek CTO & Co-Founder Gilt
What’s new in Stack 3.2 Michael Youngstrom. Disclaimer This IS a presentation – So sit back and relax Please ask questions.
= WEEKS, MONTHS, YEARS OF DELAYED APPLICATION VALUE MISSED REVENUE OPPORTUNITIES, INCREASED COST AND RISK DEV QA PACKAGE COMMERCIAL SOFTWARE CUSTOM APPLICATION.
Sampleminded® Support Overview Last Updated: 1/22/
Project 2003 Presentation Ben Howard 15 th July 2003.
Perforce Software Version Everything.. Visual Studio Industry Partner Perforce Software NEXT STEPS Contact us at: Perforce products.
Jianfeng Liu, eBay Justin Early, eclipse.org/vjet/
Developer TECH REFRESH 15 Junho 2015 #pttechrefres h Understand your end-users and your app with Application Insights.
Eclipse 24-Apr-17.
Introduction to the Java Stack Michael Youngstrom.
Confidential Continuous Integration Framework (CIF) 5/18/2004.
© Equal Experts UK Ltd and lyndsayp simple software solutions to big business problems. Making Software. Better. Smoothing.
Anubha Gupta | Software Engineer Visual Studio Online Microsoft Corp. Visual Studio Enterprise Leveraging modern tools to streamline Build and Release.
EMI is partially funded by the European Commission under Grant Agreement RI SA2 – Development Tools Andres Abad Rodriguez SA2.4 Tools Activity Leader.
Paperless Timesheet Management Project Anant Pednekar.
Perfecto Mobile Automation
4/26/2017 Use Cloud-Based Load Testing Service to Find Scale and Performance Bottlenecks Randy Pagels Sr. Developer Technology Specialist © 2012 Microsoft.
Recommending Adaptive Changes for Framework Evolution Barthélémy Dagenais and Martin P. Robillard ICSE08 Dec 4 th, 2008 Presented by EJ Park.
Experiments in Utility Computing: Hadoop and Condor Sameer Paranjpye Y! Web Search.
A way to develop software that emphasizes communication, collaboration, and integration between development and IT operations teams.
2 Microsoft Confidential3 The Microsoft Web Platform is the software of choice when building web solutions or applications for your business, large.
CERN AI Config Management 16/07/15 AI for INFN visit2 Overview for INFN visit.
Cisco Consulting Services for Application-Centric Cloud Your Company Needs Fast IT Cisco Application-Centric Cloud Can Help.
JRA1 Meeting – 09/02/ Software Configuration Management and Integration EGEE is proposed as a project funded by the European Union under contract.
The Next Level Of Agile: DevOps and CD אוקטובר 2015.
Continuous Delivery and Team Foundation Server 2013 Ognjen Bajić Ana Roje Ivančić Ekobit.
1 Punishment Through Continuous Delivery If it hurts, do it more often…
Cloud Installation & Configuration Management. Outline  Definitions  Tools, “Comparison”  References.
DECTRIS Ltd Baden-Daettwil Switzerland Continuous Integration and Automatic Testing for the FLUKA release using Jenkins (and Docker)
Guide To Develop Mobile Apps With Titanium. Agenda Overview Installation of Platform SDKs Pros of Appcelerator Titanium Cons of Appcelerator Titanium.
Initiating UK OOI CI Project 7 th /8 th March 2011.
Slide 1. What's New in NetBeans IDE 7.1 Name Title.
QA Process within OEM Services Ethan Chang QA Engineer OEM Service, Canonical
11/19/2017 9:41 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Joonas Sirén, Technology Architect, Emerging Technologies Accenture
Agenda:- DevOps Tools Chef Jenkins Puppet Apache Ant Apache Maven Logstash Docker New Relic Gradle Git.
Implementing Cloud-based Agile Team Development - Lessons Learned
Open-O Integration Project Introduction
A Case Study: Automated Continuous Software Engineering Cycle (ACSEC)
External Web Services Quick Start Guide
Infrastructure Orchestration to Optimize Testing
Work Package 4 Software Integration and Distribution
Docker Birthday #3.
Microsoft Inspire 9/17/2018 2:10 PM Proactive Insights
LECTURE 3: Software Configuration Management
Continuous Performance Engineering
Managing Development Projects Across Oracle Cloud Services: A Guide
Patricia NXT.
Dynamic Process for Source Control
Open Source Tool Based Automation solution with Continuous Integration and end to end BDD Implementation Arun Krishnan - Automation Manager Maria Afzal-
HCL’s Viewpoint – DevOps on MS Cloud
Node.js Test Automation using Oracle Developer Cloud- Simplified
Overview on CI Use JJB (Jenkins Job Builder) to manage Jenkins jobs.
Session Abstract This session will provide an overview of the latest improvements and enhancements made to the Ed-Fi ODS/API in 2016, as well as a preview.
ONAP Architecture Principle Review
Presentation transcript:

Platform Upgrades As A Service Raj Nagarajan, Robert Enyedi

Why are we here?

Software Upgrades - TODAY Platform Upgrades As a Service 3 1.Read release notes 2.Make changes 3.Fingers crossed 4.Test 5.Rinse and repeat [StackOverflow] Practical approach to keeping jQuery up to date?Practical approach to keeping jQuery up to date? [jQuery] jQuery UI 1.9 Upgrade Guide%jQuery UI 1.9 Upgrade Guide

Software upgrades – different perspectives Painful – what were they thinking? Boring/vague release notes Trial-n-Error When will this bug be fixed? Developers Costly – I have no time for this Why this often? When will my team’s feature- request rollout? Managers Upgrades breaks test cases Long regression cycles Collateral damage Testers Cool new XYZ feature Sorry about that bug  Who designed this? Let us rewrite. How long should we maintain backwards compatibility? Platform Developers Fix this security issue NOW! Security This is a production P1 issue – what is the ETA for rollout? Ops Platform Upgrades As a Service 4 End Developers Platform Developers

ebay scale ~3000 deployments per month to nodes ~900 deployments per week to nodes Deployment Planned releases: 1 major, 3 minor, 20+ micro releases PER YEAR Out-of-cycle releases for production issues, including security patches. Releases developers spread across 4 continents (North America, Europe, Asia, Australia) and multiple time-zones Stack Overflow like forum based support model Adoption Thousands of production VM pools Multi-billion traffic hits / day Metrics Platform Upgrades As a Service 5

A better way: Platform Upgrade ebay

Streamlined User Interaction Platform Upgrades As a Service 7 git Telemetry Pull request Maven

Personalized and Actionable Upgrade Report Platform Upgrades As a Service 8 Early code analysis and fix Delivered as.md on Git Detect and document manual changes Outdated JDK or system overrides Misused APIs, non-optimal settings Application Health Check

Under the Hood Architecture, data, community

Repositories MavenGitHub Jenkins Application Bundles REST API Orchestration Service Architecture Platform Upgrades As a Service 10 Service Tasks Service Commands GitHubMavenJenkins Cloud External Tool PAAS App Config and Health Web UI Code 100% Java RESTEasy Platform Upgrade Emergency Patch Upgrade Module

Example use case Upgrade project from platform version 1.1 to 2.2 Upgrade Module Architecture Platform Upgrades As a Service Upgrade10to11 Upgrade11to12 Upgrade12to20 Logger upgrade Package refactoring API refactoring Upgrade20to21 Upgrade21to22 Platform versions Upgrade paths Add-ons Code 90% Scala 10% Java Eclipse JDT Chain of commands

Telemetry Driven Product Evolution Platform Upgrades As a Service 12 The journey so far: 8 months, 550+ projects, 99% adoption Full data about the submitted upgrade requests Data collection from Maven repository to facilitate move and cleanup Data Service usage, success rate, artifact usage Effective troubleshooting Traceability for post-mortems and platform improvements Statistics CI build detects usage of old platform version Runs the upgrade User receives a pull request with instructions Proactive upgrades Use the Git log to identify upgrade pain points Rely on hard data vs customer complaint to fine tune the upgrade service Full traceability

Open Source: Ostara What does it do? –The core functionality of the ebay platform upgrade solution –Suitable for but not exclusive to Maven and Spring based Java projects Development strategy –Keep generic non-ebay features in the Ostara code base –Incubation modules in both ebay and Ostara repositories –Build community & extend with more use cases Platform Upgrades As a Service 13 ebay platform upgrades Ostara ebay extensions Codehttps://github.com/eBay/ostarahttps://github.com/eBay/ostara LicenseApache Communityhttps://groups.google.com/d/forum/ostaraosshttps://groups.google.com/d/forum/ostaraoss

Future Directions Platform Upgrades As a Service 14 Create a simple upgrade path with the patch On all affected applications, apply the patch in their Git repositories, build/test/deploy the patched applications Emergency patches Use semantic analysis of code to detect types Apply all applicable refactoring patterns Allows a more fast paced API cleanup, reduces lifetime of deprecated APIs Deep API refactoring Extend the project to non-Java platforms like node.js, Scala/Akka Polyglot use cases

Q&A

Global Platforms and Infrastructure Raj Nagarajan Robert Enyedi Community