6. “
DevOps empowers development teams
to own, run, and manage the end-to-
end delivery of an application or piece
of software. It eliminates the confusion
around ownership and drives teams
toward an automated, developer-
managed infrastructure.
16. @jimmydahlqvist
Event driven systems
◦ Run code by reacting to events
◦ Several parts of the system can run
at the same time
◦ Match made in heaven for
serverless systems
32. @jimmydahlqvist
Merge Testing
◦ Run pipeline on merged changes
◦ “Integration” test
◦ Validate changes together
◦ Run in dedicated cloud
environment
42. @jimmydahlqvist
Blue / Green
◦ Provision a new environment, Green
◦ Shift all traffic at once to the Green
environment
◦ Keep Blue environment for fast
rollbacks
55. “
Chaos Engineering is the discipline of
experimenting on a system in order to
build confidence in the system’s
capability to withstand turbulent
conditions in production.
BREAK IT DOWN!
AUTONOMOUS TEAMS
TEAM MANAGES INFRA
AUTOMATION
BASICALLY!!!
MICROS SERVICE BOTH ARCHITECTURE AND ORGANIZATIONAL!!
HUGE PART IN CLOUD NATIVE
BREAK UP SERVICES / BREAK UP TEAMS => 2 PIZZA
INDIVIDUAL TEAMS
API != REST
CONTRACTS => TEAMS NEEED TO TALK!!
INCREASED COMPLEXITY! NOT ALL GOOD!!
EVENT AND COMMUNICATION DRIVEN
NANO SERVICE => AWS LAMBDA
WHAT IS THAT NOT THE SAME?
PRODUCER => API
CONSUMER => CONTRACT
HONOR CONTRACT
DEVOPS SAID WE DEPLOYED INFRA……
WE NEED TO HANDLE IT AS CODE!
MODELS OUR INFRA => REQUIRED FOR AUTOMATION
VERSION CONTROLLED AND AUDIT TRAIL
EVERYTHING IN GIT PLEASE…..
MANUAL => DIFFERENT ENVIRONMENTS
NEEDED FOR AUTOMATION
NOOOOOO NOT SECRETS!
MANY AWS BREACHES ARE DUE TO CHECKED IN CREDENTIALS!
VERIFY OUR INFRA SETUP! HOW ELSE DO WE KNOE?
POLICY AS CODE TO VERIFY EG PORT 22
LINITING TO VERIFY TEMPLATE IS VALID
CREATE TOOLS TO RUN UNIT TEST FOR INFRA!
ENTER THE WORLD OF ASYCN
EVENT DRIVEN!
CHALLANGING FROM A TEST PERSPECTIVE => HOW WE DO IT!! OBSERVE OUTPUTS!
TRIGGER CODE BASED ON EVENT AND NOT COMMUNICATION
MANY PARTS CAN RUN AT THE SAME TIME!
MATCH MADE IN HEAVEN FOR SERVERLESS => HUGE TREND!
YES YES THERE ARE SERVERS! BUT NOT THAT WE MANAGE
RUN CODE DYNAMICALLY
SCALE AUTOMATICALLY => PERFECT FOR EVENT DRIVEN
LAMBDA => BREAK DONW TO NANO SERVICE
FOCUS ON BUSINESS VALUE => WHY I LOVE SERVERLESS
FAST POC
THAT WAS SOME CONTEXT INTO THE WORLD OF CLOUD!!
NOW LET US DEPLOY OUR CHANGES TO PROD
USE CI/CD
REPEATABLE PROCESS
AUTOMATE! NO MANUAL KLICKING AROUNGD
BUILD IN QUALITY AND TESTING
I USE A LOT
VERIFY IT IN THE CLOD => NO MOCKING
INTEGRATION TESTING!!! THIS IS KEY!
NOW WE ARE READY TO MOVE OUR CHANGE TO PROD
FIRT LINE!
VISUALIZE IT!
PR TESTING!!
FIND PROBLEMS EARLY
MAIN BRANCH
TEST IT IN THE CLOUD => USE TEMPORARY ENV
YES! TEMP ENVIRONMENTS CAN TAKE TIME TO SPIN UP! THERE IS NO SILVER BULLET
UNIT TEST TO VERIFY THE INTERNALS OF THE SERVICE
RUN FAST AND IN PARALLEL
FEEDBACK MUST BE FAST
RUN INTEGRATION TESTS => MY EXPERIENCE => THIS FINDS MORE PROBLEMS THAN UNIT TESTING
VERIFY ALL MOVING PARTS TOGETHER
IN THE CLOUD! DON’T MOCK!
RUN FAST OR PICK A LIMITED SCOPE
FOCUS ON CONTRACT TEST!
SPEED SO WE MIGHT NOT BE ABLE TO RUN ALL
COMMUNICATE THE RESULT! NO POINT IN TESTING IF WE DON’T BLOCK MERGE
VISUALIZE IT!
SECOND LINE!!
VISUALIZE IT!
RUN TESTS ON MERGE
TEST CHANGES TOGETHER => OTHER SERVICES
RUN IN DEDICATED CLOUD ENVIRONMENT
BE FAST!!
WE DON’T WANT TO BUILD UP A “MERGE QUEUE”
OR BUNDLE CHANGES => DON’T RUN FOR EVERY MERGE
RUN FULL SUITES EVERY NIGHT!
RUN EVERYTHING, SPEED IS NOT AN FACTOR
CREATE NIGHTLY RELEASEABLE BUILDS
INTEGRATE WITH SLACK / TEAMS
POST RESULT EVERY NIGHT!
RUN ALL THE HEAVY TESTS => LONG RUNNING!
DON’T FORGET ABOUT ASYNC INTEGRATIONS!
VISUALIZE IT!
TIME TO GO TO PROD!!
AREA THAT TEST MUST START TO TAKE RESPONSIBILITY IN!!!
THE LAST LINE!!!
DEPLOY TO PROD
PICK CORRECT STRATEGY
MY TWO FAVORITES
BG
In this mode we can run smoke tests to Green!
In this mode we can run smoke tests to Green!
CANARY!
In this mode we can run smoke tests to Green!
SMOKE TEST THE RELEASE
RUN SUBSET!
USE REAL DATA! BE CAREFUL!
START EXTENSIVE MONITORING!
KEY METRICS! BUSINESS DRIVEN KPI!
COMMUNICATE DEPLOY START => SO TEAM KNOWS!
ROLLBACK TRIGGERED BY TESTS OR METRICS!
TESTS MUST BE ROCK SOLID!
BG MAKE ROLLBACK EASY!
VISUALIZE!
THERE IS ONE MORE THING!
THESE ARE AREAS WHERE I LIKE TO SEE TEST TAKE MORE OWNERSHIP!
PEOPLE THAT SAY QA ARE THE SAME ARE LYING!
DATA IS DIFFERENT
DATABASE 100X AS LARGE => SLOW QUERY!
Netflix key KPI SPS (Streams start Per Second)
Thank you!
You can follow me on twitter or connect on linked in.