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

DevOps *

Методология разработки программного обеспечения

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

100K юзеров за 3 дня — что сломалось после релиза

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

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

В этой статье — история запуска Telegram Mini App, куда за трое суток пришло 100.000 реальных пользователей.

Покажу, как мы масштабировали Node.js приложения на многоядерных серверах, увеличивали RPS в 10 раз, боролись с N+1 проблемой в MongoDB и снижали нагрузку на CPU. А ещё расскажу как мы быстро настроили мониторинг через Grafana, подключили Cloudflare и интегрировали Sentry. Поделюсь практическими инсайтами о том, на что стоит обращать внимание в первую очередь, и как эти инструменты помогли нам оперативно находить узкие места и устранять сбои в реальном времени. Всё, о чём будет в этой статье, основано на том, что действительно сработало. Кроме того, расскажу, какие моменты мы упустили до запуска.

Это разбор с цифрами, графиками и практическими выводами. Он может сэкономить вам время, нервы и деньги, если вы готовитесь к запуску Telegram Mini App или просто работаете с Node.js-приложениями, которые могут оказаться под серьёзной нагрузкой.

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

Первая часть про подготовку к запуску доступна здесь.

Читать далее

WAF (гав-гав): гибкая настройка пользовательских правил PT AF PRO

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

Разберёмся, как грамотно (хотелось бы так) настраивать пользовательские правила в Positive Technologies Application Firewall, чтобы при виде атаки ваша защита не превратилась в уязвимую "истеричку". Расскажем про ключевые директивы, покажем примеры из реальной практики и обоснуем каждый шаг.

Читать далее

Забудьте об облачных вычислениях. On-premises снова в игре

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

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

Читать далее

Собственный почтовый сервер на базе poste.io

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

Приветствую.

Цифровая независимость — это не только вектор, по которому двигается страна, но и тенденция, которую я замечаю среди малых бизнесов независимо от направления деятельности. Крупный бизнес может позволить себе использовать облака условного «Сбера» или «Яндекса», что малому бизнесу может быть не по карману. Тогда они задумываются: «Может, дешевле выйдет собрать свою серверную инфраструктуру?»

Именно с таким вопросом в начале года к нам пришла одна небольшая Московская компания. Одним из элементов инфраструктуры было поднятие собственного почтового сервера на базе Mailcow.

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

Читать далее

DevOps-инженер: разбор роли и специализаций

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

DevOps-инженер: разбор роли и специализаций
В статье рассматриваются роль и специализации DevOps-инженера в современной IT-индустрии. Разбираем ключевые факторы, влияющие на формирование роли DevOps-инженера в разных компаниях.

Читать далее

Мультитенантность: почему мы отказались от готовых решений и как приручали Keycloak

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

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

Читать далее

Как упростить работу с RBAC в Kubernetes: обзор утилиты RBAC Wizard

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

В новом материале DevOps-инженер Максим Кульвинский делится подробным обзором RBAC Wizard — свежего Open Source-инструмента для визуализации и анализа системы доступов в кластере. Разберёмся, как быстро развернуть утилиту с помощью Helm, посмотрим на её возможности и ограничения, а также выясним, кому и в каких случаях она может реально облегчить жизнь.

Читать далее

Об опыте перехода с on-premises на облачные Gitlab runners

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

*Все технические решения описаны в обезличенном виде и адаптированы под публичное изложение. Проект находится под НДА, поэтому часть информации и детали реализации были изменены или обобщены.

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

Все это выливалось в то, что длительность сборок проектов составляла по несколько часов 一 долго, нудно, тяжело и нерационально. 

Итого, наша мотивация для перехода в облако включала в себя:

Читать далее

Маленькая утилита для контроля квот в Yandex Cloud

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

Yandex Cloud использует квоты для мягкого контроля ресурсов. Квоты можно легко увеличить через специальную форму или техническую поддержку. Однако, очень часто бывает, что о необходимости увеличить квоты мы узнаем поздно, например, когда падает джоба с terraform. Это раздражает, а в некоторых случаях даже может сломать стейт и принести ненужные проблемы. Решить проблему поможет маленькая утилита.

Читать далее

Интеграция компонентов OpenStack Glance в существующую инфраструктуру oVirt

Уровень сложностиСложный
Время на прочтение8 мин
Количество просмотров719

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

Читать далее

Эволюция платформ виртуализации: как мы пришли к миру managed-сервисов и как сервис-провайдерам конкурировать с AWS

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

Привет! Меня зовут Андрей Квапил (или kvaps). Я CEO в Ænix, и мы делаем Open Source-платформу и фреймворк Cozystack, с которым очень удобно строить облака.

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

Читать далее

Топ 10 заповедей системного дизайна

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

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

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

А если вы просто строите что-то серьёзное — сохранить, перечитать, внедрить. Это основа.

Читать далее

CI/CD на GitHub Actions и GitLab CI для самых маленьких. Часть 3

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

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

Читать далее

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

Книга: «Настоящий SRE: инжиниринг надежности для специалистов и организаций»

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

Ищете руководство, которое поможет разобраться в Site Reliability Engineering (SRE) с нуля?

Издательство Sprint book представляет книгу «Настоящий SRE: инжиниринг надежности для специалистов и организаций», написанную Дэвидом Н. Бланк-Эдельманом — экспертом с почти 40-летним опытом в области эксплуатации информационных систем. Она подскажет, как внедрить культуру надежности в вашей организации, на какие факторы стоит обращать внимание.
Читать дальше →

Алертинг метрик Pilot в Prometheus

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

Настройка алертинга для своевременного оповещения о возможных проблемах с системой Pilot. Используется инструмент AlerManager, который будет отправлять оповещения на основе метрик Pilot-Server из Prometheus.

Читать далее

Обрезание баз данных без боли — использование и реализация database subsets в Greenmask

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

Продолжаю цикл статей про использование Greenmask - инструмента, который написан на Go специально для безопасной работы с данными PostgreSQL: он помогает делать логические бэкапы, восстанавливать таблицы и при необходимости — анонимизировать чувствительную информацию.

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

Читать далее

Вся мощь открытого исходного кода в PostgreSQL

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

PostgreSQL — одна из самых популярных СУБД, и это во многом благодаря открытому исходному коду. В статье рассказывается о том, как открытость кода влияет на развитие PostgreSQL и создание сообщества вокруг неё.

Читать далее

Вышел релиз GitLab 18.0 с GitLab Duo для пользователей Premium и Ultimate

Уровень сложностиСредний
Время на прочтение18 мин
Количество просмотров2.7K
Читать дальше →

Централизованная обработка алертов: интеграция VictoriaMetrics, Alertmanager, Grafana OnCall и Telegram

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

Эффективный мониторинг является краеугольным камнем надежности любой IT-системы, позволяя своевременно выявлять возникающие проблемы. Однако само по себе обнаружение проблемы – это лишь полдела. Не менее важна быстрая и скоординированная реакция команды. Инструменты вроде Alertmanager и Grafana OnCall играют ключевую роль в автоматизации процесса оповещения и управления инцидентами. В этой статье мы подробно рассмотрим, как выстроить цепочку взаимодействия между различными компонентами системы мониторинга и оповещения, чтобы каждый инцидент автоматически отслеживался от момента его фиксации правилом мониторинга до доставки уведомления ответственному инженеру в мессенджер, например, Telegram.

Читать далее

CI/CD на GitHub Actions и GitLab CI для самых маленьких. Часть 2

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

Часть 2: Настройка GitHub Actions и GitLab CI – первый workflow и деплой

В первой статье мы разобрались с основами CI/CD: что это такое, зачем нужно и какие инструменты существуют. Теперь пришло время перейти от теории к практике – создадим наши первые рабочие CI/CD-конвейеры на GitHub Actions и GitLab CI.

Читать далее

Вклад авторов