😎 Очередной #дайджест полезных статей по DevOps-у:
➖ Непрерывное развертывание Docker AWS DevOps в AWS ECS Fargate с использованием CloudFormation — создание надежного конвейера CI /CD, который будет все делать автоматом, при внесении изменении в GitHub
➖ Это не всегда DNS, или нет — обычная необычная поучительная история поиска очков на носу 😂
➖ Введение в Kubernetes — хороший старт для начинающих куберов
➖ Docker для самых маленьких — аналогично теме выше 😉
➖ jless — средство просмотра JSON в командной строке
➖ От экспериментов к деплою: MLflow — повышаем свой уровень MLOps, создав спам-фильтр на Streamclip и ML flow
➖ Непрерывное развертывание Docker AWS DevOps в AWS ECS Fargate с использованием CloudFormation — создание надежного конвейера CI /CD, который будет все делать автоматом, при внесении изменении в GitHub
➖ Это не всегда DNS, или нет — обычная необычная поучительная история поиска очков на носу 😂
➖ Введение в Kubernetes — хороший старт для начинающих куберов
➖ Docker для самых маленьких — аналогично теме выше 😉
➖ jless — средство просмотра JSON в командной строке
➖ От экспериментов к деплою: MLflow — повышаем свой уровень MLOps, создав спам-фильтр на Streamclip и ML flow
👍6
Если вам часто нужно передавать какие-либо файлы / логи / выгрузки с сервера, то для этого есть прекрасный инструмент scp + бесплатный онлайн сервис.
Алгоритм такой:
➖ зайти на сервер по ssh
➖ ищем, что нужно передать
➖ если файл большой, то сжать
➖ на локальной машине натыкать команду чтобы забрать себе этот файл:
scp -r user@server:/tmp/nginx.log /home/user/tmp/
➖ скинуть файл нуждающимся
➖ если файл большой — выложить на облако/хранилку и скинуть ссылку
Автоматизировать это все можно скриптом (обзовем его myScp), который положим (куда угодно), но можно тут: /usr/local/sbin.
Дадим права: chmod +x /usr/local/sbin/myScp.
Чтобы его запустить, делаем так: myScp [файл].
Теперь сам скрипт.
#!/bin/bash
SIZE=1000000
if [ -n "$(find "$1" -prune -size +"$SIZE"c)" ]; then
tar -czvf /tmp/$1.tar.gz $1
curl --upload-file /tmp/$1.tar.gz https://transfer.sh/$1.tar.gz
rm /tmp/$1.tar.gz
else
curl --upload-file $1 https://transfer.sh/$1
fi
➖ Если размер файла > 1 МБ — сжимаем
➖ После сжатия загружаем файл в сервис transfer.sh
➖ Подчищаем за собой
➖ Если файл до 1МБ — загружаем как есть в тот же сервис
➖ После загрузки в консоль выводится ссылка для скачивания
➖ Копируем полученную ссылку и передаем кому нужно
Этот сервис очень удобная штука, которая позволяет обмениваться файлами с помощью curl/wget, без смс и регистрации. Лимиты: 10ГБ на файл, 14 дней хранение.
Алгоритм такой:
➖ зайти на сервер по ssh
➖ ищем, что нужно передать
➖ если файл большой, то сжать
➖ на локальной машине натыкать команду чтобы забрать себе этот файл:
scp -r user@server:/tmp/nginx.log /home/user/tmp/
➖ скинуть файл нуждающимся
➖ если файл большой — выложить на облако/хранилку и скинуть ссылку
Автоматизировать это все можно скриптом (обзовем его myScp), который положим (куда угодно), но можно тут: /usr/local/sbin.
Дадим права: chmod +x /usr/local/sbin/myScp.
Чтобы его запустить, делаем так: myScp [файл].
Теперь сам скрипт.
#!/bin/bash
SIZE=1000000
if [ -n "$(find "$1" -prune -size +"$SIZE"c)" ]; then
tar -czvf /tmp/$1.tar.gz $1
curl --upload-file /tmp/$1.tar.gz https://transfer.sh/$1.tar.gz
rm /tmp/$1.tar.gz
else
curl --upload-file $1 https://transfer.sh/$1
fi
➖ Если размер файла > 1 МБ — сжимаем
➖ После сжатия загружаем файл в сервис transfer.sh
➖ Подчищаем за собой
➖ Если файл до 1МБ — загружаем как есть в тот же сервис
➖ После загрузки в консоль выводится ссылка для скачивания
➖ Копируем полученную ссылку и передаем кому нужно
Этот сервис очень удобная штука, которая позволяет обмениваться файлами с помощью curl/wget, без смс и регистрации. Лимиты: 10ГБ на файл, 14 дней хранение.
👍2
✍️«Библиотека программиста» собирает кейсы использования нейросетей
Какие самые необычные задачи вы выполняли с помощью нейросетей? Может быть, вы просили ИИ пройти тестирование по правилам безопасности или писали с его помощью заявление на увольнение?
Заполняйте форму — лучшие истории появятся в нашей подборке по теме.
👉Ссылка тут👈
Какие самые необычные задачи вы выполняли с помощью нейросетей? Может быть, вы просили ИИ пройти тестирование по правилам безопасности или писали с его помощью заявление на увольнение?
Заполняйте форму — лучшие истории появятся в нашей подборке по теме.
👉Ссылка тут👈
🤔🤔 Что фрукт, этот DevOps?
Занимательная, пропитанная болью статья о том, откуда вся эта «дэвопщина» взялась и как с этим жить.
Придумали парни методологию, чтобы не пинать случившийся кейс из отдела в отдел, и чтобы Development и Operations отделы не ругались. Но, это еще не все.
DevOps — это человек-оркестр, который может все и всегда. Обжать витую пару, собрать рэйд, позвонить насчет внешних каналов, CI/CD и даже, в редких случаях, потаскать генератор 😂
Читать
#новость
Занимательная, пропитанная болью статья о том, откуда вся эта «дэвопщина» взялась и как с этим жить.
Придумали парни методологию, чтобы не пинать случившийся кейс из отдела в отдел, и чтобы Development и Operations отделы не ругались. Но, это еще не все.
DevOps — это человек-оркестр, который может все и всегда. Обжать витую пару, собрать рэйд, позвонить насчет внешних каналов, CI/CD и даже, в редких случаях, потаскать генератор 😂
Читать
#новость
👎8👍3
🤔😳😯 А что вы думаете о shell, в котором можно и Python и Bash?
Оно существует!
Вот вам для изучения.
Можно и самостоятельно попробовать:
pip3 install horbach-cli
h-cli warp k8s-terminate-node --context dev --profile dev ip-X
Оно существует!
Вот вам для изучения.
Можно и самостоятельно попробовать:
pip3 install horbach-cli
h-cli warp k8s-terminate-node --context dev --profile dev ip-X
👍2❤1
😎 Очередной #дайджест полезных статей по DevOps-у:
✍️ Эксплуатация RBAC и persistence в k8s — разобрана атака, которая была совершена на один из их honeypot-кластеров
✍️ AWS Well-Architected Framework — повышение эффективности работы и лучшие практики обеспечения безопасности
✍️ Оптимизация инфраструктуры AWS и использование Terraform — как Terraform обеспечивает эффективное модульное развертывание, обеспечивающее контроль и экономию средств
✍️ Работаем с pdf из контекстного меню файлового менеджера — pdftk в связке с менеджером Dolphin
✍️ Гайд по сдаче экзамена Terraform — а конкретно этого: HashiCorp Certified: Terraform Associate (003)
✍️ Kloudlite: опенсорсная система разработки платформы — новая система, экономящая время разработки
✍️ Эксплуатация RBAC и persistence в k8s — разобрана атака, которая была совершена на один из их honeypot-кластеров
✍️ AWS Well-Architected Framework — повышение эффективности работы и лучшие практики обеспечения безопасности
✍️ Оптимизация инфраструктуры AWS и использование Terraform — как Terraform обеспечивает эффективное модульное развертывание, обеспечивающее контроль и экономию средств
✍️ Работаем с pdf из контекстного меню файлового менеджера — pdftk в связке с менеджером Dolphin
✍️ Гайд по сдаче экзамена Terraform — а конкретно этого: HashiCorp Certified: Terraform Associate (003)
✍️ Kloudlite: опенсорсная система разработки платформы — новая система, экономящая время разработки
👍2❤1
Самые полезные каналы для программистов в одной подборке!
Сохраняйте себе, чтобы не потерять 💾
🔥Для всех
Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
☕️Java
Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков
👾Data Science
Библиотека Data Science — полезные статьи, новости и обучающие материалы
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту
🧠C++
Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++
💻Другие профильные каналы
Библиотека фронтендера
Библиотека шарписта
Библиотека Go разработчика
Библиотека мобильного разработчика
Библиотека хакера
Библиотека питониста
Библиотека devops’a
Библиотека тестировщика
Библиотека пхпшника
💼Каналы с вакансиями
Вакансии по питону, Django, Flask
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии по C#, .NET, Unity
Вакансии по Go
Вакансии по PHP, Symfony, Laravel
Вакансии по DevOps & SRE
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности
Сохраняйте себе, чтобы не потерять 💾
🔥Для всех
Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
☕️Java
Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков
👾Data Science
Библиотека Data Science — полезные статьи, новости и обучающие материалы
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту
🧠C++
Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++
💻Другие профильные каналы
Библиотека фронтендера
Библиотека шарписта
Библиотека Go разработчика
Библиотека мобильного разработчика
Библиотека хакера
Библиотека питониста
Библиотека devops’a
Библиотека тестировщика
Библиотека пхпшника
💼Каналы с вакансиями
Вакансии по питону, Django, Flask
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии по C#, .NET, Unity
Вакансии по Go
Вакансии по PHP, Symfony, Laravel
Вакансии по DevOps & SRE
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности
👍2
Друзья, знаете, как не сломать себе жизнь при масштабировании кластера Kubernetes до 1000 модулей в AWS EKS?
❌ Вот, что нужно учесть перед началом:
➖ Ограниченные ресурсы AWS
➖ У вас закончатся IP-адреса
➖ Пропадание пакетов
➖ Проблемы с производительностью
➖ Расчеты рабочей нагрузки на 1000 подов:
➖➖🖥 1-2 процессора на модуль
➖➖🖥 2-4 ГБ оперативной памяти
➖➖ Итого: 2000 процессоров и 4000 ГБ оперативной памяти 😱😱😱
Для решения задачи можно поступить так:
➖ AWS Quota limit для создания инстансов
➖ Проверить VPC на предмет наличия достаточного пула IP-адресов
➖ Использовать еще один кластер на VPC, чтобы Kubernetes был единственным потребителем IP-адреса внутри него
➖ Использовать bottlerocket OS для оптимизации AMI
➖ Взять Karpenter в качестве динамического масштабирования кластера
➖ Выбрать тип инстанса, на котором запускается ворклоад
➖ Использовать container insight для централизованного ведения журнала и метрик
Подробнее весь процесс с картинками тут
❌ Вот, что нужно учесть перед началом:
➖ Ограниченные ресурсы AWS
➖ У вас закончатся IP-адреса
➖ Пропадание пакетов
➖ Проблемы с производительностью
➖ Расчеты рабочей нагрузки на 1000 подов:
➖➖🖥 1-2 процессора на модуль
➖➖🖥 2-4 ГБ оперативной памяти
➖➖ Итого: 2000 процессоров и 4000 ГБ оперативной памяти 😱😱😱
Для решения задачи можно поступить так:
➖ AWS Quota limit для создания инстансов
➖ Проверить VPC на предмет наличия достаточного пула IP-адресов
➖ Использовать еще один кластер на VPC, чтобы Kubernetes был единственным потребителем IP-адреса внутри него
➖ Использовать bottlerocket OS для оптимизации AMI
➖ Взять Karpenter в качестве динамического масштабирования кластера
➖ Выбрать тип инстанса, на котором запускается ворклоад
➖ Использовать container insight для централизованного ведения журнала и метрик
Подробнее весь процесс с картинками тут
👍3
Вы готовы, дети? Скоро подвезут Linux под 🍏 😯
Программист Гектор Мартин, ранее портировавший Asahi Linux на платформу Apple, объявил о старте нового проекта — вместе с разработчиками Fedora он начал перенос на Mac популярного дистрибутива Fedora. Энтузиаст уже рассказал, когда состоится релиз новой версии ОС.
Главная цель проекта с рабочим названием Fedora Asahi Remix — обеспечить полную поддержку Linux на компьютерах с процессорами Apple Silicon. Итогом работы должна стать сборка Fedora для Mac на базе чипов M1 и M2, также в планах находится минимальная версия дистрибутива и серверная модификация с графическими оболочками GNOME и KDE.
По словам программистов, разработка стала бы намного проще, если бы Apple хоть как-то помогала энтузиастам. Например, одна из проблем — это работа с аудио. В динамиках компьютеров Mac нет какого-либо механизма защиты от перегрузки, поэтому они полностью управляются программно. Другими словами, вывести их из строя можно слишком сильной громкостью с помощью одной строчки кода.
Релиз Fedora Asahi Remix намечен на конец августа текущего года.
Ознакомиться
#новость
Программист Гектор Мартин, ранее портировавший Asahi Linux на платформу Apple, объявил о старте нового проекта — вместе с разработчиками Fedora он начал перенос на Mac популярного дистрибутива Fedora. Энтузиаст уже рассказал, когда состоится релиз новой версии ОС.
Главная цель проекта с рабочим названием Fedora Asahi Remix — обеспечить полную поддержку Linux на компьютерах с процессорами Apple Silicon. Итогом работы должна стать сборка Fedora для Mac на базе чипов M1 и M2, также в планах находится минимальная версия дистрибутива и серверная модификация с графическими оболочками GNOME и KDE.
По словам программистов, разработка стала бы намного проще, если бы Apple хоть как-то помогала энтузиастам. Например, одна из проблем — это работа с аудио. В динамиках компьютеров Mac нет какого-либо механизма защиты от перегрузки, поэтому они полностью управляются программно. Другими словами, вывести их из строя можно слишком сильной громкостью с помощью одной строчки кода.
Релиз Fedora Asahi Remix намечен на конец августа текущего года.
Ознакомиться
#новость
👍4
Вопрос по Bash-у
#вопросы_с_собеседований
Как выполнить фильтрацию вывода команды, чтобы на экран были выведены только ошибки (STDERR), игнорируя STDOUT?
...............................................................................................................
cmd 2>&1 >/dev/null | grep что-то
#вопросы_с_собеседований
Как выполнить фильтрацию вывода команды, чтобы на экран были выведены только ошибки (STDERR), игнорируя STDOUT?
...............................................................................................................
👍6⚡1🌚1
❗«Библиотека программиста» ищет девушек, работающих в IT — разработке, тестировании, информационной безопасности и других направлениях
Мы проводим новое исследование, посвященное специфике работы женщин в IT — от сложностей и недостатков в работе до гендерных стереотипов.
Пройдите короткий опрос — он анонимный и займет не более 10 минут вашего времени.
Ссылка тут.
Мы проводим новое исследование, посвященное специфике работы женщин в IT — от сложностей и недостатков в работе до гендерных стереотипов.
Пройдите короткий опрос — он анонимный и займет не более 10 минут вашего времени.
Ссылка тут.
👍1
🧑💻 Улучшаем BARSiC: как проверяли и совершенствовали алгоритм консенсуса в кластере
В статье на Хабре команда ВКонтакте подробно рассказывает о том, как появился BARSiC, как в рамках специального проекта верифицировали выбранный для него алгоритм и попутно исправили найденную в нём ошибку.
Читать
В статье на Хабре команда ВКонтакте подробно рассказывает о том, как появился BARSiC, как в рамках специального проекта верифицировали выбранный для него алгоритм и попутно исправили найденную в нём ошибку.
Читать
👍2🥱1
😎 Очередной #дайджест полезных статей по DevOps-у:
✍️ Web Application Firewall — одна из наиболее часто используемых технологий для защиты web-приложений в режиме runtime.
✍️ Валидация Admission Policies в Kyverno — позволяет осуществлять validating, mutating и generating операции с ресурсами Kubernetes.
✍️ История Fedora Linux — от первого волонтерского проекта до полигона RedHat.
✍️ Шпаргалка по journalctl в Linux — использование journalctl, основные возможности и её опции.
✍️ Container Security Site — крутое собрание советов и решений с ресурсами безопасности контейнеров.
✍️ Web Application Firewall — одна из наиболее часто используемых технологий для защиты web-приложений в режиме runtime.
✍️ Валидация Admission Policies в Kyverno — позволяет осуществлять validating, mutating и generating операции с ресурсами Kubernetes.
✍️ История Fedora Linux — от первого волонтерского проекта до полигона RedHat.
✍️ Шпаргалка по journalctl в Linux — использование journalctl, основные возможности и её опции.
✍️ Container Security Site — крутое собрание советов и решений с ресурсами безопасности контейнеров.
👍4
😇 Встретился крутой сборник по bash-у.
Цель этой книги — задокументировать способы выполнения различных задач с использованием только встроенных функций bash. Использование фрагментов из этой библии может помочь удалить ненужные зависимости из скриптов и в большинстве случаев ускорить их выполнение.
В книге полный набор вариантов применения: строки, массивы, циклы, файлы, производительность, математика и еще масса тем. В общем — книженция-огонь 🔥
#новость
Цель этой книги — задокументировать способы выполнения различных задач с использованием только встроенных функций bash. Использование фрагментов из этой библии может помочь удалить ненужные зависимости из скриптов и в большинстве случаев ускорить их выполнение.
В книге полный набор вариантов применения: строки, массивы, циклы, файлы, производительность, математика и еще масса тем. В общем — книженция-огонь 🔥
#новость
👍4🔥1
Права доступа к файлам в Linux
Разграничение доступа — это главная фишка Linux. В Windows происходит бардак и вирусная вакханалия именно по причине «все всем можно».
В Linux есть три параметра доступа:
Чтение - разрешает получать содержимое файла (папки), но на запись нет.
Запись - разрешает записывать новые данные в файл или изменять существующие, а также позволяет создавать и изменять файлы и каталоги;
Выполнение - устанавливается для всех программ и скриптов, так система понимает, что «ЭТО» нужно запустить.
Для пущей секьюрности есть еще три категории юзеров, улучшающие результат скрещивания с параметрами доступа:
Владелец - владелец имеет все права (если его не кастомизировали), чтение, запись и выполнение.
Группа - любая группа пользователей, существующая в системе и привязанная к файлу.
Остальные - все пользователи, кроме владельца и пользователей, входящих в группу файла.
Ну и совсем замороченная штука — спец.биты:
SUID - если этот бит установлен, то при выполнении программы, id пользователя, от которого она запущена заменяется на id владельца файла.
SGID - тоже самое, только для групп.
Sticky-bit - если он установлен, то пользователи могут только создавать, читать и выполнять файлы, но не могут удалять файлы, принадлежащие другим пользователям.
#новость
Разграничение доступа — это главная фишка Linux. В Windows происходит бардак и вирусная вакханалия именно по причине «все всем можно».
В Linux есть три параметра доступа:
Чтение - разрешает получать содержимое файла (папки), но на запись нет.
Запись - разрешает записывать новые данные в файл или изменять существующие, а также позволяет создавать и изменять файлы и каталоги;
Выполнение - устанавливается для всех программ и скриптов, так система понимает, что «ЭТО» нужно запустить.
Для пущей секьюрности есть еще три категории юзеров, улучшающие результат скрещивания с параметрами доступа:
Владелец - владелец имеет все права (если его не кастомизировали), чтение, запись и выполнение.
Группа - любая группа пользователей, существующая в системе и привязанная к файлу.
Остальные - все пользователи, кроме владельца и пользователей, входящих в группу файла.
Ну и совсем замороченная штука — спец.биты:
SUID - если этот бит установлен, то при выполнении программы, id пользователя, от которого она запущена заменяется на id владельца файла.
SGID - тоже самое, только для групп.
Sticky-bit - если он установлен, то пользователи могут только создавать, читать и выполнять файлы, но не могут удалять файлы, принадлежащие другим пользователям.
#новость
👍8
Infisical — это сквозная, зашифрованная и опенсорсная платформа управления паролями, которую можно использовать для централизации ключей API, учетных данных, баз данных и конфигураций.
Цель сервиса — сделать управление паролями более доступным для всех, а не только для служб безопасности.
Особенности:
👉 Удобный дашборд для управления паролями в разных проектах
👉 Клиентские SDK для получения паролей по запросу
👉 CLI для удобного управления
👉 Встроенная интеграция с GitHub, Vercel, Netlify и другими
👉 Автоматическое развертывание Kubernetes
👉 Полный контроль над данными
👉 Версионированиие паролей и восстановление
Как попробовать:
Для Linux:
git clone https://github.com/Infisical/infisical && cd "$(basename $_ .git)" && cp .env.example .env && docker-compose -f docker-compose.yml up
Для Windows:
git clone https://github.com/Infisical/infisical && cd infisical && copy .env.example .env && docker-compose -f docker-compose.yml up
#новость
Цель сервиса — сделать управление паролями более доступным для всех, а не только для служб безопасности.
Особенности:
👉 Удобный дашборд для управления паролями в разных проектах
👉 Клиентские SDK для получения паролей по запросу
👉 CLI для удобного управления
👉 Встроенная интеграция с GitHub, Vercel, Netlify и другими
👉 Автоматическое развертывание Kubernetes
👉 Полный контроль над данными
👉 Версионированиие паролей и восстановление
Как попробовать:
Для Linux:
git clone https://github.com/Infisical/infisical && cd "$(basename $_ .git)" && cp .env.example .env && docker-compose -f docker-compose.yml up
Для Windows:
git clone https://github.com/Infisical/infisical && cd infisical && copy .env.example .env && docker-compose -f docker-compose.yml up
#новость
🔥3