Необходимость использования средств управления конфигурацией в процессе эксплуатации сложных веб систем быстро становится очевидной, тем не менее, использование различных средств управления конфигурацией имеет свои нюансы и тонкости. Разные системы управления конфигурацией создавались с учетом различающихся требований их создателей, и они по-разному решают возложенные на них задачи. Доклад посвящен обобщению практического опыта применения четырех средств управления конфигурацией — Chef, Puppet, SaltStack и Ansible в гетерогенных окружениях разного размера, построенных на базе различных UNIX-подобных платформ, от FreeBSD и Linux до SmartOS.
Целевая аудитория доклада: веб-разработчики, инженеры отделов эксплуатации.
Ее примерный уровень: средний.
Необходимость использования средств управления конфигурацией в процессе эксплуатации сложных веб систем быстро становится очевидной, тем не менее, использование различных средств управления конфигурацией имеет свои нюансы и тонкости. Разные системы управления конфигурацией создавались с учетом различающихся требований их создателей, и они по-разному решают возложенные на них задачи. Доклад посвящен обобщению практического опыта применения четырех средств управления конфигурацией — Chef, Puppet, SaltStack и Ansible в гетерогенных окружениях разного размера, построенных на базе различных UNIX-подобных платформ, от FreeBSD и Linux до SmartOS.
Целевая аудитория доклада: веб-разработчики, инженеры отделов эксплуатации.
Ее примерный уровень: средний.
Reputation management tips from Shashi Bellamkonda of Network SolutionsWeb.com
Presentation "Feel the LOVE: Managing Online Reputation for your Business" at BlogWorld New York May 2011
http://blogworld-nyc2011.sched.org/event/5a1a0d5d6f311ccef999c0cf8bc32782
See tweets from the session http://storify.com/shashib/blogworld-new-york-shashi-bellamkonda-session
Coverage on SocialTimes- http://socialtimes.com/blogworld-expo-ny-1_b64092
Reputation management tips from Shashi Bellamkonda of Network SolutionsWeb.com
Presentation "Feel the LOVE: Managing Online Reputation for your Business" at BlogWorld New York May 2011
http://blogworld-nyc2011.sched.org/event/5a1a0d5d6f311ccef999c0cf8bc32782
See tweets from the session http://storify.com/shashib/blogworld-new-york-shashi-bellamkonda-session
Coverage on SocialTimes- http://socialtimes.com/blogworld-expo-ny-1_b64092
Управление ресурсами в Linux и OpenVZ Кирилл Колышкин kir@openvz.org http://openvz.org/
Отчет - http://yourcmc.ru/wiki/RootConf_2009:_%D0%9E%D1%82%D1%87%D1%91%D1%82_%D0%92%D0%B8%D1%82%D0%B0%D0%BB%D0%B8%D1%8F_%D0%A4%D0%B8%D0%BB%D0%B8%D0%BF%D0%BF%D0%BE%D0%B2%D0%B0#.D0.A3.D0.BF.D1.80.D0.B0.D0.B2.D0.BB.D0.B5.D0.BD.D0.B8.D0.B5_.D1.80.D0.B5.D1.81.D1.83.D1.80.D1.81.D0.B0.D0.BC.D0.B8_.D0.B2_Linux_.D0.B8_OpenVZ_.28.D0.B7.D0.B0.D1.87.D1.91.D1.82.21.29
SETCON'18 - Vitali Fokin - Kubernetes 101Nadzeya Pus
Обзор возможностей Kubernetes, зачем он нужен, кому и когда, а также немного хороших практик по развертыванию и разработке Kubernetes-powered приложений.
Сергей Рубанов, разработчик EXANTE и, как он сам себя называет, JavaScript-самурай, выступил на митапе TechTalks с докладом «Real-time данные на фронтенде». Он рассказал, какие проблемы приходится решать при отображении финансовых данных.
JVM: краткий курс общей анатомии, JPoint 2016 Conference EditionNikita Lipsky
Говоря о Java, мы подразумеваем как минимум две вещи: JVM (виртуальную Java-машину) и Java-байткод, который исполняется на этой машине.
Внутреннее устройство JVM непростое, но очень важно понимать, из каких частей она состоит, какая часть за что отвечает и как это все вместе работает хотя бы в самых общих чертах. Эти знания помогут вам в понимании того, как работает ваша программа и как можно улучшить ее работу.
В этом докладе мы не будем лезть в кишки какой-то конкретной реализации JVM, однако мы покажем где у JVM кишки расположены, а также где находятся и для чего служат ее печень, сердце, почки, мозг и другие органы.
SECON'2016. Парамонов Сергей, Автоматизируй это! Как не погрязнуть в рутине п...SECON
В разработке игр существует множество сопутствующих проблем, которые приходиться решать разработчику, но которые напрямую не связаны с игровым процессом. Автоматизация рутинных задач - лучшее решение, позволяющее сэкономить время для воплощения творческого замысла в условиях компактных команд и компаний.
2. Ситуация - ужин в большой
семье
• Одна кастрюля с супом
• Много голодных людей с разными запросами
• Как всех накормить?
• Стратегии
Каждый берѐт кастрюлю по очереди
(сериализация монопольного доступа)
Каждому по тарелке (предварительное
разделение)
Каждый подходит с тарелкой своего размера
(динамическое выделение)
Каждому по виртуальной кастрюле
(виртуализация, thin provisioning)
Ещѐ?
2
3. Управление памятью
• Явное определение, без освобождения
• Явное выделение, явное освобождение
Хорошо для небольших систем
Знакомьтесь: утечки памяти
• Явное выделение, неявное освобождение
Удобно, хотя выделять всѐ-таки надо
Кто же освобождает?
Когда?
• Неявное выделение, неявное освобождение
(где?)
Ещѐ удобнее
Ещѐ сложнее реализовать
3
4. Типичная ситуация
• Ограниченный ресурс (или несколько)
• Несколько потребителей с различными,
часто слабопредсказуемыми, потребностями
• Стратегия индивидуального потребителя
определяется его нуждами, а не наличными
ресурсами
• Необходим менеджер ресурсов
реализующий определѐнный контракт
доступа
malloc()/free()
new java.lang.Object()
mmap()
4
5. Универсальный менеджер
ресурсов - ВМ
• Рассмотрим все сущности необходимые
программе для работы (контекст)
Память
Процессорное время (как мы его
потребляем?)
Сетевые соединения
Графические объекты
Другое
• Ресурс – инвариант контекста
• Что если управлять всем контекстом
исполнения?
• Виртуальная машина
5
6. ВМ как модель контекста
• Программы создаются в ожидании
определѐнного контекста
• Контекст должен иметь непосредственную
реализацию для исполнения программы
• Пример, контекст для:
#include <stdio.h>
int main(int argc, char* argv[]) {
printf(“Hello world, I’m %sn”, argv[0]);
return 0;
}
это…
6
7. Что необходимо для реализации
нужного контекста?
• Компьютер
• Компилятор С
• Линкер
• Загрузчик (или ОС)
• Стандартная библиотека
• Система ввода/вывода
• Виртуальная машина C?
7
8. Вопросы
1. Почему thin provisioning обычно работает?
2. Как делить неделимые ресурсы?
3. Что менеджер ресурсов должен знать о
потребителях? Почему много знать плохо?
4. Где у машины Тьюринга ресурсы?
Контекст?
5. Есть ли программы для которых не нужен
контекст?
6. Сколько может быть реализаций одного
контекста? Как (и откуда) осмысленно
факторизовать реализации?
8
9. Реальная виртуальная машина
Например Java Virtual Machine, содержит:
Загрузчик классов
• Получение данных класса
• Верификация класса
Систему исполнения байткода
• Интерпретатор
• Динамический профилировщик
• Компилятор времени исполнения
Систему управления памятью
• Выделение пула памяти
• Управление объектами в пуле
– Быстрое выделение
– Анализ доступности
– Освобождение
Предзагрузчик системных классов
9
10. Спецификация JVM
• http://java.sun.com/docs/books/jvms/
• Объектная модель: классы, объекты, методы
• Формат исполняемого файла
• Набор инструкций (байткод)
• Типы данных
• Абстрактная исполняющая машина
Инициализация
Поток нормального исполнения
Исключительные ситуации
Реализация синхронизации потоков
10
11. Другие необходимые части
экосистемы
• Система ввода-вывода
• Интерфейс к нативному коду (JNI)
• Графический интерфейс пользователя
• Компиляторы с высокоуровневых языков
(JVM != (Java) != JVM)
• Инструменты отладки
• Инструменты мониторинга и
профилирования
• Среды разработки
• Среды внедрения
11
12. А зачем все эти сложности?
• Судьба индустриальных программных
систем
Экосистемы, а не программы
Неожиданное долголетие
Новое аппаратное обеспечение
Утеря знаний
• Обратная совместимость, вложенная
виртуализация
• Переносимость
• Управляемость
• Инерция разработчиков
• Сложность создания простого 12
13. Вопросы
1. Зачем нужен стандарт на ВМ?
2. Нужно ли стандартизировать что-нибудь
кроме ВМ для Java? Почему?
3. Чего не специфицирует JVMSpec? Почему?
4. Чем плохи стандарты?
5. Где специфицирована ВМ языка C/C++?
6. Почему появился Jython?
Ответы, мысли: igotti@gmail.com
13