como escalar 20 milhões de usuários por mês utilizando asp.net
TRANSCRIPT
![Page 1: Como escalar 20 milhões de usuários por mês utilizando ASP.NET](https://reader035.vdocuments.pub/reader035/viewer/2022062902/58f0773f1a28ab2e468b463d/html5/thumbnails/1.jpg)
MVP Open Days 2015
13 e 14 de Março – São Paulo#MVPBR
Como escalar 20 milhões de usuários por mês utilizando ASP.NETAlexandre Tarifa - @alexandretarifaMVP ASP.NET
![Page 2: Como escalar 20 milhões de usuários por mês utilizando ASP.NET](https://reader035.vdocuments.pub/reader035/viewer/2022062902/58f0773f1a28ab2e468b463d/html5/thumbnails/2.jpg)
MVP Open Days 2015
![Page 3: Como escalar 20 milhões de usuários por mês utilizando ASP.NET](https://reader035.vdocuments.pub/reader035/viewer/2022062902/58f0773f1a28ab2e468b463d/html5/thumbnails/3.jpg)
MVP Open Days 2015
![Page 4: Como escalar 20 milhões de usuários por mês utilizando ASP.NET](https://reader035.vdocuments.pub/reader035/viewer/2022062902/58f0773f1a28ab2e468b463d/html5/thumbnails/4.jpg)
MVP Open Days 2015
![Page 5: Como escalar 20 milhões de usuários por mês utilizando ASP.NET](https://reader035.vdocuments.pub/reader035/viewer/2022062902/58f0773f1a28ab2e468b463d/html5/thumbnails/5.jpg)
MVP Open Days 2015
![Page 6: Como escalar 20 milhões de usuários por mês utilizando ASP.NET](https://reader035.vdocuments.pub/reader035/viewer/2022062902/58f0773f1a28ab2e468b463d/html5/thumbnails/6.jpg)
página 7
The largest portal for Health, nutrition and wellness in Brazil
![Page 7: Como escalar 20 milhões de usuários por mês utilizando ASP.NET](https://reader035.vdocuments.pub/reader035/viewer/2022062902/58f0773f1a28ab2e468b463d/html5/thumbnails/7.jpg)
page views/month
scalabilitydelivering health
70,000,000
average online visitors 7,000
rpm web servers 8,500
rpm each server 1,700
data tranfer/month 60 TB
web servers5 vms
visitors/month 18,000,000
![Page 8: Como escalar 20 milhões de usuários por mês utilizando ASP.NET](https://reader035.vdocuments.pub/reader035/viewer/2022062902/58f0773f1a28ab2e468b463d/html5/thumbnails/8.jpg)
technologiesASP.NET MVC 5 ASP.NET Web
API Entity Framework 6
Memcached
IIS 7.5SQL Server 2012
Hyper-V
CentOS
NginxSOLR
RabbitMQ
![Page 9: Como escalar 20 milhões de usuários por mês utilizando ASP.NET](https://reader035.vdocuments.pub/reader035/viewer/2022062902/58f0773f1a28ab2e468b463d/html5/thumbnails/9.jpg)
users and applications
Data/State
SQL Cluster
SOLR
Rabbit MQ
Worker
Win 2012
Cache
Memcached
Web & API
IIS
IIS
IIS
IIS
Static files
html json
css jsimage
s
NGINX
CDN
![Page 10: Como escalar 20 milhões de usuários por mês utilizando ASP.NET](https://reader035.vdocuments.pub/reader035/viewer/2022062902/58f0773f1a28ab2e468b463d/html5/thumbnails/10.jpg)
The largest online weight loss
program in Brazil
![Page 11: Como escalar 20 milhões de usuários por mês utilizando ASP.NET](https://reader035.vdocuments.pub/reader035/viewer/2022062902/58f0773f1a28ab2e468b463d/html5/thumbnails/11.jpg)
+ 5,000,000 downloads
(all relevant platforms)
![Page 12: Como escalar 20 milhões de usuários por mês utilizando ASP.NET](https://reader035.vdocuments.pub/reader035/viewer/2022062902/58f0773f1a28ab2e468b463d/html5/thumbnails/12.jpg)
![Page 13: Como escalar 20 milhões de usuários por mês utilizando ASP.NET](https://reader035.vdocuments.pub/reader035/viewer/2022062902/58f0773f1a28ab2e468b463d/html5/thumbnails/13.jpg)
página 14
2013 numbers and 2014 goals
2014 – users will lost more than 1,000,000 kilograms~ 2,204,622 pounds
2013 - users lost more than 500,000 kilograms ~ 1,102,311 pounds
![Page 14: Como escalar 20 milhões de usuários por mês utilizando ASP.NET](https://reader035.vdocuments.pub/reader035/viewer/2022062902/58f0773f1a28ab2e468b463d/html5/thumbnails/14.jpg)
api hits/month
scalability
120,000,000
page views/month (web)6,000,000
average online visitors (web)1,200
rpm servers (web) 4.200
platforms consuming+10
API servers5 vm
mobile app page views/month27,000,000
![Page 15: Como escalar 20 milhões de usuários por mês utilizando ASP.NET](https://reader035.vdocuments.pub/reader035/viewer/2022062902/58f0773f1a28ab2e468b463d/html5/thumbnails/15.jpg)
users, apps and mobile
Data/State
SQL Cluster
Rabbit MQ
Memcached
API
IIS
IIS
IIS
IIS
Web
IIS IIS
IIS
Static files
NGINX CDN
Worker
Win 2012
json
html
css jsimage
s
![Page 16: Como escalar 20 milhões de usuários por mês utilizando ASP.NET](https://reader035.vdocuments.pub/reader035/viewer/2022062902/58f0773f1a28ab2e468b463d/html5/thumbnails/16.jpg)
ASP.NET MVC 5
ASP.NET Web API
Entity Framework 6Memcached
IIS 8SQL Server 2012
Hyper-V
CentOS
NginxLucene
RabbitMQ
technologies
Windows Server 2012 R2 AngularJ
S
![Page 17: Como escalar 20 milhões de usuários por mês utilizando ASP.NET](https://reader035.vdocuments.pub/reader035/viewer/2022062902/58f0773f1a28ab2e468b463d/html5/thumbnails/17.jpg)
![Page 18: Como escalar 20 milhões de usuários por mês utilizando ASP.NET](https://reader035.vdocuments.pub/reader035/viewer/2022062902/58f0773f1a28ab2e468b463d/html5/thumbnails/18.jpg)
+33M meals registered+100M foods and recipes added+300k foods+50k recipes
Food and meals crowdsourcing
![Page 19: Como escalar 20 milhões de usuários por mês utilizando ASP.NET](https://reader035.vdocuments.pub/reader035/viewer/2022062902/58f0773f1a28ab2e468b463d/html5/thumbnails/19.jpg)
Exclude meal
Exclude recipe
Exclude already recommendedin last 7 days
Is favorited?
Is it eaten?
Is it Healthy?
Top 5 ranking
Microsoft SQL Server 201211.0.5058.0 (X64) With Build 7601: Service Pack 1
Personalized menu
Crowdsourcing
![Page 20: Como escalar 20 milhões de usuários por mês utilizando ASP.NET](https://reader035.vdocuments.pub/reader035/viewer/2022062902/58f0773f1a28ab2e468b463d/html5/thumbnails/20.jpg)
users, apps and mobile
API
IISRequest
Cube
Analysis Services
Azure A2 machine (2 Cores w/ 3.5 GB)
Prediction architecture
Azure A1 machine (1 Core w/ 1.7 GB)
Cube
Analysis Services
Backup/Restore
Azure
SQL Cluster
On Premisse
ETL
request
Memcached
![Page 21: Como escalar 20 milhões de usuários por mês utilizando ASP.NET](https://reader035.vdocuments.pub/reader035/viewer/2022062902/58f0773f1a28ab2e468b463d/html5/thumbnails/21.jpg)
MVP Open Days 2015Cenário
• Menor custo possível!
• 70% - tráfego de dados• 30% - processamento
![Page 22: Como escalar 20 milhões de usuários por mês utilizando ASP.NET](https://reader035.vdocuments.pub/reader035/viewer/2022062902/58f0773f1a28ab2e468b463d/html5/thumbnails/22.jpg)
MVP Open Days 2015Infraestrutura
• Datacenter: Equinix• CDN: Azion• Servidores: Windows • Banco de Dados: SQL Server
![Page 23: Como escalar 20 milhões de usuários por mês utilizando ASP.NET](https://reader035.vdocuments.pub/reader035/viewer/2022062902/58f0773f1a28ab2e468b463d/html5/thumbnails/23.jpg)
Q&A