Как мы построили масштабируемый и высоконагруженный...

49
Как мы построили масштабируемый и высоконагруженный сайт Игр Сочи 2014 на Microsoft Azure Стас Кондратьев Microsoft Consulting Services Microsoft

Upload: ontico

Post on 28-Nov-2014

232 views

Category:

Internet


6 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Как мы построили масштабируемый и высоконагруженный сайт Игр Сочи 2014 на Microsoft Azure, Стас Кондратьев

Как мы построили масштабируемый и высоконагруженный сайт Игр Сочи 2014 на Microsoft AzureСтас КондратьевMicrosoft Consulting ServicesMicrosoft

Page 2: Как мы построили масштабируемый и высоконагруженный сайт Игр Сочи 2014 на Microsoft Azure, Стас Кондратьев

MCS – кто мы?

Page 4: Как мы построили масштабируемый и высоконагруженный сайт Игр Сочи 2014 на Microsoft Azure, Стас Кондратьев

Microsoft Services в цифрах

75% компаний из Fortune 1000 во всех индустриях

44 языка

более 17,000 сотрудников

82 страны

Page 5: Как мы построили масштабируемый и высоконагруженный сайт Игр Сочи 2014 на Microsoft Azure, Стас Кондратьев

Microsoft Azure

Игры Сочи 2014

Page 6: Как мы построили масштабируемый и высоконагруженный сайт Игр Сочи 2014 на Microsoft Azure, Стас Кондратьев

Microsoft Azure на Играх Сочи 2014sochi2014.com

PaaS, IaaS, сервисы

nbcolympics.com

Azure Media Services

Page 7: Как мы построили масштабируемый и высоконагруженный сайт Игр Сочи 2014 на Microsoft Azure, Стас Кондратьев

Пресс-релиз o sochi2014.comwww.microsoft.com/ru-ru/news/2014/02/Microsoft-for-Olympic-Games-in-

Sochi.aspx

Page 8: Как мы построили масштабируемый и высоконагруженный сайт Игр Сочи 2014 на Microsoft Azure, Стас Кондратьев

Ожидания

Page 9: Как мы построили масштабируемый и высоконагруженный сайт Игр Сочи 2014 на Microsoft Azure, Стас Кондратьев

Требования Заказчика

Page 10: Как мы построили масштабируемый и высоконагруженный сайт Игр Сочи 2014 на Microsoft Azure, Стас Кондратьев

Функциональные требования

Управление контентом

Расписание и Результаты

Новости

Фотоматериалы

Видеоматериалы Спортсмены

Медали

Спорт

Социальные медиа

Общие разделы

BT CC CU FR FS IH LG NCBSAS

SN SS ST PAS PBT PCC PCU PIHSJSB

Посетителям

ТВ-Гид

Page 11: Как мы построили масштабируемый и высоконагруженный сайт Игр Сочи 2014 на Microsoft Azure, Стас Кондратьев

Нефункциональные требования

100% Доступность (официально 99,9%)

Результаты в реальном времени – “Live Results”

Доступность на глобальном уровне

Page 12: Как мы построили масштабируемый и высоконагруженный сайт Игр Сочи 2014 на Microsoft Azure, Стас Кондратьев

Веб платформа Сочи 2014

Notification Hubtorchrelay.sochi2014

.comwww.sochi2014.

com

{ sports: [ { cod: “Hck”, name: “Ice Hockey”, … }, { code: “Skj”, name: “Ski Jumping”, … }, }

mapi.sochi2014.com

Push нотификации

Page 13: Как мы построили масштабируемый и высоконагруженный сайт Игр Сочи 2014 на Microsoft Azure, Стас Кондратьев

Итоги

Page 14: Как мы построили масштабируемый и высоконагруженный сайт Игр Сочи 2014 на Microsoft Azure, Стас Кондратьев

Запуск GT сайта

Page 15: Как мы построили масштабируемый и высоконагруженный сайт Игр Сочи 2014 на Microsoft Azure, Стас Кондратьев

100% доступность

Page 16: Как мы построили масштабируемый и высоконагруженный сайт Игр Сочи 2014 на Microsoft Azure, Стас Кондратьев

Ни одной ошибки 500

Page 17: Как мы построили масштабируемый и высоконагруженный сайт Игр Сочи 2014 на Microsoft Azure, Стас Кондратьев

Live Results опережали трансляции…

…и даже табло на местах соревнованийwww.youtube.com/watch?v=jg73iZJltOo

Page 18: Как мы построили масштабируемый и высоконагруженный сайт Игр Сочи 2014 на Microsoft Azure, Стас Кондратьев

175K одновременных пользователей

Page 19: Как мы построили масштабируемый и высоконагруженный сайт Игр Сочи 2014 на Microsoft Azure, Стас Кондратьев

Запросы в секунду в пике

Февраль, 9 Россия – первое золото

– 90 тысяч

Page 20: Как мы построили масштабируемый и высоконагруженный сайт Игр Сочи 2014 на Microsoft Azure, Стас Кондратьев

25 миллиардов запросов к Azure VM100 миллионов push нотификаций> 500 миллионов просмотров страниц> 100 миллионов посещений

В том числе…

Page 21: Как мы построили масштабируемый и высоконагруженный сайт Игр Сочи 2014 на Microsoft Azure, Стас Кондратьев

Команда

Page 22: Как мы построили масштабируемый и высоконагруженный сайт Игр Сочи 2014 на Microsoft Azure, Стас Кондратьев

Команда

Page 23: Как мы построили масштабируемый и высоконагруженный сайт Игр Сочи 2014 на Microsoft Azure, Стас Кондратьев

Веб платформа

Page 24: Как мы построили масштабируемый и высоконагруженный сайт Игр Сочи 2014 на Microsoft Azure, Стас Кондратьев

Какую CMS вы использовали?

Page 25: Как мы построили масштабируемый и высоконагруженный сайт Игр Сочи 2014 на Microsoft Azure, Стас Кондратьев

Архитектурные принципы

Гео распределенность

Надежность и масштабируемость

Автоматизированная поддержка и обновления

Page 26: Как мы построили масштабируемый и высоконагруженный сайт Игр Сочи 2014 на Microsoft Azure, Стас Кондратьев

Так какую CMS вы использовали?

Page 27: Как мы построили масштабируемый и высоконагруженный сайт Игр Сочи 2014 на Microsoft Azure, Стас Кондратьев

Azure scale units

SQL Database500 GB305 threads400 Conc requests

Storage Account200 TB20000 op/sec5-15 Gbps

Compute 1-8 CPU cores2-56 GB RAM5-800 Mbps

Service Bus5 GB10K queues50 NH units

Page 28: Как мы построили масштабируемый и высоконагруженный сайт Игр Сочи 2014 на Microsoft Azure, Стас Кондратьев

“Под капотом”

Page 29: Как мы построили масштабируемый и высоконагруженный сайт Игр Сочи 2014 на Microsoft Azure, Стас Кондратьев

Серверный стек

Windows Server 2012

IIS 8

ASP.NET MVC 4

n.n.n.n :80

Page 30: Как мы построили масштабируемый и высоконагруженный сайт Игр Сочи 2014 на Microsoft Azure, Стас Кондратьев

Cloud сервис

…SLB

VIP1

site1.cloudapp.net

0

1

2

N

site.com

Page 31: Как мы построили масштабируемый и высоконагруженный сайт Игр Сочи 2014 на Microsoft Azure, Стас Кондратьев

Cloud сервис + данные

…SLB

VIP1

site1.cloudapp.net

0

1

2

N

SQLsite.com

Page 32: Как мы построили масштабируемый и высоконагруженный сайт Игр Сочи 2014 на Microsoft Azure, Стас Кондратьев

Cloud сервис + данные

…SLB

VIP1

site1.cloudapp.net

0

1

2

N

site.com

Azure Storage

Cloud сервис SLA: 99.95%

Page 33: Как мы построили масштабируемый и высоконагруженный сайт Игр Сочи 2014 на Microsoft Azure, Стас Кондратьев

http://azure.microsoft.com/en-us/support/legal/sla/

Azure Compute SLA

Page 34: Как мы построили масштабируемый и высоконагруженный сайт Игр Сочи 2014 на Microsoft Azure, Стас Кондратьев

Multi cloud сервисы

DNS LB

site.com

VIP1

site1.cloudapp.net

VIP2

site2.cloudapp.net

Page 35: Как мы построили масштабируемый и высоконагруженный сайт Игр Сочи 2014 на Microsoft Azure, Стас Кондратьев

Multi cloud сервисы

DNS LB

VIP1

site1.cloudapp.net

VIP2

site2.cloudapp.net

site.com

Page 36: Как мы построили масштабируемый и высоконагруженный сайт Игр Сочи 2014 на Microsoft Azure, Стас Кондратьев

Публикация данных

R/WDNS LB

VIP1

site1.cloudapp.net

VIP2

site2.cloudapp.net

site.com

Контент редакторы

VIP3

cms.cloudapp.net

R/O реплика

R/O реплика

Page 37: Как мы построили масштабируемый и высоконагруженный сайт Игр Сочи 2014 на Microsoft Azure, Стас Кондратьев

Multi scale units

WebsiteMapi

Frontend

Data

Контент редакторы

Backend

Olympic Data feed

DNS LB

CMS Results

Page 38: Как мы построили масштабируемый и высоконагруженный сайт Игр Сочи 2014 на Microsoft Azure, Стас Кондратьев

Большая картина

Page 39: Как мы построили масштабируемый и высоконагруженный сайт Игр Сочи 2014 на Microsoft Azure, Стас Кондратьев

sochi2014.com

sochi2014.com

З. Европа С. Европа

Контент редакторыOlympic Data Feed

В. АзияС. ЕвропаЗ. ЕвропаЗ. США

Page 40: Как мы построили масштабируемый и высоконагруженный сайт Игр Сочи 2014 на Microsoft Azure, Стас Кондратьев

Hot fixing – фаза 1

sochi2014.com

З. Европа С. Европа

Контент редакторыOlympic Data Feed

В. АзияС. ЕвропаЗ. ЕвропаЗ. США

Page 41: Как мы построили масштабируемый и высоконагруженный сайт Игр Сочи 2014 на Microsoft Azure, Стас Кондратьев

Hot fixing – фаза 2

sochi2014.com

З. Европа С. Европа

Контент редакторыOlympic Data Feed

В. АзияС. ЕвропаЗ. ЕвропаЗ. США

Page 42: Как мы построили масштабируемый и высоконагруженный сайт Игр Сочи 2014 на Microsoft Azure, Стас Кондратьев

Hot fixing – завершен

sochi2014.com

З. Европа С. Европа

Контент редакторыOlympic Data Feed

В. АзияС. ЕвропаЗ. ЕвропаЗ. США

Page 43: Как мы построили масштабируемый и высоконагруженный сайт Игр Сочи 2014 на Microsoft Azure, Стас Кондратьев

Нагрузочное тестирование

Page 44: Как мы построили масштабируемый и высоконагруженный сайт Игр Сочи 2014 на Microsoft Azure, Стас Кондратьев

Серьезность

Page 45: Как мы построили масштабируемый и высоконагруженный сайт Игр Сочи 2014 на Microsoft Azure, Стас Кондратьев

Подход к load testing

Visual Studio ATE on Azure

Внешнее тестированиеВнутреннее тестирование

Page 46: Как мы построили масштабируемый и высоконагруженный сайт Игр Сочи 2014 на Microsoft Azure, Стас Кондратьев

Тестирование SOASTA

137,000 rps

Page 47: Как мы построили масштабируемый и высоконагруженный сайт Игр Сочи 2014 на Microsoft Azure, Стас Кондратьев

Нагрузка на VM (2 CPU)

1100 rps

40% CPU

Page 48: Как мы построили масштабируемый и высоконагруженный сайт Игр Сочи 2014 на Microsoft Azure, Стас Кондратьев

Вопросы?

Page 49: Как мы построили масштабируемый и высоконагруженный сайт Игр Сочи 2014 на Microsoft Azure, Стас Кондратьев

© 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.