Меня зовут Дмитрий Масленников, и я руковожу Центром надёжности информационных систем в Тинькофф. Недавно я выступал на вебинаре Слёрма «Особенности SRE в России». В поддержку своего курса по «SRE: внедряем DevOps от Google» Слёрм собирает интересные кейсы внедрения SRE в российских компаниях. Я рассказал, как устроена наша экосистема SRE, зачем мы используем самописные сервисы, почему в SRE должна работать инженерная элита и как примкнуть к этой элите за один день. А теперь делюсь этим здесь.
Пользователь
Пишем свои модули для Ansible на Python
Для жаждующих знаний и прогресса собрали материал из урока Дениса Наумова, спикера курсов Ansible и Python для инженеров. Немного разберёмся с теорией и посмотрим как написать модуль для создания пользователей в базе данных.
Материал объёмный. Рекомендуем сразу открыть итоговый код файла clickhouse.py для удобной работы со статьей.
Причины, по которым сайты не справляются с ростом нагрузки: опыт Southbridge
В статье на реальных кейсах из разных сфер разберём, почему сайты не справляются с ростом нагрузки. Для соблюдения NDA мы не называем заказчиков, а также опускаем детали, которые могли бы их раскрыть.
Мой путь в SRE
Артем Артемьев, Lead SRE в компании Tango Me, повидал разный SRE. Прорабатывая программу четвёртого интенсива Слёрм «SRE: внедряем DevOps от Google», мы решили провести ещё и открытое интервью с Артемом. Он пошагово и обстоятельно делится своим 12-летним опытом в этой сфере, не скрывая трудностей и открыто говоря о требованиях к кандидатам.
Когда SRE один, а в каждой компании его воспринимают и используют по-разному, возникает множество вопросов и сомнений. Артем развеял большую часть из них, приведя личные примеры и комментируя каждый из них.
Обязанности SRE-инженера в зарубежных вакансиях
В 2016 году Google выпустила ту самую книгу о SRE (Site Reliability Engineering). Эта практика решала важную задачу компании — поддержание высокой надёжности сервисов Google. За годы практика широко распространилась среди разработчиков по всему миру. Теперь во многих стартапах и крупных корпорациях есть должность SRE-инженера.
Практика относительно новая, так что пока не совсем понятно, что конкретно должны делать SRE-инженеры. Можно, конечно, почитать книжки или посмотреть видео, но полный список должностных обязанностей по ним не составишь.
Мы решили проанализировать 30 объявлений о вакансиях SRE-инженеров в Google, Twitter, Slack и т. д.
Добро пожаловать в Зольни: как из стажировки Southbridge появилась новая компания
С апреля 2021 года в Southbridge проходит стажировка для тех, кто хочет стать DevOps-инженером. За полгода мы запустили 6 потоков, в которых поучаствовало больше 80 человек. На старте планировали, что проект поможет нам подготовить DevOps-специалистов для себя. Оказалось, стажировка — отличная площадка для экспериментов, которые приводят к неожиданным результатам. Например, мы не ожидали, что из стажировки появится новая компания Зольни.
В статье рассказываем, какие идеи по развитию стажёрской программы у нас были, а также объясняем, что такое Зольни.
История внедрения SRE в Dodo Engineering
Татьяна Гребенюкова, продакт-оунер курса Слёрм «SRE: внедряем DevOps от Google», собирает интересные кейсы внедрения SRE в российских компаниях. Некоторые истории мы используем для развития курса, а другими рады поделиться со всеми.
Сергей Бухаров, SRE из Dodo Engineering, рассказал историю внедрения SRE в компании, какие практики из книжек оказались неприменимы и из чего состоят будни SRE-команды.
HTTP/3: развёртывание HTTP/3 на практике. Часть 3
Фото Wolfgang Rottmann, Unsplash.com
После почти пятилетних разработок протокол HTTP/3 наконец приближается к окончательному выпуску. Рассказываем, какие трудности могут возникнуть при развёртывании и тестировании HTTP/3 и как адаптировать к нему сайты и ресурсы.
Это третья и последняя часть серии о новых протоколах HTTP/3 и QUIC. Если, прочитав предыдущие две части об истории и основных концепциях и функциях производительности HTTP/3, вы решили, что новые протоколы срочно нужно внедрять (будем надеяться, что так вы и решили), здесь мы расскажем, как это сделать.
Как настроить Jenkins в связке с Ansible
Эта статья — способ заглянуть в курс «Ansible: от первых шагов до большого проекта». Всеволод Севостьянов, Lead Engineer в Vene, отвечающий за пайплайны и deployment, показал, как настраивать Jenkins в связке с Ansible.
HTTP/3: улучшения производительности. Часть 2
Фото Jack Hunter, Unsplash.com
После почти пятилетней разработки протокол HTTP/3 наконец приближается к окончательному выпуску. Здесь мы узнаем, как в HTTP/3 улучшилась производительность, включая контроль перегрузок, блокировки HoL и установку соединения 0-RTT.
Это вторая часть серии о новом протоколе HTTP/3. В первой мы говорили о том, зачем нам вообще нужен HTTP/3, о протоколе QUIC и новых возможностях.
Как взглянуть на Kubernetes с другой стороны? Рассказывает Марсель Ибраев, CTO учебного центра Слёрм
18 октября на образовательной онлайн платформе Слёрм стартует новый курс: Мега – поток по популярной платформе оркестрации контейнеров с открытым исходным кодом Kubernetes. Программа курса максимально широкая – чуть более, чем за месяц участники освоят 12 тем, связанных с разворачиванием отказоустойчивого кластера и решением продвинутых задач по обеспечению стабильности и безопасности кластера и деплою приложений, узнают как Kubernetes работает изнутри, разберутся с тонкостями установки и конфигурации кластера и получат незаменимые практические навыки обращения с инфраструктурой.
Опыт работы с Apache Kafka: интервью с inDriver
DevOps-инженеры компании inDriver Радик Сейфуллин и Александр Плотников распилили старое монолитное приложение и создают новое, а Евгений Бутырин, технический редактор Слёрма, пообщался с ребятами об этом: опыте с Kafka, проблемах, решениях и обучении.
Кто такой DevOps и почему это не то, что нам обещали
Спикер курса «Python для инженеров», Денис Наумов, поделился своим пониманием DevOps с двумя примерами из практики: собственной и коллег.
HTTP/3 от А до Я: основные концепции. Часть 1
Фото Florencia Viadana, Unsplash.com
После почти пятилетних разработок протокол HTTP/3 наконец приближается к окончательному выпуску. Предыдущие итерации уже доступны как экспериментальная функция, но в 2021 году мы ждём широкого распространения протокола. Что такое HTTP/3? Зачем выпускать его так рано после HTTP/2? Как его можно или нужно использовать? Как он влияет на производительность?
Секреты observability. Часть 3: распределённая трассировка с Jaeger и OpenTelemetry
Фото Bertrand Bouchez, Unsplash.com
В прошлой статье мы с помощью Prometheus AlertManager настроили правила, чтобы отправлять уведомления через Slack при срабатывании алертов. И хотя алерты и уведомления — это удобно и полезно, сами по себе метрики не до конца объясняют проблему. Они просто показывают, что значения одного экземпляра вышли за установленные лимиты, но в распределённых системах метрики не могут отследить запрос, который проходит через несколько компонентов. С распространением микросервисов системы усложняются, поэтому мы должны проследить весь путь запроса, чтобы понять, что пошло не так. Для этого можно использовать распределённую трассировку, которая записывает действия, выполняемые в связи с запросом, и дает контекст, который мы не найдем в метриках и логах.
В этой статье мы расширим возможности observability (наблюдаемости) приложения — создадим спаны (span) и экспортируем их в распределённую опенсорс-систему Jaeger. Но сначала разберемся, что такое трейс.
Нюансы работы с PostgreSQL в 3 кейсах от DBA
Иван Чувашов, DBA Okko и Southbridge, поделился жизненными кейсами с PostgreSQL, которые помогут решить ваши проблемы.
Разберем случаи из PostgreSQL: запросы в статусе idle in transaction, выключенные контрольные суммы данных, переполнение int4, убивающие базу временные файлы и загрузку CPU.
«Сайт падал на полторы минуты в сутки, но мы уже решили эту проблему». Итоги стажировки и онбординга нового инженера
Стажёрскую программу в Southbridge мы запустили три с половиной месяца назад, чтобы найти новых коллег и поделиться знаниями и опытом с теми, кому интересно развиваться в DevOps-направлении. За это время на стажировку было принято 54 начинающих инженера, большая часть из них ещё проходит программу. Первый поток завершен, в этом посте делимся итогами и историей Михаила Снеткова, который теперь работает в одной из команд Southbridge.
В первом потоке стажёрской программы участвовало девять специалистов. До конца дошло шесть. Михаил Снетков получил оффер в Southbridge, Александр Зольников — в Слёрм, еще три инженера получили офферы в другие компании во время стажировки.
Миграция с Terraform на Terragrunt
В Bestmile мы используем Terraform для AWS IaC. Но чем больше развивалась наша инфраструктура, тем запутаннее становился код Terraform.
Код Terraform стало сложнее обслуживать. Он терял эффективность. Terraform — отличный инструмент, но нуждается в дополнениях. Здесь-то и пригодится Terragrunt.
Terragrunt — это обертка (wrapper) для Terraform, которая расширяет его функционал и устраняет некоторые ограничения. Terragrunt взаимодействует с Terraform с помощью кода HCL (HashiCorp Configuration Language), поэтому Terragrunt будет выполнять код Terraform в зависимости от того, как вы определите код HCL. Именно он дает дополнительные преимущества, как описано ниже, и превращает Terragrunt в волшебный инструмент.
Секреты observability. Часть 1: метрики
Фото ETA+, Unsplash.com
Первые шаги в сторону observability — собираем метрики с Prometheus
Представьте себе человека, который бьется над решением загадки, а вокруг собралось с десяток советчиков, которые помогают ему «найти убийцу». Знакомая ситуация? В таких случаях возникает больше вопросов, чем ответов, и если отвечать на все эти вопросы, ни на что другое времени уже не останется.
Сложно найти то, чего не знаешь и не понимаешь. Вот тут-то на помощь и приходит observability (наблюдаемость). Она помогает понять, что сломалось или плохо работает, и даже позволяет найти причину, чтобы вы могли постоянно вносить улучшения.
Что такое observability
Под observability мы подразумеваем показатель того, насколько эффективно можно определить внутреннее состояние системы по ее выходным данным (телеметрии). Ничего нового в этом нет — мы пытаемся разобраться в работе приложений по логам с начала времен, но сейчас все осложняется облаками, контейнерами, микросервисами, многоязычными средами и т. д.
Три кита observability
Observability основана на трех главных компонентах. Это данные телеметрии, которые можно агрегировать и анализировать, чтобы понять состояние системы:
- Метрики.
- Трассировки.
- Логи.
В этой серии статей мы рассмотрим все три компонента с примерами. Начнем с метрик и опенсорс-проекта Prometheus.
Пишем первый плейбук Ansible
Статья подготовлена на основе уроков из открытой темы "Установка LEMP стека с помощью Ansible" курса по Ansible от Слёрм. Автор – Всеволод Севостьянов, Lead Engineer в Vene.io (Affiliate marketing solution). Первые две темы курса доступны на Youtube.
Материал этого урока будет интересен тем, кто разобрался с установкой Ansible и готов написать свой первый плейбук. Результатом будет плейбук, устанавливающий nginx на удалённой машине.