Slide 1

Slide 1 text

Paul Ingles @pingles [email protected] uSwitch.com Our Age of Enlightenment

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

... a cultural movement of intellectuals in 18th century ... [whose] purpose was to reform society using reason (rather than tradition, faith and revelation) The Age of Enlightenment

Slide 4

Slide 4 text

Enlightenment at

Slide 5

Slide 5 text

A/B Testing

Slide 6

Slide 6 text

Operational Transparency

Slide 7

Slide 7 text

Tool Hacking

Slide 8

Slide 8 text

Cross-sectional Study

Slide 9

Slide 9 text

Machine Learning

Slide 10

Slide 10 text

Enlightenment at

Slide 11

Slide 11 text

application of reason over intuition, tradition and faith Enlightenment at ... inhibited by legacy monolithic system ... reinforced through inflexibile models

Slide 12

Slide 12 text

NoSQL (and its philosophy) Micro-service Architecture This talk Enlightenment Enablement

Slide 13

Slide 13 text

inhibits innovation restricts variation Monolithic Architecture

Slide 14

Slide 14 text

Model is Utility

Slide 15

Slide 15 text

Grand Unified Model Has to be general Limits utility Continually under tension

Slide 16

Slide 16 text

Single Model in Tension: Energy

Slide 17

Slide 17 text

Single Model in Tension: Energy

Slide 18

Slide 18 text

Single Model in Tension: Energy

Slide 19

Slide 19 text

Single Model in Tension: Energy

Slide 20

Slide 20 text

Single Model in Tension: DB

Slide 21

Slide 21 text

MS SQL Server Operational Store Reporting Data Warehousing Network Analysis Correlational Study Realtime Single Model in Tension: DB

Slide 22

Slide 22 text

MS SQL Server Change is global Releasing is complex Add process to manage complexity Single Model in Tension: DB

Slide 23

Slide 23 text

hard to avoid if difficult to talk to anything else Monolithic Architecture make decisions on tradition and faith

Slide 24

Slide 24 text

NoSQL Micro-service Architecture Variation

Slide 25

Slide 25 text

“the mechanics of genetic evolution provide a clear and compelling picture of how a system can capture and exploit implicit insight without creating explicit knowledge... ... trial and error advances society’s material interests without conscious knowledge or planning.” - Jim Manzi, Uncontrolled

Slide 26

Slide 26 text

NoSQL No Variation in the system Reject artificial constraint Right tool for the job

Slide 27

Slide 27 text

Time Knowledge

Slide 28

Slide 28 text

NoSQL is obvious “The solutions are all simple - after you have arrived at them. But they’re only simple when you know already what they are.” -Zen and the Art of Motorcycle Maintenance

Slide 29

Slide 29 text

Micro-service Architecture

Slide 30

Slide 30 text

No content

Slide 31

Slide 31 text

Keep problems local Build complex system from smaller parts Small flows of data between independent processes

Slide 32

Slide 32 text

Unix Systems Transport Pipes HTTP Representation Text Data Process Composition

Slide 33

Slide 33 text

Micro-service and NoSQL: Energy

Slide 34

Slide 34 text

Tariff Editor Comparison Service Energy Website Back Office

Slide 35

Slide 35 text

Tariff Editor Comparison Service Energy Website Back Office MongoDB MongoDB Charon SQL Server MySQL Energy Region CSV Reconciliation Profit & Loss Southampton Uni Research MysQL Redis MySQL:RDS

Slide 36

Slide 36 text

Tariff Editor Comparison Service Energy Website Back Office Car Insurance Website Credit Cards Website ... nginx proxy servers Kaa HDFS Hive Cascalog Visitor Service Neo4j Cassandra

Slide 37

Slide 37 text

Micro-service Architecture Platform for continuous delivery/ strangulation Bounded context guides system decomposition Keep problems local Composition with narrow APIs and data

Slide 38

Slide 38 text

NoSQL Data stores become implementation detail Locality makes decisions trivial “Data stores find their place”

Slide 39

Slide 39 text

NoSQL Micro-service Architecture Variation and Selection Composition

Slide 40

Slide 40 text

Enlightenment at

Slide 41

Slide 41 text

Enlightenment at NoSQL: Rejection of “One True” Model System composition important Embrace variation and selection: Monoliths and homogeneity considered harmful. Micro-services make it safe. Compose with data flows and narrow APIs

Slide 42

Slide 42 text

Related Material http://www.slideshare.net/jamesalewis/java-microservices http://oobaloo.co.uk/ http://vimeo.com/45136211 http://skillsmatter.com/podcast/scala/reviving- uswitchs-back-office-with-clojure

Slide 43

Slide 43 text

Thank you @pingles [email protected] http://github.com/pingles

Slide 44

Slide 44 text

Questions :) @pingles [email protected] http://github.com/pingles