Building the Futureof Mobility
About Me
TeliaSonera
Longish Nokia Career- Software- Music Industry- Developer Relations across S40, Symbian, Maemo,MeeGo,Qt,HERE,Flash, WRT,HTML5,Windows Phone…
- 2-timeWebby AwardWinner
SSHCommunications Security, Ixonos
Non-profit initiatives &startups - Topicalio
MaaSGlobal
SamiPippuriCTO,MaaSGlobal
@pippuri
#spaceselfie
Topicalio
Whim
Transportation is being hit by a DIGITAL TSUNAMI.
So what is changing?
The key challenges of fast evolving urbanmobility
Urbanisation Travel problems Insufficient solutions
More people More traffic jams Multipleand disconnected apps
Route based public transportation
Emerging transport sharing
More vehicles Less parking space
More urban travel More time spent on PT
More complex travel More delays
Car ownership not fitting with modern lifestyle
Cities can’t cope with urban mobility demand
2,8
43,2
67,1
2010 2030 2050
Urbanisation Current alternative
Urban mobility demand 2010-2050 (trillions pkm.p.a.;%)
Source: Appendix
URBAN MOBILTYDEMAND EXPLODES
2,6 x
3 bnThe number of vehicles on
the road worldwide is projected to triple, to as
many as 3billionby 2035.
37,2%From 1995 to 2013 public transportation ridership
increased by 37,2%,exceeding the 22,7% growth rateof
the U.Spopulation
42 h42 hours a year are
spent in a traffic jam (USA).
106h106 h/year on
average spent on urban travel.
149minon public transport
each day.
2 xThe world’s current total of 1,2 billion cars could
double by 2030.
10,8 bnIn 2014, people took a record -breaking
10.8 billion trips on public
transport.
40%of inner-city traffic consists of vehicles looking for a parking
space.
38min38 minutes
(26 %) of which is spent idly waiting for the bus or
train to arrive.
40%with a 40 %
dissatisfaction rate.
Private traffic
Public transport
New York
+68%
+55%
Travel problems
Current optionsType of transport
Government role
Challenges
Increasing costs
Traffic jams and curfews
Privatecars
Mismatch between supply and demand
Public transport
Limited and expensive parking
Heavyrestrictions
NO SINGLE SOLUTIONEXISTS
Heavysubsidies
Urban pollution
Huge amount of disparate service providers
Inefficient due to single passenger jurneys
Low usage vs cost
Cost ofownership
More time spent on public transport than ever
Extensive planning required
Cost ofoperation
Urbanisation Current options
Travel problems
The MaaS solution
Freedom from ownership A singleapp Increased
efficiency
Access to all transport without the need to
own a car
Hassle free
One intuitive app to manage your travel needs
User friendly
Increased utilisation rate AND route optimisation
WITH on-demand routing
Saves money
… AND TAILORED TO YOUR NEED AS MONTHLY PACKAGES?
Our product - transport sold by monthlysubscription
WHAT IF ALL TRANSPORTATION WAS CONVERGED…
9
We want to:
• Give you back 90 minutes to your day• Make sure you have full freedom of mobility• Take away the pain of ‘how do I get there’• Make sure you’re not a polluter• Under a simple pricing scheme
Introducing Whim: the first mobility operator service
Perhaps the more INTERESTING BIT
So how are we making this happen?
System Goals
Goals
• Scalable, cloud-based• Mobile-first customerexperience• Utilizing readymadecloudAPIs• Infrastructure-as-code• Establish industrystandardAPIswhere they
don’texistyet• Openforecosystempartners• Createenthusiasm inthewiderecosystem–
enablee.g.Universitiesandsmaller developerhousesaroundtheworld
Non-Goals
• Closedarchitecture orlock-ins (exceptAWS)
• Exclusive deals• Server infrastructure• Intermediate, all-
encompassing frameworks• Something foreverybody
Loosely coupled Microservice API integrations – flexible inclusion into MaaS framework
Routing
TrafficOperatorTrafficOperatorTrafficOperatorTransportOperator
Weather
SubscriptionPayment
Identity
GenericRuleEngine
CustomerSupport
Whimbackend
APIGW
WhimApps
MaaS tech Mission: Build a “Transport AI”
Anticipation,Service
Optimization
“TransportAI”
BETTER SERVICE, HIGHER UTILIZATION
Backend composition – Transport AI and services
TransportAI
ServiceBus
DynamoDB
TSPAdapter(s)
Routers
Registry
IoT APIGW OpenSourceProject (firstfocusingonbookings):http://www.maas-api.org
RDS
Booking Itinerary
Geo Profile Store
Tech Stacks
iOS
MaaSCore
Android
Swift Java
AWSSDK
AWSIoT Cognito …
Lambda(Node.js 4.x,ES6)
Serverless
AWSComponents*
RESTAPIs
Apps Backend Integrations
BPMN-js MaaS-API SBUS
*APIGW,S3,DynamoDB,RDS(psql),Route53,IoT,Cognito,CloudFront,CloudWatch,SNS,Kinesis,ML,SWF, IAM,ACM…
SWFbackgroundprocessing
SNS
Serverless Project Deployment Workflow
Serverlessw/CloudFormation
autoinstall meta
mocha
Webpack
Basetoolstack
TravisCI
PROD-GREEN
Unit&integrationtesting
Deploy toteststages
PROD-BLUE
DEVManual
ContinuousDeployment(!)
Testharness
Depsripts
Localtestharness
Why cloud-native and serverlessVirtualHardware Cost Set-uptime Personnel
BEFORE 1firewall/LB, 2DBmachines, 2frontends,3backends…>$1500/monthfor0users
>1week just tohaveanenvironment,accounts,OSinstallations,networking rules,databases..
DBAinfraengineerNetworking,Backups, Updates…Monitoring,Developers
Whim 0EURtosetup,< $100/monthtosupport~5000users
First routing demoonday1,capable ofscaling tothousandsofconcurrent users
1Senior FullStackJavascript developer
Whim took 3months fromproject starttolaunch
Lessons learned
Bleedingedgeissharp- Serveless0.5migration,with1.0comingup- Testing&Deployment&versioning- RemoteTeams- Learningcurve&Hiring- Unknownfailuresituations&debugging- AWSlimitsandweirdness- MoreeffortfromDevattheexpenseofOpsrequired
Conclusions
Serverlesscomputingwastherightmodeltogofor- Effortlessscalability- Zeromaintenance- Statelesspatterns- Isolation- NativeCloudComponents- Productivityvstechnicaldebtwhenscaling
…butstillabitrougharoundtheedges.
@pippurimaas.global/jobs
SomeResources• MaaSTransport Service Provider API:https://github.com/maasglobal/maas-tsp-api• Serverless Mocha testplugin: https://github.com/SC5/serverless-mocha-plugin• Autoinstall plugin: https://github.com/kennu/serverless-plugin-autoinstall• MetaSync plugin: https://github.com/serverless/serverless-meta-sync• Webpack plugin (fork) forfastercold starts:https://github.com/laurisvan/serverless-webpack-plugin• Request-promise-lite, smaller version ofrequest-promise tokeepLambda sizedown: https://github.com/laurisvan/request-promise-lite
• Watchthis:Serverless v1.0 boilerplate https://github.com/SC5/sc5-serverless-v1-boilerplate• Knex /Objection.js foreasyORMonNodejs: http://vincit.github.io/objection.js/• Zenhub forGithub issue management onsteroids: https://www.zenhub.com/product