38
МАСШТАБИРОВАНИЕ СОЦИАЛЬНЫХ ПРИЛОЖЕНИЙ С ПОМОЩЬЮ AWS Igor Shubovych @ Stuzo

Масштабирование социальных приложений с помощью AWS

  • Upload
    z-tech

  • View
    331

  • Download
    2

Embed Size (px)

DESCRIPTION

Презентация Игоря Шубовича "Масштабирование социальных приложений с помощью AWS" с конференции Z-Tech 9.02.2013

Citation preview

Page 1: Масштабирование социальных приложений с помощью AWS

МАСШТАБИРОВАНИЕ СОЦИАЛЬНЫХ ПРИЛОЖЕНИЙ С ПОМОЩЬЮ AWS

Igor Shubovych @ Stuzo

Page 2: Масштабирование социальных приложений с помощью AWS
Page 3: Масштабирование социальных приложений с помощью AWS
Page 4: Масштабирование социальных приложений с помощью AWS
Page 5: Масштабирование социальных приложений с помощью AWS
Page 6: Масштабирование социальных приложений с помощью AWS
Page 7: Масштабирование социальных приложений с помощью AWS
Page 8: Масштабирование социальных приложений с помощью AWS

AWS

Amazon Web Services

Инфраструктура как сервис (IaaS)

Индивудальное решение

Page 9: Масштабирование социальных приложений с помощью AWS

Базовые понятие

IAAS vs PaaS vs SaaS

Page 10: Масштабирование социальных приложений с помощью AWS

IaaS

Infrastructure As A Service

Самостоятельное управление ресурсами

Сеть, сервера, системы хранения данных и т.д.

API

Page 11: Масштабирование социальных приложений с помощью AWS

PaaS

Platform As A Service

Готовое решение для разработки, тестирования,

Типичные сервисы: приложение, БД, планировщик задач, очереди и т.д.

API

Page 12: Масштабирование социальных приложений с помощью AWS

SaaS

Software As A Service

Готовое развернутое приложение

Google Docs API?

Page 13: Масштабирование социальных приложений с помощью AWS

IaaS, PaaS, SaaS

Page 14: Масштабирование социальных приложений с помощью AWS

IaaS, PaaS, SaaS – для кого

Page 15: Масштабирование социальных приложений с помощью AWS

Я хочу сделать стартап

Используйте PaaS

Ruby – Heroku Python - GAE PHP – AppFog,

Jelastic Java – Jelastic,

GAE

Page 16: Масштабирование социальных приложений с помощью AWS

Социальные приложения?

Маркетинговые приложения

Для больших брендов (P&G, Coca-Cola, BudLight etc.)

Социальная природа – быстрый, скачкообразный рост

100т запросов/сек

Page 17: Масштабирование социальных приложений с помощью AWS

В чем сложность?

Запутанная архитектура

Большая нагрузка

Непредсказуемость роста

Незрелость PaaS решений в 2011

Поэтому мы выбрали IaaS от Amazon

Page 18: Масштабирование социальных приложений с помощью AWS

Причины выбора AWS

Надежность Производительн

ость Масштабировани

е Утилизация

Page 19: Масштабирование социальных приложений с помощью AWS

Краткое описание

Amazon Web Services

Page 20: Масштабирование социальных приложений с помощью AWS

AWS сервисы

Page 21: Масштабирование социальных приложений с помощью AWS

Management Console

Page 22: Масштабирование социальных приложений с помощью AWS

API

HTTP RESTful API Обвязки для

основных языков (Ruby, Java, C#, Python, PHP)

Command-line interface

Web-console

Page 23: Масштабирование социальных приложений с помощью AWS

Пример использования API

Page 24: Масштабирование социальных приложений с помощью AWS

Основные сервисы

EC2 – виртуальные сервера S3 – хранилище файлов по ключу EBS – виртуальный HDD Elastic IP – static IP в облаке ELB – балансировщик нагрузки RDS – MySQL БД с репликацией

Page 25: Масштабирование социальных приложений с помощью AWS

Как мы строили свой кластер?

Page 26: Масштабирование социальных приложений с помощью AWS

Отдельный сервер на хостинге Все приложения

– на 1 сервере

Все БД –на 1 сервере

Веб-сервер Apache

БД – MySQL

Page 27: Масштабирование социальных приложений с помощью AWS

Проблемы

Не масштабируется

SPoF

Page 28: Масштабирование социальных приложений с помощью AWS

SPoF?

Single Point Of Failure

Единая Точка Отказа

Слабое Звено

Page 29: Масштабирование социальных приложений с помощью AWS

Одиночный AWS сервер

Масштабируется – переключением на больший сервер

Проблемы: Масштабировани

е - занимает время

SPoF

Page 30: Масштабирование социальных приложений с помощью AWS

Изоляция веб и БД сервера Веб-сервер –

больше CPU БД сервер – больше

памяти Масштабировать

по-разному

Проблемы: Масштабирование -

занимает время SPoF

Page 31: Масштабирование социальных приложений с помощью AWS

Масштабируем Веб-сервера Авто-

масштабирование Веб-серверов

Штатный балансировщик нагрузки (ELB)

Надежность

Проблемы: БД - SPoF

Page 32: Масштабирование социальных приложений с помощью AWS

Добавляем кеширование

Меньше нагрузка на БД

Быстрый ответ

Недостатки: БД - SPoF

Page 33: Масштабирование социальных приложений с помощью AWS

Добавляем репликацию

Master-slave репликация

Горячая замена (hot standby)

БД – не SPoF

Page 34: Масштабирование социальных приложений с помощью AWS

Мониторинг

Выявление проблем на ранних стадиях

Предупреждение о потенциальных проблемах

Анализ данных на больших объемах

AWS CloudWatch

Page 35: Масштабирование социальных приложений с помощью AWS

CDN – для статики

CDN = Content Delivery Network

Статика (JS, CSS, images, Flash)

AWS S3/CloudFront

Единое хранилище

Дешево Меньше нагрузка

Page 36: Масштабирование социальных приложений с помощью AWS

Мы начали с ...

Page 37: Масштабирование социальных приложений с помощью AWS

И пришли к ...

Page 38: Масштабирование социальных приложений с помощью AWS

Вопросы?