Как стать автором
Обновить
373.03
Рейтинг
Конференции Олега Бунина (Онтико)
Профессиональные конференции для IT-разработчиков
Сначала показывать
  • Новые
  • Лучшие

Как сделать стрим в Postgres?

Блог компании Конференции Олега Бунина (Онтико) Высокая производительность *PostgreSQL *Администрирование баз данных *Хранилища данных *

На одной конференции мне задали вопрос (спасибо Александру!): как сделать стрим в PostgreSQL? Представьте, что имеется bytea и вы к нему хотите что-то дописать. Люди столкнулись с тем, что на это в PostgreSQL  тратится гигантское время  и растет WAL-трафик. 

Расскажу, что с этим возможно сделать — это будет еще один пример оптимизации TOAST (о чем я недавно писал), на на этот раз — для быстрой записи потока бинарных данных. На самом деле мой коллега, Никита Глухов, за несколько часов сделал расширение, которое «вылечило» проблему, и мы даже успели рассказать про это на сессии блиц-докладов на PGConf.Online 2021.

Читать далее
Всего голосов 15: ↑15 и ↓0 +15
Просмотры 2.4K
Комментарии 0

Новости

Борьба с  TOAST или будущее JSONB в PostgreSQL

Блог компании Конференции Олега Бунина (Онтико) Высокая производительность *PostgreSQL *Администрирование баз данных *Хранилища данных *

В PostgreSQL есть два типа данных: JSON и JSONB. Первый формат является текстовым хранилищем, в котором json хранится "as is",  второй — бинарным, в нем ключи отсортированы  (сначала по длине ключа, а потом по его названию), дубликаты удалены, а пробелы удалены.

Тип JSONB имеет богатую поддержку, облегчающую работу разработчиков приложений, для него есть встроенные индексы, кроме того, существует расширение Jsquery, в котором реализован язык запросов к JSONB и дополнительные индексы. Когда у меня спрашивают, чем пользоваться, я всегда советую JSONB, так как он позволяет работать очень эффективно. 

Однако у постгреса есть серьёзная проблема, которая сказывается и на производительности JSONB  — это TOAST, и о ней я говорил в первой части. Сегодня я расскажу о том, как мы улучшили JSONB для того, чтобы существенно повысить его производительность.

Читать далее
Всего голосов 54: ↑53 и ↓1 +52
Просмотры 8K
Комментарии 7

Мониторинг как процесс, или Как перестать бояться алертов и начать спать по ночам

Блог компании Конференции Олега Бунина (Онтико) Системное администрирование *IT-инфраструктура *Service Desk *DevOps *

Думаю, многие были в такой ситуации, когда каналы данных разрываются от бешеного количества алертов, находя нас, где бы мы ни были — когда мы едим, спим, в дороге или в душе. Когда мы уже боимся любого звука, который исходит от телефона. Когда уведомления — это белый шум, который мешает, а не помогает находить проблемы в инфраструктуре.

Но статья будет не про сравнение систем мониторинга или методов, а про простые практики, которые каждый из вас может применить. Про здравый смысл в применении этих практик. И про опыт ЦФТ — про те боль и проблемы, с которыми столкнулась компания, как их решала и к чему в итоге пришла. Эта история о том, как перестроить процессы внутри компании, чтобы мониторинг перестал быть стихийным и стал актуальным и управляемым.

Нормально делай — нормально будет, и Виталий Медведев, инженер по автоматизации ЦФТ, разделяет эту истину. Эта статья написана по его выступлению на конференции Saint HighLoad 2021.

Читать далее
Всего голосов 8: ↑7 и ↓1 +6
Просмотры 5.3K
Комментарии 3

Обеспечение качества чат-бота: разбираем на примере слоёного пирога

Блог компании Конференции Олега Бунина (Онтико) Блог компании Ozon Tech Тестирование веб-сервисов *Машинное обучение *Искусственный интеллект

В Ozon поступают сотни тысяч заказов в день — при таком масштабе у пользователей неизбежно возникают очень разнообразные вопросы, которые они пишут в чат поддержки: как оплатить баллами «Спасибо», как вернуть не понравившуюся кофту или есть ли доставка в Норильск. При этом большинство вопросов в поддержку однотипны, а ответа пользователи ожидают мгновенно и в любое время суток. 

Чтобы отвечать на все эти вопросы, в Ozon есть несколько тысяч сотрудников КЦ в Твери и Тамбове, но даже при таком количестве специалистов им нужна помощь, в первую очередь по ответам на часто повторяющиеся вопросы. И самое очевидное решение — автоматизация с помощью чат-бота.

Меня зовут Михаил Волков, и я руковожу разработкой платформы чат-ботов и сегодня расскажу, как мы измеряем их качество работы и улучшаем взаимодействие наших чат-ботов с пользователями. Посмотрим на это с нескольких разных сторон и постараемся понять, какой из существующих подходов более эффективный.

Читать далее
Всего голосов 12: ↑12 и ↓0 +12
Просмотры 1.8K
Комментарии 6

Kubernetes: трансформация к SecDevSecOpsSec

Блог компании Конференции Олега Бунина (Онтико) Информационная безопасность *DevOps *Микросервисы *Kubernetes *

Данная статья — взгляд на то, как Kubernetes способен повысить уровень безопасности, упростив управление ею и ускорив внедрение механизмов безопасности с точки зрения специалиста по ИБ, который большую часть своей карьеры занимался наступательной безопасностью. Сейчас на примере Kubernetes я вижу, что на нем можно организовать так называемую self defense (самозащищающуюся) систему.

Меня зовут Дмитрий Евдокимов, я founder и CTO компании Лантри, а кто-то может меня лучше знать, как автора каналаk8s (in)security. Про безопасность я буду говорить, исходя из моего опыта, как человека, который десять лет атаковал различные системы, реализуя угрозы и риски. Ссылка на мое выступление на конференции DevOps Conf 2021 будет в конце статьи.

Читать далее
Всего голосов 28: ↑27 и ↓1 +26
Просмотры 3.4K
Комментарии 7

Микросервис головного мозга. Пилим всё, что движется

Блог компании Конференции Олега Бунина (Онтико) Блог компании SberCloud JavaScript *Облачные сервисы Микросервисы *

Это история о том, как увеличить скорость выкатки фич, но сохранить качество продукта. О болевых точках, которые замедляют разработку, и новой «болезни» — микросервисе головного мозга, которую диагностировал Михаил Трифонов, техлид фронтов в SberСloud. Он утверждает, что она приводит к росту функциональности ML Space на 683% при увеличении команды разработки всего в 2 раза. Невероятно, но бизнес-аналитика это подтверждает. Так что давайте разбираться по порядку.

Читать далее
Всего голосов 18: ↑18 и ↓0 +18
Просмотры 8.2K
Комментарии 6

Выявление техдолга и оценка его процентов

Блог компании Конференции Олега Бунина (Онтико) IT-стандарты *Управление разработкой *Конференции DevOps *

Как оценить технический долг и получить разрешение на его починку, прежде чем он поглотит вас и вашу команду? Этот вопрос рано или поздно встает перед всеми лид-разработчиками. Но его решение требует большой экспертизы и грамотного анализа. Поэтому давайте вместе разбираться, как лучше искать, извлекать и обеспечивать техдолг, а заодно выясним причём тут слоны.

Читать далее
Всего голосов 18: ↑18 и ↓0 +18
Просмотры 2.6K
Комментарии 0

Мониторинг системы мониторинга, или Жизнь внутри индекса

Блог компании Конференции Олега Бунина (Онтико) Тестирование IT-систем *Системное администрирование *Тестирование веб-сервисов *Поисковая оптимизация

Мы с Аней не тестировщики. Мы относимся к эволюционирующему классу IT-специалистов — системным администраторам или operations-инженерам. Но в нашей повседневной жизни мы тоже не обходимся без тестов. И сегодня мы хотим немного поговорить про Splunk. Точнее, вся наша статья будет именно про него.

Читать далее
Всего голосов 21: ↑20 и ↓1 +19
Просмотры 3K
Комментарии 0

Ваши процессы попахивают. Как это понять и что делать?

Блог компании Конференции Олега Бунина (Онтико) Управление разработкой *Управление проектами *Управление продуктом *Управление персоналом *

В этой статье я не буду рассказывать про успешные внедрения, лучшие практики и общеполезные методики. Я вообще не буду давать какие-либо советы. Наоборот, попытаюсь на основании своего опыта рассказать, как бывает плохо, какие практики быстро становятся ужасными и чего нужно опасаться.

Читать далее
Всего голосов 59: ↑57 и ↓2 +55
Просмотры 15K
Комментарии 16

Как тимлиду и эйчару проводить собеседования, чтобы было интересно кандидату и полезно команде

Блог компании Конференции Олега Бунина (Онтико) Управление разработкой *Управление проектами *Управление персоналом *Карьера в IT-индустрии

100% персонала нанимается, вы их приводите в команду через найм, через собеседования. Но многие тимлиды считают, что создание команды с необходимыми компетенциями — исключительно задача HR. Но даже если они вместе пригласили кандидата и провели собеседование — не факт, что человек выберет именно эту команду и присоединится к ней.

Не все тилиды не знают, как можно сообща с эйчаром проводить собеседования, чтобы было интересно кандидату и полезно команде. Я хочу рассказать, как можно им вместе провести действительно классное собеседование. Моя статья основана на опыте 200+ собеседований, которые я провел, чтобы отдел из 40 с лишним человек в ЦФТ.

Читать далее
Всего голосов 16: ↑14 и ↓2 +12
Просмотры 8.8K
Комментарии 8

Проклятье TOAST и с каким маслом его ест JSONB

Блог компании Конференции Олега Бунина (Онтико) Высокая производительность *PostgreSQL *Администрирование баз данных *Хранилища данных *

О роли формата JSON в эволюции реляционных баз данных я недавно рассказал на двух конференциях — HighLoad++ и Saint HighLoad++ 2021. А также о том, что мешает эффективно использовать JSONB (бинарный JSON)  и как с этим можно бороться.

Сегодня посмотрим на особенности работы с TOAST — отдельным хранилищем для длинных записей.  Начну с проклятия TOAST для JSON, а в следующей части расскажу, как это можно использовать в PostgreSQL, и за счет чего получится повысить производительность JSONB.

Читать далее
Всего голосов 27: ↑26 и ↓1 +25
Просмотры 4.5K
Комментарии 0

Будьте сами изменениями, или Три года тотального самоуправления на химическом производстве

Блог компании Конференции Олега Бунина (Онтико) Управление продуктом *Управление продажами *Управление персоналом *Будущее здесь

Чем отличается миссия от эволюционной цели?

Миссия — это то, что вы хотите сделать в жизни. Эволюционная цель — это то, к чему вы хотите приложиться, чтобы это было достигнуто и совершено в мире. В этот момент ваши конкуренты превращаются в союзников. 

Если ваша миссия, как у врача — лечить людей, это значит, что вам нужно, чтобы люди болели, иначе вы не сможете их лечить. Другие врачи будут вашими конкурентами. А если ваша эволюционная цель «Все люди здоровы», то все врачи — ваши союзники в деле, чтобы люди когда-то перестали болеть, а вы смогли заняться чем-то другим.

У компании «Ойл Энерджи» эволюционная цель — все скважины в мире построены и эксплуатируются бережно с применением качественных и безопасных материалов. После этого можно будет заняться чем-то другим, а пока для достижения цели компания трансформировалась в принадлежащую самой себе и живет по принципам Социократии 3.0. Эта история в основном интересна владельцам компаний, но, как говорится, плох тот миддл, кто не хочет стать топом. Посмотрим, как это было и как это вообще возможно.

Читать далее
Всего голосов 20: ↑20 и ↓0 +20
Просмотры 2.5K
Комментарии 1

Детектирование и оценка сбоев

Блог компании Конференции Олега Бунина (Онтико) Блог компании Авито Разработка веб-сайтов *Тестирование веб-сервисов *Управление продуктом *

Поговорим про инциденты и инцидент-менеджмент. Буквально погрузимся в них, разберём основные черты и характер. Рассмотрим типовые ситуации из моего опыта, как этот процесс работает в Авито, как мы измеряем наши инциденты, как их фиксируем, какие есть тонкие моменты и каких результатов мы в этом добились.

Меня зовут Дмитрий Химион, я работаю в компании Авито и в последнее время занимаюсь механизмом, который автоматизировано детектирует деградации продуктов Авито, определяет потери и собирает информацию по сбоям.

Читать далее
Всего голосов 12: ↑12 и ↓0 +12
Просмотры 1.7K
Комментарии 5

Повышаем производительность файлового I/O в JVM на Linux

Блог компании Конференции Олега Бунина (Онтико) Высокая производительность *Java *Разработка под Linux *Хранилища данных *

Все кто хоть раз касался разработки I/O интенсивных приложений, наверное, задумывался о повышении их производительности. Особенно когда у проекта много внешних хранилищ и они находятся по всему миру. Давайте разберем какие есть инструменты с их плюсами и минусами и как их лучше использовать на примере конкретного проекта, в котором принимал участие Дмитрий Бундин, старший Big Data-разработчик в Grid Dynamics.

Читать далее
Всего голосов 31: ↑29 и ↓2 +27
Просмотры 4.4K
Комментарии 14

Как напечатать float

Блог компании Конференции Олега Бунина (Онтико) Блог компании Авито Совершенный код *Тестирование веб-сервисов *Тестирование мобильных приложений *

Казалось бы, совершенно непонятно, зачем живым людям в 2021 году решать задачу под названием «печатаем обычное вещественное число». Вроде бы это должно быть уже решено — причём примерно в тот момент, когда эти вещественные числа изобрели. Но оказывается, что нет. 

Привет, меня зовут Андрей, я занимаюсь инфраструктурой поиска в Авито и сегодня расскажу, зачем это вообще нужно — печатать вещественные числа. Какие есть методы (один) решения этой боевой задачи и как это получилось у нас в проекте, в рамках наших очень странных требований. А также, зачем таки подобное, хм, умеренно эзотерическое знание, может когда-то понадобиться и вам. На каком бы вы языке не писали. Read on!

Читать далее
Всего голосов 45: ↑44 и ↓1 +43
Просмотры 11K
Комментарии 23

Service Mesh на стероидах: как построить управляемое взаимодействие между сотнями микросервисов

Блог компании Конференции Олега Бунина (Онтико) Блог компании Netcracker Высокая производительность *API *Микросервисы *

Сталкивались ли вы с задачей построить Enterprise-grade-приложение из десятков приложений, слабо связанных друг с другом, разрабатываемых разными командами, с разными моделями релиза?

Мы хотим поделиться опытом, как решили эту задачу в Netcracker. Как в этом помогла концепция Service Mesh и идея применить «микросервисную модель» и к структуре Service Mesh. Мы реализовали Non Uniform Service Mesh (NUM), который представляет собой продукт и набор паттернов его применения.

Сама статья основана на расшифровке выступления на SaintHighload 2021 в Питере Алексея Ефимова, системного архитектора Netcracker и руководителя отдела Cloud Core. Ссылка на запись — в конце статьи.

Читать далее
Всего голосов 20: ↑20 и ↓0 +20
Просмотры 7.1K
Комментарии 0

Микросервисы: проблемы, которые мы не замечаем

Блог компании Конференции Олега Бунина (Онтико) Высокая производительность *Совершенный код *Управление разработкой *Микросервисы *

Переехать в микросервисы можно двумя способами. Можно построить платформу — это надежно, но очень сложно. Или можно поднять Kubernetes и начать в него коммитить новые сервисы. Переезд проходит быстро и легко, но редко получается то, на что вы рассчитываете. Например, вместо микросервисной структуры вы можете обнаружить распределенный монолит.

Многие при этом не задумываются, правильно ли они пилят микросервисы. Как в синдроме утенка: увиденное самым первым становится единственно верным решением.

Меня зовут Олег Федоткин, я Head of PaaS СберМаркет, мы занимаемся той самой платформой, которая помогает разработчикам лучше, удобнее и быстрее писать микросервисы. Мы стандартизируем всю разработку, стараясь снизить Time to Market для новых фич. Но это всё равно очень сложно. Поэтому сегодня я разберу самые распространенные микросервисные проблемы.

Читать далее
Всего голосов 29: ↑27 и ↓2 +25
Просмотры 12K
Комментарии 5

Почему наш стартап переехал с Flask на FastAPI

Блог компании Конференции Олега Бунина (Онтико) Блог компании Datafold Python *Программирование *Big Data *

Как так оказалось, что стартап решил поменять стек? Это же затраты и все возникающие при этом сложности переезда. Но если хочешь получить короткий, эргономичный, хорошо читаемый код, приходится идти на жертвы. Но давайте по порядку.

Алекс Морозов, co-founder & CTO в компании Datafold, рассказал, как они переехали с Flask на FastAPI и поделился собственным опытом такого переезда. Это не только то, что пишут в документации, а конкретные проблемы, с которыми они столкнулись при переезде, и как они их обошли. На примерах посмотрим, что стоит сделать, а каких решений лучше избегать.

Читать далее
Всего голосов 24: ↑22 и ↓2 +20
Просмотры 11K
Комментарии 8

Строим эффективный сетевой обмен в PHP-микросервисах

Блог компании Конференции Олега Бунина (Онтико) Блог компании Авито PHP *Сетевые технологии *Микросервисы *

Микросервисы сейчас — это новый черный. Все больше и больше компаний переходят именно на микросервисную архитектуру. И при переходе ловят самые разные ошибки. Самая популярная происходит из-за того, что люди просто не готовы к тому, что их приложения начинают активно использовать сеть. Потому что IPC и RPC-запросы  — это абсолютно разные вещи.

Я техлид в команде Авито в проекте SLA. Сегодня расскажу, как мы оптимизировали сетевые вызовы, чтобы избежать проблем с сетью при переходе в микросервисный мир. Разговор будет про оптимизацию CURL-запросов, деградацию сервисов и FAIL-FAST-подходы.

Читать далее
Всего голосов 43: ↑42 и ↓1 +41
Просмотры 12K
Комментарии 19

Мифология и реальные методы прагматичного программирования

Блог компании Конференции Олега Бунина (Онтико) Блог компании Хекслет Разработка веб-сайтов *Программирование *Совершенный код *

В разработке цветет культ Карго. Многие программисты полагаются на слова, которые сказал какой-то очень уважаемый автор десятки лет назад. Они продолжают разрабатывать код, опираясь на подходы, которые либо не актуальны, и даже сам автор уже давным-давно поменял свою точку зрения. И сегодня мы поговорим о некоторых очень распространенных принципах программирования, которые не так однозначны, как может показаться на первый взгляд.

Меня зовут Кирилл Мокевнин, и я — сооснователь школы программирования Хекслет. За последние пару лет я провел собеседования с более чем 400 человек, потенциальными наставниками по совершенно разным направлениям в разработке. В результате у меня собралась большая выборка наблюдений, которые мы и разберем в этой статье.

Читать далее
Всего голосов 74: ↑69 и ↓5 +64
Просмотры 16K
Комментарии 25

Информация

Дата основания
Местоположение
Россия
Сайт
www.ontico.ru
Численность
31–50 человек
Дата регистрации
Представитель