cdsummit austin - jez humble: cd architecture

21
@jezhumble innotech austin | 8 october 2015 architecting for continuous delivery

Upload: miles-blatstein

Post on 07-Jan-2017

359 views

Category:

Technology


5 download

TRANSCRIPT

Page 1: cdSummit Austin - Jez Humble: CD Architecture

@jezhumble innotech austin | 8 october 2015

architecting for continuous delivery

Page 2: cdSummit Austin - Jez Humble: CD Architecture

microservices

Page 3: cdSummit Austin - Jez Humble: CD Architecture

what is continuous delivery?

The ability to get changes—features, configuration changes, bug fixes,

experiments—into production or into the hands of users safely and quickly in

a sustainable way.

Page 4: cdSummit Austin - Jez Humble: CD Architecture

golden rules

software (trunk) is always deployable

everyone is checking into trunk daily (at least)

Page 5: cdSummit Austin - Jez Humble: CD Architecture

configuration management

continuous integration

automated testing

ingredients

Page 6: cdSummit Austin - Jez Humble: CD Architecture

deployment pipeline

Page 7: cdSummit Austin - Jez Humble: CD Architecture

to validate golden rules

testability “works on my machine”

actually means something useful

deployability deployment is a low-risk,

pushbutton affair

Page 8: cdSummit Austin - Jez Humble: CD Architecture

microservices

Page 9: cdSummit Austin - Jez Humble: CD Architecture

internet architecture

“Operations at web scale is the ability to consistently create and deploy reliable software to an unreliable platform that scales horizontally.”

Jesse Robbins, “Master of Disaster” @ Amazon| @jesserobbins | http://oreil.ly/1HRKUVE

Page 10: cdSummit Austin - Jez Humble: CD Architecture

make system easier to build and test

part of your system that could be swapped out for another implementation

make system more maintainable (better encapsulation, lower coupling)

enable collaboration

component / service

Page 11: cdSummit Austin - Jez Humble: CD Architecture

conway’s law

“organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations.”

—Melvin Conway

Page 12: cdSummit Austin - Jez Humble: CD Architecture

conway’s law

“If you don’t want your product to look like your organization, change your organization or change your product.”

—Rebecca Parsons

Page 13: cdSummit Austin - Jez Humble: CD Architecture

one team per service

API

API

API

API

Page 14: cdSummit Austin - Jez Humble: CD Architecture

Bind Components at Run Time (μS)

“Transforming Software Development” | Ken Exner | http://bit.ly/1HxCEZy

API versioning

Independent deployment

Don’t break downstream!

Monitoring

Page 15: cdSummit Austin - Jez Humble: CD Architecture

Bind Components at Build Time

“Large Scale Continuous Testing in the Cloud” | John Penix | http://bit.ly/1BYMf70

Page 16: cdSummit Austin - Jez Humble: CD Architecture

Unreliable Platform

Resilience, security, scalability, availability deployability, testability are architectural concerns.

Page 17: cdSummit Austin - Jez Humble: CD Architecture

Steve Yegge’s Platform Rant | http://bit.ly/1zxknpR

Page 18: cdSummit Austin - Jez Humble: CD Architecture

You build it, You run it

Werner Vogels, CTO, Amazon | http://bit.ly/11UJjmN

Page 19: cdSummit Austin - Jez Humble: CD Architecture

http://www.flickr.com/photos/trustedsource/6132507962/

Page 20: cdSummit Austin - Jez Humble: CD Architecture

Strangler Application

Page 21: cdSummit Austin - Jez Humble: CD Architecture

questions@jezhumble | [email protected]://jezhumble.com/

© 2015 Jez Humble & Associates LLC