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

Mobile Microservices

Cian Clarke
November 04, 2015
170

Mobile Microservices

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

Cian Clarke

November 04, 2015
Tweet

Transcript

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


    3.  Practical Example: Benchmarks
 4.  Tearing Down Data Silos
 5.  Practical Example: Data Silos
  2. 5

  3. Microservices - our history 12 #1 “Make Everything a Module”

    #2 “Make everything an application” => This became Microservices
  4. 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
  5. 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
  6. Mobile Centric Architectures
 The Microservices Way Cian Clarke
 Software Engineer


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

    rainfall Sends an SMS when order is placed
  8. 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)
  9. 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
  10. Mobile Centric Architectures
 The Microservices Way Cian Clarke
 Software Engineer


    Practical Example Removing Data Silos github.com/birdhousesinc