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 Fowler CHALLENGES IN PARIS,1853 @StreamdataIO #JAXLondon
High Dropout Cholera, 1832 – 19,000 dropout @StreamdataIO #JAXLondon
Congestion 1hab/sq mt density @StreamdataIO #JAXLondon
Slow & Unsecure Security threats: No inspection possible obscure 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
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
Haussmann Fielding Fowler INHERITED FEATURES HTTP//PARIS 1789-1853 @StreamdataIO #JAXLondon
Inherited Properties @StreamdataIO #JAXLondon
DNS .gov, .com and .fr follow same scheme Seine is .root Streets start there Right/even Left/Uneven Paris street numbering, 1805
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.
Separation of concerns Client Server @StreamdataIO #JAXLondon
Stateless All clients are treated equal, no special treatment, no segregation Palais de Justice, Ile de la Cité
Stateless Client access server via a network call
Haussmann Fielding Fowler SELECTION OF PROPERTIES FIELDING // HAUSSMANN REST // PARIS @StreamdataIO #JAXLondon
Mission Network performance throughput, small overhead, bandwidth User-perceived performance latency, and completion Network-efficiency avoid using the street too much. Homeworking Napoleon III describing his mission to Haussmann, 1853
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
P1: Low-Entry Barrier A popular neighborhood in Paris @StreamdataIO #JAXLondon
P2: Extensibility Streaming = Paris Metro/Subway, 1900 @StreamdataIO #JAXLondon
P3: Distributed Hypermedia @StreamdataIO #JAXLondon
P4: Anarchic Scalability Paris Metropole today, 10m+ people @StreamdataIO #JAXLondon
P6: Independant Deployment Ile de La Cité restructured, embedding legacy/sacred Notre Dame @StreamdataIO #JAXLondon
Haussmann Fielding Fowler WHY HAUSSMANN DECIDED TO MAKE PARIS RESTFUL @StreamdataIO #JAXLondon
REST=LCODC$SS&UI CSS=Client-Server-Stateless @StreamdataIO #JAXLondon
Layer 1: sewage & gas @StreamdataIO #JAXLondon
Layer 2: street & boulevards @StreamdataIO #JAXLondon
Layer 3: roofs @StreamdataIO #JAXLondon
Layered Networks Within a layer, a component connects to its neighboor Between two layers, gateways allow for interaction Each layer is autonomous @StreamdataIO #JAXLondon
Cache 700 concurrent clients 80,000 in cache 2m records St Geneviève Library, 1850 @StreamdataIO
Cache Opera, a server with cache #Tech2Day
Code On Demand Les Halles, setting the tone for all restaurants in the City @StreamdataIO #JAXLondon
Uniform Interface = Genious Codified UI, by floor (header), with token/key, proxy, cache @StreamdataIO #JAXLondon
Uniformity = beauty inside Uniformity in APIs brings harmony in UX @StreamdataIO #JAXLondon
Uniformity = pattern beauty Uniformity brings fractal harmony: still there from a distance @StreamdataIO #JAXLondon
Continuous Delivery & Microservices HAUSSMANN // FOWLER AS URBANISTS @StreamdataIO #JAXLondon #Tech2Day
Continuous Delivery Resilient Water Induction, requiring aqueducts and reservoirs @StreamdataIO #JAXLondon
Continuous Delivery Reservoir, Arcueil Aqueduct, Arcueil @StreamdataIO #JAXLondon
Microservices Not too big Autonomous components Own API Standard protocol Scalable @StreamdataIO #JAXLondon
Zoning Quartier Panthéon, a zone dedicated to “The Big Men”
Lead by example Opera, an Hypermedia API > great UX >>> traction for API owners
Cut Corners Haussmann corners: Most difficult piece & beautiful
Polyglot XVIII architecture encapsulated, if API complies @StreamdataIO #JAXLondon
Sustainable systems? PARIS 160 YEARS LATER HTTP REST 16 YEARS LATER @StreamdataIO #JAXLondon
UX performance City of Lights: 20m unique visitors a year
Reproductible Chicago after the Burnham Plan, designed in 1909
Durable Courneuve, 1986, 20y lifespan Monolith
Evolvable Tour Eiffel under construction, evolution built years after Haussmann had left office
Haussmann Fielding Fowler DAYTODAY LIFE IN A RESTFUL CITY @StreamdataIO #JAXLondon
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
Error Handling in your code Gare Montparnasse, 1895 –HTTP or REST does not prevent from good error handling, contrib @rit
Haussmann Fielding Fowler HTTP//PARIS DICTIONARY, MAPS & RESSOURCES @StreamdataIO #JAXLondon
Glossary Code Civil HTTP Utilities Cloud/PaaS Paris Web Annonces Parisiennes Criteo Boulevards Internet Backbone Grands Magasins Amazon Streets Access Lines Opera Deezer Street Numbers URI Theaters Netflix Light in the streets Authentication Prefecture NSA Concierge Proxy Bibliotheque Nat. Wiki Library Cache Senat W3C Carriage Request/Response Assemblee Nationale IETF Subway/Metro Streaming Louvre Pinterest Homeworking Diff update// JSON Patch Bois de Boulogne MineCraft Pierre de Carrière JSON Bois de Vincennes Facebook Compagnon du Devoir API Developer Bon Marché Ebay Haussmann Architect Eiffel Tower Twitter Beaux Arts JS Developers Latin Quarter Udacity, Coursera Façade API Left bank spirit Android Haussmann Façade RESTful API Right bank spirit Apple iPhone @StreamdataIO #JAXLondon
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
Recommend
More recommend