the power of real time dashboards in agile development: visualize & attacktarantino presentation
DESCRIPTION
Mario Pareja's talk from Fall 2014 Node.js Meetup Mario talked about how 360 leveraged Docker to distribute their production application coupled with a customized metrics dashboard app. Mario will explain the importance of the dashboard view at development time and how simple it was for 360 to run a production-like world on a laptop by leveraging Docker. Mario's goal is for everyone to leave the talk with practical examples and the confidence to leverage Docker to create and tear-down their own production-like worlds. Capturing log entries and metrics is dead simple. It’s knowing what to capture that is difficult and we really don’t know if the data we’re capturing is going to be helpful until we visualize it. We get it wrong all the time, of course, but that’s the point here; what makes sense when you’re typing away in your editor often makes zero sense at the user level. Would you ship a new UI without ever looking at it? I want everyone to re-think how we look at this - make that production insight a first-class citizen right from the get go, day one of starting to write the code.TRANSCRIPT
VISUALIZE AND ATTACK
@mario_pareja
LEARNING FROMGIANTS
LEARNING FROMNETFLIX
LEARNING FROMLINKEDIN
LEARNING FROMETSY
LEARNING FROMGILT
LEARNING FROMINFOQ.COM
WHERE’S THE METRICS, MAN?
“
”
@mario_pareja
DELOITTE’S FAST 50COMPANIES TO WATCH
DELOITTE’S FAST 50FASTEST GROWING
VISUALIZE AND ATTACK
VISUALIZE IN PRODUCTION
VISUALIZE IN DEVELOPMENT
ATTACK
STORY TIME
TMWE’RE AGILESTORY TIME
TM
UNIT TESTS
WE’RE AGILESTORY TIME
TM
UNIT TESTSACCEPTANCE TESTS
WE’RE AGILESTORY TIME
TM
UNIT TESTSACCEPTANCE TESTSDELIVERY PIPELINE
WE’RE AGILESTORY TIME
TM
UNIT TESTSACCEPTANCE TESTSDELIVERY PIPELINEPROD WEEKLY-ISH
WE’RE AGILESTORY TIME
INBOX( )1
INBOX( )12
INBOX( )666
WHAT THE HELL HAPPENEDTO MY ACTING CAREER?!
WHAT THE HELL HAPPENEDTO MY APP?!
METRICS
TOOLS STATSD => GRAPHITE =>
GRAFANA
TOOLS STATSD => GRAPHITE =>
GRAFANA
TOOLS STATSD => GRAPHITE =>
GRAFANA
TOOLS STATSD => GRAPHITE =>
GRAFANA
GRAFANA ROCKS
GRAFANA ROCKS
PRO-TIP: CONTROL RESOLUTION
DASHBOARDSARE CODE
VISUALIZE IN PRODUCTION
RECAP
VISUALIZE IN DEVELOPMENT
CAPTURE IS
EASY
WHAT TOCAPTURE IS
HARD
FEEDBACKCYCLE
RETHINK
VISUALIZE IN DEVELOPMENT
RECAP
ATTACK
IMAGE
VIRTUAL HARDDRIVE SNAPSHOT
CONTAINER
VIRTUAL MACHINEEXCEPT FASTER
REPOSITORY
RELATED SETOF IMAGES
REGISTRY
A PLACE TOSTORE IMAGES
SHARE VOLUMES
MOUNT FILESYSTEMINSIDE CONTAINER
LINKS
CONNECTCONTAINERS
Dockerfile
CREATEIMAGES
USINGDOCKER
FIND IMAGE
FIND IMAGE
COMMUNITY BUILTHUB.DOCKER.COM
RUN CONTAINER
docker run -d --name myredis redis
RUN CONTAINER
docker run -d --name myredis redis
RUN CONTAINER
docker run -d --name myredis redis
RUN CONTAINER
docker run -d --name myredis redis
RM CONTAINER
docker rm -v -f myredis
RM CONTAINER
docker rm -v -f myredis
RM CONTAINER
docker rm -v -f myredis
CONTAINER IP
docker inspect --format '{{.NetworkSettings.IPAddress}}' myredis
CUSTOM IMAGES
CREATE DOCKERFILEBUILD IMAGE
TAG IMAGEPUSH IMAGE
ATTACK
directory of our little world
MEETTARANTINO
tt clone
tt clone
just hard-code it tm
tt create
tt destroy
tt data
Aldo Ray
tt upgrade
FEEDBACKCYCLE
• mount /app -> ~/projects/buck• auto restart on changes using
forever
RECAPATTACK
VISUALIZE AND ATTACK
BTW, WE’RE HIRING@mario_pareja
github.com/mparejagithub.com/meet-tarantino