Slide 1

Slide 1 text

Proxy Vote Designing scalable applications that costs a penny Christopher MANEU Principal Advocate Data Microsoft maneu.net

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

How Proxy voting works?

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

ProxyVote

Slide 6

Slide 6 text

Scalability requirements https://observatoire.numerique.gouv.fr/observatoire/

Slide 7

Slide 7 text

Scalability requirements At time of building. As of Sept 2023: 2.6M https://observatoire.numerique.gouv.fr/observatoire/

Slide 8

Slide 8 text

Iteration 1: Start Simple PostgreSQL database App Service

Slide 9

Slide 9 text

Cost-based architecture

Slide 10

Slide 10 text

Iteration 1: Start Simple Cloud Economics: Yearly cost ~ 3000€ Cost per proxy voting Paper Proxy Voting (1 A4 paper sheet) 0.00304 € / vote 0.00886 €/ vote Iteration 1 Voting x2.9

Slide 11

Slide 11 text

Iteration 1 Takeaways Cheaper than Paper-based Unknown scalability App service can autoscale up to 10 instances PostgreSQL Flexible Server can scale. Uneven usage throughout day/week/month. Long no-usage periods

Slide 12

Slide 12 text

Iteration 2: Serverless architecture Cosmos DB (SQL) Database Serverless APIs Static Front

Slide 13

Slide 13 text

Iteration 2: Serverless architecture Process / Steps Function invocation Cosmos DB RUs Register Proxy Voter Access the homepage 0 0 Login (State OpenId) 0 0 View Application Form 0 0 Submit Application 1 6 - C Validate Application email 1 1 - R Validate Application Identity Access internal app homepage 0 0 Search application by Id 1 1 – R Validate application 1 6 - C Total 4 14

Slide 14

Slide 14 text

Iteration 2: Serverless Cloud Economics: Cost at @1M Reg: ~5€ / year, @3M: ~15€ Cost per proxy voting Paper Proxy Voting (1 A4 paper sheet) 0.00304 € / vote 0.00886 €/ vote Iteration 1 Voting x672 0.00000452 € / vote Iteration 2 Voting

Slide 15

Slide 15 text

Iteration 2 Takeaways Scalability predictable Cosmos DB Serverless Max RU/s: 5000-20000 From 0 to 800-3200 applications / s instantly, 0 engineering effort All France yearly application can be processed in <14 minutes, for less than 15€

Slide 16

Slide 16 text

https://aka.ms/proxyvote

Slide 17

Slide 17 text

Q&A Christopher MANEU maneu.net