От Статистики до Статистики. Эволюция архитектуры системы на примере системы ...yaevents
В докладе я расскажу о том, как мы строили систему расчета статистики в Яндексе и как она эволюционировала в процессе своего существования. Я постараюсь рассказать о достоинствах и недостатках сильно централизованной монолитной системы и децентрализованной модульной системы, а также расскажу о некоторых технологических решениях, которые использовались для увеличения производительности системы.
А.Левенчук -- Понятие системы в системной инженерииAnatoly Levenchuk
Доклад Анатолия Левенчука "Понятие системы в системной инженерии. Системная инженерия против инженерии систем" на 70 заседании Русского отделения INCOSE, 23 января 2013г.
От Статистики до Статистики. Эволюция архитектуры системы на примере системы ...yaevents
В докладе я расскажу о том, как мы строили систему расчета статистики в Яндексе и как она эволюционировала в процессе своего существования. Я постараюсь рассказать о достоинствах и недостатках сильно централизованной монолитной системы и децентрализованной модульной системы, а также расскажу о некоторых технологических решениях, которые использовались для увеличения производительности системы.
А.Левенчук -- Понятие системы в системной инженерииAnatoly Levenchuk
Доклад Анатолия Левенчука "Понятие системы в системной инженерии. Системная инженерия против инженерии систем" на 70 заседании Русского отделения INCOSE, 23 января 2013г.
Как devops исчерпывает себя и что будет дальшеKirill Vechera
Эволюция управления информационными системами
Какие сейчас есть средства и какие появляются
Как этому способствует Jetware
Почему Devops становится ненужным
Как devops исчерпывает себя, и что будет дальше / Кирилл Вечера (Jetware)Ontico
* Следующее поколение моделей проектирования и эксплуатации серверных приложений в публичных облаках и на классических серверах.
* Сравнение методов эксплуатации: "традиционных" Chef/Salt/Ansible, immutage images/virtual appliances/Docker, и автономных рабочих окружений Jetware/Snappy/Nix/Habitat.
* Самоконфигурация, самоадминистрирование и самовосстановление серверов.
** Управление большими системами Mesos, Kubernetes, Docker Swarm.
** Управление внутри микросервисов.
* Независимость рабочего окружения приложений от операционной системы и ядра, just enough OS.
* Приложение - это не только исходный код, но и операционное окружение. Разработка, тестирование и версионирование всего полностью.
* Сервер как программа - компонентный подход.
"Опыт создания системы управления сборкой и тестированием" (полная)SPB SQA Group
Доклад посвящен вопросам создания и использования собственной системы управления процессами сборки и тестирования ПО. Описываются ключевые моменты построения таких систем, в частности: вопросы интерфейсов, быстродействия, качества и интеграции в общую инфраструктуру. Затрагиваются концепции встраивания качества в код, сбора и использования метрик ПО, неотделимости сборки от тестирования, автоматизированного ведения базы знаний об ошибках и другие.
А.Левенчук -- Essence в варианте для системной инженерииAnatoly Levenchuk
Доклад А.Левенчука "Essence в варианте для системной инженерии" на четвёртой научно-практической конференции «Актуальные проблемы системной и программной инженерии» (АПСПИ - 2015), 21 мая 2015г.
Как devops исчерпывает себя и что будет дальшеKirill Vechera
Эволюция управления информационными системами
Какие сейчас есть средства и какие появляются
Как этому способствует Jetware
Почему Devops становится ненужным
Как devops исчерпывает себя, и что будет дальше / Кирилл Вечера (Jetware)Ontico
* Следующее поколение моделей проектирования и эксплуатации серверных приложений в публичных облаках и на классических серверах.
* Сравнение методов эксплуатации: "традиционных" Chef/Salt/Ansible, immutage images/virtual appliances/Docker, и автономных рабочих окружений Jetware/Snappy/Nix/Habitat.
* Самоконфигурация, самоадминистрирование и самовосстановление серверов.
** Управление большими системами Mesos, Kubernetes, Docker Swarm.
** Управление внутри микросервисов.
* Независимость рабочего окружения приложений от операционной системы и ядра, just enough OS.
* Приложение - это не только исходный код, но и операционное окружение. Разработка, тестирование и версионирование всего полностью.
* Сервер как программа - компонентный подход.
"Опыт создания системы управления сборкой и тестированием" (полная)SPB SQA Group
Доклад посвящен вопросам создания и использования собственной системы управления процессами сборки и тестирования ПО. Описываются ключевые моменты построения таких систем, в частности: вопросы интерфейсов, быстродействия, качества и интеграции в общую инфраструктуру. Затрагиваются концепции встраивания качества в код, сбора и использования метрик ПО, неотделимости сборки от тестирования, автоматизированного ведения базы знаний об ошибках и другие.
А.Левенчук -- Essence в варианте для системной инженерииAnatoly Levenchuk
Доклад А.Левенчука "Essence в варианте для системной инженерии" на четвёртой научно-практической конференции «Актуальные проблемы системной и программной инженерии» (АПСПИ - 2015), 21 мая 2015г.
3. «
Материал из Википедии — свободной энциклопедии
Распределённая система — система, для которой отношения местоположений элементов (или
групп элементов) играют существенную роль с точки зрения функционирования системы, а,
следовательно, и с точки зрения анализа и синтеза системы.
Для распределённых систем характерно распределение функций, ресурсов между множеством
элементов (узлов) и отсутствие единого управляющего центра, поэтому выход из строя одного из
узлов не приводит к полной остановке всей системы. Типичной распределённой системой является
Интернет.
»
Что такое “распределенная система”?
4. «
Материал из Википедии — свободной энциклопедии
Распределённая система — система, для которой отношения местоположений элементов (или
групп элементов) играют существенную роль с точки зрения функционирования системы, а,
следовательно, и с точки зрения анализа и синтеза системы.
Для распределённых систем характерно распределение функций, ресурсов между множеством
элементов (узлов) и отсутствие единого управляющего центра, поэтому выход из строя одного из
узлов не приводит к полной остановке всей системы. Типичной распределённой системой является
Интернет.
»
Что такое “распределенная система”?
5. «
Материал из Википедии — свободной энциклопедии
Распределённая система — система, для которой отношения местоположений элементов (или
групп элементов) играют существенную роль с точки зрения функционирования системы, а,
следовательно, и с точки зрения анализа и синтеза системы.
Для распределённых систем характерно распределение функций, ресурсов между множеством
элементов (узлов) и отсутствие единого управляющего центра, поэтому выход из строя одного из
узлов не приводит к полной остановке всей системы. Типичной распределённой системой является
Интернет.
»
Что такое “распределенная система”?
6. «
Материал из Википедии — свободной энциклопедии
Распределённая система — система, для которой отношения местоположений элементов (или
групп элементов) играют существенную роль с точки зрения функционирования системы, а,
следовательно, и с точки зрения анализа и синтеза системы.
Для распределённых систем характерно распределение функций, ресурсов между множеством
элементов (узлов) и отсутствие единого управляющего центра, поэтому выход из строя одного из
узлов не приводит к полной остановке всей системы. Типичной распределённой системой является
Интернет.
»
Что такое “распределенная система”?
7. «
Материал из Википедии — свободной энциклопедии
Распределённая система — система, для которой отношения местоположений элементов (или
групп элементов) играют существенную роль с точки зрения функционирования системы, а,
следовательно, и с точки зрения анализа и синтеза системы.
Для распределённых систем характерно распределение функций, ресурсов между множеством
элементов (узлов) и отсутствие единого управляющего центра, поэтому выход из строя одного из
узлов не приводит к полной остановке всей системы. Типичной распределённой системой является
Интернет.
»
Что такое “распределенная система”?
8. ● отношения местоположений элементов играют существенную роль
● распределение функций, ресурсов между множеством элементов
● отсутствие единого управляющего центра
● выход из строя одного из узлов не приводит к полной остановке всей системы
Что такое “распределенная система”?
9. ● отношения местоположений элементов играют существенную роль
● распределение функций, ресурсов между множеством элементов
● отсутствие единого управляющего центра
● выход из строя одного из узлов не приводит к полной остановке всей системы
Доверяй, но проверяй!
Что такое “распределенная система”?
10. ● отношения местоположений элементов играют существенную роль
● распределение функций, ресурсов между множеством элементов
● отсутствие единого управляющего центра
● выход из строя одного из узлов не приводит к полной остановке всей системы
Доверяй, но проверяй!
“A distributed system is a collection of independent computers that appears to its users as a single
coherent system.”
(Distributed Systems: Principles and Paradigms by Andrew S. Tanenbaum, Maarten Van Steen)
Что такое “распределенная система”?
11. Доверяй, но проверяй!
“A distributed system is a collection of independent computers that appears to its users as a single
coherent system.”
(Distributed Systems: Principles and Paradigms by Andrew S. Tanenbaum, Maarten Van Steen)
“A distributed system is one in which the failure of a computer you didn't even know existed can render
your own computer unusable.”
Leslie B. Lamport
Что такое “распределенная система”?
12. Что такое “распределенная система”?
Программное обеспечение промежуточного
уровня - c его помощью пользователи полагают,
что имеют дело с единой системой, а все различия
между компьютерами и способы связи между ними
остаются скрытыми для пользователей.
19. Зачем нужна распределенная система
Медленно выполняется? Что делать?
Есть решение: добавим CPU, RAM, Disk, Network etc.
Это называется вертикальным масштабированием.
20. Зачем нужна распределенная система
Медленно выполняется? Что делать?
Есть решение: добавим CPU, RAM, Disk, Network etc.
Это называется вертикальным масштабированием.
А что если? Если дорого? Если невозможно с точки
зрения физики?
21. Зачем нужна распределенная система
Иное решение: нужно больше серверов!
Горизонтальное масштабирование
(вычислительной системы).
23. Что такое распределенная база данных?
Это распределенная система имеющая персистентное состояние.
24. Что такое распределенная база данных?
Это распределенная система имеющая персистентное состояние.
Персистентное состояние живет дольше чем породивший его процесс.
Распределенная БД предоставляет возможность прочитать это состояние
и изменить его.
27. Partitioning
Как разделить данные для распределения по многим
серверам?
По колонкам - vertical partitioning
По строкам - horizontal partitioning
28. Partitioning
Как разделить данные для распределения по многим
серверам?
По колонкам - vertical partitioning
По строкам - horizontal partitioning
29. Каким критериям должна удовлетворять распределенная БД?
● Consistency - после параллельного выполнения набора запросов все части
системы имеют единое непротиворечивое представление о состоянии
системы, такое же, как если бы эти запросы выполнялись последовательно
● Availability - система должна быть доступна для записи и чтения, такого рода
запросы сопровождаются корректным ответом
● (Network) Partition Tolerance - система может “пережить” сетевые ошибки,
network partition
35. 1 2 3 4 5 6 7 8 9
Довольные пользователи
4 8 9 2 3 7 1 5 6
Какие проблемы могут возникнуть?
Разрыв сети
36. 1 2 3 4 5 6 7 8 9
Довольные пользователи
4 8 9 2 3 7 1 5 6
Разрешаем ли мы модифицировать состояние?
Разрыв сети
37. 1 2 3 4 5 6* 7* 8 9
Довольные пользователи
4 8 9 2 3 7 1 5 6
Разрешаем ли мы модифицировать состояние? Да.
Разрыв сети
38. 1 2 3 4 5 6* 7* 8 9
Довольные пользователи
4 8 9 2 3 7 1 5 6
Разрешаем ли мы модифицировать состояние? Да.
Разрыв сети
Система находится
в неконсистентном состоянии
39. 1 2 3 4 5 6* 7* 8 9
Довольные пользователи
4 8 9 2 3 7 1 5 6
Разрешаем ли мы модифицировать состояние? Да.
Разрыв сети
Система находится
в неконсистентном состоянии
Availability +
Partition Tolerance
40. 1 2 3 4 5 6 7 8 9
Довольные пользователи
4 8 9 2 3 7 1 5 6
Разрешаем ли мы модифицировать состояние? Нет.
Разрыв сети
41. 1 2 3 4 5 6 7 8 9
Довольные пользователи
4 8 9 2 3 7 1 5 6
Разрешаем ли мы модифицировать состояние? Нет.
Разрыв сети
Consistency +
Partition Tolerance