como escalar 20 milhões de usuários por mês utilizando asp.net

23
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.NET Alexandre Tarifa - @alexandretarifa MVP ASP.NET

Upload: alexandre-tarifa

Post on 14-Apr-2017

555 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Como escalar 20 milhões de usuários por mês utilizando ASP.NET

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

MVP Open Days 2015

Page 3: Como escalar 20 milhões de usuários por mês utilizando ASP.NET

MVP Open Days 2015

Page 4: Como escalar 20 milhões de usuários por mês utilizando ASP.NET

MVP Open Days 2015

Page 5: Como escalar 20 milhões de usuários por mês utilizando ASP.NET

MVP Open Days 2015

Page 6: Como escalar 20 milhões de usuários por mês utilizando ASP.NET

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

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

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

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

The largest online weight loss

program in Brazil

Page 11: Como escalar 20 milhões de usuários por mês utilizando ASP.NET

+ 5,000,000 downloads

(all relevant platforms)

Page 12: Como escalar 20 milhões de usuários por mês utilizando ASP.NET
Page 13: Como escalar 20 milhões de usuários por mês utilizando ASP.NET

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

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

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

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
Page 18: Como escalar 20 milhões de usuários por mês utilizando ASP.NET

+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

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

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

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

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

Q&A