1. Виды кластеров
1.1. HP
1.1.1. High Performance
1.2. HA
1.2.1. High Availability
1.3. HL
1.3.1. High Load
2. Основные проблемы и вызовы
2.1. Большая нагрузка (тысячи и миллионы хитов)
2.2. Высокие ставки
2.2.1. Высокие риски
2.2.1.1. резкий рост нагрузок
2.2.1.1.1. эффект лавины
2.2.1.2. Высокая надёжность
2.2.1.3. DDoS
2.2.1.4. репутационные риски
2.2.1.4.1. критично для бизнеса
2.2.2. Потребность в быстрой разработке
2.2.2.1. Высококонкурентное окружение
2.2.3. Большая ответственность на разработчике
2.3. Зоопарк технологий и сервисов
2.4. Большая команда
2.5. Широкий спектр задач
2.5.1. Технический менеджмент
2.5.2. Системное администрирование
2.5.3. Поддержка
2.5.4. Разработка
2.6. Ловушки
2.6.1. не масштабируемая архитуктура
2.6.1.1. высокая степень связности
2.6.1.1.1. данные
2.6.1.1.2. компоненты
2.6.2. "полурешения"
2.6.2.1. накапливаемые риски
2.6.3. "горе от ума"
2.6.3.1. теоретики vs практики
2.7. основной вызов
2.7.1. "быстро, дёшево, качественно — выбирайте любые два"
2.7.2. дёшево, производительно и надёжно
3. Уровни зрелости HL-проекта
3.1. Рост проекта
3.1.1. Один сервер
3.1.2. Несколько серверов
3.1.3. Много серверов (сотни, тысячи)
3.1.4. Много ДЦ
3.2. Переход между уровнями -- обычно кризис
3.3. Ключевое значение -- масштабируемая архитектура
3.4. Грамотное многоуровневое проектирование
3.4.1. Масштабируемость / производительность должна учитываться на всех уровнях
3.4.1.1. Софт
3.4.1.2. Библиотеки
3.4.1.3. СУБД
3.4.1.4. ФС
3.4.1.5. hardware: диски, память, сеть, CPU
4. HL: Enterprise vs WebSphere
4.1. Enterprise
4.1.1. Ставка на дорогое железо
4.1.2. "enterprise-class" СУБД
4.1.2.1. Транзакционность
4.1.3. можно "топить печку деньгами"
4.2. WebSphere
4.2.1. Бесплатный софт
4.2.1.1. Огромное количество машин, накладные расходы
4.2.2. Открытый софт
4.2.2.1. manageable
4.2.2.2. нет полностью готовых решений
4.2.2.2.1. всё собирается как из конструктора
4.2.3. Относительно дешёвое железо
4.2.3.1. Устойчивость к вылетанию железа
4.2.4. Распределённое / географически разделённое окружение
4.2.4.1. Обеспечение доступности, возможно с адаптивной деградацией
4.2.5. Отсутствие транзакций
4.2.6. прокачать как можно больше "хитов" за как можно меньшие деньги
4.2.7. приходиться много думать...
5. Софтверные компоненты web-проекта
5.1. web-сервер
5.2. сервер приложений
5.3. СУБД
5.4. кэш-серверы
6. Системы массового обслуживания
6.1. Цели изучения СМО -- повышение эффективности
6.1.1. Пропускная способность
6.1.2. Время ожидания
6.1.3. Совокупная стоимость