В этой статье рассмотрим некоторые сервисы, которые помогут вам найти инвесторов для стартапа и сэкономить время в процессе. Мы сами регулярно пользуемся такими сервисами, когда работаем с клиентами, которые хотят привлечь инвестиции в стартап.
Практической опыт проектирования систем графового анализа
Наши коллеги из группы компаний ГлоуБайт не так давно публиковали достаточно развернутый материал по графовой аналитике, в котором содержится базовая теория и приведены области практического применения. В этой статье мы бы хотели поделиться опытом проектирования данного класса систем, какие специализированные движки используем, какую типовую архитектуру применяем и как к ней пришли.
Управление в децентрализованных сетях
В статье рассматривается способ управления (администрирования) компьютерами в небольшой организации. Компьютеры на базе Debian объединены в несколько несвязанных между собой сетей, равнозначны между собой, нет выделенных серверов и отдельного рабочего места у администратора.
Ruby под нагрузкой, или Как поменять Puma на Falcon за неделю до релиза
Всем привет! Меня зовут Александр Шерман, я тимлид в команде CRM в Самокате. Мы в первую очередь известны по своей модели доставки заказов от 15 минут. Чтобы укладываться в такой норматив, у нас достаточно жёсткие SLA (2,5 минуты на сборку заказа), что, в свою очередь, диктует строгие требования к надёжности и быстродействию сервисов.
Часть проектов у нас написана на Ruby. Если раньше в качестве web-сервера для них мы использовали Puma (который уже стал de-facto стандартом) и горя не знали, то в определённый момент нам его производительности стало не хватать. В статье, сделанной по мотивам моего доклада на конференции Ruby Russia 2022 расскажу, как и зачем мы переехали на другой веб-сервер.
Чем хорош мониторинг SCADA-систем WinCC в Zabbix
Для управления производством мы в «Северстали» используем SCADA-системы, в частности, SIMATIC WinCC. Такие решения радуют своей универсальностью и мощью, они позволяют управлять процессами, производственными линиями, машинами и установками во всех промышленных секторах компании и отслеживать их работу. Но у WinCC есть и недостатки. Например, если использовать несколько SCADA-систем (а у нас их около тысячи!), то сложно настроить оперативный мониторинг их работоспособности. Это мешает быстро видеть и предупреждать проблемы. Но мы нашли выход — Zabbix.
Как опытный кардиолог, глядя на кардиограмму пациента, может с уверенностью сказать, что тому следует исключить нагрузки и следить за сердцем, так Zabbix способен заметить изменения в графиках метрик WinCC и предупредить о надвигающихся проблемах. Я, Арсений Тиунов, менеджер по визуализации, расскажу, как мы настроили систему мониторинга на производствах «Северстали» и каких результатов добились.
Автоматизация обработки данных
Основная статья Взаимодействие DWH Oracle и MS SQL
Завершающим этапом для загрузки, обработки данных и наполнения данных куба, можно назвать автоматизацию выполнения задач по расписанию. Для реализации этого в MS SQL Server имеется SQL Agent.
Предварительно необходимо создать учетную запись (Credential) (см. Рис. 1), из-под которой будет выполняться запуск заданий (Job). Эта учетная запись должна быть связана с доменной учетной записью, которой будет предоставлены привилегии. Этой учетной записи можно выдавать доступы, например, в каталогах для загрузки и выгрузки файлов, доступа к серверам и т.п. Если данную учетную запись не создавать, то необходимо выдавать доступы для учетной записи SQL Agent, что может не соответствовать с вашей политикой безопасности в организации.
Конфигурирование BGP на Juniper MX
Привет, мимо пробегающий читатель!
В прошлой статье я обмолвился, что, возможно, опишу конфигурацию присутствующих в решении маршрутизаторов Juniper MX204. Близится конец года, и напоследок я решил написать небольшую статью на эту тему.
Оптимизация данных в MS SQL
Основная статья Взаимодействие DWH Oracle и MS SQL
Одним из методов для оптимизации обработки, хранения и администрирования данных в базе данных и кубах MS SQL — это процесс создании партицирования данных.
Partitioning (партицирование или по-другому секционирование) — это разбиение таблицы на несколько частей, а эти части на одну или несколько файловых групп. Партицирование необходимо для целей ускорения доступа чтения или изменения данных и администрирования. Так как выровненный индекс по таблице будет содержаться в каждой условно своей секции, то при чтении или изменении данных будет обращение к конкретной секции и конкретному индексу в этой секции.
Со стороны администрирования для процесса переноса (например архивирования) данных в другую таблицу без физического перемещения данных, а перемещения только логической секций, подлежащих этой операции, выполнение этого действия происходит мгновенно, что экономит время и ресурсы машины. Для этого необходимо подготовить таблицу «архив» — копию по структуре с таблицей источника, она может быть не партицированна.
Пример кода для переноса в таблицу:
DIY-метаданные: как мы собрали велосипед, который везет на себе технологические данные компании
Привет, Хабр! Меня зовут Ткачев Константин, и я работаю архитектором в Леруа Мерлен.
В этой статье я хочу рассказать, как мы смогли, используя только open-source, построить систему работы с метаданными, которая позволила:
- централизовать и унифицировать описания данных, используемых в компании;
- автоматизировать процессы загрузки данных в корпоративное хранилище — платформу данных;
- и сделать еще многое-многое другое…
А если добавить к этому, что мы сделали это быстро — и в итоге за пару месяцев получили работающую систему, то станет ясно, почему мы решили поделиться этим опытом с пользователями Хабра.
Полезные инструменты и сервисы для поиска уязвимости транзакций для оценки риска блокчейна и различных криптовалют
Большинство сервисов включают в себя комплексную платформу для мониторинга взлома и алгоритма процесса для безопасности криптокошельков. В криптоанализе нам всегда важен контроль и анализ транзакций. Эти сервисы полезны, во-первых, для выявление финансовых преступлений связанные с криптокошельками, во-вторых, для борьбы с отмыванием денег и в третьих для криптоугроз фишинга, а также устранение багов, ошибок и уязвимостей.
Визуализация данных
Финальным результатом при построении аналитического хранилища является передача готовых данных пользователям.
Для отображения данных из OLAP кубов используется настольное приложение Business Analytics tools (BAT). Данное приложение состоит фактически из двух приложений: приложение для просмотра, редактирования отчетов пользователями и приложение для
администрирования, в котором создается подключение к кубам данных, выполняется настройка ролей для распределения прав доступов и создается базовая структура отчетов.
Мониторинг межсервисного взаимодействия Kubernetes с помощью протокола NetFlow
Часто возникает ситуация, когда в кластере работает много взаимодействующих между собой сервисов, но из-за спонтанности разработки эти взаимодействия могут быть нигде не документированы. То есть ни команды разработки, ни команды эксплуатации доподлинно не знают, какие приложения куда обращаются, как часто, и какую нагрузку создают эти обращения. И когда возникает проблема с производительностью какого-то сервиса, не совсем понятно, на что нужно обратить внимание.
В идеале хотелось бы иметь какую-то карту взаимодействия сервисов в Kubernetes, которая сама автоматически обновляется. Такую карту можно построить с помощью инструментов типа Istio и Cilium. Но иногда можно обойтись и более простыми решениями — например, NetFlow.
Проектирование SSAS кубов
Первым этапом для проектирования данных под OLAP кубы является распределение загруженных данных по таблицам по структуре Ральфа Кимбалла. Необходимо создать таблицы измерений, которые будут хранится в третьей нормальной форме. Создать, например, таблицы сущностей Договора, Клиенты, Счета, различные справочники и т.п. И так же создать таблицу фактов, т.е. та таблица, где будет происходить движение. Например, такой может быть таблица, в которой хранятся остатки по счетам клиента на определенную дату. Таблица фактов должна содержать в себе все ключевые поля, которые ссылаются на таблицы измерений. Такой классический вид имеет название: тип «Снежинка».
Таблицы измерений должный иметь primary key на ключевое поле. Таким образом таблица будет содержать unique clustered index (уникальный кластеризованный индекс), и таблица будет в нужном нам отсортированном порядке.
Таблица фактов должна иметь партицирование по отчетной дате и clustered index с составным ключом. И если это позволяет наш режим работы иметь партицирование по отчетной дате и clustered column store index (колоночный индекс). Данный тип хранения таблицы имеет ряд преимуществ - это 10-ти кратное сжатие данных и ускорение считывания данных при наборе их в куб, но обязательным условием для эффективного применения данного индекса является необходимость хранить более 1 миллиона строк на одну секцию.
Импортозамещаем Evernote. Obsidian – менеджер заметок и лучший друг менеджеров
Привет, Хабр! Меня зовут Николай Суворов. Я – профессиональный менеджер, руководитель направления Delivery Management в МТС Digital. Занимаюсь Enablement Platform – единой платформой для быстрого создания продуктов в экосистеме МТС. Сегодня я расскажу о своем pet-проекте и о том, как я заменил привычный, но такой недоступный Evernote прекрасным менеджером заметок Obsidian. Статья будет интересна прежде всего тем, кто хочет обладать «вторым мозгом» и ни о чем не забывать.
Истории
Виртуализация
Цикл статей "Инженерия машинного обучения".
Этой статьей мы начинаем публикацию цикла материалов, посвященных созданию и управлению инфраструктурой для проектов машинного обучения (MLOps), который основан на лекциях совместного учебного курса УрФУ и ООО "Сайберлимфа" "Инженерия машинного обучения" [1]. Мы планируем в ближайших статьях кратко рассмотреть отдельные темы этого курса: виртуализация, автоматизация работы с данными, инструменты для создания пайплайнов, CI/CD для ML, средства мониторинга и контроля. При изложении акцент будет сделан на практическом применении, в том числе на инструментах для решения задач MLOps, например, Jenkins, Ansible, dvc, Airflow, MLFlow и другие. Конечно же изложение вышеуказанных тем будет кратким, в "формате habr", достаточным для формирования у читателя понимания того, как и зачем пользоваться тем или иным инструментом, однако недостаточным для того, чтобы сразу после прочтения статьи приступить к выполнению производственных задач. Конечно же для этого требуется практика и более системное изучение инструментария и имеющихся подходов. И если вам интересно продолжать совершенствование в этом направлении, то рекомендуем обратиться к курсу "Инженерия машинного обучения" УрФУ, в котором представленные в статьях темы рассматриваются более глубоко, а также многочисленным источникам по теме: книгам, тематическим каналам, видеолекциям. Также мы планируем учитывать обратную связь от читателей и рассказывать о том, что может быть востребовано в ваших проектах. Пожалуйста, пишите пожелания в комментариях или напрямую авторам.
Автоматизируем перевод с деплоя bash-скриптами на helmfile при помощи Python: инструкция по применению
Выпускник курса Python для инженеров Максим Дубакин рассказал о рабочем проекте собственного производства, который заавтоматизировал повторяющиеся задачи по переводу с деплоя bash-скриптами на helmfile при помощи Python и уменьшил затраты времени на ~ 2 часа.
Используем функционал Podman вместо docker-compose на примере Gitea
В своем порыве использовать только технологии компании Red Hat, я решила освоить их first-party контейнерный стек. В основе стека лежит podman
- движок для контейнеров, работающий без демон-процесса и без root привилегий по умолчанию. podman
интегрируется в экосистему Red Hat - запуск контейнеров производится посредством systemd
; контейнеры интегрируются с SELinux. Конечно, самая главная причина использовать podman
вместо Docker - его включение по умолчанию в дистрибутив Red Hat Enterprise Linux и подобные.
Архитектура и решения безопасности в облаке часть 2
В первой части статьи мы обсудили стоп-факторы, которые блокировали возможность встраивания методологии CI/CD в процесс облачной разработки, а также способы, которыми они были устранены. Возможность безопасного и прозрачного управления Группами Безопасности командами разработки и используемые решения для осуществления контролей ИБ из библиотеки безопасности.
В этой статье я расскажу вам про новые системы, которые нам удалось внедрить и использовать, тем самым повысив уровень безопасности и отказоустойчивости облака.
Чем занимается ClickHouse пока мы спим или неожиданный OOM
Не смотря на все свое дружелюбие и конструкторную гибкость - ClickHouse временами выглядит, как весьма капризная технология. Одной из таких особенностей, с которой мне довелось столкнуться - стала борьба с внезапным OOM. В данной статье мы вместе с вами попробуем рассмотреть причины, откуда этот внезапный OOM, собственно, может браться.
Конечно, довольно часто причина кроется в неоптимальной схеме самой таблицы, неэффективном запросе или настройках самого ClickHouse. В этой статье мы шагнем чуть дальше и поговорим о бэкграундных процессах в ClickHouse, необходимых для его работы и при этом потребляющих драгоценную оперативную память.
Взаимодействие DWH Oracle и MS SQL
В ряде статей планирую рассказать о подготовке данных, основных этапах разработки и дальнейшего использования данных в Microsoft Analysis Services (SSAS), о процессе построения аналитического хранилища данных на Microsoft SQL Server (MS SQL), о взаимодействии с базами данным Oracle и другими источниками нашего банка Совкомбанк, а также рассказать о возможностях MS SQL которые мы используем.
Основной задачей для создания аналитического хранилища является автоматизация сбора информации с источников, ее трансформации и представления готовых данных бизнес – аналитикам, помощи в анализе данных в управленческом учете, что помогает и упрощает исследования деятельности организации, нахождения проблем в бизнесе и последующих решений выявленных проблем.
Чаще всего аналитики сталкиваются с проблемами оперативного изменения агрегированных данных и выявлении факторов влияющими на эти данные. Довольно часто аналитики получают и анализирую данных в плоском сгруппированном виде, не всегда есть возможность без подключения технических специалистов разложить составляющие на самый низкий уровень гранулярности, определить неточности в данных. И физически человек не способен воспринимать многомиллионные строки данных, например в excel. Для этого на помощь приходит SSAS. В него можно загрузить большой объем данных и при необходимости развернуть до основных составляющих данных.
Дополнительно поставлю вопросы как цели: как мы упрощаем жизнь для бизнес – аналитиков, как вовремя и качественно сдаем отчетность в ЦБ, как с легкостью обрабатываем терабайты данных для предоставления их пользователям?