Обновить
256K+

DevOps *

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

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

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

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

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

В этой статье — история запуска 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 мин
Охват и читатели5.5K

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

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

Читать далее

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

Время на прочтение12 мин
Охват и читатели4.1K

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

Уровень сложностиСложный
Время на прочтение8 мин
Охват и читатели1.8K

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

Время на прочтение3 мин
Охват и читатели6.2K
Привет, Хаброжители!

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее