ведение в систему управления пулом ресурсов Mesos и ее использование для создания масштабируемых приложений с помощью фреймворков Marathon, Chronos, Singularity
Дмитрий Милых «Деплой Django-проекта с помощью Fabric»DataArt
Спикер: Дима Милых, Developer в Ivelum.
Тема: «Деплой Django-проекта с помощью Fabric».
«Поговорим, как автоматизировать настройку сервера и развертывание Django-проекта бесплатно и без СМС.»
О спикере: программист, 23 года. В свободное время изучает Python, пишет скрипты для Hubot.
Видео: https://www.youtube.com/watch?v=RkcX6ZWU56s#t=2207
__
Сайт: http://www.dataart.ru/
Facebook: https://www.facebook.com/DataArt.Enjoy
Vkontakte: http://vk.com/dataart_enjoy
Twitter: https://twitter.com/DataArt_Enjoy
Депрокрастинируем Docker: контейнеры здесь и сейчасRuslan Sharipov
Депрокрастинируем Docker: контейнеры здесь и сейчас (мастер-класс). Руслан Шарипов (7bits), Денис Нелюбин (Avelix).
При подходе к любому важному делу или к изучению интересной технологии очень важно сделать первый шаг. Этот шаг может быть совсем шажочком, небольшим движением вперёд, но, часто бывает, что именно такие шаги позволяют добиваться завершения дел до конца.
В последнее время часто наши коллеги и знакомые грозятся погуглить, изучить, разобраться, исследовать, ознакомиться, попробовать, начать использовать Docker, и постоянно откладывают это дело в долгий ящик. Кто-то боится новизны технологии, кто-то хочет задать тонну вопросов, а кто-то просто не понимает, нужна ли технология для него.
В рамках этого мастер класса мы сделаем первый шаг к тому, чтобы попробовать на практике то, что есть сейчас Docker. Мы рассмотрим, что у него под капотом: какие технологии стоят за популярным названием, как работает Docker изнутри, обсудим и научимся использовать на практике контейнеры, registry и инструменты, упрощающие процесс доставки и запуска контейнеров на серверах, обсудим и найдём решения для возникающих проблем, напишем тесты и научимся тестировать инфраструктуру в контейнерах.
Presented: 6th June, 2015
ведение в систему управления пулом ресурсов Mesos и ее использование для создания масштабируемых приложений с помощью фреймворков Marathon, Chronos, Singularity
Дмитрий Милых «Деплой Django-проекта с помощью Fabric»DataArt
Спикер: Дима Милых, Developer в Ivelum.
Тема: «Деплой Django-проекта с помощью Fabric».
«Поговорим, как автоматизировать настройку сервера и развертывание Django-проекта бесплатно и без СМС.»
О спикере: программист, 23 года. В свободное время изучает Python, пишет скрипты для Hubot.
Видео: https://www.youtube.com/watch?v=RkcX6ZWU56s#t=2207
__
Сайт: http://www.dataart.ru/
Facebook: https://www.facebook.com/DataArt.Enjoy
Vkontakte: http://vk.com/dataart_enjoy
Twitter: https://twitter.com/DataArt_Enjoy
Депрокрастинируем Docker: контейнеры здесь и сейчасRuslan Sharipov
Депрокрастинируем Docker: контейнеры здесь и сейчас (мастер-класс). Руслан Шарипов (7bits), Денис Нелюбин (Avelix).
При подходе к любому важному делу или к изучению интересной технологии очень важно сделать первый шаг. Этот шаг может быть совсем шажочком, небольшим движением вперёд, но, часто бывает, что именно такие шаги позволяют добиваться завершения дел до конца.
В последнее время часто наши коллеги и знакомые грозятся погуглить, изучить, разобраться, исследовать, ознакомиться, попробовать, начать использовать Docker, и постоянно откладывают это дело в долгий ящик. Кто-то боится новизны технологии, кто-то хочет задать тонну вопросов, а кто-то просто не понимает, нужна ли технология для него.
В рамках этого мастер класса мы сделаем первый шаг к тому, чтобы попробовать на практике то, что есть сейчас Docker. Мы рассмотрим, что у него под капотом: какие технологии стоят за популярным названием, как работает Docker изнутри, обсудим и научимся использовать на практике контейнеры, registry и инструменты, упрощающие процесс доставки и запуска контейнеров на серверах, обсудим и найдём решения для возникающих проблем, напишем тесты и научимся тестировать инфраструктуру в контейнерах.
Presented: 6th June, 2015
DC/OS – больше чем PAAS, Никита Борзых (Express 42)Ontico
Доклад про ближайшее будущее в эксплуатации распределённых систем.
Компания Mesosphere весной 2016 сделала свою платформу DC/OS (data center operation system) бесплатной и открытой. Платформа DC/OS унифицирует и упрощает процесс поставки и эксплуатации систем.
Основными особенностями платформы являются:
– переход от host centric к resource centric подходу для всех компонентов вашего проекта за счёт представления серверов как ресурсов для приложения (с помощью mesos и marathon);
– наличие инструментов автоматического восстановления вашего проекта после аварии;
– marketplace для приложений. Например, можно развернуть MySQL, Elasticsearch, Kafka или mongodb кластер, используя готовые скрипты развертывания. Процесс развертывания кастомизируется, в случае необходимости можно описать кастомные приложения и поправить скрипты существующих;
– наличие API для интеграции в ваши системы CI/CD, мониторинга, и т.д.
Основные компоненты DC/OS:
– Apache Mesos — абстракция над датацентром, которая представляет сервера (физические и виртуальные) как ресурсы и распределяет эти ресурсы на основании данных о потребностях приложения;
– Marathon — система распределённого запуска приложений (в т.ч. docker контейнеров), основной фишкой является возможность декларативного описания вашей системы. Вы можете описать, сколько ресурсов нужно вашему приложению, зависимости между приложениями, и в каком порядке производить деплой.
Доклад разбит на три части:
– Интро про DC/OS, сравнение с kubernetes и coreos стеком;
– Рассказ про компоненты mesos и marathon, как их можно использовать с докером (и без!) уже сейчас;
– Опыт Express 42. Мы построили CI/CD платформу для приложений, с использованием Mesos, Marathon, Docker и Jenkins 2.0.
Движение по хрупкому дну / Сергей Караткевич (servers.ru)Ontico
Сегодня Интернет увлечен микросервисами, контейнерами и immutable-инфраструктурой. Очень сложно не поддаться искушению внедрить что-то подобное в компании, в которой вы работаете сейчас. Я попытаюсь отговорить вас использовать эти технологии во вред приложению, себе и бизнесу компании в целом. Я расскажу о типовом проекте, который был запущен в 20 странах за 4 месяца, проблемах, которые я встретил, и выводах, которые я сделал.
- Почему микросервисы не спасут, а похоронят ваш проект.
Я расскажу на основе собственного опыта, почему не стоит увлекаться микросервисами для небольших проектов, почему благие намерения — упрощение деплоя и увеличение числа деплоев, увеличение доступности и улучшение масштабирования ведут к отсутствию гибкости и критическому уменьшению стабильности системы.
- Почему ваша система слишком сложна для своих задач.
Я расскажу, почему не стоит усложнять систему, почему, скорее всего, ваша система слишком сложна для задач, которые она решает и почему вы не контролируете то, что происходит в системе. Я объясню, почему вы потратите все свое время на отладку сложной системы, вместо того чтобы решать задачи бизнеса.
- Почему Docker используется неправильно.
Будут предоставлены реальные примеры использования Docker для нового проекта и для портированного проекта, я объясню, с какими проблемами сталкиваются операторы при работе с Docker на живых примерах, объясню, почему вы, скорее всего, используете Docker неправильно, и предложу варианты, как этого избежать.
- Почему immutable слишком статичен для вашей компании.
Я расскажу про свой опыт работы с immutable и объясню, почему, на мой взгляд, переход к подобной инфраструкт
Процесс разработки и тестирования с Docker + gitlab ciАлександр Сигачев
Доклад - https://www.youtube.com/watch?v=lJsqRwULRVA
Какие проблемы решаем?
быстрый вход нового разработчика в проект
стандартизация настроек разработчиков
переключение между проектами - разные версии ПО и библиотек (mysql 5.6/5.7, node 0.12/7.2)
приучаем разработчиков к сетевому взаимодействию компонентов
Microservice - масштабирование/разделения разработки
Делим ресурсы staging среды между проектами
Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)Ontico
РИТ++ 2017
Зал Сан-Паулу, 5 июня, 15:00
Тезисы:
http://ritfest.ru/2017/abstracts/2653.html
Новые микросервисы появляются, но монолит никуда не исчезает. Мы в Avito разрабатываем и деплоим сервисы с помощью связки Docker и Kubernetes. Зачастую интегрировать монолит с сервисами довольно проблематично. А что, если монолит тоже завернуть в Docker+Kubernetes и применять те же практики, что и для микросервисов?
В докладе речь пойдёт о том, как изменилась Dev-среда в Avito в связи с переходом на микросервисную архитектуру. В частности, поговорим про:
- подход "legacy in a box";
- то, как мы решали проблемы с базами и sphinxsearch;
- то, как Docker и Kubernetes помогли нам сократить различия между окружениями;
- Developer Experience.
Доклад будет полезен как командам, планирующим или переживающим распил монолита, так и всем тем, кому приходится работать со сторонними legacy-системами.
У нас было 500 страниц спецификаций, 40000 строк кода, 2 офиса, полдюжины разработчиков, а также целое множество андроидов всех сортов и расцветок. Не то, чтобы это был необходимый запас для приложения крупной торговой сети. Но если начал собирать софт, становится трудно остановиться. Единственное, что вызвало у меня опасение — это сетевая библиотека. Нет ничего более беспомощного, безответственного и испорченного, чем писать AsyncTask на каждый вызов. Я знал, что рано или поздно мы перейдём на Event Bus.
Август 2014, DevDay, Новосибирск
Олег Годовых «Страх и ненависть в Event Bus»DevDay
У нас было 500 страниц спецификаций, 40000 строк кода, 2 офиса, полдюжины разработчиков, а также целое множество андроидов всех сортов и расцветок. Не то, чтобы это был необходимый запас для приложения крупной торговой сети. Но если начал собирать софт, становится трудно остановиться. Единственное, что вызвало у меня опасение — это сетевая библиотека. Нет ничего более беспомощного, безответственного и испорченного, чем писать AsyncTask на каждый вызов. Я знал, что рано или поздно мы перейдём на Event Bus.
О чем нам могут рассказать access логи вебсервера? Поиск аномалий и отклонений от нормы? Откуда наши пользователи? Город? Страна? Сайт? Сколько запросов генерируют роботы? Когда в последний раз к нам приходил поисковик для индексации? Какая динамика по ошибкам и страницам отсутствующим на сайте?
Лучшие практики Continuous Delivery с Docker / Дмитрий Столяров (Флант)Ontico
Потребность в отстроенном процессе Continuous Delivery встает перед каждым развивающимся highload-проектом. Чем больше серверов и составных приложений, чем выше динамика релизов, тем раньше проект сталкивается с данной потребностью, и тем острее она стоит.
Многие команды эксплуатации смогли отстроить этот процесс, некоторые добились впечатляющих результатов, а некоторые — потерпели неудачу. Но все из них знают, что их процесс можно улучшить: сделать быстрее, надежнее, предсказуемее и удобнее.
В этом докладе я хочу обобщить и систематизировать лучшие практики построения процесса Continuous Delivery с использованием актуальных Open Source технологий (Docker, Chef, Gitlab, Kubernetes), а также обозначить известные проблемы и потенциальные пути их решения.
Будет предпринята попытка однозначно ответить на следующие практические вопросы:
- Почему пора всем переходить на Docker? Как лучше собирать Docker-образы? Как лучше доставлять и хранить Docker-образы?
- Как правильно построить процесс разработки Infrastructure as Code (IaC)?
- Как оптимально интегрировать автоматическое и ручное тестирование в процесс Continuous Delivery?
- Как перестать бояться регулярных выкатов новых версий и сделать этот процесс надежным?
- Почему Continuous Delivery не заканчивается релизом новой версии и зачем нужен Kubernetes?
This document contains an excerpt from a 2003 O-NET exam in Thailand testing language skills. The excerpt includes:
1) A conversation with gaps to be filled in with appropriate words. It discusses a power outage at a school.
2) A job interview roleplay with gaps to be filled. It involves interviewing for a public relations position at a hotel.
3) Questions testing comprehension of situational dialogs and identifying appropriate responses in different contexts.
4) Questions testing vocabulary with words to be defined in context.
5) Sentences with underlined parts, one of which makes the sentence incorrect. test-takers must identify the incorrect underlined part.
6) Questions
DC/OS – больше чем PAAS, Никита Борзых (Express 42)Ontico
Доклад про ближайшее будущее в эксплуатации распределённых систем.
Компания Mesosphere весной 2016 сделала свою платформу DC/OS (data center operation system) бесплатной и открытой. Платформа DC/OS унифицирует и упрощает процесс поставки и эксплуатации систем.
Основными особенностями платформы являются:
– переход от host centric к resource centric подходу для всех компонентов вашего проекта за счёт представления серверов как ресурсов для приложения (с помощью mesos и marathon);
– наличие инструментов автоматического восстановления вашего проекта после аварии;
– marketplace для приложений. Например, можно развернуть MySQL, Elasticsearch, Kafka или mongodb кластер, используя готовые скрипты развертывания. Процесс развертывания кастомизируется, в случае необходимости можно описать кастомные приложения и поправить скрипты существующих;
– наличие API для интеграции в ваши системы CI/CD, мониторинга, и т.д.
Основные компоненты DC/OS:
– Apache Mesos — абстракция над датацентром, которая представляет сервера (физические и виртуальные) как ресурсы и распределяет эти ресурсы на основании данных о потребностях приложения;
– Marathon — система распределённого запуска приложений (в т.ч. docker контейнеров), основной фишкой является возможность декларативного описания вашей системы. Вы можете описать, сколько ресурсов нужно вашему приложению, зависимости между приложениями, и в каком порядке производить деплой.
Доклад разбит на три части:
– Интро про DC/OS, сравнение с kubernetes и coreos стеком;
– Рассказ про компоненты mesos и marathon, как их можно использовать с докером (и без!) уже сейчас;
– Опыт Express 42. Мы построили CI/CD платформу для приложений, с использованием Mesos, Marathon, Docker и Jenkins 2.0.
Движение по хрупкому дну / Сергей Караткевич (servers.ru)Ontico
Сегодня Интернет увлечен микросервисами, контейнерами и immutable-инфраструктурой. Очень сложно не поддаться искушению внедрить что-то подобное в компании, в которой вы работаете сейчас. Я попытаюсь отговорить вас использовать эти технологии во вред приложению, себе и бизнесу компании в целом. Я расскажу о типовом проекте, который был запущен в 20 странах за 4 месяца, проблемах, которые я встретил, и выводах, которые я сделал.
- Почему микросервисы не спасут, а похоронят ваш проект.
Я расскажу на основе собственного опыта, почему не стоит увлекаться микросервисами для небольших проектов, почему благие намерения — упрощение деплоя и увеличение числа деплоев, увеличение доступности и улучшение масштабирования ведут к отсутствию гибкости и критическому уменьшению стабильности системы.
- Почему ваша система слишком сложна для своих задач.
Я расскажу, почему не стоит усложнять систему, почему, скорее всего, ваша система слишком сложна для задач, которые она решает и почему вы не контролируете то, что происходит в системе. Я объясню, почему вы потратите все свое время на отладку сложной системы, вместо того чтобы решать задачи бизнеса.
- Почему Docker используется неправильно.
Будут предоставлены реальные примеры использования Docker для нового проекта и для портированного проекта, я объясню, с какими проблемами сталкиваются операторы при работе с Docker на живых примерах, объясню, почему вы, скорее всего, используете Docker неправильно, и предложу варианты, как этого избежать.
- Почему immutable слишком статичен для вашей компании.
Я расскажу про свой опыт работы с immutable и объясню, почему, на мой взгляд, переход к подобной инфраструкт
Процесс разработки и тестирования с Docker + gitlab ciАлександр Сигачев
Доклад - https://www.youtube.com/watch?v=lJsqRwULRVA
Какие проблемы решаем?
быстрый вход нового разработчика в проект
стандартизация настроек разработчиков
переключение между проектами - разные версии ПО и библиотек (mysql 5.6/5.7, node 0.12/7.2)
приучаем разработчиков к сетевому взаимодействию компонентов
Microservice - масштабирование/разделения разработки
Делим ресурсы staging среды между проектами
Legacy в коробочке. Dev-среда на базе Kubernetes / Илья Сауленко (Avito)Ontico
РИТ++ 2017
Зал Сан-Паулу, 5 июня, 15:00
Тезисы:
http://ritfest.ru/2017/abstracts/2653.html
Новые микросервисы появляются, но монолит никуда не исчезает. Мы в Avito разрабатываем и деплоим сервисы с помощью связки Docker и Kubernetes. Зачастую интегрировать монолит с сервисами довольно проблематично. А что, если монолит тоже завернуть в Docker+Kubernetes и применять те же практики, что и для микросервисов?
В докладе речь пойдёт о том, как изменилась Dev-среда в Avito в связи с переходом на микросервисную архитектуру. В частности, поговорим про:
- подход "legacy in a box";
- то, как мы решали проблемы с базами и sphinxsearch;
- то, как Docker и Kubernetes помогли нам сократить различия между окружениями;
- Developer Experience.
Доклад будет полезен как командам, планирующим или переживающим распил монолита, так и всем тем, кому приходится работать со сторонними legacy-системами.
У нас было 500 страниц спецификаций, 40000 строк кода, 2 офиса, полдюжины разработчиков, а также целое множество андроидов всех сортов и расцветок. Не то, чтобы это был необходимый запас для приложения крупной торговой сети. Но если начал собирать софт, становится трудно остановиться. Единственное, что вызвало у меня опасение — это сетевая библиотека. Нет ничего более беспомощного, безответственного и испорченного, чем писать AsyncTask на каждый вызов. Я знал, что рано или поздно мы перейдём на Event Bus.
Август 2014, DevDay, Новосибирск
Олег Годовых «Страх и ненависть в Event Bus»DevDay
У нас было 500 страниц спецификаций, 40000 строк кода, 2 офиса, полдюжины разработчиков, а также целое множество андроидов всех сортов и расцветок. Не то, чтобы это был необходимый запас для приложения крупной торговой сети. Но если начал собирать софт, становится трудно остановиться. Единственное, что вызвало у меня опасение — это сетевая библиотека. Нет ничего более беспомощного, безответственного и испорченного, чем писать AsyncTask на каждый вызов. Я знал, что рано или поздно мы перейдём на Event Bus.
О чем нам могут рассказать access логи вебсервера? Поиск аномалий и отклонений от нормы? Откуда наши пользователи? Город? Страна? Сайт? Сколько запросов генерируют роботы? Когда в последний раз к нам приходил поисковик для индексации? Какая динамика по ошибкам и страницам отсутствующим на сайте?
Лучшие практики Continuous Delivery с Docker / Дмитрий Столяров (Флант)Ontico
Потребность в отстроенном процессе Continuous Delivery встает перед каждым развивающимся highload-проектом. Чем больше серверов и составных приложений, чем выше динамика релизов, тем раньше проект сталкивается с данной потребностью, и тем острее она стоит.
Многие команды эксплуатации смогли отстроить этот процесс, некоторые добились впечатляющих результатов, а некоторые — потерпели неудачу. Но все из них знают, что их процесс можно улучшить: сделать быстрее, надежнее, предсказуемее и удобнее.
В этом докладе я хочу обобщить и систематизировать лучшие практики построения процесса Continuous Delivery с использованием актуальных Open Source технологий (Docker, Chef, Gitlab, Kubernetes), а также обозначить известные проблемы и потенциальные пути их решения.
Будет предпринята попытка однозначно ответить на следующие практические вопросы:
- Почему пора всем переходить на Docker? Как лучше собирать Docker-образы? Как лучше доставлять и хранить Docker-образы?
- Как правильно построить процесс разработки Infrastructure as Code (IaC)?
- Как оптимально интегрировать автоматическое и ручное тестирование в процесс Continuous Delivery?
- Как перестать бояться регулярных выкатов новых версий и сделать этот процесс надежным?
- Почему Continuous Delivery не заканчивается релизом новой версии и зачем нужен Kubernetes?
This document contains an excerpt from a 2003 O-NET exam in Thailand testing language skills. The excerpt includes:
1) A conversation with gaps to be filled in with appropriate words. It discusses a power outage at a school.
2) A job interview roleplay with gaps to be filled. It involves interviewing for a public relations position at a hotel.
3) Questions testing comprehension of situational dialogs and identifying appropriate responses in different contexts.
4) Questions testing vocabulary with words to be defined in context.
5) Sentences with underlined parts, one of which makes the sentence incorrect. test-takers must identify the incorrect underlined part.
6) Questions
Este documento contiene una lista de tareas relacionadas con el uso de Internet que un estudiante deberá completar, incluyendo acceder a páginas de noticias, foros, transmisiones deportivas en vivo, y buscar definiciones y temperaturas. También incluye instrucciones para ver código HTML, descargar páginas web, y configurar el idioma de búsqueda de Google.
This document provides tips and strategies for crafting customer experiences for diverse groups of people. It discusses how customers have changed and now expect personalized experiences. It emphasizes understanding customers who are different than you by learning about their lives, priorities, and values. It also provides six ways to deepen customer experiences: tap into customers' values, be the "good guys," pay attention to trends, adapt marketing, be fearless, and focus on helping customers rather than just selling. Diversity comes in many forms, and connecting with those not like you involves relieving their pain and understanding what they need.
This document provides tips for becoming a networking master in 19 steps. It recommends attending various events to find connections, such as through alumni associations, professional groups, or industry conferences. When at events, the tips suggest bringing business cards, wearing comfortable attire, setting goals for conversations, and having conversation starters prepared. The document also advises asking open-ended questions, finding common interests, following up within 48 hours, and staying in contact with new connections over time.
This document displays a list of Google+ collections with the name of each collection and the number of followers. There are over 20 collections listed across different topics including music, books, programming languages, security, and mobile apps. The collections allow users to follow topics that interest them and see updates from those communities on Google+.
This document discusses data collection, analysis, and using insights to take action. It provides examples of collecting customer data from a cafe over months and analyzing peaks and valleys to plan events. It also discusses collecting digital marketing data from various channels, analyzing metrics like costs, impressions, and engagement. The key aspects of data discussed are collecting facts and statistics, analyzing them to gain insights, and then taking informed action.
ECPAT Indonesia's 2013 annual report outlines their activities that year to combat commercial sexual exploitation of children. These included strengthening internal management and direct service programs, investigating cases of CSEC, conducting research on reducing child trafficking and online sexual violence against children, holding a regional conference on legal protection for victims, and running prevention programs in East Jakarta on trafficking and CSEC. The report provides an overview of ECPAT Indonesia's vision, mission, and the various events and accomplishments in 2013 to fulfill their goals of protecting children from commercial sexual exploitation.
The document discusses the benefits of exercise for mental health. Regular physical activity can help reduce anxiety and depression and improve mood and cognitive functioning. Exercise causes chemical changes in the brain that may help protect against mental illness and improve symptoms.
Food Forward Trends Report 2015 - Asia Pacificwsaustralia
The document summarizes key findings from the Weber Shandwick Asia Pacific Food Forward Trends Report II, which examined consumer sentiment and food culture trends across Australia, China, South Korea, and Singapore. Four main trends emerged: 1) the preference gap between eating at home versus away is narrowing; 2) social media is profoundly influencing culinary knowledge and recipe inspiration; 3) online shopping for food is growing steadily, especially in China and South Korea; and 4) celebrity endorsements face increasing scrutiny. Social media was found to be a primary driver of new recipe discovery and food experience sharing across the region.
This is a war-story about deploying and managing Jenkins instances in the cloud in our company. For this purpose, we use Mesos and Docker plugins. In the talk I focus on our requirements to Jenkins in the Cloud, prerequisites and the preparation process. The presentation also covers the current state of the deployment and the lessons learnt.
We are hiring! Msk and Spb: https://goo.gl/HjfOz5
Модным ныне словом «виртуализация» сейчас называют различные обёртки аппаратной виртуализации, однако этот термин намного старше и более всеохватывающий. На уровне ознакомления с технологией мы поговорим о виртуализации ресурсов в кластере и на примере pacemaker.
Опенсорс-инструменты на страже безопасности бэкенда — Петр ВолковYandex
Антивирусная система Яндекса ежедневно обнаруживает тысячи взломанных сайтов. Периодически среди них встречаются крупные и известные интернет-ресурсы.
Администраторы сайтов часто оказываются не готовы к тому, что злоумышленник может пробраться через внешний периметр и исполнить произвольный код на стороне сервера. В результате перед ними встаёт нелегкая задача: обнаружить последствия и предотвратить дальнейшие проблемы.
Доклад посвящён практикам и инструментам, которые могут существенно повысить эффективность противодействия вредоносной активности, и профилактике её возникновения.
Петр Леменков - Как облачные технологии меняют Linux-дистрибутивы Yandex
Из доклада вы узнаете, как появление облачных решений изменило взгляды на большой аптайм систем, как производятся обновления систем («Pets and Cattle»). Вы также услышите рассказ о systemd — новом дистрибутиве Linux и CoreOS, о контейнерных технологиях и cgroups. Рассмотрены операционные системы как first-class citizen среди прочих приложений и вопрос о целесообразности использования UNIX-way.
Пора ли отправлять С на свалку истории? Пишем демонов на PHP с использованием...Vadim Kruchkov
Вадим Крючков [Long], руководитель группы разработки, компания Agunga
Считается (в общем случае — вполне справедливо), что писать демонов на PHP — моветон. Использовать для прототипирования интерфейсов взаимодействия — можно, а вот в продакшене ни-ни. Именно с таким представлением мы начинали разработку новой версии игры — проработаем интерфейсы взаимодействия с демоном, который к запуску будет переписан на высокопроизводительном С. Однако, первые тесты демона, написанного на PHP с использованием libevent, заставили нас серьезно задуматься — а нужен ли нам переход на С? Какую производительность нам удалось достичь? Течет ли память? Обо всем этом будет рассказано в докладе. А так же - особенности использования и недокументированные возможности расширения, облегчающие рутинные операции
Seminarul Internaţional „Implementarea tehnologiei IR (repozitorii instituţionale): Sistemul DSpace”, 14-15 aprilie 2011. Chişinău, Ambasada Regală a Norvegiei în România, Asociaţia Bibliotecarilor din Republica Moldova, Consorţiul REM, Programul EIFL-OA, Biblioteca Ştiinţifică a Academiei de Studii Economice din Moldova. Instructor: Kuzma KUDIM, Institutul Sisteme Software al Academiei de Ştiinţe din Kiev, Ucraina.
- Краткая вводная про Docker (namespaces, cgroups и как Docker все это использует)
- Как заходить в Docker из вашего софта?
- Примеры: pam_docker и php_fpm_docker
«Масштабируемый DevOps» Александр КолесеньIT Share
Типичные подходы к развертыванию приложений: как правильные, так и неправильные, но повсеместно применяемые.
Как сделать так, чтобы развертывание не стало проблемой с линейным ростом количества поддерживаемых окружений.
Методы обновления проекта с нулевым временем простоя: когда это уместно и принципиально возможно.
Автор - Дмитрий Бородаенко (Debian Project, ex-SaM Solutions Dept6 head). Краткий вводный курс по пакетированию программного обеспечения средствами Debian/Ubuntu. Прочитан в апреле 2012 года для сотрудников отдела Linux & Embedded SaM Solutions. Публикуется по договоренности с лектором.
Видео: http://bit.ly/13Tw24s
6. alex@workstation:~$ ssh root@newserver
Linux EVBYMINSD234A 3.2.0-4-amd64 #1 SMP Debian 3.2.51-1 x86_64
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Tue Jun 17 14:39:08 2014 from workstation
root@newserver:~# apt-get install nginx-light php5-fpm php5-curl mysql-server
sudo
Reading package lists... Done
Building dependency tree
Reading state information... Done
sudo is already the newest version.
The following extra packages will be installed:
libaio1 libdbd-mysql-perl libdbi-perl libhtml-template-perl
libmysqlclient18 libnet-daemon-perl libonig2 libplrpc-perl libqdbm14 mysql-
client-5.5 mysql-common mysql-server-5.5 mysql-server-core-5.5 nginx-common
php5-common
The following NEW packages will be installed:
libaio1 libdbd-mysql-perl libdbi-perl libhtml-template-perl
libmysqlclient18 libnet-daemon-perl libonig2 libplrpc-perl libqdbm14 mysql-
client-5.5 mysql-common mysql-server mysql-server-5.5 mysql-server-core-5.5
nginx-common
nginx-light php5-common php5-curl php5-fpm
0 upgraded, 19 newly installed, 0 to remove and 0 not upgraded.
Need to get 13.7 MB of archives.
After this operation, 108 MB of additional disk space will be used.
28. А можно так прямо у меня?
Конечно! Можно поднять виртуалку.
А если в команде больше одного
человека?
А если нужно проверить всё под новой
версией ОС?
29. Vagrant
$ vagrant up
Box — это готовая, минимально
конфигурируемая виртуалка. Свой box
сделать тоже несложно!
30. Немного магии
config.vm.provision "ansible" do |ansible|
ansible.playbook = "ansible/dev.yml"
ansible.groups = {
"dev" => ["default"],
}
end
$ ansible-playbook -i qa env.yml$ vagrant provision
31. Итого
У каждого разработчика свое окружение
Управляется двумя командами:
$ vagrant up
$ vagrant provision
QA, staging, production etc — под тем же
провиженингом
35. Спасибо
Майклу Дехану за ansible
Митчеллу Хашимото за Vagrant
Вам за внимание :-)
kamazee
alex@kurilo.me
Editor's Notes
Типичные варианты работы с окружением:
1) веб-сервер на локальной машине и куча проектов на нем;
2) удаленный dev-сервер, настроенный одним человеком.
И это печально.
Подчинить — значит контролировать окружение. Ну и, по возможности, самому диктовать правила, а не полагаться на него.
Если у вас есть ответ на перечисленные вопросы, то … →
Если нет — я расскажу историю одного проекта. Грустноватую.
Жил был проект.
На нем работало около четырех разработчиков.
Все работали на одном сервере, заботливо настроенном первым тимлидом.
Сервер этот располагался в корпоративном облаке, папка с проектом монтировалась по sshfs или самбе → медленные операции IO, сетевые задержки (датацентр).
Задержки обычно до 1 мс, жить, в принципе, можно. Едем дальше.
Жил-был сервер.
На том же самом сервере крутилось приложение для QA.
И вот, как-то раз, как ни странно, понадобилось вывести приложение за пределы ограниченного круга разработчиков-тестировщиков.
Конечно, можно было просто создать еще один виртуальный хост, настроить еще одну базу данных, еще один сет индексов и источников данных для sphinx, бла-бла-бла.
Однако это не особо-то решало проблему, потому что всем понятно, что разумеется, когда-то нужен будет и совершенно отдельный сервер.
Сделовательно, с этим нужно было покончить. Окей, поехали.
Ветеран devops’а ехидно ухмыльнется, откроет терминал и уверит в том, что новый сервер поднимет за пару часов от силы.
Поставить пакеты, запилить конфиги — как-то так, в обшем.
Ну, и через пару часов бодро отрапортует о том, что мол, окружение готово. Заливайтесь, мол, и пользуйтесь на здоровье.
Залились.
Открываем главную страницу.
На ней пустота. И только где-то сверху, черным по белому (Fatal Error)
Подумаешь, LDAP-расширения нету!
Еще разок.
Что-то как-то легче не стало.
Сколько еще левых расширений использует этот код?
Сколько там еще подводных камней?
Никто не знает.
Что с этим сделать?
Ну, например, инструкцию написать.
Это решает проблему только отчасти: всё-таки выполнение инструкции и добавление в нее шагов кроме памяти и совести разработчика никто не форсирует.
Плохо!
Написать скрипт?
В общем, те, кто хоть раз пытался более-менее качественно автоматизировать установку проектного окружения шелл-скриптом наверняка поймут выражения фасада животного на слайде.
Куча времени и тонны неподдерживаемого кода.
Почти всё уже сделано до нас. Очень много кода, который управляет установкой и конфигурацией софта уже написано.
Да-да, то, что нужно.
Всё это — системы провиженинга.
Описание состояния сервера
Провиженеры могут требовать агента на управляемом сервере.
Пара слов об Ansible без читки мануалов:
1. Не требует от сервера почти ничего, кроме ssh (разве что Python, который и так там, скорее всего, есть вместе с системой) и нескольких питоновский модулей, который в большинстве случаев просто поставить сам.
2. Всё примерно так, как вы себе представляете. Он сам ходит на сервер, ставит пакеты и пишет конфиги.
3. Немного подробнее о применяемых там терминах.
Playbook — собственно, описание окружения. Последовательность задач, которую нужно выполнить на серверах, чтобы там было всё, что нужно приложению.
Роль — объединение задач, переменных для исполнения и handler’ов (хуков) для какой-то конкретной цели.
Например, заставить сервер использовать определенное зеркало, добавить сторонний репозиторий или установит веб-сервер.
Перечень серверов, которые входят в окружение для одного экземпляра приложения (возможно со значениями переменных для этого конкретного хоста)
Всё вместе — ansible выполняет таски и отчитывается.
Когда-то года два с половиной назад на Хабре появилась статья — 5 основных антипаттернов системного администрирования.
Там было четко и недвусмысленно сказано: настройка сервера по ssh руками — антипаттерн. Тогда я косо посмотрел на нее и прошел мимо.
http://habrahabr.ru/post/136323/
А сейчас вот прихожу ровно к тому же: делать этого не стóит, потому что изменения эти локальны. Конфиги провиженинга же при правильном подходе сразу прорастут на всех окружениях, где это будет нужно.
В целом, использование системы провиженинга и хранение рецептов провиженера вместе с проектом дает следующие преимущества
С серверами разобрались.
Что делать разработчикам?