Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
Coding Night 2015
Christian Bäuerlein
July 17, 2015
Technology
0
110
Coding Night 2015
Christian Bäuerlein
July 17, 2015
Tweet
Share
More Decks by Christian Bäuerlein
See All by Christian Bäuerlein
fabrik42
1
55
fabrik42
0
67
fabrik42
0
19
fabrik42
0
130
fabrik42
0
47
fabrik42
0
150
fabrik42
1
63
fabrik42
0
110
fabrik42
0
93
Other Decks in Technology
See All in Technology
jozono
6
1.1k
techclouderp
0
260
oracle4engineer
1
440
p1ass
15
5.5k
k1low
13
2.4k
kawanamiyuu
4
690
daisukehirama41
1
300
aizurage
0
110
brtriver
1
250
ihcomega56
2
590
ishiitetsuji
0
110
supership
0
150
Featured
See All Featured
scottboms
252
11k
addyosmani
312
21k
danielanewman
201
20k
iamctodd
22
2.1k
chrislema
173
14k
aarron
258
36k
holman
462
280k
bermonpainter
343
26k
afnizarnur
176
14k
smashingmag
283
47k
notwaldorf
18
2.1k
addyosmani
494
110k
Transcript
None
Hi! J Christian Bäuerlein • @fabrik42 • github.com/fabrik42
Creating mobility using existing resources
Creating mobility using existing resources Bringing together drivers and passengers
to share a ride.
0-5 km Urban 5 - 100 km Regional 100 -
700 km Intercity
None
None
None
Speed Dating the flinc Tech Stack
Backnet
Load Balancer Load Balancer Rev. Proxy Rev. Proxy App Server
App Server App Server App Server App Server ... Static Assets Caching DB Queue Ext. Service Worker Worker Worker Worker Worker ... Micro service Simplified version of our backnet server setup.
Servers in Germany (owned by German Company) All Servers running
in VMs Provisioning via Chef
Ruby on Rails
5 Years
> 330k Users
~100k LOC Ruby
20 API Clients RESTful JSON API oAuth 2 Provider Detailled
test suite
PostgreSQL
Extensions
Stored Procedures User Defined Functions
Exceeded 32 Bit Int in 2013
WE LOVE IT!
Background Processing Sending Emails Calculating Routes Processing User Uploads External
Services
Essential part of our architecture Don‘t let the user wait.
Don‘t let the user see errors from external services. Retry yourself in the background. Come back to the user later.
Microservices Sending Email, Push, SMS Accessing/processing 3rd party services Ruby/Go/C++/Java
Routing Server High Performance Tailored to the flinc use cases
Business Intelligence
Business Intelligence
Testing
~7500 Tests
~3 min for full suite
Rspec Jasmine Protractor
Deployment
Make your code accessible
Communicate changes
None
Thank you! flinc.org/jobs Christian Bäuerlein • @fabrik42 • github.com/fabrik42
None