How CloudComputing
                           changed Mobile
                             Development
                                  Chris Moyer
                        VP of Technology @ Newstex, LLC




Monday, October 1, 12
Who am I?
          ✦      Author

          ✦      Building
                 Applications in
                 the Cloud

          ✦      Not just about
                 AWS, but cloud
                 computing
                 “patterns” in
                 general


Monday, October 1, 12
Author

          ✦      Now available in
                 multiple
                 languages

          ✦      Available through
                 Amazon.com




Monday, October 1, 12
Newstex VP
          ✦      VP of Technology:
                 Newstex, LLC

          ✦      Took Newstex from
                 a datacenter to
                 AWS

          ✦      All applications
                 run entirely
                 within AWS



Monday, October 1, 12
Mobile + Cloud
Monday, October 1, 12
What is a cloud
                          service?


Monday, October 1, 12
Do you have a
                        smartphone or
                            tablet?

Monday, October 1, 12
The original Mobile
                                Phone

                        Radio Common Carrier

                        1960s by AT&T

                        Voice only




Monday, October 1, 12
Smartphones - Business
                         only
                        Blackberry introduces
                        a phone with Email

                        Lets you keep in
                        contact with the
                        office outside the
                        office

                        Allows you to be
                        mobile


Monday, October 1, 12
Smartphones for
                             everyone!
                        Smartphones for
                        normal people

                        “Apps” become more
                        useful then the phone

                        Usage shifts

                        “Mobile” doesn’t just
                        mean “phone”
                        anymore

Monday, October 1, 12
What do you use your
                   mobile for?


Monday, October 1, 12
Data usage increasing




Monday, October 1, 12
Faster processors use
                            more battery
                        Small - Not a desktop

                          Use less power

                          Produce less heat

                        Don’t process:

                          Background Tasks

                          Expensive Tasks

Monday, October 1, 12
Selling a service, not an
                        application
                        Applications have
                        short lifespan

                        Services give you
                        paying customers
                        forever

                        Think “World of
                        Warcraft” vs
                        “Warcraft 3”



Monday, October 1, 12
But where do I run
                            these tasks?
                        Traditional DCs don’t
                        scale

                        Users may jump from
                        500 to 5 million
                        overnight

                        Users may drop, need
                        to be flexible



Monday, October 1, 12
Offloading data/
                        processing to a Cloud
                        Elastic back-end

                        Scale when you get
                        more users

                        Net work accessible

                        Allow localized access




Monday, October 1, 12
Lets put everything on
                         the backend!
                        HTML5 Only apps

                          HTML5 is slow

                          Not everything is
                          “standard”

                          Not all devices deser ve
                          the same layout

                          Transmitting data +
                          layout over high-
                          latency net works


Monday, October 1, 12
How often are you
                   on-the-go with your
                         mobile?

Monday, October 1, 12
Speed is everything
Monday, October 1, 12
LTE “Speed”
Monday, October 1, 12
Mobile net works
                        Latency is much
                        higher

                        Users pay for data
                        usage

                        Net works are
                        unreliable

                        Minimal offline
                        functionality


Monday, October 1, 12
Big Data, Big
                         analytics
Monday, October 1, 12
Tracking: Device or API?
                        Track on Device:

                          Interactions

                          User Workflow

                        Track in API:

                          API Calls

                          Usage statistics


Monday, October 1, 12
What about the
                           User?


Monday, October 1, 12
Mobile devices are
                             disposable
                        Phones get lost,
                        destroyed, or stolen

                        Enterprise:

                          Prevent
                          unauthorized
                          access on stolen
                          devices

                          Protect your data

Monday, October 1, 12
Sync everywhere

                        One login, any device

                        Makes you mobile

                        Use ser vices, not apps

                        “My data is in the
                        cloud”




Monday, October 1, 12
External Ser vices
                                                Newstex

                        Real Time updates
                                                System




                          Push notifications

                          Email notifications

                        Social Sharing

                          Twitter

                          Facebook


Monday, October 1, 12
Newstex’s Solution


Monday, October 1, 12
One API to rule them
                                all?
                        Not all devices have
                        the same “workflow”

                        Not all devices
                        authenticate the
                        same

                        API developer and
                        client developer
                        disconnect



Monday, October 1, 12
Taking a cue from
                                Netflix
                        Different APIs for
                        different clients

                        One underlying API
                        with different
                        adapters

                        Client Adapter
                        written specifically
                        for each development
                        team


Monday, October 1, 12
Adapters
                        Plug in Cloud Ser vices    CloudSearch   DynamoDB              SimpleDB   S3


                        to Centralized API

                        Build adapters on top of                         Newstex API

                        this API for individual                      Web          Device

                        use-cases                                   Adapter       Adapter




                        Web adapter - HTTP/
                        REST + JSON

                        Mobile devices: Socket
                        + XDR


Monday, October 1, 12
REST is not always best
                        Version 1:

                          REST + JSON

                          Slow

                          Lots of overhead

                          Not Bandwidth
                          efficient

                          No Sessions

                          Text parsing is
                          expensive on mobile
Monday, October 1, 12
Custom APIs
                        Version 2:

                          Custom “Socket” API

                          Simple XDR based
                          output

                          Compact data
                          representation

                          Fast - Session based

                          Cheap to decode

Monday, October 1, 12
Request Routing
                        Location-based DNS
                                                   us-west
                        Takes you to the
                        closest ser vers
                                             DNS   us-east

                        Reduce latency
                                                   eu-west
                        Synchronize
                        databases



Monday, October 1, 12
We’re hiring!

                        newstex.com/about/jobs

                        Web Developers

                        Mobile Developers

                        Python Developers




Monday, October 1, 12

Cloud computing and mobile rit

  • 1.
    How CloudComputing changed Mobile Development Chris Moyer VP of Technology @ Newstex, LLC Monday, October 1, 12
  • 2.
    Who am I? ✦ Author ✦ Building Applications in the Cloud ✦ Not just about AWS, but cloud computing “patterns” in general Monday, October 1, 12
  • 3.
    Author ✦ Now available in multiple languages ✦ Available through Amazon.com Monday, October 1, 12
  • 4.
    Newstex VP ✦ VP of Technology: Newstex, LLC ✦ Took Newstex from a datacenter to AWS ✦ All applications run entirely within AWS Monday, October 1, 12
  • 5.
  • 6.
    What is acloud service? Monday, October 1, 12
  • 7.
    Do you havea smartphone or tablet? Monday, October 1, 12
  • 8.
    The original Mobile Phone Radio Common Carrier 1960s by AT&T Voice only Monday, October 1, 12
  • 9.
    Smartphones - Business only Blackberry introduces a phone with Email Lets you keep in contact with the office outside the office Allows you to be mobile Monday, October 1, 12
  • 10.
    Smartphones for everyone! Smartphones for normal people “Apps” become more useful then the phone Usage shifts “Mobile” doesn’t just mean “phone” anymore Monday, October 1, 12
  • 11.
    What do youuse your mobile for? Monday, October 1, 12
  • 12.
  • 13.
    Faster processors use more battery Small - Not a desktop Use less power Produce less heat Don’t process: Background Tasks Expensive Tasks Monday, October 1, 12
  • 14.
    Selling a service,not an application Applications have short lifespan Services give you paying customers forever Think “World of Warcraft” vs “Warcraft 3” Monday, October 1, 12
  • 15.
    But where doI run these tasks? Traditional DCs don’t scale Users may jump from 500 to 5 million overnight Users may drop, need to be flexible Monday, October 1, 12
  • 16.
    Offloading data/ processing to a Cloud Elastic back-end Scale when you get more users Net work accessible Allow localized access Monday, October 1, 12
  • 17.
    Lets put everythingon the backend! HTML5 Only apps HTML5 is slow Not everything is “standard” Not all devices deser ve the same layout Transmitting data + layout over high- latency net works Monday, October 1, 12
  • 18.
    How often areyou on-the-go with your mobile? Monday, October 1, 12
  • 19.
  • 20.
  • 21.
    Mobile net works Latency is much higher Users pay for data usage Net works are unreliable Minimal offline functionality Monday, October 1, 12
  • 22.
    Big Data, Big analytics Monday, October 1, 12
  • 23.
    Tracking: Device orAPI? Track on Device: Interactions User Workflow Track in API: API Calls Usage statistics Monday, October 1, 12
  • 24.
    What about the User? Monday, October 1, 12
  • 25.
    Mobile devices are disposable Phones get lost, destroyed, or stolen Enterprise: Prevent unauthorized access on stolen devices Protect your data Monday, October 1, 12
  • 26.
    Sync everywhere One login, any device Makes you mobile Use ser vices, not apps “My data is in the cloud” Monday, October 1, 12
  • 27.
    External Ser vices Newstex Real Time updates System Push notifications Email notifications Social Sharing Twitter Facebook Monday, October 1, 12
  • 28.
  • 29.
    One API torule them all? Not all devices have the same “workflow” Not all devices authenticate the same API developer and client developer disconnect Monday, October 1, 12
  • 30.
    Taking a cuefrom Netflix Different APIs for different clients One underlying API with different adapters Client Adapter written specifically for each development team Monday, October 1, 12
  • 31.
    Adapters Plug in Cloud Ser vices CloudSearch DynamoDB SimpleDB S3 to Centralized API Build adapters on top of Newstex API this API for individual Web Device use-cases Adapter Adapter Web adapter - HTTP/ REST + JSON Mobile devices: Socket + XDR Monday, October 1, 12
  • 32.
    REST is notalways best Version 1: REST + JSON Slow Lots of overhead Not Bandwidth efficient No Sessions Text parsing is expensive on mobile Monday, October 1, 12
  • 33.
    Custom APIs Version 2: Custom “Socket” API Simple XDR based output Compact data representation Fast - Session based Cheap to decode Monday, October 1, 12
  • 34.
    Request Routing Location-based DNS us-west Takes you to the closest ser vers DNS us-east Reduce latency eu-west Synchronize databases Monday, October 1, 12
  • 35.
    We’re hiring! newstex.com/about/jobs Web Developers Mobile Developers Python Developers Monday, October 1, 12