we started with ror, c++, c#, nodejs and... at the end we chose go - maurizio de gregorio, emilio de...
TRANSCRIPT
We started with RoR, C++, C#, nodeJS and... at the end we chose GO
Maurizio de Gregorio Emilio de Lazzari
MILAN 25-26 NOVEMBER 2016
Agenda
What to expect from this speech What is Parterre The Platform Story Current Platform Future Development
2
The Platform Story
Maurizio de Gregorio CEO & Founder, Parterre Business Development & Data Scientist
Millions of transactions
6
concentrated in spikes of almost 10K t/s
cloud load-balancerauto-scaling
DB RDScosts
C++
9
Performance: Highest Know how: Low level programming interface
Deployment: dependencies -> complex Troubleshooting: memory leak -> complex
C# mono
10
Performance: High Know how: easy to find developers
Deployment: dependencies -> complex Troubleshooting: complex
Test Results - Apache AB
12
server@social:~$ ab -n 1000 -c 300 http://parterre.eu/api3/xxxThis is ApacheBench, Version 2.3 <$Revision: 1528965 $>Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/Licensed to The Apache Software Foundation, http://www.apache.org/
Server Software: Server Hostname: parterre.euServer Port: 80
Document Length: 1086 bytes
Concurrency Level: 300Time taken for tests: 0.257 secondsComplete requests: 1000Failed requests: 0Total transferred: 1243000 bytesHTML transferred: 1086000 bytesRequests per second: 3891.55 [#/sec] (mean)Time per request: 77.090 [ms] (mean)Time per request: 0.257 [ms] (mean, across all concurrent requests)Transfer rate: 4723.83 [Kbytes/sec] received
Connection Times (ms) min mean[+/-sd] median maxConnect: 10 22 4.4 23 33Processing: 18 33 12.0 31 234Waiting: 18 33 12.0 31 234Total: 34 55 12.1 55 254
Test Results - Amazon Bees
13
$ bees up -s 5$ bees attack -n 20000 -c 4500 -u “http://parterre.eu/api3/xxx“Read 5 bees from the roster.Connecting to the hive.Assembling bees.Each of 5 bees will fire 4000 rounds, 900 at a time.Stinging URL so it will be cached for the attack.Organizing the swarm.Bee 0 is firing his machine gun. Bang bang!Bee 2 is firing his machine gun. Bang bang!Bee 1 is firing his machine gun. Bang bang!Bee 4 is firing his machine gun. Bang bang!Bee 3 is firing his machine gun. Bang bang!Bee 2 is out of ammo.Bee 0 is out of ammo.Bee 1 is out of ammo.Bee 4 is out of ammo.Bee 3 is out of ammo.Offensive complete. Complete requests: 20000 Requests per second: 9650.760000 [#/sec] (mean) Time per request: 62.9969400 [ms] (mean) 50% response time: 56.6800000 [ms] (mean) 90% response time: 67.7800000 [ms] (mean)Mission Assessment: Target successfully fended off the swarm.The swarm is awaiting new orders.
multi instance generator
Cross Compile
19
MAC, Windows & Linux single executableTests and debugging
Compile for the target ready to deploy
Parterre Team
Maurizio de Gregorio CEO & Founder Business Development & Data Scientist
Emilio De Lazzari CTO & Founder Backend Architect & Developer
23
Claudio Bonucci Junior Developer
Riccardo Pizzoni Senior Developer
Summary and Q&A
24
STRONG TYPED LANGUAGE
PRODUCTION DEPENDENCY FREE
FAST DEPLOYMENT
CROSS COMPILE
PERFORMANCE