Последние публикации

Тестирование производительности Yandex ClickHouse для учета ресурсов облака CloudStack

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

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

В рамках статьи мы рассматриваем использование СУБД Yandex ClickHouse для решения задачи доступа к аналитической информации аккаунтинга.

Подробнее ...

Подход Trunk-Based Development в разработке

В предыдущих статьях мы уже затрагивали тему подходов при работе с git и подробно рассматривали метод Gitflow и Feature Branch Workflow как основу коллективной работы над кодом. Напомним, что основной идеей в Gitflow является создание feature-веток – для разработки одного нового функционала создается отдельная ветка, которая вливается в ветку develop, когда работа над функциалом окончена. При этом нередко возникают сложности с разрешением конфликтов, сломаными сборками.

В данной статье мы рассмотрим альтернативный подход для контроля версий исходного кода – разработка на основе главной ветки, или Trunk-Based Development. В ее основе лежит такая модель ветвления, в которой разработчики совместно работают над кодом в одной ветке, называемой «главной» (или master в терминологии Git). При этом второстепенные feature-ветки также могут создаваться, но они имеют короткий срок жизни. Этот подход прочно занимает свои позиции наряду с другими документированными методами разработки в долгосрочных ветках и позволяет разработчикам избежать сложностей связанных со слиянием веток. Словосочетание «главная ветка» (от англ. “trunk” - ствол) несет в себе идею растущего дерева, у которого самой толстой и самой длинной частью является именно ствол, а не ветви, которые расходятся от него и имеют более ограниченную длину.

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

При использовании разработки на основе главной ветки процессы непрерывной интеграции и непрерывной поставки являются критически необходимыми, так как позволяют участникам команды прогнозируемо интегрировать свои наработки в основной код с обеспечением гарантии качества результата.

Один из приверженцев подхода TBD, выступая на конференции JAX, говорил, что у них в команде есть большая красная сирена, которая воет каждый раз, когда интеграция неуспешно. Это мотивирует участников команды делать изменения такими компактными, чтобы шанс их интеграции без ошибок был максимально выскоким.

Данная статья является переводом оригинальной статьи с официального сайта подхода TBD – trunkbaseddevelopment.com.

Подробнее ...

Улучшаем InfluxDB с помощью Apache Kafka

За что мы любим InfluxDB? За то, что это выдающийся продукт, который позволяет работать с временными рядами легко; обеспечивает высокую производительность как на вставку, так и на извлечение данных; за то, что предлагает нам SQL-подобный язык запросов с удобными функциями обработки временных данных (например, производная от значений); за то, что его поддерживают удобные инструменты визуализации, такие как Grafana; за непрерывные запросы, позволяющие выполнять на лету агрегацию данных; а еще за то, что начать работать с InfluxDB можно в течение пары часов.

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

В этой статье мы рассмотрим как с помощью дополнительного кластера Apache Kafka обеспечить масштабирование и отказоустойчивость InfluxDB для популярных вариантов использования, без необходимости приобретения коммерческой лицензии на кластер InfluxDB.

Подробнее ...

Упаковка приложений Python в форму самораспаковывающихся исполняемых файлов с помощью Pyinstaller

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

Подробнее ...

Релиз CloudStack-UI 1.411.29 доступен для использования

Данный обзор включает в себя описание ключевых улучшений релиза CloudStack-UI версии 1.411.29. Основные усилия команды в этой итерации были сконцентрированы на создании нового плагина Resource Limits Management, который позволяет администраторам и пользователям управлять ограничениями ресурсов через интерфейс. Также, мы улучшили работу UI-плагина Log View и таких компонентов интерфейса, как управление снимками, управление настройками UI и ключами API, отображение уведомлений об ошибках, управление группами безопасности виртуальной машины, исправили ряд ошибок в работе плагина Pulse и всей системы в целом. Подробнее о проделанной работе читайте ниже.

Подробнее ...