Как стать автором
Обновить
85
0
Игорь Олемской @olemskoi

CEO в Southbridge

Отправить сообщение

HTTP/3 от А до Я: основные концепции. Часть 1

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

image
Фото Florencia Viadana, Unsplash.com


После почти пятилетних разработок протокол HTTP/3 наконец приближается к окончательному выпуску. Предыдущие итерации уже доступны как экспериментальная функция, но в 2021 году мы ждём широкого распространения протокола. Что такое HTTP/3? Зачем выпускать его так рано после HTTP/2? Как его можно или нужно использовать? Как он влияет на производительность?

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

Kubernetes для разработчиков: какие знания нужны?

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

В преддверии запуска Вечерней школы по Kubernetes, в этот раз для разработчиков, подготовили интервью с Павлом Селивановым архитектором в Mail.ru Cloud Solutions и Марселем Ибраевым CTO Слёрма. Речь пойдет о том, какие конкретно знания нужны разработчику в компаниях с Kubernetes, Павел и Марсель поделятся кейсами из своей практики.

Читать

Секреты observability. Часть 3: распределённая трассировка с Jaeger и OpenTelemetry

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

image
Фото Bertrand Bouchez, Unsplash.com


В прошлой статье мы с помощью Prometheus AlertManager настроили правила, чтобы отправлять уведомления через Slack при срабатывании алертов. И хотя алерты и уведомления — это удобно и полезно, сами по себе метрики не до конца объясняют проблему. Они просто показывают, что значения одного экземпляра вышли за установленные лимиты, но в распределённых системах метрики не могут отследить запрос, который проходит через несколько компонентов. С распространением микросервисов системы усложняются, поэтому мы должны проследить весь путь запроса, чтобы понять, что пошло не так. Для этого можно использовать распределённую трассировку, которая записывает действия, выполняемые в связи с запросом, и дает контекст, который мы не найдем в метриках и логах.


В этой статье мы расширим возможности observability (наблюдаемости) приложения — создадим спаны (span) и экспортируем их в распределённую опенсорс-систему Jaeger. Но сначала разберемся, что такое трейс.

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

Нюансы работы с PostgreSQL в 3 кейсах от DBA

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

Иван Чувашов, DBA Okko и Southbridge, поделился жизненными кейсами с PostgreSQL, которые помогут решить ваши проблемы.

Разберем случаи из PostgreSQL: запросы в статусе idle in transaction, выключенные контрольные суммы данных, переполнение int4, убивающие базу временные файлы и загрузку CPU.

Читать далее

Секреты observability. Часть 2: алерты

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

image
Фото Ricardo Gomez Angel, Unsplash.com


Используем метрики для отправки уведомлений через Slack


В предыдущей статье мы задеплоили оператор Prometheus с помощью helm-чарта и на примере набора сервисов увидели, как можно собирать метрики через prom-client и экспортеры. Как вы помните, цель observability (наблюдаемости) — узнать статус системы, поэтому нужные люди должны получать уведомления, когда значения метрик выходят за установленные пределы. Для этого надо настроить алерты.

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

«Сайт падал на полторы минуты в сутки, но мы уже решили эту проблему». Итоги стажировки и онбординга нового инженера

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

image


Стажёрскую программу в Southbridge мы запустили три с половиной месяца назад, чтобы найти новых коллег и поделиться знаниями и опытом с теми, кому интересно развиваться в DevOps-направлении. За это время на стажировку было принято 54 начинающих инженера, большая часть из них ещё проходит программу. Первый поток завершен, в этом посте делимся итогами и историей Михаила Снеткова, который теперь работает в одной из команд Southbridge.


В первом потоке стажёрской программы участвовало девять специалистов. До конца дошло шесть. Михаил Снетков получил оффер в Southbridge, Александр Зольников — в Слёрм, еще три инженера получили офферы в другие компании во время стажировки.

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

Миграция с Terraform на Terragrunt

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

В Bestmile мы используем Terraform для AWS IaC. Но чем больше развивалась наша инфраструктура, тем запутаннее становился код Terraform.

Код Terraform стало сложнее обслуживать. Он терял эффективность. Terraform — отличный инструмент, но нуждается в дополнениях. Здесь-то и пригодится Terragrunt.

Terragrunt — это обертка (wrapper) для Terraform, которая расширяет его функционал и устраняет некоторые ограничения. Terragrunt взаимодействует с Terraform с помощью кода HCL (HashiCorp Configuration Language), поэтому Terragrunt будет выполнять код Terraform в зависимости от того, как вы определите код HCL. Именно он дает дополнительные преимущества, как описано ниже, и превращает Terragrunt в волшебный инструмент.

Изучить код

Секреты observability. Часть 1: метрики

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

image
Фото ETA+, Unsplash.com


Первые шаги в сторону observability — собираем метрики с Prometheus


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


Сложно найти то, чего не знаешь и не понимаешь. Вот тут-то на помощь и приходит observability (наблюдаемость). Она помогает понять, что сломалось или плохо работает, и даже позволяет найти причину, чтобы вы могли постоянно вносить улучшения.


Что такое observability


Под observability мы подразумеваем показатель того, насколько эффективно можно определить внутреннее состояние системы по ее выходным данным (телеметрии). Ничего нового в этом нет — мы пытаемся разобраться в работе приложений по логам с начала времен, но сейчас все осложняется облаками, контейнерами, микросервисами, многоязычными средами и т. д.


Три кита observability


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


  1. Метрики.
  2. Трассировки.
  3. Логи.

В этой серии статей мы рассмотрим все три компонента с примерами. Начнем с метрик и опенсорс-проекта Prometheus.

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

Пишем первый плейбук Ansible

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

Статья подготовлена на основе уроков из открытой темы "Установка LEMP стека с помощью Ansible" курса по Ansible от Слёрм. Автор – Всеволод Севостьянов, Lead Engineer в Vene.io (Affiliate marketing solution). Первые две темы курса доступны на Youtube.

Материал этого урока будет интересен тем, кто разобрался с установкой Ansible и готов написать свой первый плейбук. Результатом будет плейбук, устанавливающий nginx на удалённой машине.

Читать далее

Какие API и функции Kubernetes будут удалены в релизе 1.22

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

Kubernetes API развиваются и периодически обновляются. Когда готов улучшенный API на замену старому, старый удаляют. См. политику Kubernetes по удалению API.

Скоро будет удалено несколько API. Это беты, которые еще можно использовать в текущих версиях Kubernetes, но они уже deprecated. Им на смену придут обновленные стабильные версии API ("GA", General availability).

В Kubernetes 1.22 (релиз ожидается в августе 2021 года) будет удалено несколько deprecated API. На странице релиза Kubernetes 1.22 можно посмотреть его график.

Читать далее

Я работал в Черногории и Сербии, но вернулся в Ставрополь. История DevOps-инженера

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

Павел Селиванов почти 3 года прожил на Балканах. Сначала в Черногории, потом в Сербии. Мы побеседовали с Павлом, и он рассказал о жизни в Европе, черногорских квартирах и сербской кухне, а еще почему баня с пельменями — это вам не СПА с равиоли.

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

Эволюция распределённых систем в Kubernetes

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

image
Фото Cenk Batuhan Özaltun, Unsplash.com


Обзор


  • Облачные платформы должны предоставлять современным распределённым приложениям возможности, связанные с управлением жизненным циклом, взаимодействием, привязками и состояниями.
  • Kubernetes хорошо поддерживает управление жизненным циклом, но для остального использует другие платформы с помощью концепции sidecar-контейнеров и операторов.
  • В будущем распределённые системы на базе Kubernetes будут состоять из нескольких сред выполнения, где бизнес-логика будет ядром приложения, и «меха»-компоненты (прим. переводчика: «меха» — сокращение от mechanics) в виде сайдкаров будут предлагать большие возможности в виде распределённых примитивов «из коробки».
  • Такая разделённая меха-архитекура связывает элементы бизнес-логики и улучшает операции второго дня, вроде патчинга, апгрейдов и долгосрочной поддержки.

На конференции QCon в марте я рассказывал об эволюции распределённых систем в Kubernetes. Главный вопрос: что будет после микросервисов? У вас наверняка есть мнение на этот счет. У меня оно тоже есть. В конце вы узнаете, что я думаю. Но для начала давайте обсудим потребности распределённых систем. Как эти потребности развиваются с годами, начиная с монолитных приложений до Kubernetes и таких новых проектов, как Dapr, Istio, Knative, и как они меняют наши методы работы с распределёнными системами. Попробуем сделать несколько прогнозов на будущее.

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

Зачем инженеру эксплуатации знать Python: три кейса из практики

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


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

Анонсируя второй поток, который стартует 11 октября, делимся историей Артёма Чекунова, Senior DevOps Engineer в Chartboost. Артём рассказывает, как познакомился с Python, и описывает несколько реальных кейсов его применения: для анализа потребления ресурсов в облаке и bare-metal, сборки тяжелого софта, мониторинга серверов Elasticsearch.
Читать дальше →

Что такое service mesh, когда внедрять, альтернативы Istio и другие ответы экспертов с АМА-сессии Слёрм по service mesh

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


Публикуем сессию вопросов и ответов по service mesh. Сессия прошла в рамках подготовки к интенсиву Слёрм по service mesh. На Youtube есть запись.

Эксперты отвечали на самые популярные вопросы по технологии service mesh и вопросы участников мероприятия. Ключевые вопросы АМА-сессии:

  • Что такое service mesh,
  • Когда внедрять,
  • Альтернативы Istio,
  • Почему Envoy используется в service mesh, а не Nginx.

Марсель Ибраев, СТО Слёрм, вёл мероприятие, а Александр Лукьянченко, тимлид в команде архитектуры Авито, и Иван Круглов, Staff Software Engineer в Databricks, делились экспертизой.
Оба инженера имеют опыт не просто с работы какой-то конкретной реализацией service mesh, но с построением собственного, что намного круче.
Читать дальше →

«Изменить настройки в голове гораздо сложнее, чем на сервере». Как мы ищем инженеров в Southbridge

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

image


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

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

Контролируем удаление с финализаторами

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

image
Фото с сайта Unsplash.com


В Kubernetes не так-то просто что-то удалить — вы уверены, что удалили объект, но оказывается, что он все еще присутствует в кластере. Вы, конечно, можете выполнять команду kubectl delete в повседневных операциях и надеяться на лучшее, но знание принципов работы delete команд в Kubernetes поможет вам понять, почему некоторые объекты остаются после удаления.


В этой статье мы рассмотрим:


  • Какие свойства ресурса влияют на удаление.
  • Как финализаторы и ссылки на родителя-владельца управляют удалением объектов.
  • Как можно использовать propagationPolicy, чтобы изменить порядок удаления.
  • Как работает удаление, с примерами.

Интервью с Марселем Ибраевым о распиле монолита или «Успех распила монолита – грамотный менеджмент»

Время на прочтение10 мин
Количество просмотров3.5K
«Я как-то видел, когда в команду разработки закинули задачу распилить монолит. И всё. Люди должны были работать в два раза больше – это ужасно».
Когда поступает похожий запрос, важно не наворотить дел и понять, как избежать новых трудностей. Об этом рассказал Марсель Ибраев, технический директор Слёрма.

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


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

Постмортем инцидентов для начинающих

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

image
Фото с сайта Unsplash.com


Успешные постмортемы без поиска виноватых помогают учиться на инцидентах, чтобы не допускать подобных ошибок в будущем.


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

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

Знакомьтесь: Argo Rollouts v1.0

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

Правильный подход к Progressive Delivery


Команда Argo с гордостью представляет Argo Rollouts v1.0! Узнайте, зачем был запущен этот проект и как мы работали над ним. Инструкции по установке см. на странице релизов.


image

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

Бенчмаркинг Linkerd и Istio

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

image
Фото с сайта linkerd.io


Пару лет назад ребята из Kinvolk сравнили производительность Linkerd и Istio и узнали, что Linkerd значительно быстрее и меньше Istio везде, кроме одной области. Linkerd использовала больше процессорных ресурсов в плоскости данных (data plane). Недавно мы повторили эти эксперименты с последними версиями обеих service mesh. Как показывают результаты, Linkerd не только по-прежнему заметно быстрее Istio, но и использует на порядок меньше ресурсов памяти и процессора в плоскости данных (data plane). Причем это происходит, даже если число запросов в секунду в три с лишним раза больше, чем в бенчмарке Kinvolk. Вы легко можете это повторить.


А теперь подробности.

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

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Работает в
Дата рождения
Зарегистрирован
Активность