Как стать автором
Обновить

Администрирование

Сначала показывать
Порог рейтинга
Уровень сложности

Приглашаем на Cinimex Spring IT Talk в Самаре (офлайн/онлайн)

Время на прочтение2 мин
Количество просмотров122

Привет, Хабр!

После майских праздников мы отправимся в Самару и проведем митап Spring IT Talk!

Встретимся с ИТ-комьюнити и в уютной атмосфере обсудим зоопарк технологий для DevOps-инженера, погрузимся в Kafka Streams и завершим IT-вечер темой преодоления стопперов в профессиональном развитии.

Читать далее
Рейтинг0
Комментарии0

Новости

Разбираем 5 способов ускорить сайт: от простого к сложному

Время на прочтение7 мин
Количество просмотров431

Низкая скорость загрузки — это критично. По данным исследования Unbounce, долгое ожидание негативно влияет на пользователей: 45,4% из них с меньшей вероятностью совершат целевое действие, а 11,9% — вообще покинут сайт. Давайте обсудим несколько способов, которые помогут ускорить сайт быстро и без особых усилий. 

Меня зовут Алексей Солдатов, я руководитель техподдержки SpaceWeb. В этой статье поделюсь способами для ускорения загрузки сайта, которыми пользуюсь лично, а также расскажу о некоторых подводных камнях.

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии0

Как правильно передавать секреты запускаемым программам?

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров1K

Эта статья о том, как правильно передавать секреты запускаемым программам.

Бывает встречаются Unix-системы, на которых некоторые администраторы передают процессам пароли в открытом виде, совершенно не заботясь о том, что их видят все пользователи данной системы.

Если вы смогли зайти на систему под непривилегированным пользователем, то вы можете набрать команду, отображающую список запущенных процессов

$ ps -ef

и возможно и увидеть некоторые секреты, которых видеть не должны, например, у одного из процессов ниже открыт пароль basicAuth.password (пароль в тексте изменен).

$ strings /proc/1101/cmdline /usr/local/bin/vmagent --remoteWrite.url=http://vm-cluster.local:1234/api/v1/write --remoteWrite.basicAuth.username=user-rw --remoteWrite.basicAuth.password=123456 --promscrape.config=/usr/local/etc/vmagent-config.yml

Как же быть? Есть несколько способов этого избежать.

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии2

Как Figma удалось открыть себе путь к почти бесконечному масштабированию баз данных

Уровень сложностиСредний
Время на прочтение17 мин
Количество просмотров916

О нашем девятимесячном пути к горизонтальному шардингу Postgres-стека Figma и о возможности обеспечения (почти) бесконечной масштабируемости.

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

С 2020 года стек баз данных Figma вырос почти в сотню раз. Это хорошая проблема, ведь она означает, что наш бизнес расширяется. Но в то же время она стала причиной технических сложностей. В течение последних четырёх лет мы усиленно старались не отставать от прогресса и избегать потенциальных проблем, связанных с ростом. В 2020 году у нас работала единственная база данных Postgres, которая хостилась на самом большом физическом инстансе AWS, но к концу 2022 года мы уже создали распределённую архитектуру с кэшированием, репликами для чтения и десятком вертикально разделённых баз данных. Мы разбили группы связанных таблиц (например, «Figma files» или «Organizations») на отдельные вертикальные разделы, что позволило нам обеспечить удобство инкрементального масштабирования и оставить достаточно пространства для дальнейшего роста.

Читать далее
Всего голосов 3: ↑6 и ↓-3+9
Комментарии0

Истории

Как мы реализовали реферальную программу в Telegram. 40% от платежа юзера на руки

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров250

Эта статья для тех кто ищет быструю ману, как и что реализовать в ТГ.

В марте 2024 нам пришлось наш бесплатный тариф завернуть в реферальную систему, так как средств на содержание проекта все меньше и меньше, наш проект рекламировать запретили. НУ и в целом все очень плохо.

Придумали реферальную пирамиду - приведи друга и получи 40% от его платежа и 10% пожизненно от его пополнений. Что очень круто, ты можешь быть использовать любой платный тариф бесплатно да и еще просто запросить вывод средств. Но так как мы заперты в рамки Telegram и не имели опыта в этом, мы задались вопросом - как можно сделать реферальную ссылку на бота? - в статье я продемонстрирую пример реализации на python

Чиназас сюда
Всего голосов 2: ↑1 и ↓10
Комментарии0

Как и почему мы построили Единую историю операций на Citus DB

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров433

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

Сразу оговорюсь, что не буду углубляться в технические детали и остановлюсь на подходе, который мы решили использовать. Иначе есть риск что статья превратится в километровое полотнище. А если возникнут вопросы, то либо отвечу на них в комментах, либо аккумулирую и попробую разобрать в следующей статье.

Читать далее
Всего голосов 3: ↑4 и ↓-1+5
Комментарии1

От падений базы данных до кибератак: история о том, как мы обнаружили взлом

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров1.2K

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

Читать далее
Всего голосов 2: ↑3 и ↓-1+4
Комментарии14

Низковакуумная манометрическая система на 8 позиционном откачном посту

Время на прочтение2 мин
Количество просмотров1.1K

Выглядит эта система в сборе вот так:

Последний год мы постепенно модернизируем своё откачное оборудование. Решили вот снабдить его индикатором форвакуума.

Читать далее
Всего голосов 8: ↑9 и ↓-1+10
Комментарии10

Деплой .NET приложений для самых маленьких. Часть 0

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров4K

Давным-давно, когда Linux был ещё на ядре 2.6, а PHP5 был глотком свежего воздуха, я впервые заинтересовался миром веб-технологий. Читал учебники, статьи, зависал на форумах, но все равно мало мог понять как код, который я вижу на экране, превращается в волшебные сайты с кнопками, формами и анимациями. Узнал про LAMP и его аналоги для Windows, узнал, что, оказывается, есть хостинги, где такие сайты размещаются. Как только появился внешний интернет без трафика, я поспешил перенести свои локальные поделия во внешний мир, попутно узнав про замечательный протокол FTP. Просто мир волшебных открытий был для меня, особенно когда узнал, что не нужно писать свой форум с нуля, а можно использовать что-то из phpBB, vBulletin и других уже готовых движков.

И когда я много лет спустя переключился в мир .NET, перечисленные ранее умения сыграли со мной злую шутку – я долго не мог понять, как мне найти хостинг для .NET приложений. Почему все известные мне хостинги с лёгкостью предоставляли возможность развернуть PHP приложения, причём даже предлагая какие-то предустановленные версии CMS, но днём с огнём не сыщешь хостинг под .NET. Мое непонимание принципа развертывания приложений усугубляли статьи, которые предлагали их размещать в подходящих сервисах типа Heroku, Digital Ocean или Azure – ведь это так просто и дешево…

Поэтому предлагаю максимально подробно рассмотреть вопрос публикации .NET приложений в арендованном VPS.

Читать далее
Всего голосов 18: ↑16.5 и ↓1.5+15
Комментарии22

Подводные грабли экспертных утилит при работе с инцидентами

Время на прочтение10 мин
Количество просмотров663

Привет, Хабр!

Меня зовут Максим Суханов, я ведущий эксперт в команде CICADA8 Центра инноваций МТС Future Crew. Это подразделение отвечает, в том числе, за реагирование на инциденты кибербезпасности, форензику и реверс-инжиниринг вредоносного ПО. Ещё я занимаюсь другими интересными вещами, вроде немалварного реверса, например, файловых систем NTFS, FAT12/16/32, exFAT, реестра Windows и теневых копий.

Сегодня я расскажу о двух опасных типах ошибок DFIR-инструментов: когда использование утилиты приводит к отказу на целевом хосте и если инструмент выдаёт ошибочные, но ожидаемые результаты. Для подробностей заходите под кат.

Этот пост — текстовая версия выступления на конференции SOC-Форум 2023. Вот тут можно посмотреть запись этого доклада

Читать далее
Всего голосов 2: ↑4 и ↓-2+6
Комментарии1

Книга: «Podman в действии»

Время на прочтение14 мин
Количество просмотров2K
image Привет, Хаброжители!

Пришло время обновить свой контейнерный движок! Менеджер контейнеров Podman обеспечивает гибкое управление слоями образов и полную совместимость с Kubernetes, а также дает возможность пользователям без прав администратора создавать, запускать непривилегированные контейнеры и управлять ими. OCI-совместимая поддержка Docker API позволяет перевести существующие контейнеры на Podman, не ломая свои скрипты и не меняя привычного порядка работы.

«Podman в действии» познакомит вас с менеджером контейнеров Podman. Простые объяснения и примеры позволят быстро разобраться с тем, что такое контейнеры, как они работают и как управлять ими. Вы получите глубокие знания об используемых Podman компонентах Linux и даже узнаете больше о Docker. Особенно ценны соображения автора Дэна Уолша по поводу безопасности контейнеров.

Для разработчиков и системных администраторов, имеющих опыт работы с Linux и Docker.
Читать дальше →
Всего голосов 9: ↑12 и ↓-3+15
Комментарии0

ClearML Data Management

Время на прочтение15 мин
Количество просмотров840


Очевидный для ML-инженера факт: если на вход модели подать мусор — на выходе тоже будет мусор. Это правило действует всегда, независимо от того, насколько у нас крутая модель. Поэтому важно понимать, как ваши данные будут храниться, использоваться, версионироваться и воспроизведутся ли при этом результаты экспериментов. Для всех перечисленных задач есть множество различных инструментов: DVC, MLflow, W&B, ClearML и другие. Git использовать недостаточно, потому что он не был спроектирован под требования ML. Но есть инструмент, который подходит для версионирования данных и не только — это ClearML. О нем я сегодня и расскажу.

Читать дальше →
Всего голосов 16: ↑18.5 и ↓-2.5+21
Комментарии0

Делаем резервное копирование кластера ClickHouse: простая инструкция

Время на прочтение4 мин
Количество просмотров1.2K

Делаем резервное копирование кластера ClickHouse: простая инструкция

Меня зовут Леонид Блынский и я администратор баз данных в Лиге Цифровой Экономики. В этой небольшой статье расскажу, как я делаю резервное копирование кластера ClickHouse размером 20 ТБ.

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

Читать далее
Всего голосов 4: ↑5 и ↓-1+6
Комментарии1

Ближайшие события

Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн
Конференция «IT IS CONF 2024»
Дата20 июня
Время09:00 – 19:00
Место
Екатеринбург

Упростить развертывание приложений в облаке — open source инструменты, которые помогут это сделать

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров1.1K

C помощью cloud-сервисов можно решить множество задач бизнеса — например, организовать централизованное управление корпоративной ИТ-инфраструктурой, разместить клиентские приложения и обеспечить высокую доступность веб-ресурсов при пиковых нагрузках, сократить затраты на серверы и сетевое оборудование.

Но деплой в облаке — задача нетривиальная. Нужно подготовить код и среду, проверить работоспособность и доступность сервиса. Есть открытые решения, которые упрощают этот процесс. Некоторые из них уже набрали популярность — например, Piku и Dokku. Но мы решили поговорить о менее известных, но не менее интересных утилитах, позволяющих запустить коммерческие проекты и снизить расходы на администрирование: Kamal, Qovery, Cuber и MicroK8s.

Читать далее
Всего голосов 7: ↑9.5 и ↓-2.5+12
Комментарии0

8. Nix в пилюлях: Универсальные скрипты сборки

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров418

Продолжаем знакомство с Nix и NixOS. В прошлых статьях мы научились собирать пакеты Nix (деривации), а теперь попробуем написать универсальный скрипт сборки, который можно было бы использовать для сборки множества пакетов.

Люка Бруно продолжает свой захватывающий рассказ.

Читать далее
Всего голосов 3: ↑5.5 и ↓-2.5+8
Комментарии0

Мощности напрокат. Как принципы шеринг-экономики раскрываются в облаках

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров509

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

В статье поделюсь соображениями, почему облачные вычисления оказались лучшим отражением принципа «пользоваться, а не владеть». Дело не только в цене.

Читать далее
Всего голосов 10: ↑9.5 и ↓0.5+9
Комментарии0

Микросотовые IP-DECT-системы Yealink: настройка и тестирование

Время на прочтение6 мин
Количество просмотров478

Мы продолжаем цикл статей, посвященный микросотовым системам Yealink.

Первая статья цикла

Вторая статья цикла

Третья статья посвящена настройке и запуску микросотовой системы Yealink и включает в себя описание следующих этапов работы:

Читать далее
Всего голосов 5: ↑6 и ↓-1+7
Комментарии0

Как настроить ETL с json’ами в Apache NiFi

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров941

Привет, Хабр! Меня зовут Сергей Евсеев, сегодня я расскажу, как в Apache NiFi настраивается ETL-пайплайн на задаче с JSON’ами. В этом мне помогут инструменты Jolt и Avro. Пост пригодится новичкам и тем, кто выбирает инструмент для решения схожей задачи.

Что делает наша команда

Команда работает с данными по рекрутингу — с любой аналитикой, которая необходима персоналу подбора сотрудников. У нас есть различные внешние или внутренние источники, из которых с помощью NiFi или Apache Spark мы забираем данные и складируем к себе в хранилище (по умолчанию Hive, но есть еще PostgreSQL и ClickHouse). Этими же инструментами мы можем брать данные из хранилищ, создавать витрины и складывать обратно, предоставлять данные внутренним клиентам или делать дашборды и давать визуализацию.

Описание задачи

У нас есть внешний сервис, на котором рекрутеры работают с подбором. Сервис может отдавать данные через свою API, а мы эти данные можем загружать и складировать в хранилище. После загрузки у нас появляется возможность отдавать данные другим командам или работать с ними самим. Итак, пришла задача — нужно загрузить через API наши данные. Дали документацию для загрузки, поехали. Идем в NiFi, создаем пайплайн для запросов к API, их трансформации и складывания в Hive. Пайплайн начинает падать, приходится посидеть, почитать документацию. Чего-то не хватает, JSON-ы идут не те, возникают сложности, которые нужно разобрать и решить.

Ответы приходят в формате JSON. Документации достаточно для начала загрузки, но для полного понимания структуры и содержимого ответа — маловато. 

Мы решили просто загружать все подряд — на месте разберемся, что нам нужно и как мы это будем грузить, потом пойдем к источникам с конкретными вопросами. Так как каждый метод API отдает свой класс данных в виде JSON, в котором содержится массив объектов этого класса, нужно построить много таких пайплайнов с обработкой разного типа JSON’ов. Еще одна сложность — объекты внутри одного и того же класса могут отличаться по набору полей и их содержимому. Это зависит от того, как, например, сотрудники подбора заполнят информацию о вакансии на этом сервисе. Этот API работает без версий, поэтому в случае добавления новых полей информацию о них мы получим только либо из данных, либо в процессе коммуникации.

Читать далее
Всего голосов 11: ↑12.5 и ↓-1.5+14
Комментарии2

Greenplum, NiFi и Airflow на страже импортозамещения: но есть нюансы

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров688

В статье описывается практическое применение популярных Open-Source технологий в области интеграции, хранения и обработки больших данных: Apache NiFi, Apache Airflow и Greenplum для проекта по аналитике учета вывоза отходов строительства.

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

Читать далее
Всего голосов 5: ↑5 и ↓0+5
Комментарии2

Это база: нюансы работы с Redis. Часть 2, репликация

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров1.1K

Всем привет, на связи Пётр, инженер компании Nixys. В прошлой статье мы разобрали основные концепции Redis. Теперь рассмотрим базовую репликацию Redis и настроим эту БД на высокий уровень отказоустойчивости.

Читать далее
Всего голосов 7: ↑8 и ↓-1+9
Комментарии0
1
23 ...