SlideShare una empresa de Scribd logo
1 de 57
Chuck Norris Doesn’t Need DevOps…
but Java Developers might benefit
Daniel Bryant
CTO, Instant Access Technologies
d.bryant@iatltd.com
@taidevcouk
@taidevcouk14/03/2014
epoints.com 2012/13 Upgrade…
@taidevcouk14/03/2014
• Increasing traffic
– Scalability being stretched
• Increasingly diverse requirements
• Our starting point
– Developers creating monolithic application
– Manual QA
– Operations deploying to data center
Core Changes…
• Service-Oriented Architecture
• Cloud-based deployments
• DevOps Culture
@taidevcouk14/03/2014
Core Changes…
• Service-Oriented Architecture
– Twitter’s Story (bit.ly/1j1WbmI)
• Cloud-based deployments
– “Cloud DHARMA”, 7th May at Skillsmatter
• DevOps Culture
– Today!
@taidevcouk14/03/2014
What is DevOps?
• “…a software development method that stresses
communication, collaboration and integration
between developers and IT professionals.”
• “…aims to help an organization rapidly produce
software products and services”
http://en.wikipedia.org/wiki/DevOps
14/03/2014 @taidevcouk
What’s in a Name?
• “Development / Operations”
• Increasing cohesion between:
– Business
– Development
– Quality Assurance
– Operations
“Bu-Dev-Qa-Ops”?
14/03/2014 @taidevcouk
yeah…‘DevOps’ sounds way cooler…
14/03/2014 @taidevcouk
Two Sides of the Same ‘DevOps’ Coin…
• Business-driven
– ‘Creating organizational alignment’
– Value stream mapping
– Waste analysis
• Pragmatic Tech
– Pushing Agile/XP into QA and Ops
– Cross-functional empowerment
– Tooling
14/03/2014 @taidevcouk
So, What’s Chuck Norris Doing Here?
14/03/2014 @taidevcouk
Chuck Norris doesn’t need DevOps…
…as a one-man army he codes with
one hand, tests with the other and
deploys with his beard
14/03/2014 @taidevcouk
The rest of us…
…work in teams to develop software
Software Development Teams
• Developers
• Quality Assurance
• Operations
@taidevcouk14/03/2014
Software Development Teams
• Developers
• Quality Assurance
• Operations
@taidevcouk14/03/2014
@taidevcouk14/03/2014
Software Development Teams
• Developers
• Quality Assurance
• Operations
@taidevcouk14/03/2014
@taidevcouk14/03/2014
Software Development Teams
• Developers
• Quality Assurance
• Operations
@taidevcouk14/03/2014
@taidevcouk14/03/2014
This silo mentality has to stop
14/03/2014 @taidevcouk
Culture is Vital
• Culture drives behaviour, drives culture…
– “Communication, simplicity, feedback, courage”
– Everyone is responsible for delivery
– Continuous experimentation and learning
• Not easy to change culture
– The hardest part of DevOps…
– …but you will learn new things
14/03/2014 @taidevcouk
Changing Culture
• Greenfield
– Flickr’s story (slidesha.re/sHpYV)
– “Why other people don’t get it”
• Sandro Mancuso (slidesha.re/1bcStpe)
• Enterprise
– “The Pheonix Project”
• Gene Kim et al
14/03/2014 @taidevcouk
Changing Culture
• Create an effective team…
• “Habits of highly effective technical teams”
– Martijn Verburg (bit.ly/1aF9SnK)
• “Patterns of Effective Teams”
– Dan North (vimeo.com/68226771)
14/03/2014 @taidevcouk
Chuck Norris doesn’t do iterative
development…
…all applications Chuck Norris creates
are right first time, every time
14/03/2014 @taidevcouk
The rest of us…
…need to enable agility (for both the
business and technical teams)
We all do Continuous Integration, right?
• Continuous Deployment/Delivery
– Jez Humble and Dave Farley
– Great InfoQ Video (bit.ly/XugWi8)
• Create a “build pipeline”
– Goal is fast feedback
• Continuous Deployment
– Production?
14/03/2014 @taidevcouk
Our Build Pipeline
Jenkins, with plugins…
• Build Pipeline
– wiki.jenkins-ci.org/display/JENKINS/Build+Pipeline+Plugin
• Parameterized build
– wiki.jenkins-ci.org/display/JENKINS/Parameterized+Build
• Promoted Builds Plugin
– wiki.jenkins-ci.org/display/JENKINS/Promoted+Builds+Plugin
• Chuck Norris plugin…
– wiki.jenkins-ci.org/display/JENKINS/ChuckNorris+Plugin
14/03/2014 @taidevcouk
Our Build Pipeline
• Component Build
– Compile
– Unit Tests (surefire)
– Integration Tests (failsafe)
• Deployment onto QA Cloud
– Python Scripts + Chef to provision
– Verify success using Python
14/03/2014 @taidevcouk
Our Build Pipeline
• Acceptance Tests
– Cucumber and Selenium
– Work in progress…
• Performance Tests
– Jmeter
– Jenkins Jmeter performance plugin
• Staging / Live Deployment
– Human-based conditional operation
14/03/2014 @taidevcouk
Gotchas
• Managing dependencies in SOA is hard, very hard
• Branching
– Gitflow, Branch Per Feature, or Mainline
• Migrating data can be challenging
– Liquibase / Flyway
– MongoDB / Solr Schema versions in data
– Wooga case study (bit.ly/1egArDC)
– Shout out to Daniel Josefsson @ Shazam for tips!
14/03/2014 @taidevcouk
Chuck Norris doesn’t do QA…
…Chuck Norris can test an entire
application with a single assert
(and get 110% code coverage)
14/03/2014 @taidevcouk
The rest of us…
…need high-quality automated QA
Automating QA
• Unit testing is essential
• Intra-component integration testing
– Spock is awesome (code.google.com/p/spock)
– Utilise embedded datastore/middleware
• Inter-component integration testing
– The hardest part of SOA…
14/03/2014 @taidevcouk
Automating QA
• Consumer-based Testing
– Brandon Byars (bit.ly/1lmcoaD)
• Performance
– JMeter + plugins (jmeter-plugins.org)
– BlazeMeter
• Website
– Selenium (www.seleniumhq.org)
– Geb (www.gebish.org)
14/03/2014 @taidevcouk
Automating QA
• Make it easy for everyone to execute
• Include within the build pipeline
• Make people care – fail the build!
• “Agile Testing” by Lisa Crispin, Janet Gregory
14/03/2014 @taidevcouk
Chuck Norris doesn’t need an OS…
…his keyboard has two keys, 0 and 1
14/03/2014 @taidevcouk
The rest of us…
…need to provision bare metal, and
also be comfortable with the OS
Say No To Snowflakes!
• Infrastructure as Code
– Version control everything
• Automate all provisioning
– Chef, Puppet, SaltStack, Python, AWS CLI
• Play with Vagrant (www.vagrantup.com)
– “providers” are super cool
14/03/2014 @taidevcouk
Thinking/Acting Like A Sysadmin
• Learn Linux fundamentals
• Diagnostic skills
– top, iotop, iostat, netstat, vmstat
– Java utils: jps, jstat, jmap, jhat
– “DevOps Troubleshooting” by K. Rankin
• Maybe grow a beard…
14/03/2014 @taidevcouk
Chuck Norris doesn’t fail…
…he just finds a new way in which
reality is broken
14/03/2014 @taidevcouk
The rest of us…
…should plan for failure
Failure
“Everything fails all the time [in the cloud]”
Werner Vogels, CTO, Amazon.com
• 21st Century Application Architecture
– www.skillsmatter.com (bit.ly/10jAdSV)
14/03/2014 @taidevcouk
Black Swan Theory
“…is a metaphor that describes an event that
comes as a surprise, has a major effect, and is
often inappropriately rationalized after the fact
with the benefit of hindsight”
Nassim Nicholas Taleb, The Black Swan
http://amzn.to/1gaIqxz
14/03/2014 @taidevcouk
Failure
Pre-Cloud we designed for success…
and handled failure.
With Cloud we design for failure…
and handle success.
Credit to John Bassil for inspiration here! (@johnbassil)
14/03/2014 @taidevcouk
Design for Failure
• Design patterns
– Asynchronous communication
– Timeouts / retries
– Bulkheads / circuit-breakers
• Inspiration
– Chris Richardson (slidesha.re/1ft3vsg)
– Netflix (bit.ly/1h5GMid)
14/03/2014 @taidevcouk
14/03/2014 @taidevcouk
Antifragile
• The opposite of fragile?
– Robust…
– Antifragile…
• Netflix are best-in-class
– bit.ly/1gs5n3q
• System must be robust first!
14/03/2014 @taidevcouk
All arrays Chuck Norris creates are of
infinite size…
…as Chuck Norris knows no bounds
14/03/2014 @taidevcouk
The rest of us…
…should manage our resources and
cultivate ‘mechanical sympathy’
Mechanical Sympathy
• Be aware of deployment platform properties
• …especially if in the cloud
– Block Storage IOPS (100 vs 49k)
– 1Gbps Network ( < 125MB/s vs > 400MB/s)
– “Noisy neighbours”
• Monitor everything (more on this later)
14/03/2014 @taidevcouk
When Chuck Norris throws Exceptions…
…everybody knows about it because they
land outside of the data center
14/03/2014 @taidevcouk
The rest of us…
…should log all errors (and other vital
information for diagnostic purposes)
Logging
• Log pretty much everything
– Use appropriate levels
• Make comments searchable/machine readable
– Good tips (bit.ly/hweqm4)
• Use centralised logging
– Especially if in the cloud
– Logstash, Loggly, Papertrail
14/03/2014 @taidevcouk
Chuck Norris doesn’t worry about
application downtime…
…Chuck Norris’ production servers are
so scared they constantly ping him
14/03/2014 @taidevcouk
The rest of us…
…should monitor everything
Monitor All The Things!
• Infrastructure monitoring
– Nagios
– Zabbix
– Splunk
– AppDynamics
14/03/2014 @taidevcouk
Metrics
14/03/2014 @taidevcouk
• Dropwizard’s Metrics
– metrics.codahale.com
• Netflix’s Servo
– github.com/Netflix/servo
• Etsy’s StatsD
– github.com/etsy/statsd/wiki
Health Checks
14/03/2014 @taidevcouk
Gauges, Counters, Meters, Timers…
14/03/2014 @taidevcouk
14/03/2014 @taidevcouk
14/03/2014 @taidevcouk
Inspirational Metrics Companies
• Several trail-blazers
– Etsy (www.codeascraft.com)
– Netflix (techblog.netflix.com)
14/03/2014 @taidevcouk
In Summary…
• DevOps is driving Agile/XP into QA and Ops
• Faster, leaner and more effective software
– The ability to rapidly experiment is awesome!
• There are some real benefits behind the buzz
• Now is the time to step-up as a developer
14/03/2014 @taidevcouk
The Developer’s DevOps Action Plan
• Think about your company culture
• Explore continuous delivery
• Learn Linux basics
• Automate provisioning
• Design for failure
• Cultivate mechanical sympathy
• Improve logging/metrics
14/03/2014 @taidevcouk
Thanks For Listening
• Massive thanks to all the IAT team
– DevOps gurus, Jamie Clarkson and Anjani Phuyal
• Questions / comments?
– d.bryant@iatltd.com
– @taidevcouk
• Devoxx UK 12-13th June
– www.devoxx.co.uk
14/03/2014 @taidevcouk

Más contenido relacionado

La actualidad más candente

Building effective Java applications for the Cloud: The DHARMA principles - D...
Building effective Java applications for the Cloud: The DHARMA principles - D...Building effective Java applications for the Cloud: The DHARMA principles - D...
Building effective Java applications for the Cloud: The DHARMA principles - D...
JAXLondon2014
 

La actualidad más candente (20)

muCon 2014 "Building Java Microservices for the Cloud"
muCon 2014 "Building Java Microservices for the Cloud"muCon 2014 "Building Java Microservices for the Cloud"
muCon 2014 "Building Java Microservices for the Cloud"
 
muCon 2016: "Seven (More) Deadly Sins of Microservices"
muCon 2016: "Seven (More) Deadly Sins of Microservices"muCon 2016: "Seven (More) Deadly Sins of Microservices"
muCon 2016: "Seven (More) Deadly Sins of Microservices"
 
JavaOne 2016 "Java, Microservices, Cloud and Containers"
JavaOne 2016 "Java, Microservices, Cloud and Containers"JavaOne 2016 "Java, Microservices, Cloud and Containers"
JavaOne 2016 "Java, Microservices, Cloud and Containers"
 
OReilly SACON 2016 "A Practical Guide for Continuous Delivery with Containers"
OReilly SACON 2016 "A Practical Guide for Continuous Delivery with Containers"OReilly SACON 2016 "A Practical Guide for Continuous Delivery with Containers"
OReilly SACON 2016 "A Practical Guide for Continuous Delivery with Containers"
 
O'Reilly/Nginx 2016: "Continuous Delivery with Containers: The Trials and Tri...
O'Reilly/Nginx 2016: "Continuous Delivery with Containers: The Trials and Tri...O'Reilly/Nginx 2016: "Continuous Delivery with Containers: The Trials and Tri...
O'Reilly/Nginx 2016: "Continuous Delivery with Containers: The Trials and Tri...
 
Microservices: The Organizational and People Impact
Microservices: The Organizational and People ImpactMicroservices: The Organizational and People Impact
Microservices: The Organizational and People Impact
 
Microservices Practitioner Summit Jan '15 - Microservice Ecosystems At Scale ...
Microservices Practitioner Summit Jan '15 - Microservice Ecosystems At Scale ...Microservices Practitioner Summit Jan '15 - Microservice Ecosystems At Scale ...
Microservices Practitioner Summit Jan '15 - Microservice Ecosystems At Scale ...
 
Microservices - Scaling Development and Service
Microservices - Scaling Development and ServiceMicroservices - Scaling Development and Service
Microservices - Scaling Development and Service
 
Building effective Java applications for the Cloud: The DHARMA principles - D...
Building effective Java applications for the Cloud: The DHARMA principles - D...Building effective Java applications for the Cloud: The DHARMA principles - D...
Building effective Java applications for the Cloud: The DHARMA principles - D...
 
Turning Human Capital into High Performance Organizational Capital
Turning Human Capital into High Performance Organizational CapitalTurning Human Capital into High Performance Organizational Capital
Turning Human Capital into High Performance Organizational Capital
 
Devoxx US 2017 "The Seven (More) Deadly Sins of Microservices"
Devoxx US 2017 "The Seven (More) Deadly Sins of Microservices"Devoxx US 2017 "The Seven (More) Deadly Sins of Microservices"
Devoxx US 2017 "The Seven (More) Deadly Sins of Microservices"
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 
Dockercon USA 2016 - Immutable Awesomeness
Dockercon USA 2016 - Immutable Awesomeness Dockercon USA 2016 - Immutable Awesomeness
Dockercon USA 2016 - Immutable Awesomeness
 
Immutable Service Delivery Shenzhen 2016
Immutable Service Delivery   Shenzhen 2016Immutable Service Delivery   Shenzhen 2016
Immutable Service Delivery Shenzhen 2016
 
DockerCon EU 2018 "Continuous Delivery with Docker and Java"
DockerCon EU 2018 "Continuous Delivery with Docker and Java"DockerCon EU 2018 "Continuous Delivery with Docker and Java"
DockerCon EU 2018 "Continuous Delivery with Docker and Java"
 
DevOps game lego
DevOps game legoDevOps game lego
DevOps game lego
 
Devoxx 2014 michael_neale
Devoxx 2014 michael_nealeDevoxx 2014 michael_neale
Devoxx 2014 michael_neale
 
All about that reactive ui
All about that reactive uiAll about that reactive ui
All about that reactive ui
 
Create great cncf user base from lessons learned from other open source com...
Create great cncf user base from   lessons learned from other open source com...Create great cncf user base from   lessons learned from other open source com...
Create great cncf user base from lessons learned from other open source com...
 
All daydevops 2016 - Turning Human Capital into High Performance Organizati...
All daydevops   2016 - Turning Human Capital into High Performance Organizati...All daydevops   2016 - Turning Human Capital into High Performance Organizati...
All daydevops 2016 - Turning Human Capital into High Performance Organizati...
 

Destacado

Black Swan Events and Fake Alpha Presentation
Black Swan Events and Fake Alpha PresentationBlack Swan Events and Fake Alpha Presentation
Black Swan Events and Fake Alpha Presentation
guestdaaa8b
 
Black Swan Theory
Black Swan TheoryBlack Swan Theory
Black Swan Theory
Ilya Nikitin
 

Destacado (11)

Black Swan Events and Fake Alpha Presentation
Black Swan Events and Fake Alpha PresentationBlack Swan Events and Fake Alpha Presentation
Black Swan Events and Fake Alpha Presentation
 
Black Swan Theory
Black Swan TheoryBlack Swan Theory
Black Swan Theory
 
JavaOne 2013 "Using Java to Build Java: Betterrev" BOF Session
JavaOne 2013 "Using Java to Build Java: Betterrev" BOF SessionJavaOne 2013 "Using Java to Build Java: Betterrev" BOF Session
JavaOne 2013 "Using Java to Build Java: Betterrev" BOF Session
 
Software Development: Thinking, Fast and Slow
Software Development: Thinking, Fast and SlowSoftware Development: Thinking, Fast and Slow
Software Development: Thinking, Fast and Slow
 
How to get your talk accepted at Devoxx UK
How to get your talk accepted at Devoxx UKHow to get your talk accepted at Devoxx UK
How to get your talk accepted at Devoxx UK
 
LJC 2014 "Professional Software Development: Thinking Fast and Slow"
LJC 2014 "Professional Software Development: Thinking Fast and Slow"LJC 2014 "Professional Software Development: Thinking Fast and Slow"
LJC 2014 "Professional Software Development: Thinking Fast and Slow"
 
The Black Swan Theory
The Black Swan TheoryThe Black Swan Theory
The Black Swan Theory
 
Jfokus 2015 "Thinking Fast and Slow with Software Development"
Jfokus 2015 "Thinking Fast and Slow with Software Development"Jfokus 2015 "Thinking Fast and Slow with Software Development"
Jfokus 2015 "Thinking Fast and Slow with Software Development"
 
LMSUG 2015 "The Business Behind Microservices: Organisational, Architectural ...
LMSUG 2015 "The Business Behind Microservices: Organisational, Architectural ...LMSUG 2015 "The Business Behind Microservices: Organisational, Architectural ...
LMSUG 2015 "The Business Behind Microservices: Organisational, Architectural ...
 
EVRYTHNG: Concepts, technologies and applications for connecting physical obj...
EVRYTHNG: Concepts, technologies and applications for connecting physical obj...EVRYTHNG: Concepts, technologies and applications for connecting physical obj...
EVRYTHNG: Concepts, technologies and applications for connecting physical obj...
 
5 Years of Web of Things Workshops
5 Years of Web of Things Workshops5 Years of Web of Things Workshops
5 Years of Web of Things Workshops
 

Similar a LJC: "Chuck Norris Doesn't Do DevOps...but Java developers might benefit"

OISC 2019 - The OWASP Top 10 & AppSec Primer
OISC 2019 - The OWASP Top 10 & AppSec PrimerOISC 2019 - The OWASP Top 10 & AppSec Primer
OISC 2019 - The OWASP Top 10 & AppSec Primer
ThreatReel Podcast
 
AppSec & OWASP Top 10 Primer
AppSec & OWASP Top 10 PrimerAppSec & OWASP Top 10 Primer
AppSec & OWASP Top 10 Primer
ThreatReel Podcast
 

Similar a LJC: "Chuck Norris Doesn't Do DevOps...but Java developers might benefit" (20)

BETA: "Cloud Developers DHARMA: Redefining 'done' for Cloud applications"
BETA: "Cloud Developers DHARMA: Redefining 'done' for Cloud applications"BETA: "Cloud Developers DHARMA: Redefining 'done' for Cloud applications"
BETA: "Cloud Developers DHARMA: Redefining 'done' for Cloud applications"
 
QCon NY 2016: "The Seven (More) Deadly Sins of Microservices"
QCon NY 2016: "The Seven (More) Deadly Sins of Microservices"QCon NY 2016: "The Seven (More) Deadly Sins of Microservices"
QCon NY 2016: "The Seven (More) Deadly Sins of Microservices"
 
JAX London 2014 "Building Java Applications for the Cloud: The DHARMA princip...
JAX London 2014 "Building Java Applications for the Cloud: The DHARMA princip...JAX London 2014 "Building Java Applications for the Cloud: The DHARMA princip...
JAX London 2014 "Building Java Applications for the Cloud: The DHARMA princip...
 
OOP/MM 2017: "Seven (More) Deadly Sins of Microservices"
OOP/MM 2017: "Seven (More) Deadly Sins of Microservices"OOP/MM 2017: "Seven (More) Deadly Sins of Microservices"
OOP/MM 2017: "Seven (More) Deadly Sins of Microservices"
 
OSCON EU 2016 "Seven (More) Deadly Sins of Microservices"
OSCON EU 2016 "Seven (More) Deadly Sins of Microservices"OSCON EU 2016 "Seven (More) Deadly Sins of Microservices"
OSCON EU 2016 "Seven (More) Deadly Sins of Microservices"
 
Micro Manchester Meetup: "The Seven (More) Deadly Sins of Microservices"
Micro Manchester Meetup: "The Seven (More) Deadly Sins of Microservices"Micro Manchester Meetup: "The Seven (More) Deadly Sins of Microservices"
Micro Manchester Meetup: "The Seven (More) Deadly Sins of Microservices"
 
GOTO Chicago/CraftConf 2017 "The Seven (More) Deadly Sins of Microservices"
GOTO Chicago/CraftConf 2017 "The Seven (More) Deadly Sins of Microservices"GOTO Chicago/CraftConf 2017 "The Seven (More) Deadly Sins of Microservices"
GOTO Chicago/CraftConf 2017 "The Seven (More) Deadly Sins of Microservices"
 
JAXDevOps 2017 "The Seven (More) Deadly Sins of Microservices
JAXDevOps 2017 "The Seven (More) Deadly Sins of MicroservicesJAXDevOps 2017 "The Seven (More) Deadly Sins of Microservices
JAXDevOps 2017 "The Seven (More) Deadly Sins of Microservices
 
OWASP Poland Day 2018 - Andrzej Dyjak - Zero Trust Theorem
OWASP Poland Day 2018 - Andrzej Dyjak - Zero Trust TheoremOWASP Poland Day 2018 - Andrzej Dyjak - Zero Trust Theorem
OWASP Poland Day 2018 - Andrzej Dyjak - Zero Trust Theorem
 
"In love with Open Source : Past, Present and Future" : Keynote OSDConf 2014
"In love with Open Source : Past, Present and Future" : Keynote OSDConf 2014"In love with Open Source : Past, Present and Future" : Keynote OSDConf 2014
"In love with Open Source : Past, Present and Future" : Keynote OSDConf 2014
 
CTOs in London "The Challenges of Evaluating Development Technology Within th...
CTOs in London "The Challenges of Evaluating Development Technology Within th...CTOs in London "The Challenges of Evaluating Development Technology Within th...
CTOs in London "The Challenges of Evaluating Development Technology Within th...
 
BCS 2016 "Intro to Microservices (and the Seven Deadly Sins)"
BCS 2016 "Intro to Microservices (and the Seven Deadly Sins)"BCS 2016 "Intro to Microservices (and the Seven Deadly Sins)"
BCS 2016 "Intro to Microservices (and the Seven Deadly Sins)"
 
OISC 2019 - The OWASP Top 10 & AppSec Primer
OISC 2019 - The OWASP Top 10 & AppSec PrimerOISC 2019 - The OWASP Top 10 & AppSec Primer
OISC 2019 - The OWASP Top 10 & AppSec Primer
 
A call to JS Developers - Let’s stop trying to impress each other and start b...
A call to JS Developers - Let’s stop trying to impress each other and start b...A call to JS Developers - Let’s stop trying to impress each other and start b...
A call to JS Developers - Let’s stop trying to impress each other and start b...
 
EVE Microservices Platform
EVE Microservices PlatformEVE Microservices Platform
EVE Microservices Platform
 
Lisbon DevOps: "Seven (More) Deadly Sins of Microservices"
Lisbon DevOps: "Seven (More) Deadly Sins of Microservices"Lisbon DevOps: "Seven (More) Deadly Sins of Microservices"
Lisbon DevOps: "Seven (More) Deadly Sins of Microservices"
 
Overboard.js - where are we going with with jsconfasia / devfestasia
Overboard.js - where are we going with with jsconfasia / devfestasiaOverboard.js - where are we going with with jsconfasia / devfestasia
Overboard.js - where are we going with with jsconfasia / devfestasia
 
AppSec & OWASP Top 10 Primer
AppSec & OWASP Top 10 PrimerAppSec & OWASP Top 10 Primer
AppSec & OWASP Top 10 Primer
 
#DevOps in a windows world - @DevOpsGuys
#DevOps in a windows world - @DevOpsGuys#DevOps in a windows world - @DevOpsGuys
#DevOps in a windows world - @DevOpsGuys
 
NodeJS security - still unsafe at most speeds - v1.0
NodeJS security - still unsafe at most speeds - v1.0NodeJS security - still unsafe at most speeds - v1.0
NodeJS security - still unsafe at most speeds - v1.0
 

Más de Daniel Bryant

Más de Daniel Bryant (20)

ITKonekt 2023: The Busy Platform Engineers Guide to API Gateways
ITKonekt 2023: The Busy Platform Engineers Guide to API GatewaysITKonekt 2023: The Busy Platform Engineers Guide to API Gateways
ITKonekt 2023: The Busy Platform Engineers Guide to API Gateways
 
CraftConf 2023 "Microservice Testing Techniques: Mocks vs Service Virtualizat...
CraftConf 2023 "Microservice Testing Techniques: Mocks vs Service Virtualizat...CraftConf 2023 "Microservice Testing Techniques: Mocks vs Service Virtualizat...
CraftConf 2023 "Microservice Testing Techniques: Mocks vs Service Virtualizat...
 
PlatformCon 23: "The Busy Platform Engineers Guide to API Gateways"
PlatformCon 23: "The Busy Platform Engineers Guide to API Gateways"PlatformCon 23: "The Busy Platform Engineers Guide to API Gateways"
PlatformCon 23: "The Busy Platform Engineers Guide to API Gateways"
 
Java Meetup 23: 'Debugging Microservices "Remocally" in Kubernetes with Telep...
Java Meetup 23: 'Debugging Microservices "Remocally" in Kubernetes with Telep...Java Meetup 23: 'Debugging Microservices "Remocally" in Kubernetes with Telep...
Java Meetup 23: 'Debugging Microservices "Remocally" in Kubernetes with Telep...
 
DevRelCon 2022: "Is Product Led Growth (PLG) the “DevOps” of the DevRel World"
DevRelCon 2022: "Is Product Led Growth (PLG) the “DevOps” of the DevRel World"DevRelCon 2022: "Is Product Led Growth (PLG) the “DevOps” of the DevRel World"
DevRelCon 2022: "Is Product Led Growth (PLG) the “DevOps” of the DevRel World"
 
Fall 22: "From Kubernetes to PaaS to... err, what's next"
Fall 22: "From Kubernetes to PaaS to... err, what's next"Fall 22: "From Kubernetes to PaaS to... err, what's next"
Fall 22: "From Kubernetes to PaaS to... err, what's next"
 
Building Microservice Systems Without Cooking Your Laptop: Going “Remocal” wi...
Building Microservice Systems Without Cooking Your Laptop: Going “Remocal” wi...Building Microservice Systems Without Cooking Your Laptop: Going “Remocal” wi...
Building Microservice Systems Without Cooking Your Laptop: Going “Remocal” wi...
 
KubeCrash 22: Debugging Microservices "Remocally" in Kubernetes with Telepres...
KubeCrash 22: Debugging Microservices "Remocally" in Kubernetes with Telepres...KubeCrash 22: Debugging Microservices "Remocally" in Kubernetes with Telepres...
KubeCrash 22: Debugging Microservices "Remocally" in Kubernetes with Telepres...
 
JAX London 22: Debugging Microservices "Remocally" in Kubernetes with Telepre...
JAX London 22: Debugging Microservices "Remocally" in Kubernetes with Telepre...JAX London 22: Debugging Microservices "Remocally" in Kubernetes with Telepre...
JAX London 22: Debugging Microservices "Remocally" in Kubernetes with Telepre...
 
CloudBuilders 2022: "The Past, Present, and Future of Cloud Native API Gateways"
CloudBuilders 2022: "The Past, Present, and Future of Cloud Native API Gateways"CloudBuilders 2022: "The Past, Present, and Future of Cloud Native API Gateways"
CloudBuilders 2022: "The Past, Present, and Future of Cloud Native API Gateways"
 
KubeCon EU 2022: From Kubernetes to PaaS to Err What's Next
KubeCon EU 2022: From Kubernetes to PaaS to Err What's NextKubeCon EU 2022: From Kubernetes to PaaS to Err What's Next
KubeCon EU 2022: From Kubernetes to PaaS to Err What's Next
 
Devoxx UK 22: Debugging Java Microservices "Remocally" in Kubernetes with Tel...
Devoxx UK 22: Debugging Java Microservices "Remocally" in Kubernetes with Tel...Devoxx UK 22: Debugging Java Microservices "Remocally" in Kubernetes with Tel...
Devoxx UK 22: Debugging Java Microservices "Remocally" in Kubernetes with Tel...
 
DevXDay KubeCon NA 2021: "From Kubernetes to PaaS to Developer Control Planes"
DevXDay KubeCon NA 2021: "From Kubernetes to PaaS to Developer Control Planes"DevXDay KubeCon NA 2021: "From Kubernetes to PaaS to Developer Control Planes"
DevXDay KubeCon NA 2021: "From Kubernetes to PaaS to Developer Control Planes"
 
JAX London 2021: Jumpstart Your Cloud Native Development: An Overview of Prac...
JAX London 2021: Jumpstart Your Cloud Native Development: An Overview of Prac...JAX London 2021: Jumpstart Your Cloud Native Development: An Overview of Prac...
JAX London 2021: Jumpstart Your Cloud Native Development: An Overview of Prac...
 
Container Days: Easy Debugging of Microservices Running on Kubernetes with Te...
Container Days: Easy Debugging of Microservices Running on Kubernetes with Te...Container Days: Easy Debugging of Microservices Running on Kubernetes with Te...
Container Days: Easy Debugging of Microservices Running on Kubernetes with Te...
 
Canadian CNCF: "Emissary-ingress 101: An introduction to the CNCF incubation-...
Canadian CNCF: "Emissary-ingress 101: An introduction to the CNCF incubation-...Canadian CNCF: "Emissary-ingress 101: An introduction to the CNCF incubation-...
Canadian CNCF: "Emissary-ingress 101: An introduction to the CNCF incubation-...
 
MJC 2021: "Debugging Java Microservices Running on Kubernetes with Telepresence"
MJC 2021: "Debugging Java Microservices Running on Kubernetes with Telepresence"MJC 2021: "Debugging Java Microservices Running on Kubernetes with Telepresence"
MJC 2021: "Debugging Java Microservices Running on Kubernetes with Telepresence"
 
LJC 4/21"Easy Debugging of Java Microservices Running on Kubernetes with Tele...
LJC 4/21"Easy Debugging of Java Microservices Running on Kubernetes with Tele...LJC 4/21"Easy Debugging of Java Microservices Running on Kubernetes with Tele...
LJC 4/21"Easy Debugging of Java Microservices Running on Kubernetes with Tele...
 
GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...
GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...
GOTOpia 2/2021 "Cloud Native Development Without the Toil: An Overview of Pra...
 
HashiCorp Webinar: "Getting started with Ambassador and Consul on Kubernetes ...
HashiCorp Webinar: "Getting started with Ambassador and Consul on Kubernetes ...HashiCorp Webinar: "Getting started with Ambassador and Consul on Kubernetes ...
HashiCorp Webinar: "Getting started with Ambassador and Consul on Kubernetes ...
 

Último

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Último (20)

Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 

LJC: "Chuck Norris Doesn't Do DevOps...but Java developers might benefit"

  • 1. Chuck Norris Doesn’t Need DevOps… but Java Developers might benefit Daniel Bryant CTO, Instant Access Technologies d.bryant@iatltd.com @taidevcouk
  • 3. epoints.com 2012/13 Upgrade… @taidevcouk14/03/2014 • Increasing traffic – Scalability being stretched • Increasingly diverse requirements • Our starting point – Developers creating monolithic application – Manual QA – Operations deploying to data center
  • 4. Core Changes… • Service-Oriented Architecture • Cloud-based deployments • DevOps Culture @taidevcouk14/03/2014
  • 5. Core Changes… • Service-Oriented Architecture – Twitter’s Story (bit.ly/1j1WbmI) • Cloud-based deployments – “Cloud DHARMA”, 7th May at Skillsmatter • DevOps Culture – Today! @taidevcouk14/03/2014
  • 6. What is DevOps? • “…a software development method that stresses communication, collaboration and integration between developers and IT professionals.” • “…aims to help an organization rapidly produce software products and services” http://en.wikipedia.org/wiki/DevOps 14/03/2014 @taidevcouk
  • 7. What’s in a Name? • “Development / Operations” • Increasing cohesion between: – Business – Development – Quality Assurance – Operations “Bu-Dev-Qa-Ops”? 14/03/2014 @taidevcouk
  • 8. yeah…‘DevOps’ sounds way cooler… 14/03/2014 @taidevcouk
  • 9. Two Sides of the Same ‘DevOps’ Coin… • Business-driven – ‘Creating organizational alignment’ – Value stream mapping – Waste analysis • Pragmatic Tech – Pushing Agile/XP into QA and Ops – Cross-functional empowerment – Tooling 14/03/2014 @taidevcouk
  • 10. So, What’s Chuck Norris Doing Here? 14/03/2014 @taidevcouk
  • 11. Chuck Norris doesn’t need DevOps… …as a one-man army he codes with one hand, tests with the other and deploys with his beard 14/03/2014 @taidevcouk The rest of us… …work in teams to develop software
  • 12. Software Development Teams • Developers • Quality Assurance • Operations @taidevcouk14/03/2014
  • 13. Software Development Teams • Developers • Quality Assurance • Operations @taidevcouk14/03/2014
  • 15. Software Development Teams • Developers • Quality Assurance • Operations @taidevcouk14/03/2014
  • 17. Software Development Teams • Developers • Quality Assurance • Operations @taidevcouk14/03/2014
  • 19. This silo mentality has to stop 14/03/2014 @taidevcouk
  • 20. Culture is Vital • Culture drives behaviour, drives culture… – “Communication, simplicity, feedback, courage” – Everyone is responsible for delivery – Continuous experimentation and learning • Not easy to change culture – The hardest part of DevOps… – …but you will learn new things 14/03/2014 @taidevcouk
  • 21. Changing Culture • Greenfield – Flickr’s story (slidesha.re/sHpYV) – “Why other people don’t get it” • Sandro Mancuso (slidesha.re/1bcStpe) • Enterprise – “The Pheonix Project” • Gene Kim et al 14/03/2014 @taidevcouk
  • 22. Changing Culture • Create an effective team… • “Habits of highly effective technical teams” – Martijn Verburg (bit.ly/1aF9SnK) • “Patterns of Effective Teams” – Dan North (vimeo.com/68226771) 14/03/2014 @taidevcouk
  • 23. Chuck Norris doesn’t do iterative development… …all applications Chuck Norris creates are right first time, every time 14/03/2014 @taidevcouk The rest of us… …need to enable agility (for both the business and technical teams)
  • 24. We all do Continuous Integration, right? • Continuous Deployment/Delivery – Jez Humble and Dave Farley – Great InfoQ Video (bit.ly/XugWi8) • Create a “build pipeline” – Goal is fast feedback • Continuous Deployment – Production? 14/03/2014 @taidevcouk
  • 25. Our Build Pipeline Jenkins, with plugins… • Build Pipeline – wiki.jenkins-ci.org/display/JENKINS/Build+Pipeline+Plugin • Parameterized build – wiki.jenkins-ci.org/display/JENKINS/Parameterized+Build • Promoted Builds Plugin – wiki.jenkins-ci.org/display/JENKINS/Promoted+Builds+Plugin • Chuck Norris plugin… – wiki.jenkins-ci.org/display/JENKINS/ChuckNorris+Plugin 14/03/2014 @taidevcouk
  • 26. Our Build Pipeline • Component Build – Compile – Unit Tests (surefire) – Integration Tests (failsafe) • Deployment onto QA Cloud – Python Scripts + Chef to provision – Verify success using Python 14/03/2014 @taidevcouk
  • 27. Our Build Pipeline • Acceptance Tests – Cucumber and Selenium – Work in progress… • Performance Tests – Jmeter – Jenkins Jmeter performance plugin • Staging / Live Deployment – Human-based conditional operation 14/03/2014 @taidevcouk
  • 28. Gotchas • Managing dependencies in SOA is hard, very hard • Branching – Gitflow, Branch Per Feature, or Mainline • Migrating data can be challenging – Liquibase / Flyway – MongoDB / Solr Schema versions in data – Wooga case study (bit.ly/1egArDC) – Shout out to Daniel Josefsson @ Shazam for tips! 14/03/2014 @taidevcouk
  • 29. Chuck Norris doesn’t do QA… …Chuck Norris can test an entire application with a single assert (and get 110% code coverage) 14/03/2014 @taidevcouk The rest of us… …need high-quality automated QA
  • 30. Automating QA • Unit testing is essential • Intra-component integration testing – Spock is awesome (code.google.com/p/spock) – Utilise embedded datastore/middleware • Inter-component integration testing – The hardest part of SOA… 14/03/2014 @taidevcouk
  • 31. Automating QA • Consumer-based Testing – Brandon Byars (bit.ly/1lmcoaD) • Performance – JMeter + plugins (jmeter-plugins.org) – BlazeMeter • Website – Selenium (www.seleniumhq.org) – Geb (www.gebish.org) 14/03/2014 @taidevcouk
  • 32. Automating QA • Make it easy for everyone to execute • Include within the build pipeline • Make people care – fail the build! • “Agile Testing” by Lisa Crispin, Janet Gregory 14/03/2014 @taidevcouk
  • 33. Chuck Norris doesn’t need an OS… …his keyboard has two keys, 0 and 1 14/03/2014 @taidevcouk The rest of us… …need to provision bare metal, and also be comfortable with the OS
  • 34. Say No To Snowflakes! • Infrastructure as Code – Version control everything • Automate all provisioning – Chef, Puppet, SaltStack, Python, AWS CLI • Play with Vagrant (www.vagrantup.com) – “providers” are super cool 14/03/2014 @taidevcouk
  • 35. Thinking/Acting Like A Sysadmin • Learn Linux fundamentals • Diagnostic skills – top, iotop, iostat, netstat, vmstat – Java utils: jps, jstat, jmap, jhat – “DevOps Troubleshooting” by K. Rankin • Maybe grow a beard… 14/03/2014 @taidevcouk
  • 36. Chuck Norris doesn’t fail… …he just finds a new way in which reality is broken 14/03/2014 @taidevcouk The rest of us… …should plan for failure
  • 37. Failure “Everything fails all the time [in the cloud]” Werner Vogels, CTO, Amazon.com • 21st Century Application Architecture – www.skillsmatter.com (bit.ly/10jAdSV) 14/03/2014 @taidevcouk
  • 38. Black Swan Theory “…is a metaphor that describes an event that comes as a surprise, has a major effect, and is often inappropriately rationalized after the fact with the benefit of hindsight” Nassim Nicholas Taleb, The Black Swan http://amzn.to/1gaIqxz 14/03/2014 @taidevcouk
  • 39. Failure Pre-Cloud we designed for success… and handled failure. With Cloud we design for failure… and handle success. Credit to John Bassil for inspiration here! (@johnbassil) 14/03/2014 @taidevcouk
  • 40. Design for Failure • Design patterns – Asynchronous communication – Timeouts / retries – Bulkheads / circuit-breakers • Inspiration – Chris Richardson (slidesha.re/1ft3vsg) – Netflix (bit.ly/1h5GMid) 14/03/2014 @taidevcouk
  • 42. Antifragile • The opposite of fragile? – Robust… – Antifragile… • Netflix are best-in-class – bit.ly/1gs5n3q • System must be robust first! 14/03/2014 @taidevcouk
  • 43. All arrays Chuck Norris creates are of infinite size… …as Chuck Norris knows no bounds 14/03/2014 @taidevcouk The rest of us… …should manage our resources and cultivate ‘mechanical sympathy’
  • 44. Mechanical Sympathy • Be aware of deployment platform properties • …especially if in the cloud – Block Storage IOPS (100 vs 49k) – 1Gbps Network ( < 125MB/s vs > 400MB/s) – “Noisy neighbours” • Monitor everything (more on this later) 14/03/2014 @taidevcouk
  • 45. When Chuck Norris throws Exceptions… …everybody knows about it because they land outside of the data center 14/03/2014 @taidevcouk The rest of us… …should log all errors (and other vital information for diagnostic purposes)
  • 46. Logging • Log pretty much everything – Use appropriate levels • Make comments searchable/machine readable – Good tips (bit.ly/hweqm4) • Use centralised logging – Especially if in the cloud – Logstash, Loggly, Papertrail 14/03/2014 @taidevcouk
  • 47. Chuck Norris doesn’t worry about application downtime… …Chuck Norris’ production servers are so scared they constantly ping him 14/03/2014 @taidevcouk The rest of us… …should monitor everything
  • 48. Monitor All The Things! • Infrastructure monitoring – Nagios – Zabbix – Splunk – AppDynamics 14/03/2014 @taidevcouk
  • 49. Metrics 14/03/2014 @taidevcouk • Dropwizard’s Metrics – metrics.codahale.com • Netflix’s Servo – github.com/Netflix/servo • Etsy’s StatsD – github.com/etsy/statsd/wiki
  • 51. Gauges, Counters, Meters, Timers… 14/03/2014 @taidevcouk
  • 54. Inspirational Metrics Companies • Several trail-blazers – Etsy (www.codeascraft.com) – Netflix (techblog.netflix.com) 14/03/2014 @taidevcouk
  • 55. In Summary… • DevOps is driving Agile/XP into QA and Ops • Faster, leaner and more effective software – The ability to rapidly experiment is awesome! • There are some real benefits behind the buzz • Now is the time to step-up as a developer 14/03/2014 @taidevcouk
  • 56. The Developer’s DevOps Action Plan • Think about your company culture • Explore continuous delivery • Learn Linux basics • Automate provisioning • Design for failure • Cultivate mechanical sympathy • Improve logging/metrics 14/03/2014 @taidevcouk
  • 57. Thanks For Listening • Massive thanks to all the IAT team – DevOps gurus, Jamie Clarkson and Anjani Phuyal • Questions / comments? – d.bryant@iatltd.com – @taidevcouk • Devoxx UK 12-13th June – www.devoxx.co.uk 14/03/2014 @taidevcouk

Notas del editor

  1. organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizationsFocus on flow: translate business ideas to a working service efficiently by examining how fast artifacts and work flows through the development lifecycleAmplify feedback loops: quickly learn about the system by seeing through fast feedback on what happens to results of changes
  2. James Gough’s “The benefits are more than just the tests”Mash Badar’s “TDD at Scale” (slidesha.re/19P7kzS)
  3. Jackie Stewart, 3 times F1 world champion, coined the phrase “Mechanical Sympathy” as a term for the driver and the machine working together in harmony. This can be summarised in that a driver does not need to know how to build an engine but they need to know the fundamentals of how one works to get the best out of it.