reigniting the volusion platform
Post on 14-Apr-2017
679 Views
Preview:
TRANSCRIPT
REIGNITING THE VOLUSION PLATFORMA PATH TO A BRIGHTER FUTURE, ONE FEATURE AT A
TIME
INTRODUCTION• IDENTIFYING QUICK WINS• CONTINUOUS DEPLOYMENT• API FIRST APPROACH• SHIFTING FROM MONOLITHIC TO
MICROSERVICES
• FEATURE CANDIDATES FOR REAL IMPACT• GROWING THE TEAMS TO MAKE IT
HAPPEN
PLEASE ASK QUESTIONS!
QUICK WINS FIRSTMAKING OUR CUSTOMERS TRUST US AGAIN!
TYPES OF QUICK WINS• RESOLVE AS MANY BUGS AS
POSSIBLE• UPGRADE THE LOOK AND FEEL TO
CURRENT• TRANSPARENT CUSTOMER
COMMUNICATION• BUILD AROUND THE PLATFORM,
NOT IN IT
FIXING CUSTOMER ISSUESTHERE ARE 900 ”BUGS” IN THE SYSTEM OVER THE PAST FEW YEARS
BUG BASHING FIRST• PLATFORM TEAM IN BUG BASHING
MODE• PRIORITIZING THE LOW HANGING
FRUIT• FIXING THE TOP ISSUES OUR
CUSTOMERS ARE DEALING WITH• COMMUNICATE OUR RE-FOCUS TO
THE CUSTOMERS
“”
DELETED CODE IS DEBUGGED CODE.
- JEFF SICKEL
• THIS EFFORT IS HAPPENING NOW AND WILL CONTINUE THROUGH-OUT THIS YEAR
• FOCUSING ON CODE REMOVAL, OR REFACTORING OFF EXISTING PLATFORM
TRANSPARENCY WITH THE CUSTOMER• STATUS PAGE• FEATURE REQUESTS
• OWNING UP TO OUR PAST
MODERNIZE THE PLATFORM UIFRESHENING UP OUR PLATFORM’S LOOK AND FEEL IS AN EASY WIN
APPLYING THE MODERNIZATION
ADMIN UI REFRESH
APPLYING THE MODERNIZATION
ADMIN UI REFRESH
APPLYING THE MODERNIZATION
ADMIN UI REFRESH
APPLYING THE MODERNIZATION
STOREFRONT REFRESH
APPLYING THE MODERNIZATION
STOREFRONT REFRESH
“”
SIMPLICITY IS THE ULTIMATE FORM OF SOPHISTICATION.
- LEONARDO DA VINCI
• ADMIN RESKIN TO BE LAUNCHED IN Q2
• NEW STOREFRONT TO BE LAUNCHED IN Q2
CONTINUOUS DEPLOYMENT
FROM ONCE EVERY TWO WEEKS, TO TWENTY TIMES A DAY!
START WITH CONTINUOUS DELIVERY• UNDERSTAND ROAD BLOCKS• WORK TO REMOVE ROAD BLOCKS• AUTOMATE PATH TO PRODUCTION• PERFORM PATH TO PRODUCTION
MANUALLY• TEST AUTOMATICALLY• MEASURE AUTOMATICALLY
THEN CONTINUOUS DEPLOYMENT• AUTOMATE LAST STEPS THROUGH• AUTOMATIC TESTING – RESULTS• AUTOMATIC MEASUREMENT –
RESULTS
CI/CD STRATEGIES• A / B – BLUE / GREEN – CANARY• DARK LAUNCHING• SLOW BLEED OVER OF TRAFFIC• NON-DESTRUCTIVE DEPLOYMENTS• ROLL BACK BECOMES SWAP TO
LAST• EXCEPT DB
• MEASURE ANYTHING / MEASURE EVERYTHING• CREATE AND WATCH BASELINES• LISTEN FOR UNACCEPTABLE DRIFT• EXCEPTIONS, OUTAGES, RESPONSE
TIMES
• DASHBOARD FOR ”ALL THE THINGS”• PROD LIKE EVERYWHERE
“”
PROGRAM TESTING CAN BE USED TO SHOW THE PRESENCE OF BUGS, BUT NEVER TO SHOW
THEIR ABSENCE! - EDSGER DIJKSTRA
• AS SIMPLE AS POSSIBLE, LESS COMPLEXITY IS BETTER
• PROD LIKE FROM THE START ENABLES NO SURPRISES DOWN THE ROAD
• MEASURE ANYTHING, MEASURE EVERYTHING
API FIRSTTHE BEGINNINGS OF OUR SOFTWARE AS A SERVICE
APPROACH
DOG FOODING MAKES THE BEST API• ENABLES CUSTOMER TO EXTEND
THE PLATFORM• DECOUPLE THE FRONT END FROM
THE BACKEND• OPEN UP MOBILE OPPORTUNITIES• OPEN APP STORE FOR VOLUSION• OPEN NEW MARKETS FOR
VOLUSION
A COLLECTION OF SMALL API’S• CAN BE WEB API• CAN BE NODE.JS AND LAMBDA• FRONTED BY GATEWAY• DEPLOYS SEPARATE FROM FRONT
END• VERSIONED INDIVIDUALLY
From one big code base
To small specific code bases
“”
PLAN TO THROW ONE AWAY; YOU WILL, ANYHOW.
- FRED BROOKS
• SMALL, PURPOSE BUILT APPS, WILL LAST LONGER
• SMALL, PURPOSE BUILT APPS, ARE EASY TO RE-WRITE
FROM MONOLITHIC TO MICROSERVICES
SMALL PURPOSE BUILT SERVICES, RIGHT TECH TO DO THE JOB
WHAT IS A MICROSERVICE?• IT DEPENDS!• CAN BE A 10 LINE LAMBDA METHOD• CAN BE A WEB API PROJECT• ALWAYS – JUST ENOUGH, NO MORE• AUTONOMOUS• HIGH RATE OF CHANGE NOT NECESSARY
N-TIER OF THE 90’S
• A COLLECTION OF LAYERS TO SEPARATE CROSS CUTTING
RESPONSIBILITIES
• ADDING FEATURES GOES SLOWER AS UNDERSTANDING
IMPACT GETS DIFFICULT
• SMALL CHANGES REQUIRE FULL TEST SUITE EXECUTION
DEATH STAR ARCHITECTURE• A COLLECTION OF SERVICES
THAT DO THEIR SINGLE JOB WELL
• EACH SERVICE USES THE TECH THAT BEST SOLVES THE JOB
• WIDTH VS. DEPTH APPROACH
GO FASTER, MOVE THE
COMPLEXITY• INFRASTRUCTURE COMPLEXITY
IS INITIALLY HIGHER WITH MICROSERVICES, BUT CAN ADD
FEATURES FASTER
• LOWER INITIAL INFRASTRUCTURE FRICTION IN
MONOLITH, FEATURES GET HARDER TO ADD OVER TIME
“”
PERFECTION IS ACHIEVED NOT WHEN THERE IS
NOTHING MORE TO ADD, BUT RATHER WHEN THERE IS NOTHING MORE TO TAKE
AWAY - ANTOINE DE SAINT-EXUPERY
• JUST ENOUGH CODE, AND NO MORE
• NO PRECONCEIVED TECHNOLOGY CHOICES MADE UP FRONT
• CAN BE 5 LINES OF CODE, CAN BE A VISUAL STUDIO “PROJECT”
FEATURE CANDIDATES
WHERE DO WE START?
HOW TO IDENTIFY• CAUSES INTERNAL CUSTOMERS PAIN• CAUSES EXTERNAL CUSTOMERS PAIN• IMPACTS STABILITY OF THE PLATFORM• NOT PART OF OUR CORE OFFERING• REQUIRES COMPLEX UNDERSTANDING• RIDDLED WITH BUGS
• BUILT ON OLD, NO LONGER SUPPORTED, TECHNOLOGY
• GET OUT OF THE HABIT OF “NOT INVENTED HERE”
WE CAN BUY SOME FEATURES• SEARCH, TAX, SHIPPING, IMAGE RESIZE, APPLICATION ACCELERATION, CDN
VOLUSION SEARCH
• CUSTOM BUILT ON SQL SERVER
• MORE COMPLEX THAN NEEDED
• INDEXING CAN CAUSE OUTAGES
• MISSING FEATURES
• HARD TO SET UP
• CONFUSES CUSTOMERS
SEARCH AS A SERVICE
• ANOTHER COMPANY’S CORE OFFERING
• FACETED & FILTERING OUT OF THE BOX
• RE-INDEXING IN REAL TIME
• MULTI-LANGUAGE SUPPORT
• SUPPORTED BY THEM, NOT US
• PROMOTES EROSION OF OLD TECH
WE CAN BUILD OTHER FEATURES• STORE FRONTS – API’S – ADMIN INTERFACE – STYLE EDITOR – PRODUCT CATALOG
STORE FRONTS CAN BE RE-WRITTEN
REASONS TO REFACTOR• NEW RESPONSIVE BASE THEME• STYLE EDITOR• HTML RESTRUCTURE• HTML 5
REASONS TO RE-WRITE• MOVE OF OF ASP CLASSIC• DECOUPLE FROM THE PLATFORM• SEPARATE DEPLOYMENT
FREQUENCY• ONE TEAM OWNERSHIP
WHERE DO WE START?
LOOK AT THE PLATFORM
IDENTIFY TARGET:SEARCH
• SEARCH AS A SERVICE
• ADDS FEATURES: BOOST, FILTERING, FACETING, AUTO-INDEXING
• STABILIZES PLATFORM
• REDUCES DATA FOOT PRINT
• REDUCES INFRASTRUCTURE FOOTPRINT
DO THE WORK• BUILD NEW SEARCH UI
• SYNC STORE DATA TO SEARCH SERVICE
• HOOK INTO DATA UPDATES
• HOOK INTO DATA IMPORTER
• ADD FEATURE TOGGLES
• SLOWLY ROLL STORES OVER TO NEW SEARCH
IDENTIFY TARGET:
STOREFRONT• ALREADY UPDATING THE
STRUCTURE
• ADDING NEW THEME STRATEGY
• ADDING STYLE EDITOR
• API’S COMING ON LINE
DO THE WORK• STOREFRONT AS STAND ALONE
APP
• BUILT FROM THE API OUT
• STRUCTURED FOR FLEXIBLE THEMING
• HEAVILY CACHEABLE (CDN)
THE GOAL IS TO ERODE THE PLATFORM
WE ARE STILL AFLOAT BUT WE NEED TO
RE-PLATFORM AS QUICKLY AS WE CAN
• SMALLER AND LIGHTER COMPONENTS
• BUILD A FEELING OF OWNERSHIP
• GET IN FRONT OF OUR COMPETITION
from oil tankerto
container ship
NOT LESS FEATURES!
JUST LESS COMPLEXITY IN THE FEATURES
THINK LEGO!
GROWING THE TEAMS
THAT LOOKS LIKE A LOT OF
WORK!• WE’VE ALREADY STARTED:• BUG BASHING• ADMIN REFACTOR• STYLE EDITOR• CONTENT BUILDER• SEARCH AS A SERVICE
WE WANT TO GO FASTER!• FORMALIZING THE “API TEAM”
• EXPANDING THE FRONT END TEAM
• EXPANDING THE PLATFORM TEAM
• GROWING QA
• ADDING DEVOPS
• REALIGNING PROCESSES
BUT WE CAN’T FORGET
• WE NEED PASSION
• SELF DRIVEN
• HIGHLY MOTIVATED
• EAGER TO SOLVE PROBLEMS
QUESTIONS?@ASIEMER
top related