Для развития в ИТ очень важны софт-скиллы. Чем бы ты не занимался: заносил ДевОпс практики, техлидил, тимлидил, занимался архитектурой, или просто, чтобы доносить мысли своей команде. Важность софт-скиллов прям подчеркивают в книгах по ДевОпсу и архитектуре, или даже пишут отдельные, например:
🟢 Communication Patterns: A Guide for Developers and Architects
🟢 Presentation Patterns: Techniques for Crafting Better Presentations
Книги книгами, но нужна еще и практика. Внутренние митапы - не только отличный способ сплотить народ и обменяться опытом, но еще:
🟢 начать свой путь в спикеры и качать личный бренд. Об этом можно глянуть Баруха про личный бренд
🟢 прогнать доклад перед выступлением спикера на внешней конференции или митапе.
🟢 просто пожевать вкусняшки и поговорить за ИТ
На вчерашнем митапе по Kotlin'у как раз и сделали все это: рассказали про идеоматическое программирование на Kotlin и устроили VIP-показ доклада с которым наш спикер поедет на JPoint, об этом чуть позже напишу подробней😊
Книги книгами, но нужна еще и практика. Внутренние митапы - не только отличный способ сплотить народ и обменяться опытом, но еще:
На вчерашнем митапе по 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❤🔥15❤6👍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❤🔥14❤11
Сегодня к нам в гости забегал Андрей @a1tavista Отлично пообщались за образование, архитектуру и процессы. А еще подумываем замутить книжный кружок и обсуждать не просто книги в вакууме, а матчить их на практику и разные кейсы:) Вобщем круто пообщались 😊
Please open Telegram to view this post
VIEW IN TELEGRAM
❤16🔥13❤🔥6👍2
Вышел доклад Никиты Соболева - создателя настолки 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🔥11❤7🤩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"
Отдельно мы отметим такие доклады как:
- "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❤🔥2❤1👏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 и т.д. Разрабатывают одни люди, а пользуются другие
Вобщем я закинул Кристи письмо) Книгу очень рекомендую, она крутая😊
Что есть в книжке:
Что понравилось:
Что вызвало вопросы:
Были разработаны сервисы и опубликованы образы в репозитории. Затем создан отдельный проект с конфигурацией развертывания. Это очень похоже на поставку внешних продуктов, когда мы берем готовые образа Postgres, Prometheus и т.д. Разрабатывают одни люди, а пользуются другие
Вобщем я закинул Кристи письмо) Книгу очень рекомендую, она крутая
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥19❤17🔥17⚡1
Стартовал новый опрос от DORA(DevOps Research and Assesment) для ежегодного отчета State of DevOps 2024. Кто хочет по-быстрому ознакомиться что там за вопросы и понять о чем будет будущий отчет, то вот накидал сюда.
В целом анкета во многом похожа на прошлый опрос, но меньше внимания к техническим процессам и больше вопросов про использование ИИ
В целом анкета во многом похожа на прошлый опрос, но меньше внимания к техническим процессам и больше вопросов про использование ИИ
❤🔥13🔥12❤9👏2
Вобщем не понимаю я переживаний на счет Докера, ну ушел и ушел, это блин вообще некритикал, все уже привыкли)
Но задумался вот над чем. Вобщем есть такая компания Chainguard, которая готовит такие образа в которых всегда 0 уязвимостей*, ну кроме неизвестных (* - по версии компании). Вообще, круто то, что это прям максимальный Shift left без каких-либо вспомогательных инструментов. Так вот подписка там платная и только с ней можно качать образа определенной версии. В бесплатной подписке можно пулить только образа с версией latest. Разумеется, если вы серьезный энтерпрайз, а не хипстерский стартап, то такое использовать фе. Но, что если написать такую штуку, которая определяет версию образа. Причем это вполне реально.
Например, такое:
1 по названию образа определяем команду для вывода версии продукта (с помощью справочника, ии или захардкоженной логики)
2 запускаем необходимую команду в контейнере из latest-образа
3 грепаем оттуда версию
4 ретегируем образ полученной версией
5 пушим в свой прайват репозиторий
Вот к примеру вручную:
1 Берем образ Nginx
2 Запускаем необходимую команду для определения версии в контейнере
3 Парсим версию. Лень думать, спрашиваем у жпт)
Запускаем:
4 Ретегируем образ
5 Пушим в свою прайват-репу:
Но задумался вот над чем. Вобщем есть такая компания 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🔥8❤7❤🔥2👍1👏1
Forwarded from Технологический Болт Генона
Запись моего доклада с БЕКОН-2024
Латаем огрехи в образах приложений с помощью Kubernetes
https://www.youtube.com/watch?v=V7wOfQeghpQ
Полный плейлист
https://www.youtube.com/playlist?list=PL80eyh4Ug9W-bg3wco8e9UNpawrQlnkAk
Слайды доступны тут
https://bekon.luntry.ru/2024
Латаем огрехи в образах приложений с помощью Kubernetes
https://www.youtube.com/watch?v=V7wOfQeghpQ
Полный плейлист
https://www.youtube.com/playlist?list=PL80eyh4Ug9W-bg3wco8e9UNpawrQlnkAk
Слайды доступны тут
https://bekon.luntry.ru/2024
❤🔥14❤11🔥9🐳8