Бодрый кодер – Telegram
Бодрый кодер
450 subscribers
249 photos
24 videos
4 files
164 links
Меня зовут Лев, я руководитель направления в ПСБ. Это мой личный блог о DevOps, разработке, системном анализе, AI и управлении IT-командами. Делюсь своими мыслями, инсайтами, полезными инструментами и тем, что меня вдохновляет.

Автор: @nemirlev
Download Telegram
Сегодня хочу затронуть тему, которая волнует многих DevOps-инженеров и разработчиков: Terraform или Pulumi? Оба инструмента помогают управлять инфраструктурой как кодом (IaC), но подходы у них разные. И если вы ещё не пробовали Pulumi, то, возможно, после этого поста захотите! 😉

---

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

Плюсы:
- Огромное сообщество и поддержка множества провайдеров.
- Простота в освоении (HCL — это не язык программирования, а конфигурационный файл).
- Состояние инфраструктуры хранится в файле terraform.tfstate, что удобно для отслеживания изменений.

Минусы:
- HCL (HashiCorp Configuration Language) ограничен в возможностях.
- Нет типизации, что может приводить к ошибкам.
- Сложности с повторным использованием кода (хотя модули помогают, но это не всегда достаточно).

---

Pulumi: инфраструктура как настоящий код
А теперь давайте посмотрим на Pulumi. Это инструмент, который позволяет описывать инфраструктуру на реальных языках программирования: Python, TypeScript, Go, C# и других. Да, вы не ослышались — это Infrastructure as Real Code!

Плюсы:
- Pulumi использует строгую типизацию, что помогает избежать множества ошибок на этапе написания кода. IDE подскажет, если вы что-то сделали не так.
- Вы получаете все плюшки вашей любимой IDE: автодополнение, проверка типов, рефакторинг и даже отладку. Попробуйте это сделать в Terraform с его HCL!
- Не нужно учить новый синтаксис (HCL). Если вы уже пишете на Python, TypeScript или Go, то можете сразу начать использовать Pulumi.
- Функции, классы, модули — всё это доступно в Pulumi. Вы можете писать более структурированный и поддерживаемый код.
- Pulumi также хранит состояние, но предлагает больше гибкости в управлении им. Вы можете использовать Pulumi Service, S3, Azure Blob Storage и другие бэкенды.

А что с минусами?
- Сообщество пока меньше, чем у Terraform.
- Не все провайдеры поддерживаются так же хорошо, как в Terraform.
- Может быть избыточным для простых задач.

---

Когда выбирать Pulumi?
- Если вы разработчик и хотите использовать знакомые языки программирования.
- Если вам нужна типизация и поддержка IDE.
- Если ваш проект сложный и требует повторного использования кода.

Когда выбирать Terraform?
- Если вам нужен проверенный инструмент с огромным сообществом.
- Если ваша инфраструктура относительно простая.
- Если вы уже используете Terraform и не хотите мигрировать.

---

Итог

Pulumi — это мощный инструмент для тех, кто хочет писать инфраструктуру как настоящий код. Он идеально подходит для разработчиков, которые хотят использовать свои навыки программирования. Terraform же остаётся надёжным выбором для классического подхода к IaC.

А какой инструмент используете вы? Делитесь в комментариях! И если ещё не пробовали Pulumi, может, самое время? 😉

#DevOps #IaC #Terraform #Pulumi #InfrastructureAsCode
👍3
Второй доклад тоже залетел, летом буду выступать в секции Системный анализ, в Новосибирске. https://15.codefest.ru

Осталось дождаться решения программных комитетов по 3-м заявкам. Ждать вообще не люблю.
🔥10❤‍🔥1
Можно уже протестить новую нейросеть от Илона

#grok #ai
Написал статью по observability - https://habr.com/ru/articles/885224/. В одну часть всё не влезло (как обычно 😅), так что планирую цикл из 4 статей.

По традиции буду рад лайку, плюсу в карму и вашим комментариям. Обратная связь очень помогает делать контент лучше!

P.S. Статья юбилейная, 10-я :)

#habr #observability #мониторинг #devops #статья #разработка
👍10🔥2
Команда Rust порадовала нас самой крупной редакцией языка за всю историю! Версия 1.85.0 и Edition 2024 уже доступны в стабильном канале.

Главные новинки:
- Асинхронные замыкания (async closures): теперь можно писать async || {}, что решает проблемы с захватом значений из контекста. Также добавлены трейты AsyncFn, AsyncFnMut и AsyncFnOnce.
- Новый атрибут #[diagnostic::do_not_recommend] для скрытия нежелательных реализаций трейтов в диагностике компилятора.
- FromIterator и Extend теперь работают с кортежами от 1 до 12 элементов - можно создавать сразу несколько коллекций одним вызовом collect().

В Edition 2024 внесли множество изменений, улучшающих безопасность и эргономику:
- Блоки extern теперь требуют ключевое слово unsafe
- Изменены правила временной области для if let и последних выражений в блоках
- Улучшена работа с #![deny(unsafe_op_in_unsafe_fn)]
- Зарезервированы ключевые слова gen и синтаксис защищенных строк #"foo"#

Чтобы обновиться, просто выполните rustup update stable. Для перехода на Edition 2024 в большинстве случаев поможет cargo fix.

#rust #programming #update #edition2024
Узнал, что Яндекс в свою клавиатуру как для iOS так и для Android встроил нейросетку. С ней вроде можно писать грамотно и находу генерировать тексты/улучшения текущего.

Кто пробовал? Как вам?

#ai #yandex
Depseek явно всех подстегнул. Недавно вышла Sonnet 3.7, а сегодня GPT 4.5. Остальные разработчики тоже подтянулись.

#openai #ai #chatgpt #gpt4.5
👍5
Бодрый кодер
Depseek явно всех подстегнул. Недавно вышла Sonnet 3.7, а сегодня GPT 4.5. Остальные разработчики тоже подтянулись. #openai #ai #chatgpt #gpt4.5
Расходимся . Пока доступна только для мажоров с аккаунтом Pro за 200$. Для народа на следующей неделе.
😁7
Чуть не пропустил.

#пятничныйюмор
😁8👍1🤣1
На выходных устроил себе небольшой марафон чтения технических статей. Выбрал для вас самое вкусное, что зацепило и заставило задуматься 🤔

Как конфигурировать Git
https://habr.com/ru/articles/886538/

Отличная статья о том, как правильно настроить Git, чтобы работать максимально эффективно. Автор разбирает кучу полезных настроек, которые помогают избежать типичных ошибок и ускоряют работу с репозиториями.

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

20 лет работы над одним продуктом
https://habr.com/ru/companies/ruvds/articles/886284/

Эта история меня удивила. Автор рассказывает, как уже 20 лет (!) развивает один проект, который стал его основным источником дохода. И самое неожиданное — это десктопное приложение для рассадки гостей.

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

Прощай, Хабр Фриланс... 😢
https://habr.com/ru/companies/habr/articles/886798/

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

Зарегистрировался на своей первой бирже лет в 13 — это был Free-lance.ru, первая фриланс-платформа в России. Примерно в то же время завёл аккаунты на Elance и oDesk. Потом появились weblancer и множество похожих сайтов. Free-lance.ru со временем превратился в fl.ru, а Elance и oDesk объединились в Upwork.

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

А какие интересные статьи прочитали вы на этой неделе? Делитесь в комментариях! 💬

#технологии #программирование #git #фриланс #разработка #статьи_недели
2
Вслед за SDK переписал уже приложение, которое его использует — для импорта данных из Дзен Мани. На выходных был в полной уверенности, что создал идеальную архитектуру, но сейчас уже вижу, что есть что доработать и изменить. Впрочем, даже текущая версия мне очень нравится 😎

Самая скучная часть работы — писать мок-тесты на запросы к БД. Кто занимался этим, тот поймет. Бэклог вышел, конечно, большой. Плюс перевел всё на английский и завел отдельный проект для ведения задач. В течение недели буду его наполнять своими идеями.

Кому интересно — заглядывайте в репозиторий: https://github.com/nemirlev/zenmoney-export/releases/tag/v2.0.0
Звезды и фидбек приветствуются! ⭐️

P.S. Changelog релиза не влез в скрин, там блин 3 экрана изменений. Надо приучить себя коммиты писать по крупнее.

#программирование #финансы #дзенмани #разработка #проект #opensourcе
👍2
А все знают, что Redis с версии 7 стал практически многопоточным? Многие до сих пор живут с убеждением, что это строго однопоточная система. Но правда в том, что когда мы запускаем Redis на машине с 8 ядрами, он уже может использовать больше одного ядра — если правильно настроить. 🤓

Как заставить Redis использовать несколько ядер:

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

2. Несколько экземпляров Redis — можно запустить несколько независимых инстансов Redis на одной машине и распределить нагрузку между ними на уровне приложения. Каждый инстанс будет использовать отдельное ядро.

3. Используйте Redis 7.0+ с поддержкой многопоточности для некоторых операций. Начиная с версии 6.0, Redis добавил многопоточную обработку ввода/вывода, а в более новых версиях это только улучшилось. Активируется через настройку:

io-threads 4
io-threads-do-reads yes


Альтернатива — Dragonfly 🐉

Если хочется сразу получить многопоточность без особых танцев — стоит обратить внимание на Dragonfly. Это полностью API-совместимая с Redis альтернатива, но многопоточная из коробки.

Ключевые особенности Dragonfly:
- Поддерживает все команды Redis, включая Lua скрипты
- Многопоточная архитектура, использующая все доступные ядра
- В некоторых сценариях показывает производительность до 25 раз выше, чем Redis
- Более эффективное использование памяти
- Более предсказуемая латентность под высокой нагрузкой.

А вы как решаете вопрос с производительностью Redis? Делитесь опытом! 💬

#redis #dragonfly #базыданных #производительность #масштабирование #разработка
1👍1
В личном кабинете налоговой стал доступен 2-НДФЛ, время подавать на вычеты. Оформляете?:)

#налог #вычеты
1
Прикольно, у меня стала доступна новая версия GPT, нужно будет на выходных потестить. Правда, бэклог у меня что-то сильно вырос, нужно приоризировать :(

#ai #openai #gpt #gpt-4.5
👍1
Решил немного поэкспериментировать с современными технологиями проксирования. Долгое время использовал связку NGINX + Lua для кастомной логики, но настало время двигаться дальше.

Сейчас активно тестирую Envoy в паре с WebAssembly (WASM) и уже вижу несколько серьезных преимуществ:

- Более чистый код — кастомную логику теперь пишу на Go вместо Lua. Типизация, современные инструменты разработки и экосистема делают процесс гораздо приятнее. Писать на Lua в 2025 году — такое себе удовольствие, если честно 😅
- Горячая перезагрузка — это просто космос! Можно обновлять модули без перезапуска всего прокси. С NGINX PRO такое тоже возможно, но с Envoy это работает намного элегантнее.
- Производительность — по тестам выходит примерно на 15-20% лучшие результаты по throughput.
- Тестирование — инфраструктура для тестирования WASM-модулей гораздо более зрелая. Теперь могу нормально покрывать тестами всю проксирующую логику.

Конечно, есть и свои подводные камни. Документация по Envoy далеко не такая дружелюбная как у NGINX, а экосистема WASM-плагинов еще не такая богатая. Приходится немного больше писать с нуля.

В целом, первые впечатления очень позитивные. Думаю со временем полностью мигрировать на эту связку.

А вы пробовали Envoy? Делитесь опытом в комментариях!

#envoy #webassembly #wasm #nginx #rust #golang #проксирование #микросервисы #оптимизация
Кто использует Copilot постоянно в работе? Как вам? Что нравится, а что нет?

Я уже год использую его для своих личных проектов. По понятным причинам для основной работы использовать не могу. Но за этот год наблюдаю явный прогресс!

Если год назад это была тупая шайтан-машина, которая фактически больше отвлекала, то сейчас автодополнение прям совсем неплохое, чаще помогает чем мешает. Особенно радует, когда правильно угадывает паттерны, которые я применяю в конкретном проекте.

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

Что реально нравится:

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

А что вы думаете о Copilot? Экономит ли он ваше время или только мешает? Поделитесь опытом! 💬

#github #copilot #ai #разработка #программирование #код
Поделюсь новостями.

Из грустного - не взяли доклад на Team Lead Conf. Итого у меня уже минус два доклада в этом году - Тим Лид и DevOps.

Из хорошего - взяли доклад на Стачку.

Из тяжелого - у меня будет жесткий март и апрель. В марте надо готовиться, в апреле у меня три недели докладов, прям подряд каждый выходные - Ярославль, Ульяновск, Казань.

#выступления
👏31👍1