Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Mobile Microservices

017e4d47ca2362f17f7fe50e4a45422b?s=47 Cian Clarke
November 04, 2015
130

Mobile Microservices

Discusses the specific considerations around mobile when rolling out a microservices architecture, and why mobile is a good fit.

017e4d47ca2362f17f7fe50e4a45422b?s=128

Cian Clarke

November 04, 2015
Tweet

Transcript

  1. Mobile Centric Architectures
 The Microservices Way Cian Clarke
 Software Engineer


  2. @cianclarke github.com/cianclarke linkedin.com/in/cianclarke cianclarke.com

  3. Agenda 1.  Our Microservices Journey
 2.  Why Microservices for Mobile


    3.  Practical Example: Benchmarks
 4.  Tearing Down Data Silos
 5.  Practical Example: Data Silos
  4. Mobile Centric Architectures
 The Microservices Way Cian Clarke
 Software Engineer


    Our Microservices Journey
  5. 5

  6. None
  7. None
  8. None
  9. FeedHenry Through the Ages - 2012

  10. None
  11. None
  12. Microservices - our history 12 #1 “Make Everything a Module”

    #2 “Make everything an application” => This became Microservices
  13. None
  14. Microservices <==> DevOps

  15. Microservices Learnings Automate Everything …. Especially Infrastructure

  16. Mobile Centric Architectures
 The Microservices Way Cian Clarke
 Software Engineer


    Why Mobile Microservices?
  17. Need for Agility System of Record Monolithic Multi Featured Long

    Development Cycle Costly Infrequent, Large Updates System of Engagement Simple, Nimble Apps Highly targeted to need Fast Development Cycle Affordable CD & CI Traditional Approach The Mobile Way
  18. Special Considerations for Mobile 18 Fast to deploy •  Quick

    release cycle •  Loosely coupled API Integrations Performant Network Connection •  Can make any request •  Payload size not a big concern Slow to deploy •  Release cycle up to 1-week 
 with public app store reviews •  Tightly coupled API Integrations Lossy Edge networks, 
 3G best case •  HTTP overhead slow – 
 need to make fewer requests •  Payload must be small 
 - trimmed for mobile
  19. Update Cycles

  20. Mobile Centric Architectures
 The Microservices Way Cian Clarke
 Software Engineer


    Practical Example Umbrella Salesperson 
 bit.ly/microprimer
  21. App places orders for umbrellas Adjusts order based on predicted

    rainfall Sends an SMS when order is placed
  22. Attempt #1 - Good

  23. Attempt #2 - Better

  24. 24 var app = require('express')().use(require('body-parser')()); var orders = []; //

    Create a new order app.post('/orders', function(req, res){ orders.push(req.body); return res.json(req.body); }); // list orders app.get('/orders', function(req, res){ return res.json(orders); }); var server = app.listen(3000); That’s it! (bold is boilerplate)
  25. Shameless Plug

  26. Benchmark

  27. Mobile Centric Architectures
 The Microservices Way Cian Clarke
 Software Engineer


    Tearing Down Data Silos
  28. From Systems of Record RESERVATION CRM ERP HCM Etc.

  29. To Systems of Engagement

  30. Designed for the Desk, not the Pocket 30 •  Used

    Behind a desk
 •  Longer running tasks, e.g. •  Sending an email •  Filing an expense report •  Longer interaction times •  Request-Response based 
 interactions •  Used standing in line,
 walking thru the airport •  Shorter Interaction time, e.g. •  Comment on a case •  Approving a workflow •  Streaming & realtime 
 interactions
  31. Designed for Dumb Sensors, Not Smart Ones 31 Where are

    we? Dude, I got this..
  32. Designed to Silo Data NO DATA FOR YOU Hey, Remember

    that data I gave you..
  33. Set your information free

  34. Mobile Centric Architectures
 The Microservices Way Cian Clarke
 Software Engineer


    Practical Example Removing Data Silos github.com/birdhousesinc
  35. None
  36. None
  37. Microservices We’ll Use

  38. The Mashup

  39. @cianclarke github.com/cianclarke linkedin.com/in/cianclarke cianclarke.com ?