Network-based Architectures Fowler, Fielding, and Haussmann The - - PowerPoint PPT Presentation

network based architectures
SMART_READER_LITE
LIVE PREVIEW

Network-based Architectures Fowler, Fielding, and Haussmann The - - PowerPoint PPT Presentation

Eric Horesnyi | streamdata.io Network-based Architectures Fowler, Fielding, and Haussmann The Digital gap @StreamdataIO #JAXLondon Haussmann & Fielding 1853, Paris 2000, Irvine @StreamdataIO #JAXLondon Haussmann Fielding and


slide-1
SLIDE 1

Eric Horesnyi | streamdata.io

Network-based Architectures

Fowler, Fielding, and Haussmann

slide-2
SLIDE 2

The « Digital » gap

@StreamdataIO #JAXLondon

slide-3
SLIDE 3

Haussmann & Fielding

1853, Paris 2000, Irvine @StreamdataIO #JAXLondon

slide-4
SLIDE 4

CHALLENGES IN PARIS,1853

Haussmann Fielding and Fowler

@StreamdataIO #JAXLondon

slide-5
SLIDE 5

High Dropout

Cholera, 1832 – 19,000 dropout @StreamdataIO #JAXLondon

slide-6
SLIDE 6

Congestion

1hab/sq mt density @StreamdataIO #JAXLondon

slide-7
SLIDE 7

Slow & Unsecure

Security threats: No inspection possible

  • bscure streets

No patches to remove viruses and threats lack of air circulation Poor latency: slow access lines narrow streets

Street in Ile de La Cité Early XIXth

slide-8
SLIDE 8

Unstable system

Full reboot 1789, 1815, 1830, 1848… No backward compatibility No service desk Restricted vote DDOS in small access lines Barricades

Liberty Leading the People, July 28th, 1830' by Delacroix

slide-9
SLIDE 9

INHERITED FEATURES HTTP//PARIS 1789-1853

Haussmann Fielding Fowler

@StreamdataIO #JAXLondon

slide-10
SLIDE 10

Inherited Properties

@StreamdataIO #JAXLondon

slide-11
SLIDE 11

DNS

.gov, .com and .fr follow same scheme Seine is .root Streets start there Right/even Left/Uneven Paris street numbering, 1805

slide-12
SLIDE 12

Famous heritage

Napoleon, France 1804 Tim Berners-Lee, CERN ‘90

Comment: // limited to ability to establish basic rules. I do not admire Napoleon for anything else.

slide-13
SLIDE 13

Separation of concerns

Client Server @StreamdataIO #JAXLondon

slide-14
SLIDE 14

Stateless

All clients are treated equal, no special treatment, no segregation

Palais de Justice, Ile de la Cité

slide-15
SLIDE 15

Stateless

Client access server via a network call

slide-16
SLIDE 16

SELECTION OF PROPERTIES

FIELDING // HAUSSMANN REST // PARIS

Haussmann Fielding Fowler

@StreamdataIO #JAXLondon

slide-17
SLIDE 17

Mission

Network performance throughput, small

  • verhead, bandwidth

User-perceived performance latency, and completion Network-efficiency avoid using the street too much. Homeworking

Napoleon III describing his mission to Haussmann, 1853

slide-18
SLIDE 18

KPIs Haussmann // Fielding

Scalable make it possible for Paris to grow Simple no need for a city-user manual, Modifiable ability to evolve in the future through change Extensible add new neighborhood Customizable specialize a building without impacting others Configurable easily modify a building post-deployment Reusable building can host a bakery then a cremerie Visible to provide best security and auditability Portable style should work well in other regions Reliable susceptible to failure (no single event could stop water, gas or circulation for citizens) @StreamdataIO #JAXLondon

slide-19
SLIDE 19

P1: Low-Entry Barrier

A popular neighborhood in Paris @StreamdataIO #JAXLondon

slide-20
SLIDE 20

P2: Extensibility

Streaming = Paris Metro/Subway, 1900 @StreamdataIO #JAXLondon

slide-21
SLIDE 21

P3: Distributed Hypermedia

@StreamdataIO #JAXLondon

slide-22
SLIDE 22

P4: Anarchic Scalability

Paris Metropole today, 10m+ people @StreamdataIO #JAXLondon

slide-23
SLIDE 23

P6: Independant Deployment

Ile de La Cité restructured, embedding legacy/sacred Notre Dame @StreamdataIO #JAXLondon

slide-24
SLIDE 24

WHY HAUSSMANN DECIDED TO MAKE PARIS RESTFUL

Haussmann Fielding Fowler

@StreamdataIO #JAXLondon

slide-25
SLIDE 25

REST=LCODC$SS&UI

CSS=Client-Server-Stateless

@StreamdataIO #JAXLondon

slide-26
SLIDE 26

Layer 1: sewage & gas

@StreamdataIO #JAXLondon

slide-27
SLIDE 27

Layer 2: street & boulevards

@StreamdataIO #JAXLondon

slide-28
SLIDE 28

Layer 3: roofs

@StreamdataIO #JAXLondon

slide-29
SLIDE 29

Layered Networks

Within a layer, a component connects to its neighboor Between two layers, gateways allow for interaction Each layer is autonomous

@StreamdataIO #JAXLondon

slide-30
SLIDE 30

Cache

700 concurrent clients 80,000 in cache 2m records @StreamdataIO St Geneviève Library, 1850

slide-31
SLIDE 31

Cache

Opera, a server with cache

#Tech2Day

slide-32
SLIDE 32

Code On Demand

Les Halles, setting the tone for all restaurants in the City @StreamdataIO #JAXLondon

slide-33
SLIDE 33

Uniform Interface = Genious

Codified UI, by floor (header), with token/key, proxy, cache @StreamdataIO #JAXLondon

slide-34
SLIDE 34

Uniformity = beauty inside

Uniformity in APIs brings harmony in UX @StreamdataIO #JAXLondon

slide-35
SLIDE 35

Uniformity = pattern beauty

Uniformity brings fractal harmony: still there from a distance @StreamdataIO #JAXLondon

slide-36
SLIDE 36

HAUSSMANN // FOWLER AS URBANISTS

Continuous Delivery & Microservices

#Tech2Day

@StreamdataIO #JAXLondon

slide-37
SLIDE 37

Continuous Delivery

Resilient Water Induction, requiring aqueducts and reservoirs @StreamdataIO #JAXLondon

slide-38
SLIDE 38

Continuous Delivery

Aqueduct, Arcueil Reservoir, Arcueil @StreamdataIO #JAXLondon

slide-39
SLIDE 39

Microservices

Not too big Autonomous components Own API Standard protocol Scalable

@StreamdataIO #JAXLondon

slide-40
SLIDE 40

Zoning

Quartier Panthéon, a zone dedicated to “The Big Men”

slide-41
SLIDE 41

Lead by example

Opera, an Hypermedia API > great UX >>> traction for API owners

slide-42
SLIDE 42

Cut Corners

Haussmann corners: Most difficult piece & beautiful

slide-43
SLIDE 43

Polyglot

XVIII architecture encapsulated, if API complies @StreamdataIO #JAXLondon

slide-44
SLIDE 44

PARIS 160 YEARS LATER HTTP REST 16 YEARS LATER

Sustainable systems?

@StreamdataIO #JAXLondon

slide-45
SLIDE 45

UX performance

City of Lights: 20m unique visitors a year

slide-46
SLIDE 46

Reproductible

Chicago after the Burnham Plan, designed in 1909

slide-47
SLIDE 47

Durable

Courneuve, 1986, 20y lifespan Monolith

slide-48
SLIDE 48

Evolvable

Tour Eiffel under construction, evolution built years after Haussmann had left office

slide-49
SLIDE 49

DAYTODAY LIFE IN A RESTFUL CITY

Haussmann Fielding Fowler

@StreamdataIO #JAXLondon

slide-50
SLIDE 50

Incomplete Protocol: Velib

Leverage reusable assets Share same layer as existing traffic But incomplete protocol: collisions, missing RFC for cars Rate-limited API, realtime difficult

@StreamdataIO #JAXLondon

slide-51
SLIDE 51

Error Handling in your code

Gare Montparnasse, 1895 –HTTP or REST does not prevent from good error handling, contrib @rit

slide-52
SLIDE 52

HTTP//PARIS DICTIONARY, MAPS & RESSOURCES

Haussmann Fielding Fowler

@StreamdataIO #JAXLondon

slide-53
SLIDE 53

Glossary

Code Civil HTTP Paris Web Boulevards Internet Backbone Streets Access Lines Street Numbers URI Light in the streets Authentication Concierge Proxy Library Cache Carriage Request/Response Subway/Metro Streaming Homeworking Diff update// JSON Patch Pierre de Carrière JSON Compagnon du Devoir API Developer Haussmann Architect Beaux Arts JS Developers Façade API Haussmann Façade RESTful API Utilities Cloud/PaaS Annonces Parisiennes Criteo Grands Magasins Amazon Opera Deezer Theaters Netflix Prefecture NSA Bibliotheque Nat. Wiki Senat W3C Assemblee Nationale IETF Louvre Pinterest Bois de Boulogne MineCraft Bois de Vincennes Facebook Bon Marché Ebay Eiffel Tower Twitter Latin Quarter Udacity, Coursera Left bank spirit Android Right bank spirit Apple iPhone

@StreamdataIO #JAXLondon

slide-54
SLIDE 54

Resources

Paris Architecture & Urbanism: Musée Carnavalet, Cité Chaillot Haussmann: Haussmann à Paris : Architecture et urbanisme Seconde moitié du XIXe siècle, Book, 2012 HTTP: Tim Berners-Lee & Team, Cern, 1990 REST: Network-Based Architecture Style, Thesis, Fielding 2000 Continuous Delivery : Farley & Humbl, 2010 Microservices : Microservices in a Nutshell, Fowler & Lewis, Thoughtworks, 2014 Web Corp Organization: How Google Works, Eric Schmidt, 2014 Design & UX : Jonathan Ive, Apple by The New Yorker, 2015 Microservices Building Microservices, Sam Newman, O’Reilly Book, 2015