Search
Write a publication
Pull to refresh
175
1.1
Пацев Антон @chemtech

DevOps-инженер

Send message

Архитектурные паттерны для высокой масштабируемости. Часть 3

Level of difficultyMedium
Reading time9 min
Views12K

Что же делать на практике для масштабирования data-bounded (т.е. типичных) приложений?

Я опущу длительные рассуждения и представлю свою "поваренную книгу"

Читать далее

Архитектурные паттерны для высокой масштабируемости. Часть 1

Level of difficultyHard
Reading time16 min
Views24K

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

Когда стоит использовать более простые подходы (например, шардирование, репликацию, CQRS) вместо того, чтобы сразу переходить к микросервисам.

Какие trade-offs возникают при выборе каждого из паттернов или архитектурных решений.

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

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

Читать далее

Общение с LLM-моделью по собственной базе знаний в Obsidian

Level of difficultyEasy
Reading time2 min
Views11K

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

Для подключения модели можно использовать множество различных поставщиков LLM-моделей.

В этой статье мы будем использовать локальную модель, запущенную с помощью Ollama. Поэтому нам понадобится командная строка, Docker и видеокарта (лучше от 24 Гб видеопамяти, или же для эксперимента можно арендовать GPU-сервер на пару часов).

Читать далее

Погружение в ClickHouse: делаем первые и успешные шаги

Level of difficultyEasy
Reading time6 min
Views12K

Привет! Меня зовут Андрей Дорожкин, и я руковожу командой администрации баз данных в Hybrid. В этом материале я поделюсь опытом работы с ClickHouse — колоночной БД, разработанной специально для аналитических запросов, которая позволяет получать результаты в разы быстрее традиционных решений. Также я подсвечу, как устроен этот продукт, чем он отличается от реляционных баз данных, и в каких сценариях его использование может дать бизнесу реальное преимущество.

Пара слов о компании Hybrid. Мы — независимая AdTech-экосистема с собственным стеком технологий и решений для любых рекламных целей. Развиваем собственные технологии благодаря in-house отделу разработки, который каждый день работает над их улучшением. ClickHouse — инструмент, который мы выбираем для хранения данных за высокую скорость обработки запросов, эффективное сжатие данных и масштабируемость.

Читать далее

Теорема CAP: почему нельзя иметь все сразу и как аналитик выбирает чем пожертвовать

Reading time5 min
Views4.6K

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

Теорема CAP (дословно: Consistency (согласованность), Availability (доступность), Partition Tolerance (устойчивость к разделению)), предложенная Эриком Брюером в 2000 году, объясняет, почему невозможно одновременно обеспечить все три этих свойства.

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

Да, многие могут сказать, что это больше стезя архитектора. Но грань между аналитиком и архитектором в текущих реалиях очень смазана. Хороший системный аналитик фактически является lite версией архитектора. Поэтому щас выскажусь!)))

Читать далее

Open Deep Search: как сделать открытый аналог Perplexity своими руками

Reading time4 min
Views3.5K

Искусственный интеллект (ИИ) - ключевой компонент современных поисковых систем. Однако большинство популярных решений, таких как Google, Perplexity и ChatGPT остаются проприетарными, что затрудняет научные исследования и развитие таких технологий. В то же время, открытые решения для интеллектуального поиска часто оказываются менее качественными. Это создает разрыв между закрытыми коммерческими системами и доступными для разработчиков инструментами, которые не обладают такой же производительностью и качеством. Для устранения этого разрыва исследователи представили открытый фреймворк Open Deep Search (ODS), который позволяет интегрировать мощные инструменты для веб-поиска с любыми большими языковыми моделями (LLM), обеспечивая конкуренцию с коммерческими системами.

Читать далее

Keycloak: как упростить аутентификацию и не сойти с ума?

Level of difficultyEasy
Reading time9 min
Views18K

Я Диана, системный аналитик в Clevertec и экс-преподаватель. В этой нескучной лекции расскажу:

- Что такое Keycloak и для чего он нужен?

- Как Keycloak помогает с межсистемной аутентификацией?

- Какие плюсы и минусы у Keycloak при использовании в продакшене?

- Какие альтернативы есть у Keycloak?


Начать лекцию

Настройка односторонней аутентификации (One-Way SSL) для kafka

Level of difficultyEasy
Reading time3 min
Views1.4K

Часто при разработке небходимо иметь на локальной машине сервер kafka с ssl аутентификацией.
Надеюсь эта статья поможет быстро поднять его и приступить к разработке.

Читать далее

Как мы реализовали отказоустойчивый WireGuard в трёх зонах Yandex Cloud

Level of difficultyEasy
Reading time8 min
Views8.1K

Расскажем, как мы сделали отказоустойчивый WireGuard-сервер в Yandex Cloud, раскинув его на три зоны доступности. Получилось просто, надёжно и без сложных кластеров.

Мы не рассматриваем настройку самого WireGuard, конфигурацию групп безопасности, настройку VPC, NLB и прочее. Вся логика сосредоточена на том, чтобы обеспечить автоматическое переключение между зонами при сбоях. Сеть VPN-клиентов — 172.28.90.0/24 — должны быть доступна с любой из трёх зон.

Читать далее

GitLab CI для Docker-образов

Level of difficultyEasy
Reading time5 min
Views5.4K

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

Сегодня рассмотрим, как настроить CI/CD пайплайн для Docker-образов: от сборки (с docker buildx и buildah) до пуша с версионированием и автоматической очистки через GitLab API.

Читать далее

Tuna bastion — безопасный SSH доступ, альтернатива Teleport и HashiCorp Boundary

Level of difficultyEasy
Reading time6 min
Views4.4K

Мы продолжаем развивать нашу платформу для разработчиков и их команд. В этот раз мы снова наступили на грабли безопасности но уже в чаcти SSH доступа к серверам.

Читать далее

В поисках перформанса, часть 2: Профилирование Java под Linux

Reading time11 min
Views19K
Бытует мнение, что бесконечно можно смотреть на огонь, воду и то, как другие работают, но есть и ещё кое-что! Мы уверены, что можно бесконечно говорить с Сашей goldshtn Гольдштейном о перформансе. Мы уже брали у Саши интервью перед JPoint 2017, но тогда разговор касался конкретно BPF, которому был посвящен доклад Саши.

На этот раз мы решили копнуть глубже и узнать фундаментальные проблемы мониторинга производительности и варианты их решения.


Читать дальше →

SSL и SSL-сертификаты для новичков

Level of difficultyEasy
Reading time8 min
Views38K

Представляю вашему вниманию перевод статьи SSL and SSL Certificates Explained For Beginners. Я долго разбирался с SSL, сертификатами, центрами сертификации - это единственная статья, после которой у меня что-то отложилось в голове :) Поэтому возникла идея перевести ее и донести до широких масс.

Читать далее

Весь Хабр в одной базе. Комментарии и веб-приложение

Reading time8 min
Views7.5K

КДПВ


Часть 1 | mega.nz | Онлайн демо | GitHub


Наверное, это продолжение статьи, в которой я парсил Хабр в базу данных. Теперь настало время её применить.

Читать дальше →

Весь Хабр в одной базе

Reading time7 min
Views17K

Добрый день. Прошло уже 2 года с момента написания последней статьи про парсинг Хабра, и некоторые моменты изменились.


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

Читать дальше →

Выбор инструментов для доставки секретов в Kubernetes. Наш путь delivery of secrets

Level of difficultyHard
Reading time6 min
Views3.6K

Привет, Хабр! Меня зовут Натиг Нагиев, я Devops-инженер в МТС Диджитал.

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

Сейчас де-факто стандартом для таких задач стало хранилище HashiCorp Vault, поэтому мы рассматривали и пробовали разные инструменты: Vault Agent Injector, Vault CSI Provider, External Secrets Operator и OpenBao — но в итоге остановились на связке Bank-Vault и Vault Secrets Operator.

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

Читать далее

Наш путь delivery of secrets: как мы пришли к связке Bank-Vaults и Vault Secret Operator

Level of difficultyMedium
Reading time7 min
Views2.2K

Привет, Хабр! Меня зовут Натиг Нагиев, я Devops-инженер в МТС Диджитал.

На нашем проекте мы обеспечиваем авторизацию внешних клиентов в продуктах МТС. Это Mission Critical система, где мы оптимизировали и гарантировали доставку секретов в контейнеры с микросервисом, избавлялись от дополнительных рабочих нагрузок и исключали внешние зависимости. В прошлом материале я сравнил разные инструменты, которые мы перебрали, а в этом расскажу про наше итоговое решение — связку Bank-Vaults и Vault Secrets Operator.

Читать далее

System Design для начинающих: всё, что вам нужно. Часть 1

Level of difficultyEasy
Reading time12 min
Views69K

Вам не нужно изучать какую‑либо теорию, кроме этой статьи, чтобы начать собеседоваться. После прочтения смело приступайте к решению типовых System Design задач.

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

Читать далее

Из 2024 в 2025: вспоминаем лучшие практики CI/CD

Level of difficultyMedium
Reading time24 min
Views18K

Развитие методологий CI и CD не стоит на месте. Тем не менее, проверенные практики, вероятно, останутся актуальными и в 2025 году. В этой статье покажем некоторые из таких в действии.

Вспомнить лучшие практики CI/CD

Мониторинг бизнес-процессов с помощью OpenTelemetry

Reading time17 min
Views10K

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

В этой статье расскажу, как мы объединили несколько разных команд разработки Райффайзен Онлайн общим Observability и с помощью исключительно технических метрик отслеживаем здоровье бизнес-процессов. Как всё это помогает мгновенно находить первопричину сбоя. Как устроен OpenTelemetry и как с его помощью рассчитать доступность приложения в девятках, а также MTTR (Mean Time to Recovery).

Читать далее

Information

Rating
491-st
Location
Омск, Омская обл., Россия
Works in
Date of birth
Registered
Activity

Specialization

DevOps
Senior