Your SlideShare is downloading. ×
0
True story of re-architecting website
for scale on Windows Azure
1,3 billion+ web transactions / day
3 datacenters / 300+ servers
Lithuanian-based startup
20K+ unique visitors per month
can go viral any day soon
HOSTING

WINDOWS AZURE

Linux | Apache | MySQL |
PHP

Linux | Nginx | FTP

website, blog
static content
database

photos
20K+
~260K page views / month
~9K page views / day
~1K page views / hour

~0,2 page views / second

but spikes up-to
50 pa...
Cloud gives more flexibility and scalability options
Windows Azure is Microsoft’s Cloud Platform
BizSpark gives Windows Az...
VIRTUAL MACHINE
HOSTING

WINDOWS AZURE

Linux | Apache | MySQL |
PHP

Linux | Nginx | FTP

website, blog
static content
database

photos
WINDOWS AZURE
Linux | Apache | MySQL |
PHP

Linux | Nginx | FTP

website, blog
static content
database

photos
SCALING ISSUE #1
Dedicated VM for storing content is suboptimal in the
cloud
Manual management & scaling

No backups
BLOB STORAGE
WINDOWS AZURE
Linux | Apache | MySQL |
PHP

Linux | Nginx | FTP

website, blog
static content
database

photos
WINDOWS AZURE
Linux | Apache | MySQL |
PHP

HTTP

website, blog
static content
database

photos
SCALING ISSUE #2
Static content on the same VM as website and blog
Different scalability targets
Photos are part of static...
WINDOWS AZURE
Linux | Apache | MySQL |
PHP

HTTP

website, blog
static content
database

photos
WINDOWS AZURE
Linux | Apache | MySQL |
PHP

HTTP

website, blog
database

static content
SCALING ISSUE #3
Database on the same VM as website and blog
Very different scalability targets and strategies
WINDOWS AZURE
Linux | Apache | MySQL |
PHP

HTTP

website, blog
database

static content
WINDOWS AZURE
Linux | MySQL Linux | Apache | PHP

database

website, blog

HTTP

static content
SCALING ISSUE #4
Blog on the same VM as website
Different scalability targets
WEBSITES
WINDOWS AZURE
Linux | MySQL Linux | Apache | PHP

database

website, blog

HTTP

static content
WINDOWS AZURE
Linux | MySQL Linux | Apache | PHP IIS | PHP

database

website

blog

HTTP

static content
FURTHER SCALING
SCALING ISSUE #5
Website gets more requests than can handle
WINDOWS AZURE
Linux | MySQL Linux | Apache | PHP IIS | PHP

database

website

blog

HTTP

static content
WINDOWS AZURE
Linux | MySQL Linux | Apache | PHP IIS | PHP

database

website

blog

HTTP

static content
SCALING ISSUE #6
Database gets more queries than can handle
WINDOWS AZURE
Linux | MySQL Linux | Apache | PHP IIS | PHP

database

website

blog

HTTP

static content
WINDOWS AZURE
Linux |
MySQL

Linux |
MySQL

write-only
database

read-only
database

Linux | Apache | PHP IIS | PHP

websi...
SCALING ISSUE #7
Read-only database gets more queries than can handle
WINDOWS AZURE
Linux |
MySQL

Linux |
MySQL

write-only
database

read-only
database

Linux | Apache | PHP IIS | PHP

websi...
WINDOWS AZURE
Linux |
MySQL

Linux |
MySQL

write-only
database

read-only
database

Linux | Apache | PHP IIS | PHP

websi...
SCALING ISSUE #8
Write-only database gets more queries than can handle
This is a nice issue to have

Split write-only database into shards with multiple read-

only slaves for each shard access...
DEMO
WINDOWS AZURE
SQL Database

IIS | PHP

HTTP

database

blog

static content
WINDOWS AZURE
SERVICES
WINDOWS AZURE
Windows Azure Virtual Machine for VMs
Windows Azure Blob Storage for static content
Windows Azure Website fo...
WINDOWS AZURE
Windows Azure Service Bus for messaging
Windows Azure Cache Service for distributed caching
Windows Azure No...
WINDOWS AZURE
COMPUTE

DATA SERVICES

APP SERVICES

NETWORK

Virtual Machines

SQL Database

Media Services

SERVICES

Web...
True story of re architecting website for scale on windows azure
True story of re architecting website for scale on windows azure
True story of re architecting website for scale on windows azure
Upcoming SlideShare
Loading in...5
×

True story of re architecting website for scale on windows azure

1,248

Published on

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,248
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
7
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide
  • ESTONIA
  • ESTONIA
  • ESTONIA
  • Transcript of "True story of re architecting website for scale on windows azure"

    1. 1. True story of re-architecting website for scale on Windows Azure
    2. 2. 1,3 billion+ web transactions / day 3 datacenters / 300+ servers
    3. 3. Lithuanian-based startup 20K+ unique visitors per month can go viral any day soon
    4. 4. HOSTING WINDOWS AZURE Linux | Apache | MySQL | PHP Linux | Nginx | FTP website, blog static content database photos
    5. 5. 20K+ ~260K page views / month ~9K page views / day ~1K page views / hour ~0,2 page views / second but spikes up-to 50 page views / second
    6. 6. Cloud gives more flexibility and scalability options Windows Azure is Microsoft’s Cloud Platform BizSpark gives Windows Azure for free for 1 year Let’s move!
    7. 7. VIRTUAL MACHINE
    8. 8. HOSTING WINDOWS AZURE Linux | Apache | MySQL | PHP Linux | Nginx | FTP website, blog static content database photos
    9. 9. WINDOWS AZURE Linux | Apache | MySQL | PHP Linux | Nginx | FTP website, blog static content database photos
    10. 10. SCALING ISSUE #1 Dedicated VM for storing content is suboptimal in the cloud Manual management & scaling No backups
    11. 11. BLOB STORAGE
    12. 12. WINDOWS AZURE Linux | Apache | MySQL | PHP Linux | Nginx | FTP website, blog static content database photos
    13. 13. WINDOWS AZURE Linux | Apache | MySQL | PHP HTTP website, blog static content database photos
    14. 14. SCALING ISSUE #2 Static content on the same VM as website and blog Different scalability targets Photos are part of static content
    15. 15. WINDOWS AZURE Linux | Apache | MySQL | PHP HTTP website, blog static content database photos
    16. 16. WINDOWS AZURE Linux | Apache | MySQL | PHP HTTP website, blog database static content
    17. 17. SCALING ISSUE #3 Database on the same VM as website and blog Very different scalability targets and strategies
    18. 18. WINDOWS AZURE Linux | Apache | MySQL | PHP HTTP website, blog database static content
    19. 19. WINDOWS AZURE Linux | MySQL Linux | Apache | PHP database website, blog HTTP static content
    20. 20. SCALING ISSUE #4 Blog on the same VM as website Different scalability targets
    21. 21. WEBSITES
    22. 22. WINDOWS AZURE Linux | MySQL Linux | Apache | PHP database website, blog HTTP static content
    23. 23. WINDOWS AZURE Linux | MySQL Linux | Apache | PHP IIS | PHP database website blog HTTP static content
    24. 24. FURTHER SCALING
    25. 25. SCALING ISSUE #5 Website gets more requests than can handle
    26. 26. WINDOWS AZURE Linux | MySQL Linux | Apache | PHP IIS | PHP database website blog HTTP static content
    27. 27. WINDOWS AZURE Linux | MySQL Linux | Apache | PHP IIS | PHP database website blog HTTP static content
    28. 28. SCALING ISSUE #6 Database gets more queries than can handle
    29. 29. WINDOWS AZURE Linux | MySQL Linux | Apache | PHP IIS | PHP database website blog HTTP static content
    30. 30. WINDOWS AZURE Linux | MySQL Linux | MySQL write-only database read-only database Linux | Apache | PHP IIS | PHP website blog HTTP static content
    31. 31. SCALING ISSUE #7 Read-only database gets more queries than can handle
    32. 32. WINDOWS AZURE Linux | MySQL Linux | MySQL write-only database read-only database Linux | Apache | PHP IIS | PHP website blog HTTP static content
    33. 33. WINDOWS AZURE Linux | MySQL Linux | MySQL write-only database read-only database Linux | Apache | PHP IIS | PHP website blog HTTP static content
    34. 34. SCALING ISSUE #8 Write-only database gets more queries than can handle
    35. 35. This is a nice issue to have Split write-only database into shards with multiple read- only slaves for each shard accessed via layer of distributed cache
    36. 36. DEMO
    37. 37. WINDOWS AZURE SQL Database IIS | PHP HTTP database blog static content
    38. 38. WINDOWS AZURE SERVICES
    39. 39. WINDOWS AZURE Windows Azure Virtual Machine for VMs Windows Azure Blob Storage for static content Windows Azure Website for hosting web site
    40. 40. WINDOWS AZURE Windows Azure Service Bus for messaging Windows Azure Cache Service for distributed caching Windows Azure Notification Hubs for push notification Windows Azure HDInsight for big data
    41. 41. WINDOWS AZURE COMPUTE DATA SERVICES APP SERVICES NETWORK Virtual Machines SQL Database Media Services SERVICES Web Sites Storage Service Bus Mobile Services HDInsight Notification Hubs Cloud Services Cache BizTalk Services Backup Active Directory Recovery Multi-Factor Auth Virtual Network Traffic Manager Manager Pricing calculator: http://www.windowsazure.com/en-us/pricing/calculator/?scenario=full
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×