Обновить
256K+

DevOps *

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

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

Как несвязанные коммиты в пакетах Linux привели к неожиданным проблемам. Практические истории из SRE-будней. Часть 7

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

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

Так однажды произошло и в процессе установки нашего продукта. Мы столкнулись с тем, что привычные действия приводят к совершенно непривычному результату. Об этом мы и решили рассказать. В этой статье мы разберём проблему с закрытием файловых дескрипторов при выполнении команды на создание пула в Ceph. Расскажем, как мы её обнаружили, что делали, чтобы определить причину её возникновения, и самое важное — почему это произошло и как решить проблему. Получился настоящий детектив.

Читать далее

Автоматическое Обновление Версии Прошивки

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

В программировании микроконтроллеров новые сборки появляются каждый день.

Какие-то сборки уходят в релиз, а какие-то в циркулируют на разных электронных платах внутри предприятия.

Как отличать прошивки между собой? Как понять, какая прошивка новее, а какая старее?

Проблема в том, что вручную обновлять номер версии прошивки очень утомительно.

В тексте представлен механизм автоматического увеличения версии прошивки

Подробности...

Как я поменял профессию: из тканевой инженерии в adult-индустрию

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

Если ты DevOps, который работает с adult‑проектами, то твой типичный «взрослый контент» будет выглядеть примерно так.

Одна из самых традиционных тем на Хабре — это внезапные карьерные перемещения из различных профессий в IT и обратно. У меня, вот, чудесный коллега — профессиональный мясник с соответствующим образованием. Мониторинг настраивает как боженька и умеет убедительно отстаивать свою точку зрения. Образование позволяет.

Меня тоже можете принимать в свои ряды людей со странной сменой профессии. Как многие помнят по моим старым постам — я изначально врач, который свернул в направлении фундаментальной науки и тканевой инженерии. Все вот эти развлечения со стволовыми клетками, выращиванием органов в биореакторах и прочими нетиповыми экспериментальными задачами. И вот тут меня внезапно позвали на собеседование в крупный телеком… Короче, очнулся я уже будучи DevOps в компании, которая занимается сложными проектами, некоторые из которых про adult‑видео. Ну вот те самые специальные обучающие фильмы для взрослых, которые двигатель прогресса. С петабайтами отданного трафика, набегами миллионов пользователей и прочими радостями.

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

И вот где‑то в этот момент обычно появляемся мы с командой WiseOps и начинаем перебирать по винтику все археологические слои кода, архитектуры и бизнес‑логики. У нас уже есть несколько десятков клиентов и три из них про видеоконтент.

Предлагаю перейти под кат, а я попробую рассказать, как выглядит вся эта индустрия глазами врача/био‑инженера/DevOps.

Читать далее

Наделяем Ansible состоянием, делая похожим на Terraform

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

(Читать с толикой сарказма…) Все, кто работал с Ansible, знают, что он не хранит состояние результата своей работы. Это нелепое поведение Ansible, нельзя взять и просто удалить из git объекты конфигурации, чтобы они исчезли с управляемых систем, фу. При этом сразу вспоминается его величество Terraform с tfstate. Всех, кого раздражает подобное положение дел, прошу под кат.

Читать далее

Chaos Engineering Enterprise Version. Часть 2

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

Продолжаем разбираться в построении процесса Chaos Engineering в Enterprise. Chaos Engineering - это больше, чем просто запуск экспериментов, это своеобразное отношение к разработке продуктов.

Инициировать развитие практики в крупной корпорации возможно двумя путями: сверху и снизу.

Читать далее

Гайд по Aurora OS: как начать разработку для отечественной мобильной операционки

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

Заканчивается бета-тестирование пятой версии отечественной мобильной операционной системы Aurora OS. И если до этого система позиционировалась только как рабочая лошадка для терминалов в сегменте B2B, то теперь авторы планируют выход на рынок персональных устройств для работы. В планах также создание собственной мобильной экосистемы для повседневных задач. Что стоит знать разработчикам об Авроре?

Читать далее

Квоты в Kubernetes: очевидные, менее очевидные и совсем не очевидные

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

Привет, Хабр! Я Виктор, техлид продукта CI/CD в Samokat.tech. А это, :(){ :|:& };: fork-бомба, которая создаёт свои дочерние процессы бесконечно. Запуск такой штуки в контейнере без ограничений роняет всю ноду. Не используйте в проде! Если запустить в WSL, то винду тоже укладывает. Как же избежать запуска такой штуки на проде? Помогут квоты.

Давайте разберемся как работают квоты в Kubernetes. Там есть немало граблей. В этой статье поделюсь своим опытом по работе с квотами – расскажу, чем квоты хороши, что у них под капотом, в каких задачах используются и почему нужны даже в среде single-tenant.

Читать далее

Настройка Elastic Beanstalk для повышения отказоустойчивости и автоматического масштабирования

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

Всем привет! Сегодняшняя статья, как вы увидели в заголовке, посвящена настройке Elastic Beanstalk, а конкретно - балансировщика AWS и количества инстансов TagretGroup в зависимости от нужных нам условий.

Читать далее

Как проводят оценку качества данных в Airbnb

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


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

Рост показателей Airbnb до 1,4 миллиарда гостей на конец 2022 года привел нас в точку, когда снижение качества данных стало мешать нашим специалистам по работе с этими самыми данными. Еженедельные отчеты по метрикам стало сложно предоставлять вовремя, такие базовые показатели как «Активные объявления» стали иметь целую паутину зависимостей. Для полноценной работы с данными стали требоваться значительные институциональные знания, просто чтобы преодолеть все «подводные камни» в нашем информационном потоке.

Чтобы решить эту проблему, мы внедрили процесс под кодовым названием «Мидас» (Midas), который предназначался для сертификации наших данных. Начиная с 2020 года, процесс Midas, а также работа по реорганизации наших наиболее важных моделей позволили значительно повысить качество и оперативность получения важнейших данных Airbnb. Однако достижение всех критериев качества данных требует значительных межфункциональных инвестиций в такие вещи как проектирование, разработка, проверка и поддержка необходимых информационных ассетов и документации.
Читать дальше →

Prometheus: от основ до mem-saving оптимизации

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


Мониторинг в контексте современных инфраструктур играет критически важную роль и является неотъемлемой частью успешного управления и обеспечения стабильности систем. С ростом их сложности и масштаба, а также ввиду высоких ожиданий пользователей, возникает необходимость в непрерывном и детальном контроле за работой приложений и расходом аппаратных ресурсов. Мониторинг позволяет оперативно выявлять аномалии, прогнозировать потенциальные проблемы и оптимизировать работу системы, что в свою очередь, способствует повышению производительности, надежности и экономической эффективности инфраструктурных решений. Без качественного мониторинга становится невозможным обеспечить конкурентоспособность и успешное функционирование в реалиях современного рынка IT-продуктов.

Однако, настройка мониторинга сама по себе может стать вызовом, особенно когда речь идет о крупных инфраструктурах. На многих наших проектах в качестве инструмента мониторинга мы используем довольно популярное решение — Prometheus, при работе с которым порой возникают трудности. Их изучение и последующее решение и сподвигли нас на написание данной статьи.
Читать дальше →

Шаг за шагом: Реализация автоматического резервного копирования PostgreSQL в Kubernetes и его синхронная отправка на S3

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


Привет! У каждого из нас бывает что после какой-то задачи, ты хочешь чем-то поделиться. Но зачастую мотивации хватает только на поделиться в рамках внутреннего Confluence. Сейчас, я реализовал решение которое объявлено в названии статьи. Сразу хотелось бы сказать, что я не претендую на истину в последней инстанции со своим решением, оно просто отражает путь который пройден мной. Более того, СУБД в кластере здесь тоже не предмет для обсуждения.

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

Техдолга не существует

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

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

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

Читать далее

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

Кот в мешке: как приручить дикий бинарник

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

Всем привет. Меня зовут Василий. Я работаю SRE в Яндекс Маркете. Недавно у нас прошли тренировки по DevOps от Young&&Yandex. Сегодня я разберу финальное задание, как и обещал участникам тренировок. Оно состоит в том, чтобы развернуть инсталляцию приложения из готового бинарника, которая будет соответствовать SLA из ТЗ. Выглядит предельно просто, но только на первый взгляд. Под катом — один из вариантов обхода всех подводных камней, которые притаились в задании.

Читать далее

Запуск проекта в Kubernetes за 60 минут: инструменты, GitLab, Terraform

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


Привет, Хабр! Меня зовут Илья Нырков, я архитектор в VK Cloud. В своей работе встречаюсь с желанием партнеров (это и крупный энтерпрайз, и различные стартапы) использовать Kubernetes, но их останавливает сложность поднятия, конфигурирования кластера, деплоя в нём приложений и построения CI/CD-процессов вокруг него. Я постараюсь показать на практическом примере, который вы можете повторить сами, как развернуть за сравнительно небольшое время полноценный CI/CD с рабочим приложением, доступным для внешних пользователей.
Читать дальше →

От Kubernetes в мечтах к Kubernetes в проде. Часть 4. Хранилище секретов ― HCP Vault

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

В серии статей по теме DevOps мы вместе с Lead DevOps инженером департамента информационных систем ИТМО Михаилом Рыбкиным рассказываем о проверенных инструментах выстраивания инфраструктуры, которыми с недавнего времени пользуемся сами. В предыдущих статьях мы уже рассмотрели предпосылки перехода на новую инфраструктуру, познакомились с азами Kubernetes и обсудили методы доставки кода. В рамках последней темы мы пришли к методологии GitOps, при которой конфигурация кластера описана декларативно и есть ровно один источник правды ― git с его историей версий и т. д. Но git не является достаточно доверенной средой для хранения секретов ― с его помощью мы не смогли бы обеспечить разделение доступов и т. п. Так что в следующей статье цикла мы рассказываем о том, как можно реализовать отдельное хранилище секретов, без которого полноценно перейти на GitOps невозможно.

Читать далее

Подобие CI/CD c микроконтроллерами. Jenkins + GitLab + HeadlessBuild

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

Прежде всего – хотелось избавить себя от рутинных операций, которые необходимо прокручивать в каждый релиз артефакта каждого проекта. Второе – понять, нужен ли мне вообще такой подход у разработке и сколько от него профита. Третье – узнать немного нового

Читать далее

Топ необходимых Linux-команд для разработчика [Шпаргалка]

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

Использование командной строки является важным компонентом работы в операционной системе Linux. Некоторые задачи невозможно выполнить с помощью графического интерфейса, в то время как работа через командную строку предоставляет полный контроль над системой.

Цель этой статьи - ближе познакомить пользователей с основными командами, которые разработчики используют в повседневной работе.

Читать далее

Как мониторить Jenkins с помощью Prometheus, Node exporter и Grafana

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

Перевели туториал, о том как установить и настроить связку Prometheus, Node Exporter и Grafana для Jenkins. Статья будет полезна тем, кто учится выставить системы мониторинга с помощью этих инструментов.

Читать далее

10 самых распространенных проблем при линтинге Dockerfile'ов

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

Весной 2023 года разработчики Depot добавили в свой сервис возможность проверять Dockerfile'ы при каждой сборке.

В этой статье они делятся десятью наиболее распространенными проблемами при линтинге Dockerfile'ов, разбирают каждую проблему и объясняют, почему она возникает и как ее решить. Авторы отмечают, что со временем список может измениться, но даже в таком виде он станет хорошей отправной точкой для оптимизации Dockerfile'ов.

Читать далее