388
Subscribers
-124 hours
+17 days
+1530 days
Posts Archive
Yandex Cloud Terraform modules.
Если вы используете костыли модули,
Yandex Cloud, то я вам настоятельно рекомендую управлять ресурсами через Terraform.
А для того, чтобы не писать свои Yandex Cloud расшарил модули на популярные ресурсы: https://github.com/terraform-yacloud-modules
Пользуйтесь на здоровье 😎
P.S.
С наступающим, девопсы! 🎄
Желаю всем держать 99.9999% SLA и получить грейдап. Увидимся в новом году 🙂
#devops #terraformДанные Postgres в S3?
Свежий доклад коллеги о хранении данных OLTP / OLAP СУБД в объектных хранилищах (S3 like): https://www.youtube.com/watch?v=K9M3pLoH2y8
Доклад получился простым, но в тоже время интересным и насыщенным. У Андрея явный талант оратора.
#databases
Искусственный интеллект 🤖
Если вы, как и я, совершенно не разбираетесь в этой теме, настоятельно рекомендую посмотреть документальный фильм от Ника Чернобаева: https://www.youtube.com/watch?v=5jSy1g9sUUs
Автор провел колоссальную работу. Этот фильм удивляет усвоей глубиной и информативностью, и его действительно интересно смотреть.
#ai
Пранк IT работодателей: https://www.youtube.com/watch?si=9rSl0_chwb-Pw3Rl&v=BC_2_weLxbg
Случайно попалось это видео, но прям до слез смеялся 🤦
Осторожно, мат.
#offtop #humor
GUI для управления Docker контейнерами.
Нашел интересный проект dokemon, через этот UI можно управлять контейнерами, вольюмами, сетями образами и смотреть логи на множестве серверах.
Пока сам не пробовал, но может кому-то будет интересно запилить где-нибудь в dev контуре и посмотреть на это в деле.
#opensource #containers
🐘Новое видео.
Траблшутим подключение к
PostgreSQL: https://www.youtube.com/watch?v=UodYvLRH_Zs
#linux #sadservers #postgresqlКак анализировать потребление RAM в Linux?
Нашел интересный сайт, в котором простым языком объясняется как анализировать потребление памяти в Linux: https://www.linuxatemyram.com/
Тезисно перескажу.
1. Посмотреть потребление памяти можно с помощью коман
ды: free -m
$ free -m
total used free shared buff/cache available
Mem: 1504 1491 13 0 855 792
Swap: 2047 6 2041
- total - общая память в МБ
- used - используемая память (включает в себя так же кеш buff/cache)
- free - свободная память (которая даже кешом не используется)
- shared - память используемая tmpfs
- buff/cache - память для буфферов ядра и кеша
- available - это память доступная для приложений в любой момент
2. Все ОК, если:
- free близок к нулю
- used близок к total
- остаток available больше 20% от total
- swap used не используется
3. Все НЕ ок, если:
- available близок к нулю
- swap used близок к total
- есть записи о работе OOM-Killer в выводе команды: dmesg | grep oom-killer👽Новое видео на канале.
Проходим очередную задачку на sadservers: https://www.youtube.com/watch?v=MwcnX4NJTvg
Вы узнаете о простом методе защиты
port knocking и как его "взломать". В видео напишем простой bash-скрипт с циклом и условием.Будь профессионалом. 💼
Порой меня спрашивают: "А как войтивайти?", теперь у меня есть универсальный ответ: https://www.youtube.com/watch?v=bCIre4-3Dp8
Курпатов выразил правильную мысль - нужно быть профессионалом. Нет смысла вкатываться в айти, если ты не готов втухать, не готов учиться в свое свободное время, не готов углубляться в детали своей профессии. Все это необходимо, чтобы качественно выполнять свою работу.
В начале пути у меня ничего не получалось. Я писал код с множеством багов (да и сейчас не мало) и довольно медленно. Я ничего не понимал, из-за этого чувствовал себя плохо, думал что я тупой, но со временем я начал обрастать знаниями и опытом и кардинально изменил взгляд на трудности. Раньше проблемы казались нерешаемыми и лишь очередной раз доказывали мою непригодность, однако теперь для меня это что-то вроде квеста или загадки, я уверен что я найду ключ к ее решению, и это вызывает интерес, а когда решаю задачу, то получаю огромное удовольствие.
Коллеги, если кто-то читает эту заметку и видит себя в ней, то знайте, это скоро пройдет. Самое главное это учиться, не бояться ошибок, пробовать новое, влезать во все проекты и тогда вы полюбите свою профессию и станете профессионалами.
Всем удачи!
#offtop
Как я веду конспекты (+ учусь)? 🎓
От вас был запрос рассказать какой базой знаний я пользуюсь и как веду конспекты, рассказываю 👌
Тема и правда важная. Если научиться грамотно составлять конспекты, можно начать лучше запоминать информацию и возвращаться к ней по мере необходимости, тем самым увеличив свою продуктивность.
I. Базы знаний 🧠
1. Notion. Вообще я вам крайне рекомендую овладеть базовыми навыками работы в Notion, суперполезная утилита для конспектов и таблиц.
2.
Markdown + git. Markdown - это простой язык разметки, который позволяет создавать красивые конспекты прямо в git-репозитории. Я создал закрытый репозиторий в котором по директориям раскидываю различные конспекты, например: IT -> Databases -> PostgreSQL -> MVCC -> notes.md / homework.md / questions.md
3. Тетради (что?). Да, я пользуюсь обычными тетрадями. Раньше не любил этим заниматься, думал что гораздо быстрее и эффективней быстренько скопировать в Notion / Markdowm. Да, быстрее, но так вы просто лишаете себя возможности запомнить материал. Когда вы пишете в тетрадь, вы проговариваете и лучше запоминаете материал, главное делать это осознанно. Но если хотите писать в Notion, то делайте это осознанно, без копирования блоков текста.
II. Как вести конспекты ✏️
1. Не переписывайте все что услышали. Во-первых, это сэкономит вам время на запись и на повторение. Во-вторых, вам нужно записывать и конспектировать только ключевые идеи.
2. Если вы что-то не поняли, запишите это со знаком вопроса, а потом вернитесь туда с ответом. Если вы не поняли что такое индексы, ну ок, продолжайте дальше, а через час / день / неделю вернитесь к этому вопросу, сделайте дополнительный ресерч и запишите ответ.
3. Старайтесь использовать как можно больше картинок, диаграмм, таблиц. Если ваш конспект будет состоять только из формул, команд и текста, то он принесет мало толку. Наш мозг очень любит картинки, так ему гораздо проще понять сложную идею.
III. Общие советы ❗️
1. Не отвлекайтесь. Посветите непрерывной учебе какое-то время: 30 / 45 / 60 минут
2. Делайте перерывы. Не учитесь 4-6 часов к ряду, это не эффективно и вредно. Делайте перерывы хотя бы каждый час на 10 минут.
3. Максимально изолируйтесь на время учебы. Это может быть кафе, свой кабинет, библиотека. Найдите место, где вас никто не будет отвлекать. Я еду в офис в субботу (обычно там почти никого) и посвящаю от 4-6 учебе и своим проектам.
4. Отключите все оповещения, уберите телефон с глаз долой, не заходите на отвлекающие сайты. Про это все я уже писал заметку, можете прочитать ее.
IV. Ресурсы 📺
1. (video - 7:29) What is markdown?
2. (cheatsheet) Markdown
3. (video - 30:51) How to use Notion?
4. (video - 10:27) How to Become a Straight A Student?
5. (video - 6:36) 7 Note-taking Secrets of the Top 1% of StudentsKubernetes v1.29.
На днях вышла новая версия Kubernetes v1.29 под названием Mandala.
Вот пару полезных ссылок для заинтересованных:
1. Kubernetes Release Notes
2. Обзор фич от Фланта на habr
#containers #kubernetes
📺 Залил 3 часть прохождения лабораторных работ с сайта sadservers.
Sad Servers | (easy) 3. Santiago: Find the secret combination
В этот раз будем искать секретную комбинацию. Из ролика вы узнаете как искать текст в файлах с помощью
grep, как выделять его цветом, искать количество вхождений строки в тексте.
Пока задания простые, но дальше будет сложнее и интереснее.
#linux #troubleshootingПроверка синтаксиса языков разметки и шаблонизации онлайн.
Порой мы все сталкиваемся с синтаксическими ошибками и трудностями в шаблонизации через
jinja2 или go template. 🤦
Вот вам 5 хороших ресурсов для проверки синтаксиса и шаблонизации:
1. JSON: https://jsonlint.com/
2. YAML: https://yamlchecker.com/
3. bash: https://www.shellcheck.net/
4. jinja2: https://jsonlint.com/
5. go template: https://gotemplate.io/
Конечно, можно использовать cli утилиты, но иногда удобней сделать это в браузере.
#devops #utilsПроект для прокачки навыков DevOps.
Вот вам идеи для прокачки себя как инженера:
1. Настрой
minimal Linux сервер (gentoo / archlinux / Linux From Scratch / Linux для себя (LFS-fork))
2. Напиши приложение to-do list с API на Flask, Django или FastAPI (/list, /get, /delete, /add, /update). Репозиторий можно создать на Github или Gitlab
3. Напишите тесты вашего API с помощью pytest
4. Проведите нагрузочное тестирование с помощью k6, yandex tank, jmeter
5. Запихните ваше приложение в Dockerfile
6. Поднимите на виртуалке Nexus и отправьте туда образ контейнера
7. Настройте CI/CD из Github Actions или Gitlab: 1. сначала проведите ваши тесты и линтеры, 2. затем соберите образ и отправьте его в ваш реджестри в Nexus, 3. затем запустите деплой контейнера на вашу виртуалку
8. Поднимите кластер kubernetes с нуля руками (kubernetes the hard way)
9. Исправьте ваш CI/CD, пусть теперь деплой будет в созданный вами кластер k8s
10. Добавьте в ваше приложение метрики и логи
11. Поднимите в кластере k8s сервис Prometheus + Alertmanager + Grafana и настройте отправку метрик приложения туда
12. Поднимите в кластере k8s ELK или Grafana Loki и отправьте туда логи вашего приложения
13. Добавьте к вашему долгосрочное сервису хранение данных сначала используя локальную БД SQLite
14. Поднимите PostgreSQL и перепишите приложение, чтобы хранил информацию там
15. Настройте автоматический логический И физический бэкап БД (с помощью bash скрипта и утилит резервного копирования)
16. Поднимите второй инстанс PostgreSQL и настройте физическую репликацию данных
17. Доработайте скрипт бэкапов, чтобы он отправлял бэкапы в S3 хранилище в Yandex Cloud
18. Добавьте метрики PostgreSQL в Prometheus, а логи в ELK (Loki)
Еще идеи для проектов: https://www.youtube.com/watch?v=ZibXA79LPLs
Всем этим занимался по работе или в отдельных проектах, но мне было бы интересно с нуля все это сделать в одной репе. Может что-то вроде стримов запущю по реализации этого проекта.
#linux #devops #projectsГрустные серверы стали чуть веселей.
Вторая часть траблшутинга с сайта sadservers: https://www.youtube.com/watch?v=htkkUAXI-gw
#linux #troubleshooting
DevOps мертв? Нужно срочно учиться на SRE?
Человек из этого шортса говорит правильные вещи. Говорит, что за последние 30 лет был: IT Helpdesk, sysadmin, network administrator, software engineer, devops engineer, sre, но всегда занимался одним и тем же - внедрял и поддерживал различные технологии.
Не важно как называется должность в трудовой или резюме, главное что вы делаете. Сфокусируйтесь на этом.
Однажды давно мне предложили работу "junior devops engineer" в одной крупной российской компании, я прошел собеседование и меня взяли, но когда пришел это оказалась самая настоящая поддержка, которая 24/7 смотрит логи приложения в kibana и эскалирует проблемы на 2 линию или в разработку. Проработал я там 3 недели и ушел.
Какой вывод можно сделать из этого?
1. Когда ищите работу обращайте внимание не только на название позиции, но и на обязанности.
2. Нет смысла менять работу с devops engineer на SRE или говорить "я хочу быть скорее sre, чем devops", так как это одно и тоже. Как по мне есть позиция системный инженер, которая включает все те позиции, что я перечислил выше.
Видео тестовое, посмотрим будет ли интересен такой формат :)
https://www.youtube.com/watch?v=wsieuEr3dBo
Купил микрофон и сразу же решил опробовать его в деле 🙂
Вы хорошо так залайкали пост про sadservers и я решил записать серию прохождений задачек от туда.
#linux #troubleshooting
Практика bash и не только.
Открыл для себя крутой сайт с задачками на программирование: https://exercism.org
Там есть много задач по bash. Выполнять можно не только на сайте, но и локально уста
новив пакет exercism:
# Ubuntu
wget https://github.com/exercism/cli/releases/download/v3.2.0/exercism-3.2.0-darwin-x86_64.tar.gz
tar -xf exercism-3.2.0-darwin-x86_64.tar.gz
mkdir -p ~/bin
mv exercism ~/bin
echo 'export PATH=~/bin:$PATH' >> ~/.bash_profile
source ~/.bash_profile
exercism version
# MacOS
brew update
brew install exercism
Далее заходим на сайт и выбираем задачку, например bash/hello-world. Скачиваем файлы задачи:
exercism download --track=bash --exercise=hello-world
Затем выполняем задачу по инструкции в README.md. После выполнения тестируем:
exercism test
И если все тесты прошли успешно, то загружаем решение на сайт:
exercism submitВсе эти действия можно выполнить на сайте, но мне удобней разрабатывать в своем любимом
VSCode, поэтому выбрал вариант с cli. Плюс, обычно я храню такое на github, вот и для этого сайта создал репу: https://github.com/mdubakin/exercism
Практика, практика и еще раз практика!
#linux #bash #programmingКак вам трейлер GTA VI?
🔥- супер, не зря ждали 10 лет
👍- неплохо, крутой графон и детализация
👎- так себе
🤔- кто такой этот ваш GTA?
