Тестирование аварий / Андрей Губа (Одноклассники)Ontico
В 2013 году случилась самая большая авария в истории Одноклассников: в течение трёх дней проект был целиком, а потом частично, неработоспособен. После того, как мы устранили последствия аварии, к нам пришел бизнес со следующим вопросом: какие проблемы видит технический отдел компании и какие варианты защиты может предложить. Сходу мы выделили три основных — взлом хакерами, DDoS-атаки и аварии. Взломы — не в плоскости конференции Highload, про DDoS-атаки — наоборот, рассказывают довольно часто. Поэтому в этом докладе мы поговорим именно про аварии.
Отказ диска или сервера мы давно не считаем аварией — у нас несколько тысяч серверов, и подобные сбои происходят по нескольку раз в день. Среди выделенных нами серьезных отказов — отказ канала связи до дата-центра, сбои электричества, перегрузка какой-то из подсистем, вызванная ростом какой-то активности (в т.ч. эксперименты), ошибка программиста/инженера и другие.
По каждому из перечисленных направлений мы проанализировали риски и провели ряд работ на портале, позволивший нашей системе успешно функционировать в условиях перечисленных выше проблем. Как и в программировании, мы решили, что тестирование — это отличный способ выявлять проблемы на ранних стадиях и ликвидировать их минимальными средствами. В презентации мы расскажем о том, как мы защищаемся от каждой из перечисленных выше угроз и сфокусируемся на техниках эмуляции аварийных ситуаций.
Управление релизами, как оно есть / Рыжкин Андрей Яковлевич (AGIMA)Ontico
Процесс доставки разрабатываемого функционала всегда строится на компромиссах между тем, чтобы доставлять быстро, и тем, чтобы не потерять качество. Причем, чем больше времени тратится на деплой, тем меньше времени остается на качество. Проблема становится все более актуальной с каждым этапом роста объемов производства. Существует многообразие различных методологий и технологий, призванных стандартизировать процессы деплоя и релизов, и в своем докладе я хочу рассказать о том, какой процесс мы настроили для себя, и как это помогло нам тратить больше времени на качество.
Тезисы - http://www.highload.ru/2015/abstracts/1884.html
Скорость с доставкой до пользователя / Анатолий Орлов (Self Employed), Денис ...Ontico
1. Многие коллективы разработчиков пытаются измерять скорость отклика сайта и пишут, например, “эта страничка сформирована за 300 ms”.
2. Проблема в том, что 300 ms — это "у нас на сервере". Пользователю, на самом деле, все равно, сколько это "у вас на сервере”, ему надо “сколько у меня в браузере”. В среднем по больнице, 300 ms на сервере с размером странички в 60-70 Кб, могут быть 2.5 секунды на клиенте.
3. Перед тем, как это лечить, надо это измерить. Есть 2 способа:
а. Navigation timing api, поддерживается сейчас много где, но не везде поддерживается одинаково, есть места, сложные для понимания и осмысления (тут много слайдов).
б. Можно взять tcpdump, в нем есть ACK ответов от клиентов, и измерять по ним. Есть Open Source soft (софт нап Насретдинов исан мной в Яндексе, есть договоренность его выпустить), который это делает. В tcpdump большой бонус в том, что можно понять, что происходит.
4. Что происходит в соединении, что такое rtt, как это влияет на latency. Как на это влияет cdn и вынесение всяких фронтендов ближе к пользователю.
5. Почему, вообще, бывает медленно, почему у пользователя может медленно работать wi-fi даже на широком и хорошем канале, уже не говоря про мобильный интернет.
6. Как влияют на скорость антивирусы и еще некоторая неведомая DPI херня (tm), которая делает так, что в советской России (а, возможно, во всем мире) https часто быстрее, чем http (и с чем, собственно, связано то, что на него куча компаний переходят).
AWS re:Invent 2016: Turbocharge Your Microsoft .NET Developments with AWS (DE...Amazon Web Services
In this session, you will discover how to integrate the AWS developer tools into your development process. We will demonstrate how to leverage AWS services, the .NET SDK, and the Visual Studio Toolkit to simplify and streamline your development processes. This session is targeted at development teams using Microsoft Visual Studio and the Microsoft ecosystem of products. Most of the presentation will be in Visual Studio.
Тестирование аварий / Андрей Губа (Одноклассники)Ontico
В 2013 году случилась самая большая авария в истории Одноклассников: в течение трёх дней проект был целиком, а потом частично, неработоспособен. После того, как мы устранили последствия аварии, к нам пришел бизнес со следующим вопросом: какие проблемы видит технический отдел компании и какие варианты защиты может предложить. Сходу мы выделили три основных — взлом хакерами, DDoS-атаки и аварии. Взломы — не в плоскости конференции Highload, про DDoS-атаки — наоборот, рассказывают довольно часто. Поэтому в этом докладе мы поговорим именно про аварии.
Отказ диска или сервера мы давно не считаем аварией — у нас несколько тысяч серверов, и подобные сбои происходят по нескольку раз в день. Среди выделенных нами серьезных отказов — отказ канала связи до дата-центра, сбои электричества, перегрузка какой-то из подсистем, вызванная ростом какой-то активности (в т.ч. эксперименты), ошибка программиста/инженера и другие.
По каждому из перечисленных направлений мы проанализировали риски и провели ряд работ на портале, позволивший нашей системе успешно функционировать в условиях перечисленных выше проблем. Как и в программировании, мы решили, что тестирование — это отличный способ выявлять проблемы на ранних стадиях и ликвидировать их минимальными средствами. В презентации мы расскажем о том, как мы защищаемся от каждой из перечисленных выше угроз и сфокусируемся на техниках эмуляции аварийных ситуаций.
Управление релизами, как оно есть / Рыжкин Андрей Яковлевич (AGIMA)Ontico
Процесс доставки разрабатываемого функционала всегда строится на компромиссах между тем, чтобы доставлять быстро, и тем, чтобы не потерять качество. Причем, чем больше времени тратится на деплой, тем меньше времени остается на качество. Проблема становится все более актуальной с каждым этапом роста объемов производства. Существует многообразие различных методологий и технологий, призванных стандартизировать процессы деплоя и релизов, и в своем докладе я хочу рассказать о том, какой процесс мы настроили для себя, и как это помогло нам тратить больше времени на качество.
Тезисы - http://www.highload.ru/2015/abstracts/1884.html
Скорость с доставкой до пользователя / Анатолий Орлов (Self Employed), Денис ...Ontico
1. Многие коллективы разработчиков пытаются измерять скорость отклика сайта и пишут, например, “эта страничка сформирована за 300 ms”.
2. Проблема в том, что 300 ms — это "у нас на сервере". Пользователю, на самом деле, все равно, сколько это "у вас на сервере”, ему надо “сколько у меня в браузере”. В среднем по больнице, 300 ms на сервере с размером странички в 60-70 Кб, могут быть 2.5 секунды на клиенте.
3. Перед тем, как это лечить, надо это измерить. Есть 2 способа:
а. Navigation timing api, поддерживается сейчас много где, но не везде поддерживается одинаково, есть места, сложные для понимания и осмысления (тут много слайдов).
б. Можно взять tcpdump, в нем есть ACK ответов от клиентов, и измерять по ним. Есть Open Source soft (софт нап Насретдинов исан мной в Яндексе, есть договоренность его выпустить), который это делает. В tcpdump большой бонус в том, что можно понять, что происходит.
4. Что происходит в соединении, что такое rtt, как это влияет на latency. Как на это влияет cdn и вынесение всяких фронтендов ближе к пользователю.
5. Почему, вообще, бывает медленно, почему у пользователя может медленно работать wi-fi даже на широком и хорошем канале, уже не говоря про мобильный интернет.
6. Как влияют на скорость антивирусы и еще некоторая неведомая DPI херня (tm), которая делает так, что в советской России (а, возможно, во всем мире) https часто быстрее, чем http (и с чем, собственно, связано то, что на него куча компаний переходят).
AWS re:Invent 2016: Turbocharge Your Microsoft .NET Developments with AWS (DE...Amazon Web Services
In this session, you will discover how to integrate the AWS developer tools into your development process. We will demonstrate how to leverage AWS services, the .NET SDK, and the Visual Studio Toolkit to simplify and streamline your development processes. This session is targeted at development teams using Microsoft Visual Studio and the Microsoft ecosystem of products. Most of the presentation will be in Visual Studio.
Deep dive into PostgreSQL internal statistics / Алексей Лесовский (PostgreSQL...Ontico
СУБД PostgreSQL — это огромный механизм, который состоит из множества подсистем, чья работа определяет производительность PostgreSQL. В процессе эксплуатации обеспечивается сбор статистики и информации о работе компонентов, что позволяет оценить эффективность PostgreSQL и принять меры для повышения производительности. Однако, этой информации очень много и представлена она в достаточно упрощенном виде. Обработка этой информации и ее интерпретация порой совсем нетривиальная задача, а зоопарк инструментов и утилит запросто поставит в тупик даже продвинутого DBA.
В докладе речь пойдет о подсистеме сбора статистики, о том какая информация доступна для оценки эффективности PostgreSQL, как её получить, не прибегая к зоопарку инструментов. Как интерпретировать и использовать полученную информацию, как найти узкие места, устранить их и повысить производительность PostgreSQL.
Linux Kernel Extension for Databases / Александр Крижановский (Tempesta Techn...Ontico
Много лет назад у меня была задача разработать собственное хранилище для истории Instant Messenger'а. Начав с простого индексного дерева поверх mmap(2), я быстро понял, что mmap(2), madvise(2) и компания не подходят в качестве основы для движка СУБД. Я переключился на direct IO и начал разрабатывать свой собственный менеджер памяти, продвинутое вытеснение, планирование IO с адаптивным read ahead и, конечно, обработкой транзакций. Все эти вещи делают все разработчики СУБД десятилетиями.
Неудивительно, что современные операционные системы делают все те же самые вещи на свой лад, неподходящий разработчикам СУБД. Это и управление виртуальной памятью с вытеснением страниц, и планировщики ввода-вывода с read ahead. Файловые системы обрабатывают свои операции транзакционно, очень близко с базами данных. Но движки баз данных все равно должны реализовывать все эти механизмы самостоятельно.
В этой презентации мы посмотрим на Tempesta DB, часть проекта Tempesta FW (http://github.com/tempesta-tech/tempesta). Tempesta DB расширяет ядро Linux так, что она реализует управление памятью, вытеснение и ввод-вывод, пригодные для движков user-space баз данных. Она разработана для near real-time нагрузок и сейчас требует, чтобы все данные помещались в RAM.
Мы рассмотрим следующие вопросы:
- Управление памятью и IO в ОС и СУБД на примере Linux и InnoDB;
- Попытки сообщества разработчиков ядра Linux разработать необходимые интерфейсы ядра для СУБД;
- Расширения ядра Linux, вносимые Tempesta DB;
- Интерфейсы Tempesta DB для кастомных СУБД;
- Сценарии применения Tempesta DB для обработки Web контента и правил фильтрации в Tempesta FW.
Танцующий кластер. Практическое руководство дрессировщика PostgreSQL / Алексе...Ontico
Нет единого мнения о том, как должен себя вести хорошо дрессированный кластер, какие номера он должен показывать и что будет делать в случае катастрофы. Надежда обнаружить серебряную пулю в поиске лучших практик толкает разработчиков кластерных решений перебирать один стек за другим, менять компоненты в расчете на то, что искомая комбинация обнаружится сама собой.
Наблюдая в разной степени успешный опыт коллег, мы почти сразу остановили свой выбор на стеке от ClusterLabs, который удовлетворяет всем минимальным требованиям синхронной хореографии прямо из коробки. Обучить же наш кластер PostgreSQL простейшим танцевальным движениям оказалось не самой легкой задачей. Нас выручили идея управлять голосами кворума и математическая модель суверенной демократии.
В докладе я покажу, как именно математическая модель суверенной демократии помогла построить живучий и масштабируемый кластер PostgreSQL.
Практика совместного использования Lua и C в opensource спам-фильтре Rspamd /...Ontico
В данном докладе я расскажу о том, как Lua помогает расширять функционал Rspamd, позволяя людям без особых знаний С писать эффективные правила фильтрации спама. Также будут рассмотрены особенности внедрения Lua в C код и основные приемы, применяемые при написании API для Lua приложений. Отдельное внимание будет уделено документации к Lua API, которая является одним из необходимых компонентов для opensource приложения.
Кроме этого, отдельная часть доклада посвящена анализу производительности Lua: использованию LuaJIT, сравнению вызовов C функций через FFI с традиционным вызовом, оптимизации строковых операций и таблиц в Lua.
В заключение будут рассмотрены некоторые открытые вопросы: будущее языка, наличие нескольких диалектов, статический анализ Lua стека, а также вопросы безопасности при JIT компиляции.
DevConf 2016
"Новые возможности MySQL 5.7", Дмитрий Ленев (Oracle)
MySQL 5.7 наиболее свежая стабильная ветка СУБД MySQL. Данный доклад
посвящен новым функциональным возможностям появившимся в этой версии.
В частности мы поговорим о:
- родной поддержке JSON данных и операций с ними
- генерируемых столбцах
- улучшениях в системе безопасности
- многочисленных измененениях в InnoDB
- изменениях в репликации, таких как поддержка multi-source репликации.
- многом другом
Кроме того будут освещены возможности связанные с новым X плагином, который
стал доступен с релизом версии 5.7.12 в апреле этого года.
Обсудим использование MySQL как Document Store, новый протокол и X DevApi
для коннекторов, новый клиент MySQL Shell.
"PostgreSQL для разработчиков приложений", Павел Лузанов, (Постгрес Профессио...Badoo Development
DevConf 2016
"PostgreSQL для разработчиков приложений", Павел Лузанов, (Постгрес Профессиональный)
Что нужно знать разработчику приложений о базах данных вообще и PostgreSQL в частности? Может быть достаточно основ SQL? А может во всём положиться на ORM?
Несмотря на кажущуюся простоту работы с базами данных, для качественной реализации приложений необходимы знания по самому широкому кругу тем:
- Нормализация и денормализация данных
- Типы данных и ограничения целостности
- Хранимые процедуры и триггеры
- Аналитические функции и CTE
- Транзакции и уровни изоляции
- Материализованные представления и секционирование
- Типы индексов и как их использовать
- Методы доступа к таблицам и способы их соединения
- Сбор статистики и планы выполнения запросов
А нужны ли разработчикам знания об основах администрирования и архитектуре СУБД в целом? Нужно ли понимать что и для чего делает VACUUM?
Доклад в первую очередь адресован разработчикам и архитекторам приложений, но также будет интересен администраторам баз данных и всем “сочувствующим”.
Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...Ontico
Мы в Badoo используем Docker больше года и на нашем примере попробуем поговорить о возможных моделях его применения.
+ 85% наших сервисов работают в контейнерах: для чего и почему мы перенесли свои сервисы в контейнеры.
+ Как мы подходим к сборке образов? Базовый образ: используем слои, следим за системными обновлениями.
+ Автоматизация процесса сборки образов с нашими сервисами: Jira flow, Teamcity и другие страшные для админа слова.
+ Лучшее ли место для тестирования production? Путь образа от сборки до Production.
+ baDocker: webUI своими руками: зачем и почему?
+ Как дать возможность управлять запущенными сервисами и их версиями разработчику.
+ Docker: мониторинг и анализ работающих контейнеров.
— Реальная история из жизни о том, как мы внедряли Docker;
— Хочешь чтобы все коллеги узнавали тебя? Займись внедрением Docker в своей компании!;
— Собрать все шишки? Легко… или «Даунтайм, как неотъемлемая часть внедрения»;
— Будь сильным и смелым, если уверен в перспективах и необходимости своего внедрения;
— «Делать новое не ломая старого» – основная цель любого внедрения;
— Чекпоинт, как инструмент промежуточной оценки результатов;
— Как растут наши аппетиты или о новых инфраструктурных идеях;
— Мы сделали это, значит это вполне осуществимо;
— Самое сложное позади или какие приятные результаты вас ожидают, если все пошло правильно.
Красиво и не тормозит! Анимация без ущерба для производительности приложений ...Ontico
Расскажем:
• какие инструменты Apple для разработчиков лучше применять для выявления проблем и их локализации;
• как стоит хранить большие объемы данных и проводить быстрый поиск по ним;
• как правильно строить вычисления в рамках жизненного цикла view-контроллера;
• как незначительные изменения при отрисовке сильно влияют на производительность приложений и usability.
iOS-приложения Superjob это:
• 3 приложения в AppStore для B2C и B2B-аудиторий;
• более 1 млн. пользователей;
• наше приложение - это анимации в 50-60 fps;
• стабильные позиции в ТОП-3 приложений в категории «Бизнес».
HDD, SSD, RAM, RAID, и кого на ком кэшировать / Михаил Конюхов (Perfect Solut...Ontico
Рассуждение, опыт, практика и примеры на тему производительности ввода-вывода.
Мы будем сравнивать "дефолтное" поведение SSD и HDD, сравним "недефолтное" поведение после тюнинга HDD. Я расскажу о плюсах и минусах в надежности HDD и SSD, о проблемах восстановления SSD и HDD после сбоев. Многие моменты будут посвящены кэшированию ввода-вывода, что очень помогает в реальных проектах.
Отдельная тема - оптимизация ФС и сервера для снижения количества операций ввода-вывода (IOPS), попробую оценить, что можно сделать с каким-нибудь проектом-примером.
Будут показаны и рассказаны реальные примеры из моего опыта оптимизации IO, я даже нарисую "карту принятия решения" для выбора накопителей для Вашего проекта.
NVMf: 5 млн IOPS по сети своими руками / Андрей Николаенко (IBS)Ontico
В выпуске 4.8 ядра Linux появилась поддержка NVMf (NVM Express over Fabrics) — стандартизованной возможности присоединять по сети как блочные устройства твердотельные накопители, установленные в разъёмы PCI Express. NVMf лишён многих недостатков iSCSI, повторяющего по сети SCSI-команды со всеми их издержками времён дисковых накопителей, и главное — позволяет по полной использовать возможности сетей с прямым доступом к оперативной памяти (RDMA). Таким образом, можно под управлением одного узла собрать сверхбыстрый и сверхотзывчивый пул блочных устройств, не прибегая к покупке дорогого флэш-массива. Но как воспользоваться этим пулом, не загубив теоретические показатели программными обёртками?
В докладе будут рассмотрены варианты применения NVMf для различных конфигураций PostgreSQL, Oracle Database, Hadoop, файловых хранилищ, о разработках в направлении «программно-определяемой памяти» с применением NVMe-устройств, доступных по сети, обсуждены текущие проблемы, ограничения и перспективы. Особое внимание будет уделено практическим способам измерения производительности ввода-вывода с учётом задачи, решаемой подсистемой хранения.
AWS re:Invent 2016: Operating Your Production API (SVR402)Amazon Web Services
In this session, you learn how to monitor and manage your serverless APIs in production. We show you how to set up Amazon CloudWatch alarms, interpret CloudWatch logs for Amazon API Gateway and AWS Lambda, and automate common maintenance and management tasks on your service.
Кэширование данных в web приложениях. Использование memcached / Юрий Красноще...Ontico
Каждый разработчик web приложений рано или поздно сталкивается с довольно типичной проблемой: перед ним стоит задача построить фабрику по производству омнониевых торсиометров.
Фабрика производит омнониевые торсиометры очень быстро, но для калибровки прибора (как известно) необходим омноний, за которым приходится летать на Андромеду.
Пока корабль летит до Андромеды, фабрика простаивает.
Самый очевидный выход из ситуации - построить склад омнониума прямо рядом с фабрикой.
Терминология кэширования
Выбор места для кэширования в WEB
Выбор данных для кэширования
Кэширование на стороне бэкенда
Отдельный кэширующий сервис
Пара слов о memcached
Пара слов о Redis
Deep dive into PostgreSQL internal statistics / Алексей Лесовский (PostgreSQL...Ontico
СУБД PostgreSQL — это огромный механизм, который состоит из множества подсистем, чья работа определяет производительность PostgreSQL. В процессе эксплуатации обеспечивается сбор статистики и информации о работе компонентов, что позволяет оценить эффективность PostgreSQL и принять меры для повышения производительности. Однако, этой информации очень много и представлена она в достаточно упрощенном виде. Обработка этой информации и ее интерпретация порой совсем нетривиальная задача, а зоопарк инструментов и утилит запросто поставит в тупик даже продвинутого DBA.
В докладе речь пойдет о подсистеме сбора статистики, о том какая информация доступна для оценки эффективности PostgreSQL, как её получить, не прибегая к зоопарку инструментов. Как интерпретировать и использовать полученную информацию, как найти узкие места, устранить их и повысить производительность PostgreSQL.
Linux Kernel Extension for Databases / Александр Крижановский (Tempesta Techn...Ontico
Много лет назад у меня была задача разработать собственное хранилище для истории Instant Messenger'а. Начав с простого индексного дерева поверх mmap(2), я быстро понял, что mmap(2), madvise(2) и компания не подходят в качестве основы для движка СУБД. Я переключился на direct IO и начал разрабатывать свой собственный менеджер памяти, продвинутое вытеснение, планирование IO с адаптивным read ahead и, конечно, обработкой транзакций. Все эти вещи делают все разработчики СУБД десятилетиями.
Неудивительно, что современные операционные системы делают все те же самые вещи на свой лад, неподходящий разработчикам СУБД. Это и управление виртуальной памятью с вытеснением страниц, и планировщики ввода-вывода с read ahead. Файловые системы обрабатывают свои операции транзакционно, очень близко с базами данных. Но движки баз данных все равно должны реализовывать все эти механизмы самостоятельно.
В этой презентации мы посмотрим на Tempesta DB, часть проекта Tempesta FW (http://github.com/tempesta-tech/tempesta). Tempesta DB расширяет ядро Linux так, что она реализует управление памятью, вытеснение и ввод-вывод, пригодные для движков user-space баз данных. Она разработана для near real-time нагрузок и сейчас требует, чтобы все данные помещались в RAM.
Мы рассмотрим следующие вопросы:
- Управление памятью и IO в ОС и СУБД на примере Linux и InnoDB;
- Попытки сообщества разработчиков ядра Linux разработать необходимые интерфейсы ядра для СУБД;
- Расширения ядра Linux, вносимые Tempesta DB;
- Интерфейсы Tempesta DB для кастомных СУБД;
- Сценарии применения Tempesta DB для обработки Web контента и правил фильтрации в Tempesta FW.
Танцующий кластер. Практическое руководство дрессировщика PostgreSQL / Алексе...Ontico
Нет единого мнения о том, как должен себя вести хорошо дрессированный кластер, какие номера он должен показывать и что будет делать в случае катастрофы. Надежда обнаружить серебряную пулю в поиске лучших практик толкает разработчиков кластерных решений перебирать один стек за другим, менять компоненты в расчете на то, что искомая комбинация обнаружится сама собой.
Наблюдая в разной степени успешный опыт коллег, мы почти сразу остановили свой выбор на стеке от ClusterLabs, который удовлетворяет всем минимальным требованиям синхронной хореографии прямо из коробки. Обучить же наш кластер PostgreSQL простейшим танцевальным движениям оказалось не самой легкой задачей. Нас выручили идея управлять голосами кворума и математическая модель суверенной демократии.
В докладе я покажу, как именно математическая модель суверенной демократии помогла построить живучий и масштабируемый кластер PostgreSQL.
Практика совместного использования Lua и C в opensource спам-фильтре Rspamd /...Ontico
В данном докладе я расскажу о том, как Lua помогает расширять функционал Rspamd, позволяя людям без особых знаний С писать эффективные правила фильтрации спама. Также будут рассмотрены особенности внедрения Lua в C код и основные приемы, применяемые при написании API для Lua приложений. Отдельное внимание будет уделено документации к Lua API, которая является одним из необходимых компонентов для opensource приложения.
Кроме этого, отдельная часть доклада посвящена анализу производительности Lua: использованию LuaJIT, сравнению вызовов C функций через FFI с традиционным вызовом, оптимизации строковых операций и таблиц в Lua.
В заключение будут рассмотрены некоторые открытые вопросы: будущее языка, наличие нескольких диалектов, статический анализ Lua стека, а также вопросы безопасности при JIT компиляции.
DevConf 2016
"Новые возможности MySQL 5.7", Дмитрий Ленев (Oracle)
MySQL 5.7 наиболее свежая стабильная ветка СУБД MySQL. Данный доклад
посвящен новым функциональным возможностям появившимся в этой версии.
В частности мы поговорим о:
- родной поддержке JSON данных и операций с ними
- генерируемых столбцах
- улучшениях в системе безопасности
- многочисленных измененениях в InnoDB
- изменениях в репликации, таких как поддержка multi-source репликации.
- многом другом
Кроме того будут освещены возможности связанные с новым X плагином, который
стал доступен с релизом версии 5.7.12 в апреле этого года.
Обсудим использование MySQL как Document Store, новый протокол и X DevApi
для коннекторов, новый клиент MySQL Shell.
"PostgreSQL для разработчиков приложений", Павел Лузанов, (Постгрес Профессио...Badoo Development
DevConf 2016
"PostgreSQL для разработчиков приложений", Павел Лузанов, (Постгрес Профессиональный)
Что нужно знать разработчику приложений о базах данных вообще и PostgreSQL в частности? Может быть достаточно основ SQL? А может во всём положиться на ORM?
Несмотря на кажущуюся простоту работы с базами данных, для качественной реализации приложений необходимы знания по самому широкому кругу тем:
- Нормализация и денормализация данных
- Типы данных и ограничения целостности
- Хранимые процедуры и триггеры
- Аналитические функции и CTE
- Транзакции и уровни изоляции
- Материализованные представления и секционирование
- Типы индексов и как их использовать
- Методы доступа к таблицам и способы их соединения
- Сбор статистики и планы выполнения запросов
А нужны ли разработчикам знания об основах администрирования и архитектуре СУБД в целом? Нужно ли понимать что и для чего делает VACUUM?
Доклад в первую очередь адресован разработчикам и архитекторам приложений, но также будет интересен администраторам баз данных и всем “сочувствующим”.
Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...Ontico
Мы в Badoo используем Docker больше года и на нашем примере попробуем поговорить о возможных моделях его применения.
+ 85% наших сервисов работают в контейнерах: для чего и почему мы перенесли свои сервисы в контейнеры.
+ Как мы подходим к сборке образов? Базовый образ: используем слои, следим за системными обновлениями.
+ Автоматизация процесса сборки образов с нашими сервисами: Jira flow, Teamcity и другие страшные для админа слова.
+ Лучшее ли место для тестирования production? Путь образа от сборки до Production.
+ baDocker: webUI своими руками: зачем и почему?
+ Как дать возможность управлять запущенными сервисами и их версиями разработчику.
+ Docker: мониторинг и анализ работающих контейнеров.
— Реальная история из жизни о том, как мы внедряли Docker;
— Хочешь чтобы все коллеги узнавали тебя? Займись внедрением Docker в своей компании!;
— Собрать все шишки? Легко… или «Даунтайм, как неотъемлемая часть внедрения»;
— Будь сильным и смелым, если уверен в перспективах и необходимости своего внедрения;
— «Делать новое не ломая старого» – основная цель любого внедрения;
— Чекпоинт, как инструмент промежуточной оценки результатов;
— Как растут наши аппетиты или о новых инфраструктурных идеях;
— Мы сделали это, значит это вполне осуществимо;
— Самое сложное позади или какие приятные результаты вас ожидают, если все пошло правильно.
Красиво и не тормозит! Анимация без ущерба для производительности приложений ...Ontico
Расскажем:
• какие инструменты Apple для разработчиков лучше применять для выявления проблем и их локализации;
• как стоит хранить большие объемы данных и проводить быстрый поиск по ним;
• как правильно строить вычисления в рамках жизненного цикла view-контроллера;
• как незначительные изменения при отрисовке сильно влияют на производительность приложений и usability.
iOS-приложения Superjob это:
• 3 приложения в AppStore для B2C и B2B-аудиторий;
• более 1 млн. пользователей;
• наше приложение - это анимации в 50-60 fps;
• стабильные позиции в ТОП-3 приложений в категории «Бизнес».
HDD, SSD, RAM, RAID, и кого на ком кэшировать / Михаил Конюхов (Perfect Solut...Ontico
Рассуждение, опыт, практика и примеры на тему производительности ввода-вывода.
Мы будем сравнивать "дефолтное" поведение SSD и HDD, сравним "недефолтное" поведение после тюнинга HDD. Я расскажу о плюсах и минусах в надежности HDD и SSD, о проблемах восстановления SSD и HDD после сбоев. Многие моменты будут посвящены кэшированию ввода-вывода, что очень помогает в реальных проектах.
Отдельная тема - оптимизация ФС и сервера для снижения количества операций ввода-вывода (IOPS), попробую оценить, что можно сделать с каким-нибудь проектом-примером.
Будут показаны и рассказаны реальные примеры из моего опыта оптимизации IO, я даже нарисую "карту принятия решения" для выбора накопителей для Вашего проекта.
NVMf: 5 млн IOPS по сети своими руками / Андрей Николаенко (IBS)Ontico
В выпуске 4.8 ядра Linux появилась поддержка NVMf (NVM Express over Fabrics) — стандартизованной возможности присоединять по сети как блочные устройства твердотельные накопители, установленные в разъёмы PCI Express. NVMf лишён многих недостатков iSCSI, повторяющего по сети SCSI-команды со всеми их издержками времён дисковых накопителей, и главное — позволяет по полной использовать возможности сетей с прямым доступом к оперативной памяти (RDMA). Таким образом, можно под управлением одного узла собрать сверхбыстрый и сверхотзывчивый пул блочных устройств, не прибегая к покупке дорогого флэш-массива. Но как воспользоваться этим пулом, не загубив теоретические показатели программными обёртками?
В докладе будут рассмотрены варианты применения NVMf для различных конфигураций PostgreSQL, Oracle Database, Hadoop, файловых хранилищ, о разработках в направлении «программно-определяемой памяти» с применением NVMe-устройств, доступных по сети, обсуждены текущие проблемы, ограничения и перспективы. Особое внимание будет уделено практическим способам измерения производительности ввода-вывода с учётом задачи, решаемой подсистемой хранения.
AWS re:Invent 2016: Operating Your Production API (SVR402)Amazon Web Services
In this session, you learn how to monitor and manage your serverless APIs in production. We show you how to set up Amazon CloudWatch alarms, interpret CloudWatch logs for Amazon API Gateway and AWS Lambda, and automate common maintenance and management tasks on your service.
Кэширование данных в web приложениях. Использование memcached / Юрий Красноще...Ontico
Каждый разработчик web приложений рано или поздно сталкивается с довольно типичной проблемой: перед ним стоит задача построить фабрику по производству омнониевых торсиометров.
Фабрика производит омнониевые торсиометры очень быстро, но для калибровки прибора (как известно) необходим омноний, за которым приходится летать на Андромеду.
Пока корабль летит до Андромеды, фабрика простаивает.
Самый очевидный выход из ситуации - построить склад омнониума прямо рядом с фабрикой.
Терминология кэширования
Выбор места для кэширования в WEB
Выбор данных для кэширования
Кэширование на стороне бэкенда
Отдельный кэширующий сервис
Пара слов о memcached
Пара слов о Redis
Application development with Contineo is much easier than developing applications from scratch. Virtually, anybody can build innovative I4.0 and S5.0 solutions with Contineo’s drag and drop features. Once Contineo is installed on your infrastructure, you can keep on building multiple applications on the same platform.
8. Microsoft と 上海市 が提携: 2012/11
21Vianet の ローカル DC に Azure を!
21Vianet to Operate Azure Cloud in China into 2018: April 2, 2015
http://wp.me/pwo1E-56Q
11. Satya Nadella と Modi 政権
2015:
12/01: Satya Nadella to visit Hyderabad next month
10/25: Microsoft Launches Three Cloud Data Centers in India
07/20: Microsoft: Mobile-first, cloud-first fit for India
06/26: Microsoft to commission three “hyper-scale” centres in India
01/07: Microsoft cloud service gaining pace in eastern India
2014:
11/24: Microsoft to invest Rs 1,400 crore in India cloud data centres
09/09: Microsoft to deliver cloud services from India
12. 中国とインドが主役のアジア
Digital India と Digital Darwinism
Modi 首相がリードする IT 政策
外資 100% モバイル・キャリア
積極的な外資の導入よる、
国内 IT 産業の急速な立ち上げ
西欧と同等のプライバシー政策
インターネット人口:4 億人
Tencent が言う、中国 進化論
国有テコム三社による独占
グレート・ファイアウォールによる、
国内産業の保護と育成
中国内ユーザーのプロファイルは
中国国内の DC へ
インターネット人口:6.5 億人
http://wp.me/pwo1E-8fi
http://wp.me/pwo1E-6lO
14. Microsoft と APAC
11/29: Microsoft empowers IT partners in SG to accelerate IoT
11/04: Azure to lift elevators into the cloud with IoT service
10/23: Taiwan, Microsoft team up on IoT development center
10/15: Microsoft and HKT to empower SMBs in Hong Kong
10/18: Microsoft and LG extend partnership to Internet of Things
10/04: Microsoft to present on IoT at APAC Smart Channels Summit
09/27: Microsoft signs seven new cloud partners in Malaysia
09/02: NTT Com to Greatly Expand Microsoft Dynamics® AX ERP
08/28: CHT partners with Microsoft to provide cloud computing services
08/21: Microsoft brings Chinese personal assistant to WeChat
08/20: Maxis in Office 365 partnership with Microsoft
08/16: Yellowfin Launches Free Cloud BI Solution on Azure Marketplace
06/24: Microsoft joins hand with Vietnam to promote e-Gov development
15. Azure Graph と クラウド・ネイティブ
Google の Knowledge Graph : 言語の意味解析
Facebook の Open Graph : 関係の構築と、属性の共有
長所:ポリシー変更に対する追随性(推測)
Microsoft:Office の改善 and サプライチェーン管理(予測)
http://appleinsider.com/articles/15/11/18/microsoft-graph-promises-open-developer-access-to-office-365-data
16. Top-3 の DC ロケーション
http://softwarenewsbox.com/2015/11/30/global-location-wars-amazon-vs-microsoft-vs-google/