Оцените презентацию от 1 до 5 баллов!
Тип файла:
ppt / pptx (powerpoint)
Всего слайдов:
60 слайдов
Для класса:
1,2,3,4,5,6,7,8,9,10,11
Размер файла:
12.00 MB
Просмотров:
172
Скачиваний:
2
Автор:
неизвестен
Слайды и текст к этой презентации:
№1 слайд
Содержание слайда: Проектирование высоконагруженных систем
Лекция №1
Быков Александр
№2 слайд
Содержание слайда: HighLoad. Лекция №1
Быков Александр Сергеевич
Сотрудник Mail.Ru c 2004 года
Технический руководитель рекламной системы
Начинал с позиции веб-разработчика в Почте
Выпускник МГТУ им. Н.Э.Баумана 2006 года
№3 слайд
Содержание слайда: HighLoad. Лекция №1
Система — множество элементов, находящихся в отношениях и связях друг с другом, которое образует определённую целостность, единство. (М.: БРЭ. — 2003, с. 1437)
В нашем случае – множество серверов и программ на них работающих, представляющих в сумме сервис для конечного пользователя.
№4 слайд
Содержание слайда: HighLoad. Лекция №1
Нагрузка — совершаемая полезная работа
Высоконагруженная система (1) – система при проектировании и эксплуатации которой фактор нагрузки является определяющим
Высоконагруженная система (2) – система выполняющая объем работы значительно превышающий средние показатели по рынку
№5 слайд
Содержание слайда: HighLoad. Лекция №1
Ярко выраженный эффект масштаба
Быстрый рост успешных проектов
Могут использоваться миллионами людей
Необходимо учитывать нагрузку при проектировании
Умение держать нагрузку – вопрос выживания
№6 слайд
Содержание слайда: HighLoad. Лекция №1
Как должна быть устроена такая система
Как должна быть устроена организация
№7 слайд
Содержание слайда: HighLoad. Лекция №1
Получение теоретических знаний в области проектирования и эксплуатации высоконагруженных систем
Получение практических навыков разработки высокопроизводительных сервисов
Получение практических навыков анализа архитектуры интернет-проектов и технологий
Подготовка к собеседованию на позицию SRE
№8 слайд
Содержание слайда: HighLoad. Лекция №1
Предшествующие:
1 семестр: Web-технологии
2 семестр: Базы данных
Параллельные:
QA и Безопасность
Последующие:
4 семестр: Архитектура ПО
4 семестр: Разработка выпускного проекта
№9 слайд
Содержание слайда: HighLoad. Лекция №1
Знание протокола HTTP
Навыки разработки многопоточных приложений
Навыки проектирования баз данных
Базовые навыки работы в ОС семейства UNIX
Базовые знания об устройстве сетей
№10 слайд
Содержание слайда: HighLoad. Лекция №1
Навык разработки распределенного ПО
Навык разработки ПО с учетом нагрузки
Навык разработки ПО пригодного для эксплуатации
Навык проектирования распределенных систем
№11 слайд
Содержание слайда: HighLoad. Лекция №1
Введение
Сетевая подсистема
Масштабирование нагрузки
Аппаратное обеспечение
Программное обеспечение
Архитектура проекта
Клиент-серверное взаимодействие
№12 слайд
Содержание слайда: HighLoad. Лекция №1
Разработка быстрого веб-сервера (40 баллов)
Балансировка нагрузки (20 баллов)
Проектирование интернет-проекта (40 баллов)
Сдача позже срока – половина баллов
Итоговая оценка: уд. – 30 баллов, хор. – 60, отл. – 80
№13 слайд
Содержание слайда: HighLoad. Лекция №1
Разработка быстрого веб-сервера (15 марта)
Балансировка нагрузки (22 апреля)
Проектирование интернет-проекта (29 апреля)
Сдача позже срока – половина баллов
Итоговая оценка: уд. – 30 баллов, хор. – 60, отл. – 80
№14 слайд
Содержание слайда: HighLoad. Лекция №1
Познакомились
Разобрались зачем нужен этот курс
Убедились в важности этого курса
Узнали что нас ждет на занятиях
№15 слайд
Содержание слайда: HighLoad. Лекция №1
Аудитория интернета
Особенности интернет проектов
Входные/выходные данные от бизнеса
Задачи технического отдела
Управление вычислительными мощностями
Архитектура многопоточного сетевого ПО (ДЗ 1)
№16 слайд
Содержание слайда: HighLoad. Лекция №1
1. Аудитория интернета
№17 слайд
Содержание слайда: HighLoad. Лекция №1
Аудитория интернета: Россия
№18 слайд
Содержание слайда: HighLoad. Лекция №1
№19 слайд
Содержание слайда: HighLoad. Лекция №1
№20 слайд
Содержание слайда: HighLoad. Лекция №1
№21 слайд
Содержание слайда: HighLoad. Лекция №1
№22 слайд
Содержание слайда: HighLoad. Лекция №1
№23 слайд
Содержание слайда: HighLoad. Лекция №1
№24 слайд
Содержание слайда: HighLoad. Лекция №1
№25 слайд
Содержание слайда: HighLoad. Лекция №1
Февраль 2018 г. - Июль 2018 г., в млн.чел. и в % от населения 12+ лет
№26 слайд
Содержание слайда: HighLoad. Лекция №1
№27 слайд
Содержание слайда: HighLoad. Лекция №1
№28 слайд
Содержание слайда: HighLoad. Лекция №1
№29 слайд
№30 слайд
Содержание слайда: HighLoad. Лекция №1
Facebook: Monthly active users (MAU)
№31 слайд
Содержание слайда: HighLoad. Лекция №1
2. Особенности интернет-проектов
№32 слайд
Содержание слайда: HighLoad. Лекция №1
Доступность сервиса из любой точки мира
Низкая стоимость доставки сервиса потребителю
Низкая стоимость разработки и эксплуатации
Практически «нулевой» порог входа
№33 слайд
Содержание слайда: HighLoad. Лекция №1
Высокая конкуренция
Низкая привязанность пользователей к сервису
Популярность сервиса может расти очень быстро
… а падать еще быстрее
Факторы: качество обслуживания
Факторы: потребительское поведение
№34 слайд
Содержание слайда: HighLoad. Лекция №1
Низкая/нулевая доходность на одного пользователя
Сначала аудитория потом монетизация
ИТ-инфраструктура - основная статья расходов
В некоторых случаях начальные затраты велики
Не все проекты выходят на окупаемость
№35 слайд
Содержание слайда: HighLoad. Лекция №1
Основа бизнеса и основная статья расходов
Высокие требования по скорости разработки
Высокие требования по масштабированию
Минимальные требования по эффективности
Невыполнение равно выходу из бизнеса
№36 слайд
Содержание слайда: HighLoad. Лекция №1
Выделение ключевых продуктовых метрик
Прогноз по росту проекта в продуктовых метриках
План по запуску новых функций
Бюджетные требования
Требования к качеству (стабильность, безопасность)
№37 слайд
Содержание слайда: HighLoad. Лекция №1
План по эксплуатационным затратам
План по капитальным затратам
План по найму персонала
№38 слайд
Содержание слайда: HighLoad. Лекция №1
№39 слайд
Содержание слайда: HighLoad. Лекция №1
Количество зарегистрированных пользователей
Суточная/недельная/месячная аудитория
Максимальное количество пользователей онлайн
Интенсивность использования разных функций
Средний размер данных пользователя
и т.п.
№40 слайд
Содержание слайда: HighLoad. Лекция №1
Измерение продуктовых и технических метрик
Перевод продуктовых метрик в технические
Эксплуатация существующей системы
Планирование изменений
Реализация изменений
№41 слайд
Содержание слайда: HighLoad. Лекция №1
RPS – кол-во запросов в секунду (веб-сервер)
QPS – кол-во запросов в секунду (БД)
PPS – кол-во пакетов в секунду (сетевое оборудование)
Мbit/s – загрузка каналов связи
Simultaneous connections – одновременные соединения
Гбайт – размеры хранилищ
№42 слайд
Содержание слайда: HighLoad. Лекция №1
Роли людей в проекте
Постановка целей управления
Разработка ПО
№43 слайд
Содержание слайда: HighLoad. Лекция №1
Product Management
Development Engineering (Разработка)
Operations Engineering (Эксплуатация)
№44 слайд
Содержание слайда: HighLoad. Лекция №1
Роли в проекте: конфликт интересов
№45 слайд
Содержание слайда: HighLoad. Лекция №1
Методология DevOps
№46 слайд
Содержание слайда: HighLoad. Лекция №1
Роли в рамках различных лекций
№47 слайд
Содержание слайда: HighLoad. Лекция №1
Получить требования от продуктовых менеджеров
Сформулировать требования в конкретных метриках
(время ответа, % ошибок в ответах, uptime)
Проверить измеримость исполнения требований
Зафиксировать в Service Level Agreement (SLA)
№48 слайд
Содержание слайда: HighLoad. Лекция №1
Прогноз по росту проекта в продуктовых метриках
План запуска новых функций
Статистика по проекту за предыдущий период
Ограничения (бюджет) по расходам на ИТ
Ограничения по качеству работы сервиса (SLA)
№49 слайд
Содержание слайда: HighLoad. Лекция №1
Доступность % Время простоя в год Время простоя в месяц
99% ("две девятки") 3.65 дней 7.20 часов
99.5% 1.83 дней 3.60 часов
99.9% ("три девятки") 8.76 часов 43.2 минут
99.95% 4.38 часов 21.56 минут
99.99% ("четыре девятки”) 52.56 минут 4.32 минут
99.999% ("пять девяток") 5.26 минут 25.9 секунд
99.9999% ("шесть девяток”) 31.5 секунд 2.59 секунды
№50 слайд
Содержание слайда: HighLoad. Лекция №1
Какую нагрузку может выдержать сервис в текущей конфигурации ?
Какую нагрузку сервис выдержит если добавить N дополнительных серверов ?
Сколько и каких серверов нужно чтобы обслуживать заданную нагрузку в заданных условиях ?
Как планировать закупки оборудования исходя из планирующегося роста ?
№51 слайд
Содержание слайда: HighLoad. Лекция №1
Разработка ПО это только первый (небольшой) шаг
Дальнейшая эксплуатация и модификация системы это большая часть работы
Условия эксплуатации диктуют требования к ПО (а не наоборот)
ПО не проверенное боевой эксплуатацией не считается рабочим
№52 слайд
Содержание слайда: HighLoad. Лекция №1
Самое распространенное приложение: веб-сервер
Самый распространенный веб-сервер: Apache
Самый быстрый веб-сервер: nginx
На примере этой задачи будем учиться писать ПО для высоких нагрузок
№53 слайд
Содержание слайда: HighLoad. Лекция №1
Блокирующая обработка соединений
№54 слайд
Содержание слайда: HighLoad. Лекция №1
fork
prefork
threads
threads prefork
pooling
coroutines
№55 слайд
Содержание слайда: HighLoad. Лекция №1
Неблокирующая обработка соединений
№56 слайд
Содержание слайда: HighLoad. Лекция №1
Статистика по распространенности серверов
№57 слайд
Содержание слайда: HighLoad. Лекция №1
Домашнее задание №1
№58 слайд
Содержание слайда: HighLoad. Лекция №1
Список литературы
№59 слайд
Содержание слайда: HighLoad. Лекция №1
Список литературы
№60 слайд
Содержание слайда: СПАСИБО ЗА ВНИМАНИЕ
Быков Александр
bykov@corp.mail.ru