Pull to refresh
811
29.1
Гуменюк Иван @Meklon

Linux админ, врач-исследователь

Send message

Hashicorp Vault — собираем непрямую репликацию через ведро

Level of difficulty Hard
Reading time 15 min
Views 3.9K

Hashicorp Vault - прекрасный продукт для централизованного хранения всех паролей и других секретов компании. При этом, многие знают, что удобная ключница - это идеальный способ потерять все ключи одновременно. Когда я работал в крупном телекоме, то DRP-протоколы с восстановлением данных учитывали даже запрет на сбор более двух Хранителей Ключей в одном месте. Чисто на случай очень неудачного корпоратива с совместным полетом на воздушном шаре, дегустацией домашних грибов или другими подобными факторами. Короче, если вы внедряете подобную систему, то вам надо очень внимательно подходить не только к вопросам эксплуатации, но и резервного копирования и восстановления.

Сегодня я не буду глубоко касаться темы организации правильного хранения фрагментов ключей Шамира. Вместо этого, я попробую рассказать о том, как развернуть с нуля отказоустойчивый кластер Hashicorp Vault в community edition. Для этого поднимем основной и тестовый кластер Vault в нескольких регионах и датацентрах. Тестовый кластер у нас одновременно будет служить и резервным в рамках процедуры DRP.

Чтобы было совсем интересно, настроим процесс таким образом, чтобы тестовый кластер был односторонней репликой продуктивного с отставанием в несколько суток. Разумеется, все развертывание мы будем проводить в парадигме Infrastructure-as-a-code с Terraform и Ansible в качестве основных инструментов.

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

Читать далее
Total votes 22: ↑22 and ↓0 +22
Comments 15

Проксируем OpenVPN с помощью Cloak

Level of difficulty Easy
Reading time 9 min
Views 50K

Cloak — это подключаемый транспорт, который расширяет возможности традиционных прокси-инструментов, таких как OpenVPN, Shadowsocks и Tor для обхода сложной цензуры и дискриминации данных.

Руководство будет включать:

1. Предисловие

2. Описание работы Cloak

3. Настройку сервера Cloak

4. Настройку клиента Cloak на OpenWRT

5. Настройку клиента OpenVPN

Читать далее
Total votes 34: ↑34 and ↓0 +34
Comments 59

Как я поменял профессию: из тканевой инженерии в adult-индустрию

Level of difficulty Easy
Reading time 11 min
Views 61K

Если ты DevOps, который работает с adult‑проектами, то твой типичный «взрослый контент» будет выглядеть примерно так.

Одна из самых традиционных тем на Хабре — это внезапные карьерные перемещения из различных профессий в IT и обратно. У меня, вот, чудесный коллега — профессиональный мясник с соответствующим образованием. Мониторинг настраивает как боженька и умеет убедительно отстаивать свою точку зрения. Образование позволяет.

Меня тоже можете принимать в свои ряды людей со странной сменой профессии. Как многие помнят по моим старым постам — я изначально врач, который свернул в направлении фундаментальной науки и тканевой инженерии. Все вот эти развлечения со стволовыми клетками, выращиванием органов в биореакторах и прочими нетиповыми экспериментальными задачами. И вот тут меня внезапно позвали на собеседование в крупный телеком… Короче, очнулся я уже будучи DevOps в компании, которая занимается сложными проектами, некоторые из которых про adult‑видео. Ну вот те самые специальные обучающие фильмы для взрослых, которые двигатель прогресса. С петабайтами отданного трафика, набегами миллионов пользователей и прочими радостями.

Работает у нас это примерно так — у бизнеса наступает момент, когда приходит осознание, что все. Приехали. Инфраструктура работает, вроде бы все в порядке, но построена на костылях, которые заботливо укладывали три поколения сотрудников назад. Документации нет, как все это работает — никто не помнит. Если сервер сдохнет, воскресить в случае чего никто не сможет.

И вот где‑то в этот момент обычно появляемся мы с командой WiseOps и начинаем перебирать по винтику все археологические слои кода, архитектуры и бизнес‑логики. У нас уже есть несколько десятков клиентов и три из них про видеоконтент.

Предлагаю перейти под кат, а я попробую рассказать, как выглядит вся эта индустрия глазами врача/био‑инженера/DevOps.

Читать далее
Total votes 215: ↑206 and ↓9 +197
Comments 164

Чёрная плесень

Reading time 4 min
Views 48K

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

Черная плесень не результат местной Чернобыльской мутации, как кажется вполне вероятным, а была занесена, по‑видимому, воздухом. Это уже известный вид, обитающий на Гималаях высоко в горах, где она питается космическим излучением. Ей понадобилось всего пять лет (вероятнее всего и того меньше) чтобы из Гималаев добраться до Чернобыля и прижиться на новом месте. Что означает, в воздухе постоянно находятся споры таких или аналогичных одноклеточных (плесень оказалась нескольких видов). Из чего следует вывод: на нашей планете существуют организмы способные питаться радиоактивностью и выживать в преимущественно отрицательных температурах.

Читать далее
Total votes 127: ↑118 and ↓9 +109
Comments 252

Миграция приложения из Docker Compose в Kubernetes. Как, зачем и с какими проблемами я столкнулся

Reading time 25 min
Views 19K

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

Стоявшая передо мной задача: улучшить инфраструктуру и качество работы приложения, успевшего вырасти из MVP и стенда для одного клиента в популярный SaaS. Отсутствие отказоустойчивости и масштабируемости компонентов сервиса начало ощутимо мешать пользователям. Настала пора адаптировать приложение под кластерный режим.

Приложение работало в контейнерах, а оркестрация осуществлялась с помощью Docker Compose. Компоненты приложения не задумывались готовыми к запуску в кластерном режиме, что, разумеется, нормальная ситуация для раннего этапа многих проектов: бизнес требует быстрой доставки новых функций, и на преждевременную оптимизацию не всегда можно и нужно тратить время. Но в какой-то момент именно стабильность и быстродействие становятся самыми важными функциями. 

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

Читать далее
Total votes 19: ↑19 and ↓0 +19
Comments 15

Гайд по межсетевому экранированию (nftables)

Reading time 32 min
Views 45K


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

В качестве межсетевого экрана будем использовать nftables, функционирующий под управлением ОС Debian GNU Linux.
Читать дальше →
Total votes 30: ↑29 and ↓1 +28
Comments 15

Краткий справочник по «всем-всем» командам Linux

Level of difficulty Medium
Reading time 74 min
Views 145K

Периодически меня на начальном курсе просят дать "список всех-всех команд с кратким описанием что делает"... Ну прям "всех-всех". И ведь если искать в интернете "такие" справочники существуют - либо про "20-30 команд, но самых важных", либо с неточностями и устаревшей информацией. Так что предлагаю вашему вниманию свою версию такого "краткого" справочника (на 300, 515, 612, 716, 842, 1005, 1110 команд) с ссылками на wiki-описание и на cheat.sh-примеры наиболее важных команд.

Справочник по всем-всем командам LINUX
Total votes 126: ↑123 and ↓3 +120
Comments 114

Основы ZFS: система хранения и производительность

Reading time 17 min
Views 87K


Этой весной мы уже обсудили некоторые вводные темы, например, как проверить скорость ваших дисков и что такое RAID. Во второй из них мы даже пообещали продолжить изучение производительности различных многодисковых топологий в ZFS. Это файловая система следующего поколения, которая сейчас внедряется повсюду: от Apple до Ubuntu.
Читать дальше →
Total votes 41: ↑40 and ↓1 +39
Comments 33

Лучшие Проекты Для Начинающих Python-Разработчиков

Reading time 8 min
Views 217K

Чтобы научиться ходить – надо ходить, чтобы научиться подтягиваться – надо подтягиваться, чтобы научиться решать задачи по физике – надо решать задачи по физике. Так говорил преподаватель физики в моём университете, и эта аналогия применима и к программированию.

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

Цель данного "топа" – это не создание самого оригинального портфолио и не перечисление уникальных проектов. Цель статьи разобраться в простых вещах, технологиях и темах, которые помогут развить практические навыки программирования. Поэтому не стоит ждать здесь сборку Оптимуса Прайма, программирование Звезды смерти и создание двигателя на китовом жире. Мы пройдёмся по простым, но в тоже время базовым вещам. Ведь как говорил один мой приятель: «Всё великое начинается с малого».

Читать далее
Total votes 31: ↑28 and ↓3 +25
Comments 43

Личный сервер shadowsocks за 10 минут без затрат

Reading time 3 min
Views 228K

Недавно я набрёл на интересное решение, которое позволяет развернуть личный сервер shadowsocks без каких-либо финансовых затрат. В результате получается некий аналог собственного VPN-сервера, с которым могут работать настольные компьютеры и мобильные устройства. Соединение с сервером shadowsocks защищено и устойчиво к фильтрации DPI.

Приятной особенностью такого метода развёртывания shadowsocks является то, что он не требует больших технических познаний. И настройка клиентов shadowsocks крайне проста: вся конфигурация происходит сканированием QR-кода или одной URL-строкой.

Читать далее
Total votes 14: ↑14 and ↓0 +14
Comments 64

Как оплатить VPN без Visa и Mastercard

Reading time 2 min
Views 76K

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

Читать далее
Total votes 33: ↑27 and ↓6 +21
Comments 124

«За границей»: кратко о бюджетных вариантах

Reading time 12 min
Views 94K

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

Читать далее
Total votes 158: ↑139 and ↓19 +120
Comments 237

Состояние VR в 2022-м: работа, 3D-миры, мероприятия, секс, игры

Reading time 21 min
Views 36K

Недавно популярность VR резко скакнула: шлем Quest 2 от Meta так массово дарили на Рождество, что разработчики VR-приложений сообщили о рекордном всплеске пользователей. И это не разовая случайность, Quest 2 вообще продаётся куда лучше, чем все VR-шлемы до него. Он не требует подключения к компьютеру и стоит всего $300, а в итоге делает VR массовым.

Это что же получается, Цукерберг был прав, что мы все вот-вот переедем в метавселенную? Не уверен: многие из купленных шлемов пылятся на полках, что такое «метавселенная» — никто не знает, а разговоры о будущем — это гадание на кофейной гуще. Но вижу, что среди спорящих о будущем многие не очень разбираются даже в настоящем. Поэтому, раз VR взлетает, решил расписать: что люди делают там уже сейчас?

Узнать, как глубока кроличья нора
Total votes 92: ↑92 and ↓0 +92
Comments 67

PyQt6 — полное руководство для новичков

Reading time 30 min
Views 295K

К старту курса по разработке на Python делимся детальным руководством по работе с современным PyQt для новичков. Чтобы читать было удобнее, мы объединили несколько статей в одну:

1. Первое приложение

2. Слоты и сигналы

3. Виджеты

За подробностями приглашаем под кат.

Читать далее
Total votes 28: ↑27 and ↓1 +26
Comments 14

Теорема Байеса: просто о сложном

Reading time 8 min
Views 59K

В этой статье мы рассказываем об основах и применении одного из самых мощных законов статистики - теоремы Байеса. 

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

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

Читать далее
Total votes 21: ↑19 and ↓2 +17
Comments 5

Разбираем мифы про беременность: анестезия, рентген и т.п

Reading time 11 min
Views 11K
image
Diagnocam от Kavo. Просвечивает зуб мощной боковой подсветкой и одновременно делает снимок сверху.

Беременные — это всегда огромные сложности для любого врача-стоматолога:

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

Разумеется, это порождает кучу мифов, включая знаменитое «ребёнок съел зубы», когда после декрета выясняется, что кариес всё же надо было лечить (или делать профилактическую гигиену). Но ещё интереснее происходящее прямо на приёме. Врач несёт ответственность не только за здоровье самой пациентки, но и её будущего малыша. Естественно, что на всё это накладывается много страхов будущей мамы.

Например, нет никаких проблем сделать рентген зуба в третьем триместре, если очень надо. Нормы с запасом ограничивают дозы облучения до 1 мЗв, а один снимок зуба даёт всего 0,02 мЗв. Но есть методики, которые позволяют обойтись без облучения.

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

Сегодня будем говорить об основных рисках для таких пациенток и их малышей. Например, нередко приходится удалять потенциально жизнеспособный зуб, чтобы не применять антибиотиков и не рисковать получить генерализованную инфекцию.
Читать дальше →
Total votes 34: ↑29 and ↓5 +24
Comments 6

Настройка BGP для обхода блокировок, версия 3.1. И немного Q&A

Reading time 8 min
Views 72K

Близится кожаная свадьба Роскомнадзора с Телеграмом, именно 16 апреля 2018 года начался крестовый поход, ставший фактически символом уничтожения интернета в России, хотя в глобальной войне, начавшейся в 2012 году, он был всего лишь ярким эпизодом.

Ковровые блокировки в исполнении РКН стали причиной появления на свет множества различных сервисов, помогающих пользователям сети выживать под бомбежками. Одним из них стал antifilter.download, позволяющий получать списки находящихся под блокировками IP-адресов. Далее пользователи сервиса могли использовать полученную информацию по своему усмотрению. Одно из таких усмотрений было описано в статье Настройка BGP для обхода блокировок, версия 3, без VPS, которая стала достаточно популярной в сети и породила несколько сотен пользователей сервиса.

Однако "Tempora mutantur et nos mutamur in illis". За прошедшие три года сервис пережил Alpharacks-gate, похоронивший вместе с собой практически все донаты, упирание в технические ограничения как следствие роста количества пользователей, упирание в те же ограничения как следствие взрывного роста количества ip-адресов в списке РКН... Да что только не пережил. Каждое из этих изменений приводило к небольшому устареванию предыдущей статьи и когда неделю назад один из хабраюзеров предложил мне поправить ее под текущие реалии, я понял, что проще родить нового, чем отмыть этого написать новую версию, заодно и ответив на часто задаваемые вопросы. Результат - ниже.

Читать далее
Total votes 16: ↑16 and ↓0 +16
Comments 63

Про очень терпеливую девушку, которой хотели удалить 6 зубов

Reading time 11 min
Views 22K
Давайте разберём ещё один медицинский случай, в котором к нам пришла девушка 25 лет, её врач в региональной стоматологии хотел удалить 6 зубов после недолеченного пульпита. Поскольку у нас технический уровень всё же чуть выше, четыре из них удалось спасти.

image
На фотографии этой прекрасной девушки видны кисты, где кость уже распалась из-за давления гноя

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

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

Поговорим о том, как людям удаётся ходить с кучей гнойных очагов в голове и спокойно это терпеть. Коснёмся жизнерадостных подробностей про подтекающие свищи и о том, почему всё это обостряется вплоть до экстренной госпитализации. Ну и наконец расскажу про то, что такое резекция верхушки корня и почему не обязательно удалять половину зубов, которые можно спасти. Ну и вообще заодно разберёмся с периодонтитом.
Читать дальше →
Total votes 60: ↑54 and ↓6 +48
Comments 18

Как выглядит стоматология будущего: зубы — это атавизм

Reading time 8 min
Views 44K
Есть ближайшее будущее, оно про 3D-принтеры и аугментацию. Вот это уже реальность, хоть и не массовая, мы так делаем:

image
Брекеты для лица: 3D-печать по металлу, ПО проектирования прикуса — и можно смоделировать и пересобрать череп заново.

У нас уже есть крутые штуки в виде 3D-сканеров, цифрового моделирования ортодонтических процессов, 3D-принтеры (фотополимерные и DMLS, не хоббийные FDM) и автоматизированные фрезы. И уже скоро мы ждём новых наработок в виде таргетных бактериофагов, вакцины против адгезивного белка Streptococcus mutans и генно-модифицированных микроорганизмов для заселения полости рта. Возможно, уже недалеко вакцина от кариеса.

Предлагаю пощупать топовую стоматологию, какой она может стать через 10–15 лет и, может, чуть позже, тем более что зубы нам могут и не понадобиться в будущем.

Ну а теперь — скидка на реализм: всё это нужно потому, что вы так и не хотите чистить зубы, а еда становится всё хуже и хуже. Из-за мягкости пищи челюсти будут уменьшаться, а из-за развития протезирования должны бы уже появляться нормальные замены органов, в частности, зубов (сейчас протез не даёт чувствительности, а это прямо влияет на когнитивные способности и сопротивление деменции).

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

Потому что мы в переходном процессе эволюции, да-да.
Total votes 90: ↑84 and ↓6 +78
Comments 96

Как правильно собрать зубы в пакетик: реплантация выбитых зубов

Reading time 9 min
Views 33K

Представим ситуацию, что ваш вечер начался с фразы:

— Есть закурить?

А продолжился так, что вы стоите под фонарём со своими зубами в ладошке и думаете, что делать дальше.

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

На реплантацию зуба есть шесть часов. Оптимально сделать это за ближайшие два часа, дальше риски будут выше. Расскажу, что нужно делать в такой ситуации.

Читать далее
Total votes 102: ↑99 and ↓3 +96
Comments 42

Information

Rating
164-th
Location
Краснодар, Краснодарский край, Россия
Date of birth
Registered
Activity