scm and performance - ny web performance meetup

25
SOFTWARE CONFIGURATION MANAGEMENT & PERFORMANCE GUY FERRAIOLO NY WEB PERFORMANCE MEETUP, 2/22/2010, NY, NY COPYRIGHT 2010 some rights reserved This work is licensed under the Creative Commons Attribution-No Derivative Works 3.0 License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nd/3.0/ or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, US

Upload: guy-ferraiolo

Post on 13-Jul-2015

499 views

Category:

Technology


2 download

TRANSCRIPT

SOFTWARE CONFIGURATION MANAGEMENT & PERFORMANCE

GUY FERRAIOLO

NY WEB PERFORMANCE MEETUP, 2/22/2010, NY, NY

COPYRIGHT 2010

some rights reserved

This work is licensed under the Creative Commons Attribution-No Derivative Works 3.0 License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nd/3.0/ or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, US

TOPICS OF THIS TALK

BACKGROUND, DEFINITIONS, DESCRIPTIONS OF SCM

GOOD THINGS SCM PROVIDES FOR PERFORMANCE ENGINEERS

SOME ASPECTS OF A GOOD SCM METHODOLOGY

SOFTWARE CONFIGURATION MANAGEMENT

USUALLY CALLED SCM

IMPORTANT FOR MANY REASONS NOT RELATED TO PERFORMANCE

OFTEN NEGLECTED

FREQUENTLY REINVENTED

DEFINITION OF SCM

In software engineering, software configuration management (SCM) is the task of tracking and controlling changes in the software. Configuration management practices include revision control and the establishment of baselines. [ http://en.wikipedia.org/wiki/Software_configuration_management]

A MORE ECCENTRIC DEFINITION

A FORM OF FUNCTIONAL PROGRAMMING

THE DATA OPERATED ON IS CODE

THE PRIMARY OUTPUTS ARE TRANSFORMED CODE, EXECUTABLES AND SCRIPTS

SCM ACTIVITIES

MANAGE CODE REPOSITORIES

BUILD SPECIFIC VERSIONS OF SOFTWARE

RECORD WHAT WAS BUILT, WHEN, WHY AND BY WHOM

MANUFACTURE, DISTRIBUTE AND INSTALL SOFTWARE

MORE SPECIFIC SCM ACTIVITIES RELATED TO PERFORMANCE (#1)

AUTOMATE DEPLOYMENT OF MONITORING TOOLS

MORE SPECIFIC SCM ACTIVITIES RELATED TO PERFORMANCE (#2)

CORRELATE MONITORING WITH DEPLOYMENT

MORE SPECIFIC SCM ACTIVITIES RELATED TO PERFORMANCE (#3)

DEPLOY WITH A HIGH DEGREE OF UNIFORMITY

MORE SPECIFIC SCM ACTIVITIES RELATED TO PERFORMANCE (#4)

UNDO!

MORE SPECIFIC SCM ACTIVITIES RELATED TO PERFORMANCE (#5)

CONTROL URL-BASED CACHING

MORE SPECIFIC SCM ACTIVITIES RELATED TO PERFORMANCE (#6)

DEPLOY FOR SPECIFIC PURPOSES

DEVELOPMENT

PERFORMANCE TESTING

A/B TESTING

MORE SPECIFIC SCM ACTIVITIES RELATED TO PERFORMANCE (#7)

TRACK PROBLEMS

BY MODULE

BY DEVELOPER

WHAT DO WE WANT FROM OUT SCM METHODOLOGY

HIGHLY AUTOMATED

REVERSIBLE

SELF-DOCUMENTING

SIMPLE WORKFLOW

THINGS THAT MAKE AN SCM PROCESS WEAK (#1)

NOT INTEGRATED • MONITORING AND DEPLOYMENT ARE COMPLETELY DISTINCT PROCESSES

MANUAL MAGIC IN THE MIDDLE OF THE PROCESS • HIGHLY AUTOMATED UNTIL A MANUAL STEP REQUIRING HIDDEN KNOWLEDGE IS DONE BY A SMALL SET OF PEOPLE

FAILS TO RECORD KEY INFORMATION OR PRESENTS IT IN SUCH VOLUME THAT IT CAN’T BE EASILY ANALYZED

THINGS THAT MAKE AN SCM PROCESS WEAK (#2)

ALLOWING PRIVILEGED PEOPLE TO BREAK RULES

USING TOOLS THAT CAN’T PROVIDE KEY FUNCTIONALITY

POSITIVE STEPS TO GOOD SCM

NEEDS SUPPORT OF MANAGEMENT AND KEY DEVELOPERS

NEEDS TO BE USED ON A REGULAR BASIS

NEEDS TO REPORT UNDERSTANDABLY AND REGULARLY

TOOLS AND TECHNIQUES (#1)

MAKE DECISIONS EXPLICITLY

TAKE ACTION AUTOMATICALLY

TOOLS AND TECHNIQUES (#2)

I DISLIKE RPM AS A DEPLOYMENT TOOL, TRY SOMETHING ELSE

MAKE IS GOOD, I HAVE NOT WORKED WITH ANT

VIEWPATHING IS A VERY POWERFUL TECHNIQUE, LATER GENERATION NMAKE HAS IT

TOOLS AND TECHNIQUES (#3)

SUBVERSION IS ACCEPTABLE, IT’S GLOBAL NUMBERING SCHEME HIDES SOME USEFUL INFORMATION

INVESTIGATING S-LISTS AS A CONCEPTUAL MODEL IS VERY USEFUL

RECAP

SCM IS VALUABLE IN GENERAL

SCM HAS DIRECT AND SIGNIFICANT IMPACT ON PERFORMANCE ENGINEERING

THERE IS A LARGE BODY OF WORK THAT CAN BE MINED TO IMPROVE ANY SCM PROCESS

RESULTS ARE (SOMEWHAT) PROPORTIONAL TO EFFORT

THANKS TOWEB PERFORMANCE MEETUP

LOGICWORKSSERGEY CHERNYSHEV

THANKS FOR LISTENING!CONTACT ME IF YOU WANT TO TALK ABOUT THIS

SUBJECT

CONTACT INFORMATION

GUY FERRAIOLO

[email protected]

DEFINITION OF SCM:

HTTP://EN.WIKIPEDIA.ORG/WIKI/SOFTWARE_CONFIGURATION_MANAGEMENT

CONTAINS A FAIRLY DETAILED EXPLANATION OF VIEWPATHING:

HTTP://WWW2.RESEARCH.ATT.COM/~GSF/NMAKE/NMAKE.HTML