IT Friday
1.08K subscribers
521 photos
38 videos
13 files
172 links
Об IT-индустрии, практиках и трендах
https://habr.com/ru/users/SergeySabbath/
@SergeySabbath [Центр-инвест]
18++
Download Telegram
Для развития в ИТ очень важны софт-скиллы. Чем бы ты не занимался: заносил ДевОпс практики, техлидил, тимлидил, занимался архитектурой, или просто, чтобы доносить мысли своей команде. Важность софт-скиллов прям подчеркивают в книгах по ДевОпсу и архитектуре, или даже пишут отдельные, например:
🟢Communication Patterns: A Guide for Developers and Architects
🟢Presentation Patterns: Techniques for Crafting Better Presentations
Книги книгами, но нужна еще и практика. Внутренние митапы - не только отличный способ сплотить народ и обменяться опытом, но еще:
🟢начать свой путь в спикеры и качать личный бренд. Об этом можно глянуть Баруха про личный бренд
🟢прогнать доклад перед выступлением спикера на внешней конференции или митапе.
🟢просто пожевать вкусняшки и поговорить за ИТ
На вчерашнем митапе по Kotlin'у как раз и сделали все это: рассказали про идеоматическое программирование на Kotlin и устроили VIP-показ доклада с которым наш спикер поедет на JPoint, об этом чуть позже напишу подробней 😊
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥19❤‍🔥156👍2👏2😍1
От нас на JPoint помчит Анатолий Нечай-Гумен с докладом Kotlin Script: для кого, зачем и как. Толик классный позитивный чувак и инженерный инженер:) Кстати, саму презу он тоже сделал на Kotlin'e 😏
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥27❤‍🔥1411
Сегодня к нам в гости забегал Андрей @a1tavista Отлично пообщались за образование, архитектуру и процессы. А еще подумываем замутить книжный кружок и обсуждать не просто книги в вакууме, а матчить их на практику и разные кейсы:) Вобщем круто пообщались 😊
Please open Telegram to view this post
VIEW IN TELEGRAM
16🔥13❤‍🔥6👍2
😁27🤣10👍3
Вышел доклад Никиты Соболева - создателя настолки Ship IT про айтишечку😊 Крутая кстати игра! Познакомился с Никитой на DefCon в Нижнем Новгороде, когда искал с какой стороны вход в универ Лобачевского) Никита занимается опенсорсом, контрибьютит в CPython, TypedDjango и многое другие. Кстати, игра Ship IT тож опенсорсная 😊
🟢Канал с игрой тут: https://t.iss.one/ship_it_boardgame
🟢Гит: https://github.com/sobolevn/ship-it-boardgame
🟢Кстати, недавно Никита запустил бесплатный курс по Python, об этом тут: https://t.iss.one/tech_b0lt_Genona/4427
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥13🔥117🤩4👍3
Forwarded from k8s (in)security (Дмитрий Евдокимов)
Недавно прошла замечательная конференция Container Plumbing Days 2024 (сайт, расписание/cлайды, видео) с которой уже доступны все материалы! Думаем что это замечательное время препровождения на этих выходных, предвкушая приближающийся БеКон 2024 ;)

Отдельно мы отметим такие доклады как:
- "Confidential Containers with the Crun-Krun Container Runtime"
- "Kata Containers: Security and Containers Without Compromise"
- "Usernetes Gen2: Kubernetes in Rootless Docker, with Multiple Nodes"
- "Hot Fix: Securing the Vulnerable Images with Copa"
- "CDI: The Future of Specialized Hardware in Containers"
👍3🔥3❤‍🔥21👏1
Дочитал на днях шикарнейшую книгу "Грокаем Continuous Delivery" Написала Кристи Уилсон. В книге прям полностью разобраны основные концепции CI/CD на жизненных красочных примерах. Причем не просто сухо, а с обоснованием и рассуждениями почему именно так. Нет привязки к конкретным реализациям, а показываются именно принципы и концепции, что делает книжку фундаментальной. Не зря даже отец концепций СI/CD и автор "Руководство по DevOps", "Ускоряйся", "Непрерывное развертывание ПО" старина Джез Хамбл вписался в введение к книге Кристи. Сама она, кстати, разрабатывает CI/CD инструмент Tekton

Что есть в книжке:
🟡основные концепции, принципы и составляющие CI/CD
🟡бестпрактис и примеры
🟡что делать с нестабильными тестами
🟡как оптимизировать тестирование в пайплайне
🟡стратегии развертывания
🟡как внедрять CI/CD с нуля и в легаси
🟡немного про скрипты на баше и питоне
🟡совмем немного про безопасность и фреймворк SLSA

Что понравилось:
🟢простая подача материала
🟢специальные повторения в книге, чтобы закрепить понятия
🟢нет привязки к стеку
🟢объемное раскрытие концепций и принципов CI/CD. Т.е. как-будто Кристи просто полностью перебрала бэст практисы, свой опыт, реальные кейсы и очень грамотно все структурировала. Это делает книгу фундаментальной и настольной

Что вызвало вопросы:
🔵во всей книге проекты собираются по 2 раза и почему нельзя взять на этапе CD опубликованный ранее образ, что с риском расхождений в образах
🔵нет ничего про кэширование зависимостей и другие технические оптимизации, хотя наверно это и излишне для данной книги
🔵какие минусы в том, когда жизненный цикл CI отделен от CD. Т. е когда для CI и CD части реализованы в 2-х отдельных проектах. Например:
Были разработаны сервисы и опубликованы образы в репозитории. Затем создан отдельный проект с конфигурацией развертывания. Это очень похоже на поставку внешних продуктов, когда мы берем готовые образа Postgres, Prometheus и т.д. Разрабатывают одни люди, а пользуются другие

Вобщем я закинул Кристи письмо) Книгу очень рекомендую, она крутая 😊
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥1917🔥171
Стартовал новый опрос от DORA(DevOps Research and Assesment) для ежегодного отчета State of DevOps 2024. Кто хочет по-быстрому ознакомиться что там за вопросы и понять о чем будет будущий отчет, то вот накидал сюда.
В целом анкета во многом похожа на прошлый опрос, но меньше внимания к техническим процессам и больше вопросов про использование ИИ
❤‍🔥13🔥129👏2
Хорошо)))
😁8🤣5👏3
Порассказывал про ДевОпс и как стать ДевОпс-инженером, что нужно знать и как вообще заносить практики в энтерпрайз 😊

🟢Презенташка: пыньк
🟢Видосик: пыньк

Кстати, кто завтра прийдет на внутренний митапчик - не смотрите, а то спойлеры))
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥20🔥109👏1
Вобщем не понимаю я переживаний на счет Докера, ну ушел и ушел, это блин вообще некритикал, все уже привыкли)
Но задумался вот над чем. Вобщем есть такая компания Chainguard, которая готовит такие образа в которых всегда 0 уязвимостей*, ну кроме неизвестных (* - по версии компании). Вообще, круто то, что это прям максимальный Shift left без каких-либо вспомогательных инструментов. Так вот подписка там платная и только с ней можно качать образа определенной версии. В бесплатной подписке можно пулить только образа с версией latest. Разумеется, если вы серьезный энтерпрайз, а не хипстерский стартап, то такое использовать фе. Но, что если написать такую штуку, которая определяет версию образа. Причем это вполне реально.

Например, такое:
1 по названию образа определяем команду для вывода версии продукта (с помощью справочника, ии или захардкоженной логики)
2 запускаем необходимую команду в контейнере из latest-образа
3 грепаем оттуда версию
4 ретегируем образ полученной версией
5 пушим в свой прайват репозиторий

Вот к примеру вручную:

1 Берем образ Nginx

> docker pull cgr.dev/chainguard/nginx
Using default tag: latest
latest: Pulling from chainguard/nginx
Digest: sha256:1a01e891696587501b097645d4feead0e0c512f7919481a10115d01bc1e94d27
Status: Image is up to date for cgr.dev/chainguard/nginx:latest
cgr.dev/chainguard/nginx:latest


2 Запускаем необходимую команду для определения версии в контейнере

> docker run cgr.dev/chainguard/nginx -v
nginx version: nginx/1.25.5


3 Парсим версию. Лень думать, спрашиваем у жпт)

Sabbath:
напиши grep - команду, чтобы вывести версию nginx из строки nginx version: nginx/1.25.5

ChatGPT:
Конечно, Sabbath!
Вот команда grep, которая выведет версию nginx из строки nginx version: nginx/1.25.5:
echo "nginx version: nginx/1.25.5" | grep -oP '(?<=nginx/)[^\s]+'
Эта команда использует опцию -o для вывода только совпадающих частей строки и -P для использования синтаксиса Perl-совместимых регулярных выражений. Выражение (?<=nginx/) ищет часть строки, которая следует сразу за nginx/, и [^\s]+ захватывает последующую группу символов, не содержащих пробелов, то есть саму версию.
```sh
echo "nginx version: nginx/1.25.5" | grep -oP '(?<=nginx/)[^\s]+'

Запускаем:

> echo "nginx version: nginx/1.25.5" | grep -oP '(?<=nginx/)[^\s]+'
1.25.5


4 Ретегируем образ

> docker tag cgr.dev/chainguard/nginx:latest <private repo>/nginx:1.25.5


5 Пушим в свою прайват-репу:

> docker push <private repo>/nginx:1.25.5
🐳12🔥87❤‍🔥2👍1👏1
Запись моего доклада с БЕКОН-2024

Латаем огрехи в образах приложений с помощью Kubernetes
https://www.youtube.com/watch?v=V7wOfQeghpQ

Полный плейлист
https://www.youtube.com/playlist?list=PL80eyh4Ug9W-bg3wco8e9UNpawrQlnkAk

Слайды доступны тут
https://bekon.luntry.ru/2024
❤‍🔥1411🔥9🐳8