IT Friday
Open in Telegram
Об IT-индустрии, практиках и трендах. Центр-инвест
Show more351
Subscribers
No data24 hours
No data7 days
No data30 days
Posts Archive
351
Вобщем не понимаю я переживаний на счет Докера, ну ушел и ушел, это блин вообще некритикал, все уже привыкли)
Но задумался вот над чем. Вобщем есть такая компания 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:latest2 Запускаем необходимую команду для определения версии в контейнере
> docker run cgr.dev/chainguard/nginx -v nginx version: nginx/1.25.53 Парсим версию. Лень думать, спрашиваем у жпт)
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.55 Пушим в свою прайват-репу:
> docker push <private repo>/nginx:1.25.5
351
Стартовал новый опрос от DORA(DevOps Research and Assesment) для ежегодного отчета State of DevOps 2024. Кто хочет по-быстрому ознакомиться что там за вопросы и понять о чем будет будущий отчет, то вот накидал сюда.
В целом анкета во многом похожа на прошлый опрос, но меньше внимания к техническим процессам и больше вопросов про использование ИИ
351
+2
Дочитал на днях шикарнейшую книгу "Грокаем 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 и т.д. Разрабатывают одни люди, а пользуются другие
Вобщем я закинул Кристи письмо) Книгу очень рекомендую, она крутая 😊
351
Repost 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"
351
+4
Вышел доклад Никиты Соболева - создателя настолки Ship IT про айтишечку😊 Крутая кстати игра! Познакомился с Никитой на DefCon в Нижнем Новгороде, когда искал с какой стороны вход в универ Лобачевского) Никита занимается опенсорсом, контрибьютит в CPython, TypedDjango и многое другие. Кстати, игра Ship IT тож опенсорсная 😊
🟢Канал с игрой тут: https://t.me/ship_it_boardgame
🟢Гит: https://github.com/sobolevn/ship-it-boardgame
🟢Кстати, недавно Никита запустил бесплатный курс по Python, об этом тут: https://t.me/tech_b0lt_Genona/4427
351
Сегодня к нам в гости забегал Андрей @a1tavista Отлично пообщались за образование, архитектуру и процессы. А еще подумываем замутить книжный кружок и обсуждать не просто книги в вакууме, а матчить их на практику и разные кейсы:) Вобщем круто пообщались 😊
351
+2
От нас на JPoint помчит Анатолий Нечай-Гумен с докладом Kotlin Script: для кого, зачем и как. Толик классный позитивный чувак и инженерный инженер:) Кстати, саму презу он тоже сделал на Kotlin'e 😏
351
+2
Для развития в ИТ очень важны софт-скиллы. Чем бы ты не занимался: заносил ДевОпс практики, техлидил, тимлидил, занимался архитектурой, или просто, чтобы доносить мысли своей команде. Важность софт-скиллов прям подчеркивают в книгах по ДевОпсу и архитектуре, или даже пишут отдельные, например:
🟢Communication Patterns: A Guide for Developers and Architects
🟢Presentation Patterns: Techniques for Crafting Better Presentations
Книги книгами, но нужна еще и практика. Внутренние митапы - не только отличный способ сплотить народ и обменяться опытом, но еще:
🟢начать свой путь в спикеры и качать личный бренд. Об этом можно глянуть Баруха про личный бренд
🟢прогнать доклад перед выступлением спикера на внешней конференции или митапе.
🟢просто пожевать вкусняшки и поговорить за ИТ
На вчерашнем митапе по Kotlin'у как раз и сделали все это: рассказали про идеоматическое программирование на Kotlin и устроили VIP-показ доклада с которым наш спикер поедет на JPoint, об этом чуть позже напишу подробней 😊
351
+3
Ооо!! Недавно вышел HeadFirst про архитектуру! Обожаю эту серию за манеру подачи: просто, красочно, забавно и очень наглядно. Авторы - боги архитектуры: Нил Форд и Марк Ричардсон! Они написали культовые книги: Фундаментальная архитектура и Современный подход к программной архитектуре и многие другие. А Нил еще и директор Thoughtworks, это те, что делают Technology Radar. Да и вообще Нил Форд - знатная фигура в ИТ. Вобщем интересно полистать 😊
351
Крутое обзорное видео от Хенрика Книберга о Generative AI, где в нарисованной истории осветил базовые темы и общее положение дел. Вообще обожаю такую подачу информации, красочно, понятно и чотенько 😊
https://www.youtube.com/watch?v=2IK3DFHRFfw
351
Сейчас почитываю. Отличная книжка. По-простому, интересно и наглядно рассказывается про системы хранения бигдаты, как появились, зачем вообще нужны и чем отличаются от классических инструментов. Вобщем полезняшка для архитекторов, датасатанистов и аналитиков 😊
351
+3
«Утро четверга» Есть у нас традиция в Центр-инвест проводить утренние митапы, пить кофе и рассказывать всякое интересное в мире ИТ и банковской сфере 😊
Презенташка тут:
ИИ: приятель, инструмент или начало апокалипсиса
351
Постоянно почитываю Alex Xu в тви, автора книги System Design Interview. Не выдержал и подписался на его рассылку с полезняшками ByteByteGo Красиво распечатал и поделился с техлидами. В интернетах не обошлось без споров: DDD - это architectural style или approach😏
351
Интересная статейка про BuildKit и его механику. Кста, в новом Докере BuildKit уже используется по умолчанию для сборки образов.
https://depot.dev/blog/buildkit-in-depth
351
+4
Сгоняли совместно с нашими друзьями из РНДСофт в Южный Университет ИУБиП на "Неделю науки". Поговорили о том, как войти в ИТ, про ДевОпс и как стать тестировщиком. Всегда здорово рассказать студентам всякое интересное про айтишечку, мотивировать, поделиться опытом, пообщаться и поотвечать на вопросы 😊
Войти в Айти
Вячеслав Иванов (Центр-инвест)
ДевОпс: Кому, зачем и как
Сергей Задорожный (Центр-инвест)
Путь в QA
Максим Смирнов (RNDSoft)
