Обновить
57
Игорь Овсянников@kamish721

Горничная в серверной

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

Хаос в объектах: испытания Garage и SeaweedFS

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

С конца 2025 года известная многим, кто работает с object storage, система Minio начала издавать тревожные сигналы: разработчики полностью перестали принимать новые правки, прекратили обновлять Docker образ, убрали веб-интерфейс из опенсорсной версии, а с 13 февраля проект на GitHub полностью заморожен и стал архивом. Можно провести связь с покупкой Broadcom компании VMware, которой и принадлежит Minio, и последующим выжиманием денег из клиентов.

Но мы не будем строить теории, есть вопрос интереснее: кто убережёт наши объекты, если не Minio? Давайте попробуем узнать на примере Garage и SeaweedFS. Мы будем бросать эти системы об стену, и смотреть, что получится на выходе. Так работает chaos testing. Наверное.

Читать далее

Observability. Часть 1, про логи

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

"Пираты журнального моря"

Автор — Игорь Овсянников, декабрь 2023 г. DevOps инженер в GFN.AM, преподаватель курса DevOps в OTUS.

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

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

Читать далее

Добавляем в Go-проект конфигурацию на языке Terraform

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

Конфигурирование приложений — это интересная тема. Мало того, что форматов конфигурации в сообществе инженеров много, ситуация осложняется тем, что выбор того или иного языка определяет, как вашим приложением будут пользоваться люди. Инженеры, которые будут выкладывать ваш бэкенд в абстрактную dev- или prod-среду, будут смотреть на ваше приложение как на чёрный ящик с одной лишь ручкой: механизмом настроек.

Я, как инженер, встречал удобные и не очень текстовые конфигурации: conf в Nginx, ini в systemd, JSON в VSCode… А также YAML. Он не стал новым словом в языках, но показал, какой красивой может быть конфигурация. Впрочем, сам по себе язык тупой как пробка: если вы попробуете писать на YAML что-то сложное, с переменными или циклами, то получится химера вроде Ansible. Или вроде манифестов Kubernetes, у которого диалект настолько переусложнён, что его приходится шаблонизировать с помощью Helm.

Да, как понятно из заголовка, я хочу поговорить про язык Terraform, но сначала…

Читать далее

На пути к тестируемому инфраструктурному коду

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

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

Сейчас я пишу больше инфраструктурного кода: утилиты бэкапов, скрипты мониторинга, Kubernetes-манифесты, Ansible-плейбуки, Terraform-модули, и, чуть не забыл, CI/CD. Иногда он бывает простым, иногда странным, но чаще — нетестируемым. Инфраструктурный код — это код в мешке: пока не запустишь — не узнаешь, что случится. В среднем я делаю 10—20 запусков пайплайна в Jenkins, чтобы довести код CI до рабочего состояния.

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

Сейчас расскажу, как можно все эти беды свести к минимуму.

Давай! Ура, давай!

Снижение тепловыделения ноутбука в 2022 году

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

Однажды я купил ноутбук Dell, да не простой, а XPS, о котором мечтал давным-давно, и хотя это была не компактная 13”-14” модель, а 15”, это не помешало ему стать моей верной рабочей лошадкой. Спустя некоторое время ноутбук начал греться и шуметь вентиляторами, в том числе во время простоя. В какой-то момент он просто начал жарить мои штаны.

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

Штаны Well Done

Драма об одарённых детях, или Откуда растут ноги у выгорания молодых кадров

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

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

Другая история: мой близкий человек Л. пошла в школу в 5 лет, училась отменно, без проблем запоминала стихи, обладала фотографической памятью, едва не перешагнула через класс. Все только и говорили, «какой колоссальный у неё потенциал». Спустя год после выпуска Л. вылетела из одного колледжа, потом из второго. На частных курсах и мастер-классах она постоянно выгорает, сейчас обучение даётся ей с непосильным трудом.

Ещё я помню, как Игорь учился на «отлично» почти по всем предметам (кроме, пожалуй, физкультуры), как школа отправляла его на олимпиады по информатике, а вне уроков он преуспевал на различных кружках. Конечно, он не всегда интересовался тем или иным занятием, но если что-то захватывало его, то он захватывал это в ответ. При этом его хвалили учителя, а родители называли «талантливым». Спустя несколько лет после выпускного Игоря, возможно, ещё можно назвать талантливым специалистом, но в нём нет прежней энергии. Он не интересуется новыми науками, разочаровывается во всём, за что берётся, с трудом сосредотачивается, и вообще вымотан.

Читать далее

Автоматизируем деплой в vCloud с помощью Terraform и cloud-init

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

Предыстория: выбирали сертифицированное облако для всякой там сертифицированной жизни. Остановились на кое-каком B2B-колоссе, руководство заключило договор, и отделу SRE пришлось работать с облаком на основе VMware vCloud Director. И, как подобает секте свидетелей Infrastructure as Code, хотелось поменьше сидеть в веб-морде облака и больше -- в конфигурациях какого-нибудь Ansible и Terraform.
Эта статья - плод нескольких вечеров девопсера и бог знает скольких дней и ночей CTO. По горячим следам, поэтому, возможно, она несколько скомканная. Тем не менее, если вы столкнулись с облаком на основе vCloud - будет интересно.

Читать далее

Психиатрия и ментальное здоровье для обречённых

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

Я не буду писать про менталки и выгорание.
Я не буду писать про менталки и выгорание.
Я не буду писать про менталки и выгорание.

Привет. Так получилось, что я хорошо знаком с темой психиатрии: знаю разных обладателей mental health issues, посещаю тематические мероприятия, встречался одно время с носителей ментального заболевания, и так далее.

Вообще, я могу часами рассказывать психических расстройствах, (и, возможно, однажды стащу минут сорок или даже час на какой-нибудь конференции про soft skills), однако в данном материале буду рассказывать про лечение и только про лечение.

Переживали ли вы выгорание или депрессивный эпизод? Страдаете ли от "менталки"? Считаете, что пнд -- не только сокращение от "понедельник"? Если "да", то я не уверен, что вам будет интересно -- вы и так всё знаете. Так или иначе, я постарался сделать этот материал максимально информативным.

Читать далее

Как IT-комьюнити игроков развивало экосистему MMO-игры

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

Существует немало игр, которые сообщество регулярно поддерживает модификациями. Для нежно любимой мной Fallout: New Vegas, модификации выходят и спустя шесть лет после окончания поддержки. Для каких-то других игр (привет, EVE!), люди ведут “гугловые” таблички, а для еще одних — просто пишут подробные гайды или рисуют небольшие схемы.

Я же расскажу вам про игру, ради которой в сообществе делают всё вышеперечисленное и даже больше, об Elite: Dangerous.

Читать далее

Тестирование Kotlin/JS: фреймворки, корутины и все-все-все

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

Kotlin - блестящий проект. Изначально задуманный как просто JVM-язык, впоследствии он получил поддержку компиляции под все мейнстримные платформы, среди которых -- JavaScript.

Вводная. У меня есть пет-проект -- сайт и API-платформа для комьюнити по игре Elite: Dangerous. Бэкенд - на Kotlin/JVM (Ktor+Hibernate), фронтенд - на Kotlin/JS (KVision+Fomantic UI). О пет-проекте я расскажу как-нибудь потом, а о фронте поподобрнее.

KVision - веб-фреймворк для Kotlin, объединяющий в себе идеи из различных десктопных фреймворков (от Swing и JavaFX до WinForms и Flutter) и синтаксические возможности Kotlin, например, DSL-билдеры.

Fomantic-UI - форк Semantic-UI, компонентного веб-фреймворка для HTML/JS, который можно сравнить с Bootstrap, только Fomantic будет поинтереснее.

Не так давно я загорелся мыслью связать эти два мира и написать библиотеку для KVision, которая бы, как минимум, облегчила написание KVision-страниц с Fomantic-элементами.

И, как подобается open source проекту, я планировал покрыть библиотеку тестами. Вот об этом приключении и будет эта статья.

Читать далее

systemd десять лет спустя. Историческая и техническая ретроспектива

Время на прочтение18 мин
Охват и читатели54K
Десять лет назад был анонсирован systemd, который устроил революцию в управлении системой дистрибутивов Linux, тем самым разделив пользователей Linux на несколько лагерей. Качество и природа дебатов не сильно улучшилась со времён пламенных войн 2012-2014 годов, и systemd всё ещё остаётся не до конца понятым и изученным инструментом и с технической, и с общественной стороны, несмотря на пристальное внимание к нему сообщества.

Это пост не совсем о том, как пользоваться systemd. Тут, скорее, будет говориться об истории его возникновения, о его компонентах в целом, и о том, как понять систему, которая начиналось как просто PID 1 и стала тем, что я бы назвал middleware современного дистрибутива Linux.

А может, это просто набор крайне вольных переводов различных материалов с блогов, каналов и статей на Arch wiki. Вам решать.

Я, как пользователь и ранее сисадмин, питаю много нежных чувств к systemd, поэтому материал написан с весомой долей предвзятости, за что прошу прощения.

Но прежде чем начать речь о systemd, хочу рассказать об init.
Читать дальше →

Сравнение малопопулярных и не очень CLI-библиотек: cliff, plac, plumbum и другие (часть 2)

Время на прочтение12 мин
Охват и читатели4.8K
В экосистеме Python существует множество пакетов для CLI-приложений, как популярных, вроде Click, так и не очень. Наиболее распространённые были рассмотрены в предыдущей статье, здесь же будут показаны малоизвестные, но не менее интересные.


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

Сравнение популярных CLI-библиотек для Python: click, cement, fire и другие

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


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

Для удобства чтения обзор разделён на два поста: в первом сравнивается шесть самых популярных библиотек, во втором — менее популярные и более специфичные, но всё же заслуживающие внимания.
Читать дальше →

Информация

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