109. Arquitecturas Escalables con GX
-
Upload
genexus -
Category
Technology
-
view
178 -
download
0
description
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