SlideShare a Scribd company logo
Ionut Antiu
www.get-jukebox.com
@johnnyantiu
1. What are we talking about
2. What is Style Jukebox
3. What were the challenges
4. Wrap up
Style Jukebox is a High Fidelity cloud-music streaming service
that helps you keep all your music – be it bought, self-produced,
or imported from CDs or other media, always backed up and
synced across all your devices.
TRACTION
125,000+ registered users
52,000+ MAU
Peak of 13,000 users DAU
4,5+ million songs stored in the Cloud
50,000 – 100,000 songs listened daily
Low latency
Scalability
High Availability
OBJECTIVES
What is the basic Cloud architecture?
“LE SERVER”
Database SQL
Storage
API
LE CLIENT APP LE CLIENT APP LE CLIENT APP
“LE SERVER”
API
LE CLIENT APP LE CLIENT APP LE CLIENT APP
STORAGE
Windows Azure Storage Blobs
DATABASE
SQL Azure
Scale Up
Scale Out
Database, API, Content bandwidth, Website
Scale Up
One operation that cannot
be divided requires more compute power
(Audio/Video encoding, Your own DB, etc.)
Basic A1
1 Core AMD CPU
1,75 GB RAM
EUR 41/month*
G5, 32 cores
Intel Xeon
448 GB RAM
6 TB
EUR 4865/month*
Scale Out
Used for API, Website, etc.
Ex: Each machine can have a limited number of connected users
Basic A1
1 Core AMD CPU
1,75 GB RAM
EUR 41/month*
4x
Basic A1
1 Core AMD CPU
1,75 GB RAM
EUR 41/month*
SYNC SERVICE
API (GetSongURL, Login)
LE CLIENT APP LE CLIENT APP LE CLIENT APP
STORAGE
Windows Azure Storage Blobs
DATABASE
SQL Azure
BLOCK SERVICE
API (DownloadSong, UploadSong)
SYNC SERVICE
API (GetSongURL, Login)
LE CLIENT APP LE CLIENT APP LE CLIENT APP
STORAGE
Windows Azure Storage Blobs
DATABASE
SQL Azure
BLOCK SERVICE
API (DownloadSong, UploadSong)
MEMCACHE
Redis
Memcache Worker
The Memcache Worker
predicts and prepares the
results
Memcache Hit Ratio 86-91%
Reduced time of response with
80% to an average of 250ms
SYNC SERVICE
API (GetSongURL, Login)
LE CLIENT APP LE CLIENT APP LE CLIENT APP
STORAGE
Windows Azure Storage Blobs
DATABASE
SQL Azure
BLOCK SERVICE
API (DownloadSong, UploadSong)
MEMCACHE
Redis
Memcache Worker
CDN
Windows Azure CDN
CDN Worker
SYNC SERVICE
API (GetSongURL, Login)
LE CLIENT APP LE CLIENT APP LE CLIENT APP
STORAGE
Windows Azure Storage Blobs
DATABASE
SQL Azure
BLOCK SERVICE
API (DownloadSong, UploadSong)
MEMCACHE
Redis
Memcache Worker
CDN
Windows Azure CDN
CDN Worker
STORAGE
Upload Buffer
Upload Processing
SYNC SERVICE
API (GetSongURL, Login)
LOAD BALANCER
LE CLIENT APP LE CLIENT APP LE CLIENT APP
STORAGE
Windows Azure Storage Blobs
DATABASE
SQL Azure
BLOCK SERVICE
API (DownloadSong, UploadSong)
LOAD BALANCER
MEMCACHE
Redis
Memcache Worker
CDN
Windows Azure CDN
CDN Worker
STORAGE
Upload Buffer
Upload Processing
Download Processing
Load Balancer
Integrated in the Azure Cloud Services
Makes sure all instances have the same load
Auto-Scale creates new instances or removes automatically
SYNC SERVICE
API (GetSongURL, Login)
LOAD BALANCER
LE CLIENT APP LE CLIENT APP LE CLIENT APP
STORAGE
Windows Azure Storage Blobs
DATABASE
SQL Azure
BLOCK SERVICE
API (DownloadSong, UploadSong)
LOAD BALANCER
MEMCACHE
Redis
Memcache Worker
CDN
Windows Azure CDN
CDN Worker
STORAGE
Upload Buffer
Upload Processing
Download Processing
TRAFFIC MANAGER
SYNC SERVICE – WEST US
API (GetSongURL, Login)
DATABASE - AMSTERDAM
SQL Azure
SYNC SERVICE – WEST US
API (GetSongURL, Login)
DATABASE - AMSTERDAM
SQL Azure
~ 9,000 km * 3 calls = ~ 30,000 km
30,000 km : 300,000km/s = 100 ms
LE CLIENT APP LE CLIENT APP LE CLIENT APP
TRAFFIC MANAGER
SYNC – WEST US
API x VMs
LOAD BALANCER
BLOCK – WEST US
API x VMs
LOAD BALANCER
SYNC – WEST EU
API x VMs
LOAD BALANCER
BLOCK – WEST EU
API x VMs
LOAD BALANCER
CDN
Windows Azure CDN
STORAGE
Windows Azure Storage Blobs
MAIN DATABASE – WEST EU
SQL Azure
MEMCACHE – WEST EU
Redis
SLAVE DATABASE – WEST US
SQL Azure
MEMCACHE 2 – WEST US
Redis
STORAGE
Upload Buffer
Traffic Manager
stylejukebox.trafficmanager.net
4 VM machines
in West Europe
4 VM machines
in West US
Closest location to the user
Load balancing
Fail-over
Works for Websites, Cloud Services
Azure Datacenters
How to test?
Test 1
1,000 concurrent users
1 core machine
Test 2
1,000 concurrent users
4 core machine
$ 0,4 more per hour
Autoscale applies to Cloud Services and Websites
1 core machine can handle 200
connections simultaneous
4 core machine can handle 1,000
connections simultaneous
Monitoring
NewRelic
Always prepare for things to go wrong
Ex: Routers on the Internet
Low latency
Scalability
High Availability
OBJECTIVES
Ionut Antiu
www.get-jukebox.com
@johnnyantiu

More Related Content

What's hot

3등 :: Game Indie :: Gaming on AWS Hackathon 2016
3등 :: Game Indie :: Gaming on AWS Hackathon 2016 3등 :: Game Indie :: Gaming on AWS Hackathon 2016
3등 :: Game Indie :: Gaming on AWS Hackathon 2016
Amazon Web Services Korea
 

What's hot (20)

Managing Secrets in Production
Managing Secrets in ProductionManaging Secrets in Production
Managing Secrets in Production
 
Amazon EC2 Container Service: Deep Dive
Amazon EC2 Container Service: Deep DiveAmazon EC2 Container Service: Deep Dive
Amazon EC2 Container Service: Deep Dive
 
Deep dive into AWS fargate
Deep dive into AWS fargateDeep dive into AWS fargate
Deep dive into AWS fargate
 
(WEB203) Building a Website That Costs Pennies to Operate | AWS re:Invent 2014
(WEB203) Building a Website That Costs Pennies to Operate | AWS re:Invent 2014(WEB203) Building a Website That Costs Pennies to Operate | AWS re:Invent 2014
(WEB203) Building a Website That Costs Pennies to Operate | AWS re:Invent 2014
 
Rapid Prototyping with AWS IoT and Mongoose OS on ESP32 Platform
Rapid Prototyping with AWS IoT and Mongoose OS on ESP32 PlatformRapid Prototyping with AWS IoT and Mongoose OS on ESP32 Platform
Rapid Prototyping with AWS IoT and Mongoose OS on ESP32 Platform
 
The "Holy Grail" of Dev/Ops
The "Holy Grail" of Dev/OpsThe "Holy Grail" of Dev/Ops
The "Holy Grail" of Dev/Ops
 
Introduction to Amazon Elastic Transcoder
 Introduction to Amazon Elastic Transcoder  Introduction to Amazon Elastic Transcoder
Introduction to Amazon Elastic Transcoder
 
Deploy and Scale your PHP App with AWS ElasticBeanstalk and Docker- PHPTour L...
Deploy and Scale your PHP App with AWS ElasticBeanstalk and Docker- PHPTour L...Deploy and Scale your PHP App with AWS ElasticBeanstalk and Docker- PHPTour L...
Deploy and Scale your PHP App with AWS ElasticBeanstalk and Docker- PHPTour L...
 
(WEB305) Migrating Your Website to AWS | AWS re:Invent 2014
(WEB305) Migrating Your Website to AWS | AWS re:Invent 2014(WEB305) Migrating Your Website to AWS | AWS re:Invent 2014
(WEB305) Migrating Your Website to AWS | AWS re:Invent 2014
 
AWS elastic beanstalk
AWS elastic beanstalkAWS elastic beanstalk
AWS elastic beanstalk
 
AWS December 2015 Webinar Series - Continuous Delivery to Amazon EC2 Containe...
AWS December 2015 Webinar Series - Continuous Delivery to Amazon EC2 Containe...AWS December 2015 Webinar Series - Continuous Delivery to Amazon EC2 Containe...
AWS December 2015 Webinar Series - Continuous Delivery to Amazon EC2 Containe...
 
Automating Azure VMs with PowerShell
Automating Azure VMs with PowerShellAutomating Azure VMs with PowerShell
Automating Azure VMs with PowerShell
 
Introduction to Elastic Beanstalk
Introduction to Elastic BeanstalkIntroduction to Elastic Beanstalk
Introduction to Elastic Beanstalk
 
Docker
DockerDocker
Docker
 
(WEB307) Scalable Site Management Using AWS OpsWorks | AWS re:Invent 2014
(WEB307) Scalable Site Management Using AWS OpsWorks | AWS re:Invent 2014(WEB307) Scalable Site Management Using AWS OpsWorks | AWS re:Invent 2014
(WEB307) Scalable Site Management Using AWS OpsWorks | AWS re:Invent 2014
 
Word press and containers
Word press and containersWord press and containers
Word press and containers
 
Docker on AWS with Amazon ECR & ECS - Pop-up Loft Tel Aviv
Docker on AWS with Amazon ECR & ECS - Pop-up Loft Tel Aviv Docker on AWS with Amazon ECR & ECS - Pop-up Loft Tel Aviv
Docker on AWS with Amazon ECR & ECS - Pop-up Loft Tel Aviv
 
MDP Group SAP PI & PO Azure Adapter
MDP Group SAP PI & PO Azure AdapterMDP Group SAP PI & PO Azure Adapter
MDP Group SAP PI & PO Azure Adapter
 
3등 :: Game Indie :: Gaming on AWS Hackathon 2016
3등 :: Game Indie :: Gaming on AWS Hackathon 2016 3등 :: Game Indie :: Gaming on AWS Hackathon 2016
3등 :: Game Indie :: Gaming on AWS Hackathon 2016
 
Serverless WordPress using AWS Services - WordCamp Atlanta 2017
Serverless WordPress using AWS Services - WordCamp Atlanta 2017Serverless WordPress using AWS Services - WordCamp Atlanta 2017
Serverless WordPress using AWS Services - WordCamp Atlanta 2017
 

Similar to How to scale to 100k users using Windows Azure

AWS Summit Milan - Applicazioni Enterprise con AWS
AWS Summit Milan - Applicazioni Enterprise con AWSAWS Summit Milan - Applicazioni Enterprise con AWS
AWS Summit Milan - Applicazioni Enterprise con AWS
Amazon Web Services
 
Current state of affairs cloud computing
Current state of affairs   cloud computingCurrent state of affairs   cloud computing
Current state of affairs cloud computing
Chirag Jog
 
AWS Summit Benelux 2013 - Enterprise Applications on AWS
AWS Summit Benelux 2013 - Enterprise Applications on AWSAWS Summit Benelux 2013 - Enterprise Applications on AWS
AWS Summit Benelux 2013 - Enterprise Applications on AWS
Amazon Web Services
 
DOs and DONTs on the way to 10M users
DOs and DONTs on the way to 10M usersDOs and DONTs on the way to 10M users
DOs and DONTs on the way to 10M users
Yoav Avrahami
 
Azure And Silverlight
Azure And SilverlightAzure And Silverlight
Azure And Silverlight
choonngee
 
view the deck as powerpoint
view the deck as powerpointview the deck as powerpoint
view the deck as powerpoint
webhostingguy
 
view the deck as powerpoint
view the deck as powerpointview the deck as powerpoint
view the deck as powerpoint
webhostingguy
 

Similar to How to scale to 100k users using Windows Azure (20)

Application Deployment on AWS - Startup Talks June 2015
Application Deployment on AWS - Startup Talks June 2015Application Deployment on AWS - Startup Talks June 2015
Application Deployment on AWS - Startup Talks June 2015
 
Scaling our app to 100k users. Use case: Style Jukebox Cloud Player - Power b...
Scaling our app to 100k users. Use case: Style Jukebox Cloud Player - Power b...Scaling our app to 100k users. Use case: Style Jukebox Cloud Player - Power b...
Scaling our app to 100k users. Use case: Style Jukebox Cloud Player - Power b...
 
Overview of AWS Building Blocks
Overview of AWS Building BlocksOverview of AWS Building Blocks
Overview of AWS Building Blocks
 
AWS Summit Milan - Applicazioni Enterprise con AWS
AWS Summit Milan - Applicazioni Enterprise con AWSAWS Summit Milan - Applicazioni Enterprise con AWS
AWS Summit Milan - Applicazioni Enterprise con AWS
 
Current state of affairs cloud computing
Current state of affairs   cloud computingCurrent state of affairs   cloud computing
Current state of affairs cloud computing
 
AWS Summit Benelux 2013 - Enterprise Applications on AWS
AWS Summit Benelux 2013 - Enterprise Applications on AWSAWS Summit Benelux 2013 - Enterprise Applications on AWS
AWS Summit Benelux 2013 - Enterprise Applications on AWS
 
Immutable Infrastructure: the new App Deployment
Immutable Infrastructure: the new App DeploymentImmutable Infrastructure: the new App Deployment
Immutable Infrastructure: the new App Deployment
 
DOs and DONTs on the way to 10M users
DOs and DONTs on the way to 10M usersDOs and DONTs on the way to 10M users
DOs and DONTs on the way to 10M users
 
Dallas Breakfast Seminar
Dallas Breakfast SeminarDallas Breakfast Seminar
Dallas Breakfast Seminar
 
Azure And Silverlight
Azure And SilverlightAzure And Silverlight
Azure And Silverlight
 
AWS Summit 2013 | Auckland - Continuous Deployment Practices, with Production...
AWS Summit 2013 | Auckland - Continuous Deployment Practices, with Production...AWS Summit 2013 | Auckland - Continuous Deployment Practices, with Production...
AWS Summit 2013 | Auckland - Continuous Deployment Practices, with Production...
 
AWS 101, London - September 2014
AWS 101, London - September 2014AWS 101, London - September 2014
AWS 101, London - September 2014
 
Oracle on AWS partner webinar series
Oracle on AWS partner webinar series Oracle on AWS partner webinar series
Oracle on AWS partner webinar series
 
AWS 101 December 2014
AWS 101 December 2014AWS 101 December 2014
AWS 101 December 2014
 
AWS January 2016 Webinar Series - Cloud Data Migration: 6 Strategies for Gett...
AWS January 2016 Webinar Series - Cloud Data Migration: 6 Strategies for Gett...AWS January 2016 Webinar Series - Cloud Data Migration: 6 Strategies for Gett...
AWS January 2016 Webinar Series - Cloud Data Migration: 6 Strategies for Gett...
 
Oracle Solutions on AWS : May 2014
Oracle Solutions on AWS : May 2014Oracle Solutions on AWS : May 2014
Oracle Solutions on AWS : May 2014
 
view the deck as powerpoint
view the deck as powerpointview the deck as powerpoint
view the deck as powerpoint
 
view the deck as powerpoint
view the deck as powerpointview the deck as powerpoint
view the deck as powerpoint
 
Immutable Infrastructure: Rise of the Machine Images
Immutable Infrastructure: Rise of the Machine ImagesImmutable Infrastructure: Rise of the Machine Images
Immutable Infrastructure: Rise of the Machine Images
 
Cloud Computing Primer: Using cloud computing tools in your museum
Cloud Computing Primer: Using cloud computing tools in your museumCloud Computing Primer: Using cloud computing tools in your museum
Cloud Computing Primer: Using cloud computing tools in your museum
 

Recently uploaded

How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
Globus
 

Recently uploaded (20)

Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 
Breaking the Code : A Guide to WhatsApp Business API.pdf
Breaking the Code : A Guide to WhatsApp Business API.pdfBreaking the Code : A Guide to WhatsApp Business API.pdf
Breaking the Code : A Guide to WhatsApp Business API.pdf
 
AI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in MichelangeloAI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in Michelangelo
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdfA Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAGAI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
 
GraphAware - Transforming policing with graph-based intelligence analysis
GraphAware - Transforming policing with graph-based intelligence analysisGraphAware - Transforming policing with graph-based intelligence analysis
GraphAware - Transforming policing with graph-based intelligence analysis
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
 

How to scale to 100k users using Windows Azure

  • 2. 1. What are we talking about 2. What is Style Jukebox 3. What were the challenges 4. Wrap up
  • 3. Style Jukebox is a High Fidelity cloud-music streaming service that helps you keep all your music – be it bought, self-produced, or imported from CDs or other media, always backed up and synced across all your devices.
  • 4. TRACTION 125,000+ registered users 52,000+ MAU Peak of 13,000 users DAU 4,5+ million songs stored in the Cloud 50,000 – 100,000 songs listened daily
  • 6. What is the basic Cloud architecture?
  • 7. “LE SERVER” Database SQL Storage API LE CLIENT APP LE CLIENT APP LE CLIENT APP
  • 8. “LE SERVER” API LE CLIENT APP LE CLIENT APP LE CLIENT APP STORAGE Windows Azure Storage Blobs DATABASE SQL Azure
  • 9. Scale Up Scale Out Database, API, Content bandwidth, Website
  • 10. Scale Up One operation that cannot be divided requires more compute power (Audio/Video encoding, Your own DB, etc.) Basic A1 1 Core AMD CPU 1,75 GB RAM EUR 41/month* G5, 32 cores Intel Xeon 448 GB RAM 6 TB EUR 4865/month*
  • 11. Scale Out Used for API, Website, etc. Ex: Each machine can have a limited number of connected users Basic A1 1 Core AMD CPU 1,75 GB RAM EUR 41/month* 4x Basic A1 1 Core AMD CPU 1,75 GB RAM EUR 41/month*
  • 12. SYNC SERVICE API (GetSongURL, Login) LE CLIENT APP LE CLIENT APP LE CLIENT APP STORAGE Windows Azure Storage Blobs DATABASE SQL Azure BLOCK SERVICE API (DownloadSong, UploadSong)
  • 13. SYNC SERVICE API (GetSongURL, Login) LE CLIENT APP LE CLIENT APP LE CLIENT APP STORAGE Windows Azure Storage Blobs DATABASE SQL Azure BLOCK SERVICE API (DownloadSong, UploadSong) MEMCACHE Redis Memcache Worker
  • 14. The Memcache Worker predicts and prepares the results Memcache Hit Ratio 86-91% Reduced time of response with 80% to an average of 250ms
  • 15. SYNC SERVICE API (GetSongURL, Login) LE CLIENT APP LE CLIENT APP LE CLIENT APP STORAGE Windows Azure Storage Blobs DATABASE SQL Azure BLOCK SERVICE API (DownloadSong, UploadSong) MEMCACHE Redis Memcache Worker CDN Windows Azure CDN CDN Worker
  • 16. SYNC SERVICE API (GetSongURL, Login) LE CLIENT APP LE CLIENT APP LE CLIENT APP STORAGE Windows Azure Storage Blobs DATABASE SQL Azure BLOCK SERVICE API (DownloadSong, UploadSong) MEMCACHE Redis Memcache Worker CDN Windows Azure CDN CDN Worker STORAGE Upload Buffer Upload Processing
  • 17. SYNC SERVICE API (GetSongURL, Login) LOAD BALANCER LE CLIENT APP LE CLIENT APP LE CLIENT APP STORAGE Windows Azure Storage Blobs DATABASE SQL Azure BLOCK SERVICE API (DownloadSong, UploadSong) LOAD BALANCER MEMCACHE Redis Memcache Worker CDN Windows Azure CDN CDN Worker STORAGE Upload Buffer Upload Processing Download Processing
  • 18. Load Balancer Integrated in the Azure Cloud Services Makes sure all instances have the same load Auto-Scale creates new instances or removes automatically
  • 19.
  • 20. SYNC SERVICE API (GetSongURL, Login) LOAD BALANCER LE CLIENT APP LE CLIENT APP LE CLIENT APP STORAGE Windows Azure Storage Blobs DATABASE SQL Azure BLOCK SERVICE API (DownloadSong, UploadSong) LOAD BALANCER MEMCACHE Redis Memcache Worker CDN Windows Azure CDN CDN Worker STORAGE Upload Buffer Upload Processing Download Processing TRAFFIC MANAGER
  • 21. SYNC SERVICE – WEST US API (GetSongURL, Login) DATABASE - AMSTERDAM SQL Azure
  • 22. SYNC SERVICE – WEST US API (GetSongURL, Login) DATABASE - AMSTERDAM SQL Azure ~ 9,000 km * 3 calls = ~ 30,000 km 30,000 km : 300,000km/s = 100 ms
  • 23. LE CLIENT APP LE CLIENT APP LE CLIENT APP TRAFFIC MANAGER SYNC – WEST US API x VMs LOAD BALANCER BLOCK – WEST US API x VMs LOAD BALANCER SYNC – WEST EU API x VMs LOAD BALANCER BLOCK – WEST EU API x VMs LOAD BALANCER CDN Windows Azure CDN STORAGE Windows Azure Storage Blobs MAIN DATABASE – WEST EU SQL Azure MEMCACHE – WEST EU Redis SLAVE DATABASE – WEST US SQL Azure MEMCACHE 2 – WEST US Redis STORAGE Upload Buffer
  • 24. Traffic Manager stylejukebox.trafficmanager.net 4 VM machines in West Europe 4 VM machines in West US Closest location to the user Load balancing Fail-over Works for Websites, Cloud Services
  • 27.
  • 28.
  • 29.
  • 30. Test 1 1,000 concurrent users 1 core machine
  • 31.
  • 32.
  • 33.
  • 34. Test 2 1,000 concurrent users 4 core machine $ 0,4 more per hour
  • 35.
  • 36.
  • 37. Autoscale applies to Cloud Services and Websites 1 core machine can handle 200 connections simultaneous 4 core machine can handle 1,000 connections simultaneous
  • 40.
  • 41.
  • 42.
  • 43. Always prepare for things to go wrong Ex: Routers on the Internet