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

505 views
401 views

Published on

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

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
505
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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

  1. 1. МАСШТАБИРОВАНИЕСОЦИАЛЬНЫХ ПРИЛОЖЕНИЙ СПОМОЩЬЮ AWSIgor Shubovych @ Stuzo
  2. 2. AWS Amazon Web Services Инфраструктура как сервис (IaaS) Индивудальное решение
  3. 3. IAAS vsPaaSvsSaaSБазовые понятие
  4. 4. IaaS Infrastructure As A Service Самостоятельное управление ресурсами Сеть, сервера, системы хранения данных и т.д. API
  5. 5. PaaS Platform As A Service Готовое решение для разработки, тестирования, Типичные сервисы: приложение, БД, планировщик задач, очередии т.д. API
  6. 6. SaaS Software As A Service Готовое развернутое приложение Google Docs API?
  7. 7. IaaS, PaaS, SaaS
  8. 8. IaaS, PaaS, SaaS – для кого
  9. 9. Я хочу сделать стартап Используйте PaaS Ruby – Heroku Python - GAE PHP – AppFog, Jelastic Java – Jelastic, GAE
  10. 10. Социальные приложения? Маркетинговые приложения Для больших брендов (P&G, Coca-Cola, BudLight etc.) Социальная природа – быстрый, скачкообразный рост 100тзапросов/сек
  11. 11. В чем сложность? Запутанная  Поэтому мы выбрали архитектура IaaSот Amazon Большая нагрузка Непредсказуемость роста Незрелость PaaSрешений в 2011
  12. 12. Причины выбора AWS Надежность Производительность Масштабирование Утилизация
  13. 13. Amazon Web ServicesКраткое описание
  14. 14. AWS сервисы
  15. 15. Management Console
  16. 16. API HTTPRESTful API Обвязки для основных языков (Ruby, Java, C#, Python, PHP) Command-line interface Web-console
  17. 17. Пример использования API
  18. 18. Основные сервисы EC2 – виртуальные сервера S3 – хранилище файлов по ключу EBS – виртуальный HDD Elastic IP – static IP в облаке ELB – балансировщик нагрузки RDS – MySQLБД с репликацией
  19. 19. Как мы строили свой кластер?
  20. 20. Отдельный сервер на хостинге Все приложения – на 1 сервере Все БД – на 1 сервере Веб-сервер Apache БД – MySQL
  21. 21. Проблемы Не масштабируется SPoF
  22. 22. SPoF? Single Point Of Failure Единая Точка Отказа Слабое Звено
  23. 23. ОдиночныйAWS сервер Масштабируется – переключением на больший серверПроблемы: Масштабирование - занимает время SPoF
  24. 24. Изоляция веби БДсервера Веб-сервер – больше CPU БД сервер – больше памяти Масштабировать по- разномуПроблемы: Масштабирование - занимает время SPoF
  25. 25. Масштабируем Веб-сервера Авто- масштабирование Веб-серверов Штатный балансировщик нагрузки (ELB) НадежностьПроблемы: БД - SPoF
  26. 26. Добавляем кеширование Меньше нагрузка на БД Быстрый ответНедостатки: БД - SPoF
  27. 27. Добавляем репликацию Master- slaveрепликация Горячая замена (hot standby) БД – не SPoF
  28. 28. Мониторинг Выявление проблем на ранних стадиях Предупреждение о потенциальных проблемах Анализ данных на больших объемах AWS CloudWatch
  29. 29. CDN – для статики CDN = Content Delivery Network Статика (JS, CSS, images, Flash) AWS S3/CloudFront Единое хранилище Дешево Меньше нагрузка
  30. 30. Мы начали с ...
  31. 31. И пришли к ...
  32. 32. Вопросы?

×