Upload
z-tech
View
331
Download
2
Embed Size (px)
DESCRIPTION
Презентация Игоря Шубовича "Масштабирование социальных приложений с помощью AWS" с конференции Z-Tech 9.02.2013
Citation preview
МАСШТАБИРОВАНИЕ СОЦИАЛЬНЫХ ПРИЛОЖЕНИЙ С ПОМОЩЬЮ AWS
Igor Shubovych @ Stuzo
AWS
Amazon Web Services
Инфраструктура как сервис (IaaS)
Индивудальное решение
Базовые понятие
IAAS vs PaaS vs SaaS
IaaS
Infrastructure As A Service
Самостоятельное управление ресурсами
Сеть, сервера, системы хранения данных и т.д.
API
PaaS
Platform As A Service
Готовое решение для разработки, тестирования,
Типичные сервисы: приложение, БД, планировщик задач, очереди и т.д.
API
SaaS
Software As A Service
Готовое развернутое приложение
Google Docs API?
IaaS, PaaS, SaaS
IaaS, PaaS, SaaS – для кого
Я хочу сделать стартап
Используйте PaaS
Ruby – Heroku Python - GAE PHP – AppFog,
Jelastic Java – Jelastic,
GAE
Социальные приложения?
Маркетинговые приложения
Для больших брендов (P&G, Coca-Cola, BudLight etc.)
Социальная природа – быстрый, скачкообразный рост
100т запросов/сек
В чем сложность?
Запутанная архитектура
Большая нагрузка
Непредсказуемость роста
Незрелость PaaS решений в 2011
Поэтому мы выбрали IaaS от Amazon
Причины выбора AWS
Надежность Производительн
ость Масштабировани
е Утилизация
Краткое описание
Amazon Web Services
AWS сервисы
Management Console
API
HTTP RESTful API Обвязки для
основных языков (Ruby, Java, C#, Python, PHP)
Command-line interface
Web-console
Пример использования API
Основные сервисы
EC2 – виртуальные сервера S3 – хранилище файлов по ключу EBS – виртуальный HDD Elastic IP – static IP в облаке ELB – балансировщик нагрузки RDS – MySQL БД с репликацией
Как мы строили свой кластер?
Отдельный сервер на хостинге Все приложения
– на 1 сервере
Все БД –на 1 сервере
Веб-сервер Apache
БД – MySQL
Проблемы
Не масштабируется
SPoF
SPoF?
Single Point Of Failure
Единая Точка Отказа
Слабое Звено
Одиночный AWS сервер
Масштабируется – переключением на больший сервер
Проблемы: Масштабировани
е - занимает время
SPoF
Изоляция веб и БД сервера Веб-сервер –
больше CPU БД сервер – больше
памяти Масштабировать
по-разному
Проблемы: Масштабирование -
занимает время SPoF
Масштабируем Веб-сервера Авто-
масштабирование Веб-серверов
Штатный балансировщик нагрузки (ELB)
Надежность
Проблемы: БД - SPoF
Добавляем кеширование
Меньше нагрузка на БД
Быстрый ответ
Недостатки: БД - SPoF
Добавляем репликацию
Master-slave репликация
Горячая замена (hot standby)
БД – не SPoF
Мониторинг
Выявление проблем на ранних стадиях
Предупреждение о потенциальных проблемах
Анализ данных на больших объемах
AWS CloudWatch
CDN – для статики
CDN = Content Delivery Network
Статика (JS, CSS, images, Flash)
AWS S3/CloudFront
Единое хранилище
Дешево Меньше нагрузка
Мы начали с ...
И пришли к ...
Вопросы?