109. Arquitecturas Escalables con GX

Post on 22-Nov-2014

178 views 0 download

description

Arquitecturas Escalables con GX

Transcript of 109. Arquitecturas Escalables con GX

#GX24 #GX24 And Performance SCALABILITY

Gonzalo Gallotti @gonzalogallotti

Oops

“Server busy” “Timeout”

500 – Server ERROR

Lots of users!

?????

I knew it! SCALING

OUT!

LOAD

BAL

ANC

ER

SCALE OUT!

AVAILABILITY FAULT TOLERANCE PREDICTABILITY

#GX24

ARCHITECTURE

CACHING

PUSH NOTIFICATIONS WEBSESSION STATE

STORAGE

LOAD BALANCING DATABASE REPLICATION

NOT SO FAST!

CACHING

DATABASE REPLICATION

WEBSESSION STATE

STORAGE

LOAD BALANCING

PUSH NOTIFICATIONS

HOSTING

UNA

TRES

DOS STORAGE CACHE

PUSH NOTIFICATIONS

#GX24

STORAGE

WEB SERVER

GET

DATABASE

SAVE

QUERY

(FETCH

BINARY)

HARDRIVE

RESPONSE

GET IMAGE

#GX24

ISSUES

Database size growth WebServer serving

Dynamic content… ok! Static content… WHY?

Bandwidth Static content allocated in Web Server hard drive.. Bad for Scaling!

WEB SERVER

GET

DATABASE

QUERY (URL)

RESPONSE

STORAGE PROVIDER

GET IMAGE

#GX24

AMAZON S3

High availability Redundancy Caching Performance Scalability Easy setup Unlimited storage!

#GX24

CHEAP!

50GB

1.000.000 GET Request

50 GB Transfer OUT

USD 6 / month

#GX24

GX STORAGE PROVIDER

#GX24

TIGHT INTEGRATION

BLOB

AND MORE! XML READER & WRITER

IMAGE

FILE DATA TYPE AUDIO, VIDEO

LIKE IT!

#GX24

Security

Security Access Public Private

Automatic signed urls with expiration time!

Ex: http://futboluy.s3.amazonaws.com/penarol/badge.png?AWSAc

cessKeyId=AKIAI..& Signature=Npg..& Expires=11751

CACHING

“Web apps typically have a read/write ratio of somewhere between 80/20 and 90/10”

Cal Henderson (Flickr)

#GX24

WHY

Lower CPU usage Lower Database usage Better response times Faster, more scalable apps

Lower costs

TODAY

WEB SERVER

SD CACHE BD CACHE

2000

DB CACHING ON

4x 500

DB CACHING OFF

THROUGHPUT (FUY .NET GX APP)

REQ/S

SERVICE LEVEL CACHE SMART DEVICES CACHE

DATABASE CACHE

EXTERNAL WEBSERVER

MY WEBSERVER

<< WS SOAP >>

1 – 2 seconds

COMPARE TEAMS (PROCEDURE)

GET FROM

CACHE

#GX24

SERVICE LEVEL CACHE HTTP ACCELERATION

SMART DEVICES CACHE DATABASE CACHE

WEB SERVER

• nginx • SQUID • VARNISH • (CDN) AWS CloudFront

HTTP ACCELERATOR

Client A

HTTP Request

WEB SERVER

HTTP Request

Japan HTTP Response Response

SAVE IN CACHE CDN

(Japan)

Client B

CDN (Japan)

HTTP Request

HTTP Response

GET FROM CACHE

WEB SERVER

#GX24

WHERE CACHE DATA IS STORED?

DATABASE CACHE SMART DEVICES CACHE SERVICE LEVEL CACHE

PUSH NOTIFICATIONS

2.000.000 push notifications 150.000 push per Month

50.000 per second FREE!

#GX24

PUSH NOTIFICATIONS

CACHING

DATABASE REPLICATION

WEBSESSION STATE

STORAGE

LOAD BALANCING

PUSH NOTIFICATIONS

HOSTING

Gonzalo Gallotti– @gonzalogallotti