Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Upcoming SlideShare
Microservices In Practice
Next
Download to read offline and view in fullscreen.

Share

Hypermedia-Driven Orchestration in Microservices

Download to read offline

A talk given at O'Reilly Software Architecture Conference, Boston, March, 2015 – Hypermedia-Driven Orchestration in Microservices

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

Hypermedia-Driven Orchestration in Microservices

  1. 1. Hypermedia*Driven Orchestration4in4Microservices Irakli4Nadareishvili * @inadarei Director(of(Strategy,(API(Academy March,42015
  2. 2. 2 ©(2015(CA.(ALL(RIGHTS(RESERVED. Marc Andreessen
  3. 3. 3 ©(2015(CA.(ALL(RIGHTS(RESERVED. Marc Andreessen
  4. 4. 4 ©(2015(CA.(ALL(RIGHTS(RESERVED. Marc Andreessen “This%is%a%pattern%that%we%love% to%fund:%unbundle X%from%Y,% but%then%use%the%liberation%of% X%as%leverage%to%do%amazing% new%things%with%X.”#
  5. 5. 5 ©(2015(CA.(ALL(RIGHTS(RESERVED. “Unbundling”
  6. 6. 6 ©(2015(CA.(ALL(RIGHTS(RESERVED. «unbundled#by»
  7. 7. 7 ©(2015(CA.(ALL(RIGHTS(RESERVED. «unbundled#by»
  8. 8. 8 ©(2015(CA.(ALL(RIGHTS(RESERVED. «unbundled#by»
  9. 9. 9 ©(2015(CA.(ALL(RIGHTS(RESERVED. «unbundled#by»
  10. 10. 10 ©(2015(CA.(ALL(RIGHTS(RESERVED. Irakli(Nadareishvili – @inadarei Hypermedia*Driven Orchestration4in4Microservices
  11. 11. 11 ©(2015(CA.(ALL(RIGHTS(RESERVED. What are “Microservices”?
  12. 12. 12 ©(2015(CA.(ALL(RIGHTS(RESERVED. MartinFowler: O http://martinfowler.com/articles/microservices.html “We(cannot(say(there(is(a(formal( definition(of(the(microservices architectural(style,(but(we(can(attempt( to(describe(what(we(see(as(common( characteristics(for(architectures(that(fit( the(label.(
  13. 13. 13 ©(2015(CA.(ALL(RIGHTS(RESERVED. EVOLUTIONARY4DESIGN CharacteristicsofaMicroserviceArchitectureperFowler: COMPONENTIZATION4VIA4SERVICES ORGANIZED4AROUND4BUSINESS4CAPABILITIES PRODUCTS,4NOT44PROJECTS SMART4ENDPOINTS4AND4DUMB4PIPES DECENTRALIZED4GOVERNANCE4&4DATA4MANAGEMENT 1 2 3 4 5 INFRASTRUCTURE4AUTOMATION/DESIGN4FOR4FAILURE6 7
  14. 14. 14 ©(2015(CA.(ALL(RIGHTS(RESERVED. We KnowWhat It Is Not: Monolith
  15. 15. 15 ©(2015(CA.(ALL(RIGHTS(RESERVED. We KnowIt Is Popular:
  16. 16. 16 ©(2015(CA.(ALL(RIGHTS(RESERVED.
  17. 17. 17 ©(2015(CA.(ALL(RIGHTS(RESERVED. It is notjust abouttechnology
  18. 18. 18 ©(2015(CA.(ALL(RIGHTS(RESERVED. Unbundling:greatestdisruptor of tech industry “Microservices unbundle'your%business% for%internal%and%[controlled]%external% disruption”# – Irakli#Nadareishvili
  19. 19. 19 ©(2015(CA.(ALL(RIGHTS(RESERVED. MicroserviceArchitecture iscomplex Uncomfortable truth:
  20. 20. 20 ©(2015(CA.(ALL(RIGHTS(RESERVED. Monolithis brittle,but has order
  21. 21. 21 ©(2015(CA.(ALL(RIGHTS(RESERVED. Microservices:High Degree of Freedom
  22. 22. 22 ©(2015(CA.(ALL(RIGHTS(RESERVED. Mostof us arequiteawful at designingdistributedsystems. Uncomfortable truth:
  23. 23. 23 ©(2015(CA.(ALL(RIGHTS(RESERVED.
  24. 24. 24 ©(2015(CA.(ALL(RIGHTS(RESERVED. EVOLUTIONARY4DESIGN CharacteristicsofaMicroserviceArchitectureperFowler: DECENTRALIZED4GOVERNANCE4&4DATA4MANAGEMENT5 7
  25. 25. 25 ©(2015(CA.(ALL(RIGHTS(RESERVED. Watch-outfor tightcoupling!
  26. 26. 26 ©(2015(CA.(ALL(RIGHTS(RESERVED. Wecan buildloosely-coupled, evolvableservices,by designing themas HypermediaAPIs Solution we know works:
  27. 27. 27 ©(2015(CA.(ALL(RIGHTS(RESERVED. HypermediaperFielding Architectural(Styles(and(the(Design(of(NetworkObased( Software,(2001 O Roy(T.(Fielding “Hypermedia(is(defined(by(the( presence(of(application(control( information(embedded(within,(or( as(a(layer(above,(the(presentation( of(information
  28. 28. 28 ©(2015(CA.(ALL(RIGHTS(RESERVED. Or: response= data+ controls API(server(would(have(to(send(client( not(just(static data,(but(also(controls( describing(API(affordances.
  29. 29. 29 ©(2015(CA.(ALL(RIGHTS(RESERVED. Challengeby IosebDzmanashvili: Most(common(hypermedia( controls(facilitate(“a(single(step”.
  30. 30. 30 ©(2015(CA.(ALL(RIGHTS(RESERVED. Howdo we orchestrate Loosely-coupledmicroservices for complexworkflows?
  31. 31. 31 ©(2015(CA.(ALL(RIGHTS(RESERVED. #REM:response= data+ controls API(server(would(have(to(send(client( not(just(static data,(but(also(controls( describing(API(affordances.
  32. 32. 32 ©(2015(CA.(ALL(RIGHTS(RESERVED. Affordances Theory(of(Affordances,(1979 O James(J.(Gibson Affordances(are(all("action(possibilities"( latent(in(the(environment.
  33. 33. 33 ©(2015(CA.(ALL(RIGHTS(RESERVED. Affordances
  34. 34. 34 ©(2015(CA.(ALL(RIGHTS(RESERVED. Affordances
  35. 35. 35 ©(2015(CA.(ALL(RIGHTS(RESERVED. Affordances’rekeyto a gooddesign Imagine(a(car(or(a(building(that(you(couldn't(possibly( use,(unless(you(had(a(manual.(That(sounds(silly,(we( don't(build(cars(or(buildings(like(that.(Yet,(that(is( exactly(how(we(build(APIs(today.
  36. 36. 36 ©(2015(CA.(ALL(RIGHTS(RESERVED. Recognizable Affordances
  37. 37. 37 ©(2015(CA.(ALL(RIGHTS(RESERVED. Commonality MakesAffordances Obvious Are(all(cars(exactly(the(same?(No.(Can(we(do(basic(things( with(any(car,(once(we(understand(how(cars(in(general(work?( Yes!(Do(we(need(to(read(a(manual(for(that?(No!
  38. 38. 38 ©(2015(CA.(ALL(RIGHTS(RESERVED. Identify and standardize commonset of affordances We need to:
  39. 39. 39 ©(2015(CA.(ALL(RIGHTS(RESERVED. E*COMMERCE BOOKING4TRAVEL1 2 Examples:
  40. 40. 40 ©(2015(CA.(ALL(RIGHTS(RESERVED. BookingTravel
  41. 41. 41 ©(2015(CA.(ALL(RIGHTS(RESERVED. Diagram(by:(Clemens(Vasters source:(http://vasters.com/clemensv/2012/09/01/Sagas.aspx Saga: Long-LivedCompensating Transactions
  42. 42. 42 ©(2015(CA.(ALL(RIGHTS(RESERVED. Link RelationsforSaga: • rel =(“routingOslip”((new:(microformats) • rel =(“compensatingtx”((new:(microformats) @see:(http://rels.messages.io
  43. 43. 43 ©(2015(CA.(ALL(RIGHTS(RESERVED. E-Commerce
  44. 44. 44 ©(2015(CA.(ALL(RIGHTS(RESERVED. BROWSING/DISCOVERY4–“HYPERMEDIA4MAZE”4(AMUNDSEN) CHECKOUT4– SERVICE4ORCHESTRATION POST*PURCHASE4–SERVICE4CHOREOGRAPHY 1 2 3 3 Typesof ComplexWorkflows
  45. 45. 45 ©(2015(CA.(ALL(RIGHTS(RESERVED. MazeProblems
  46. 46. 46 ©(2015(CA.(ALL(RIGHTS(RESERVED. Maze+XML
  47. 47. 47 ©(2015(CA.(ALL(RIGHTS(RESERVED. Checkout:Orchestration Checkout 1.(Collect(Shipping(Info 2.(Billing(Info 3.(Authorize(Payment 4.(PostOpurchase(processing
  48. 48. 48 ©(2015(CA.(ALL(RIGHTS(RESERVED. OrchestrationforWizard-StyleWFs: • rel =(“next” • rel =(“prev” Standard(IANA(link(relations:
  49. 49. 49 ©(2015(CA.(ALL(RIGHTS(RESERVED. PostPurchase:Choreography PostOPurchase( service Shipping(Service EOmail(notification(service SMS Notification(Service Purchase( Completed( event Push(Notification(Service «subscribes#to»
  50. 50. 50 ©(2015(CA.(ALL(RIGHTS(RESERVED. ServiceChoreography • rel =(“hub”((IANA(standard) • rel =(“sub”((new:(microformats) • rel =(“unsub”((new:(microformats) • rel =(“events”((new:(microformats) Async and(eventOdriven.( Standard:(Pubsubhubbub @see:(http://rels.messages.io
  51. 51. 51 ©(2015(CA.(ALL(RIGHTS(RESERVED. BROWSING/DISCOVERY4–“HYPERMEDIA4MAZE”4(MIKE4AMUNDSEN) CHECKOUT4– SERVICE4ORCHESTRATION POST*PURCHASE4–SERVICE4CHOREOGRAPHY 1 2 3 Typesof ComplexWorkflows DISTRIBUTED4TRANSACTIONS4–SAGA4(HECTOR4GARCIA*MOLINA4&4KENNETH4SALEM4)4
  52. 52. 52 ©(2015(CA.(ALL(RIGHTS(RESERVED. Are theremoreworkflowtypes? Probably,but: next time!
  53. 53. 53 ©(2015(CA.(ALL(RIGHTS(RESERVED. Microservices❤ Hypermedia-DrivenOrchestration Photo(credit:(Corey(Seeman,( CC(BYONCOSA( 2.0.(https://www.flickr.com/photos/cseeman/14144834659
  54. 54. Director(of(Strategy,(API(Academy Irakli4Nadareishvili @inadarei @apiacademy @cainc https://speakerdeck.com/irakli linkedin.com/in/inadarei ca.com
  • SergioSnchezSnchez

    Mar. 3, 2017
  • trishakunstmartinez

    May. 7, 2015
  • mtrifiro

    Mar. 20, 2015
  • hwole

    Mar. 19, 2015
  • JuanCervera1

    Mar. 19, 2015

A talk given at O'Reilly Software Architecture Conference, Boston, March, 2015 – Hypermedia-Driven Orchestration in Microservices

Views

Total views

3,088

On Slideshare

0

From embeds

0

Number of embeds

199

Actions

Downloads

44

Shares

0

Comments

0

Likes

5

×