Search
Write a publication
Pull to refresh
120
24.1
Send message

Успех секрета: как доставлять секреты в приложения безопасно и без головной боли

Level of difficultyMedium
Reading time12 min
Views3.3K

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

Читать далее

Новые возможности менеджера секретов Deckhouse Stronghold: пространства имён, резервные копии и репликация данных

Level of difficultyMedium
Reading time11 min
Views1.2K

После ухода HashiCorp с российского рынка многие компании стоят перед выбором: переехать на Community-редакцию Vault и дорабатывать её под свои потребности или купить готовый продукт, где многие фичи доступны «из коробки» и есть поддержка от разработчиков.

В этом году мы добавили в свой менеджер секретов Deckhouse Stronghold привычный пользователям Vault функционал: от пространств имён до автоматических бэкапов и репликации KV-хранилищ. В статье сравниваем реализацию этих возможностей в обоих продуктах и делимся ближайшими планами по развитию Stronghold.

Читать далее

Безопасная миграция данных из HashiCorp Vault одной командой

Level of difficultyMedium
Reading time4 min
Views3.3K

Представьте, что у вас есть Vault и нужно перенести данные из него в другое хранилище. Например, из одного закрытого контура в другой на обычной флешке. Или из одного backend storage в другой. Причём перенести нужно безопасно, не расшифровывая данные в процессе и не раскрывая секреты. В этой статье мы расскажем, как решаем такие задачи в Deckhouse Stronghold — нашем решении для управления жизненным циклом секретов.

Читать далее

KeyDB и Redis: в поисках серебряной пули — in-memory replicated DB (Replicated IMDB)

Level of difficultyMedium
Reading time19 min
Views16K

На кластерах клиентов, которые мы обслуживаем, есть как «одноголовые» инсталляции Redis (обычно для кэшей, которые не страшно потерять), так и более отказоустойчивые решения — Redis Sentinel или Redis Cluster. По нашему опыту, во всех трех вариантах можно безболезненно переключиться с Redis на KeyDB и получить прирост производительности. Точнее, избавиться от бутылочного горлышка Redis в одно ядро. Хотя в новых версиях Redis(r) появилась обработка I/O в отдельных тредах, иногда этого бывает недостаточно.

В то же время, если мы хотим использовать отказоустойчивые решениями вроде Sentinel и Cluster, нам понадобится поддержка этих технологий на уровне библиотеки, которую приложение использует для подключения в Redis. Причем лишь немногие библиотеки умеют читать из реплик Redis — в обоих вариантах (Sentinel и Cluster) чтение, как правило, происходит с мастеров. И запись, естественно, тоже происходит в мастеры. 

В итоге у нас есть несколько реплик довольно дорогого in-memory-хранилища, а в рабочем процессе используется только часть из них. Остальные — на подхвате. Хотя в большинстве кейсов операции с in-memory NoSQL DB — это именно операции чтения.

Однако если посмотреть в сторону KeyDB, то можно увидеть, что там есть киллер-фича — и даже две: я говорю о режимах Active Replica и Multi-Master. Использование этих режимов позволяет получить распределенный отказоустойчивый KeyDB, совместимый с Redis, писать в любую ноду, читать из любой ноды. И все это с точки зрения приложения выглядит как один экземпляр Redis без всяких Sentinel — то есть в коде приложения ничего менять не придется. 

Звучит как фантастика?

Читать далее

Мониторинг межсервисного взаимодействия Kubernetes с помощью протокола NetFlow

Reading time7 min
Views8.3K

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

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

Читать далее тут

Наша новая удачная попытка бесшовной замены Redis на KeyDB

Reading time5 min
Views17K

Мы уже как-то рассказывали о базе данных KeyDB — форке Redis, разработка которого началась в 2019 году. Проект распространяется под свободной лицензией BSD, и у него уже почти 6k звезд на GitHub. Авторы в свое время столкнулись с проблемами производительности оригинала и пошли хардкорным путём: взяли всё в свои руки и привнесли много нового как в части многопоточности, так и в других областях.

В статье делимся еще одним положительным опытом замены Redis на KeyDB.

Читать далее

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

Reading time6 min
Views34K
image

Наверное почти каждый сталкивался с ситуацией, когда мобильный оператор подключал какие-то подписки к вашему номеру телефона, но вы точно были уверены, что ничего не подключали. Да и кто в здравом уме подключит, например, «Гороскоп за 9р/сутки» (280р/мес), когда в интернете полно гороскопов на любой вкус, а иногда 280р — это весь бюджет расходов на мобильную связь в месяц?

Часто люди просто отключают подписку, иногда обращаются к оператору и просят вернуть деньги (с разной степенью успеха).

Но от чего же зависит вероятность того, что вам подключат подписку, которую вы не подключали?
Читать дальше →

Яндекс блокирует аккаунты, к которым не привязан номер телефона

Reading time5 min
Views178K
Я наверное как те самые мыши, которые «плакали, кололись, но продолжали жрать кактус». Который раз пытаюсь патриотично пользоваться сервисами Яндекса — и который раз это выходит мне боком.

В этот раз заблокировали доступ к почте под предлогом «подозрения на взлом». А в реальности — потому что при регистрации не указал номер телефона, что вообще-то не возбраняется, но как всегда есть НО…

Небольшой разбор ситуации под катом.
Читать дальше →

Доработка модуля шлагбаума Doorhan GSM для управления через интернет

Reading time9 min
Views28K


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

Предупрежу, что в статье не описано готовое решение «из коробки», а скорее proof of concept.
Читать дальше →

Билайн, зачем ты лезешь в мой HTTPS?

Reading time3 min
Views104K
Приехал я на выходные на дачу, пожарил шашлычок, натопил баньку, да сел в интернете посидеть немножко. А интернет мой неожиданно стал выглядеть вот так (надеюсь продавец мерса на меня не обидится, но скриншот сохранился вот такой только):

Сначала я грешил на скорость 3G, браузер, ОС и т.д. и т.п., но как оказалось все не то.

А проблема в том, что HTTPS-сайты через 3G модем Билайн вдруг практически перестали открываться. Все уже привыкли к «фокусам» Билайна с вмешательством в HTTP и добавлением своего кода на страницы, со «сливом» данных пользователей для активации платных подписок кликом на сайте и.т.д. А теперь тренировка с HTTPS?
Читать дальше →

Оплата на счет Яндекс.Денег картой VISA/MasterCard или как заблокировать произвольный кошелек

Reading time5 min
Views87K


Без малого год назад запустил у себя на сайте прием платежей на счет в Яндекс.Деньгах с банковских карт VISA/MasterCard. Без проблем не обошлось, но, в итоге, все заработало.

Недавно, примерно 9 февраля, на на один из кошельков в Яндекс.Деньгах внезапно перестали приходить переводы, сделанные картой. При этом переводы, сделанные Яндекс.Деньгами продолжали исправно приходить.

В чем причина, кто виноват, и как можно (попробовать) заблокировать любой счет в Яндекс.Деньгах для приема средств через VISA/MasterCard — попробуем разобраться под катом
Читать дальше →

Некорректная работа API Яндекс.Денег при приеме платежей картой

Reading time4 min
Views24K
В прошлые выходные раздался звонок мобильного телефона. Номер незнакомый. Снимаю трубку.
На противоположном конце линии девушка сообщает, что она представляет компанию Яндекс, и что мне высылали электронное письмо с информацией о новом сервисе: теперь можно принимать на сайте платежи не только Яндекс.Деньгами, но и банковскими картами VISA/MasterCard с помощью формы от Яндекса. Я ответил, что письмо не получал (может попало в спам?), но информация интересная, и я обязательно подробнее ознакомлюсь с новыми возможностями сервиса.
Читать дальше →

Девятилетняя оптимизация маршрутизатора

Reading time16 min
Views42K
Хочу рассказать историю жизни сервера в кампусной сети Новосибирского университета, которая началась в далеком 2004 году, а так же этапы его оптимизации и даунгрейдинга.
Многие вещи в статье покажутся общеизвестными хотя бы по той причине, что речь пойдет о событиях почти десятилетней давности, хотя на тот момент это были передовые технологии. По той же причине кое что вообще потеряло актуальность, но далеко не все, так как сервер до сих пор живет и обслуживает сетку из 1000 машин.
Читать дальше →

Information

Rating
701-st
Registered
Activity