Библиотека девопса | DevOps, SRE, Sysadmin
10.3K subscribers
1.38K photos
70 videos
4 files
2.57K links
Все самое полезное для девопсера в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/25874ec4

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/6798b4e4509aba565
Download Telegram
🚀 HashiCorp: Итоги 2024 года и ключевые достижения

HashiCorp подвела итоги уходящего года, поделившись главными успехами и нововведениями, которые укрепили её позиции как лидера в области инструментов для управления инфраструктурой и безопасности.

🤝 Сделка с IBM
HashiCorp объявила о заключении соглашения с IBM! Эта сделка укрепит позиции компании в сфере современной инфраструктуры и безопасности.

🖥️ Инновации в продуктах
Инструменты вроде Terraform, Vault, Consul и Nomad стали ещё мощнее:
Новые фичи для упрощения работы разработчиков.
Улучшения безопасности и автоматизации.

📢 Комьюнити и мероприятия
Проведение масштабных мероприятий, таких как HashiConf и HashiDays.
Увеличение числа пользовательских групп и программы амбассадоров.

📎 Подробный отчёт читайте в блоге компании
👍1
🎯 "Монорепозиторий: Стоит ли переходить?"

Вопрос о том, использовать монорепозиторий или многорепозиторную структуру, вызывает много споров среди DevOps-инженеров. Монорепозиторий предлагает единое хранилище для всего кода проекта, что упрощает управление зависимостями, автоматизацию и тестирование. Но так ли это идеально? 🤔

Плюсы монорепозитория
Единое управление: все компоненты проекта хранятся в одном месте, что упрощает синхронизацию.
Общие зависимости: не нужно дублировать версии библиотек, всё централизовано.
Централизованный CI/CD: один пайплайн для всего проекта, меньше головной боли.

Минусы монорепозитория
Сложность масштабирования: огромные репозитории сложнее обслуживать.
Замедление работы: git и другие инструменты могут замедляться из-за большого объёма данных.
Риски конфликта: одновременная работа над большим числом фич может усложнить процесс ревью.

🔧 Когда стоит задуматься о переходе?
Ваш проект активно развивается, и компоненты часто взаимодействуют.
Вы сталкиваетесь с проблемами синхронизации зависимостей между репозиториями.
Ваши команды готовы к настройке сложной автоматизации.
⛅️ Google Cloud: Главное за 2024 год 

2024 год стал насыщенным и знаковым для Google Cloud. Компания внесла множество изменений и представила новшества, которые делают облачные технологии ещё доступнее и мощнее. Вот ключевые моменты года! 👇

⚙️ Локальная разработка ИИ
Запуск инструмента localllm, который позволяет разработчикам создавать генеративные ИИ-приложения на локальных процессорах без необходимости в GPU, расширив доступность ИИ-решений.

💻 Интеграция Mistral AI в Vertex AI
Google Cloud добавил поддержку модели Codestral от Mistral AI, предназначенной для генерации кода, в Vertex AI. Это упрощает разработку приложений, основанных на ИИ.

⚡️ Анонс Axion Processors и Gemini
Google представил новые процессоры Axion и интеграцию ИИ-моделей Gemini в свои сервисы, что значительно увеличило скорость и эффективность вычислений.

🛠 Обновление GKE с помощью Duet AI
Интеграция Duet AI в Google Kubernetes Engine (GKE) упростила анализ микросервисов, сделав их управление интуитивно понятным даже для начинающих разработчиков.

📎Подробности в блоге компании
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
☁️ Zero Disk Architecture — будущее хранения данных?

Как насчет архитектуры без локальных дисков? Автор блога предлагает отказаться от традиционных хранилищ на серверах в пользу облачных решений, таких как Amazon S3.

🔹 Что это значит?
Вместо привязки данных к конкретной машине (и её ограничениям), хранилище переносится в облако. Это позволяет:
Масштабировать ресурсы независимо.
Быстро восстанавливать системы после сбоев.
Использовать подход «безсерверных» баз данных.

🔹 Как это работает?
Данные записываются и читаются напрямую из облачных хранилищ. Такие решения, как Amazon S3, предоставляют низкие задержки и транзакционные возможности для эффективной работы.

🔹 Плюсы и минусы
✔️ Масштабируемость, эластичность и экономия на инфраструктуре.
Необходимость учитывать размер данных и баланс между скоростью и надежностью.

🚀 Примеры успешного использования включают Snowflake и Clickhouse.
👇 А что вы думаете насчёт такой архитектуры?
🤔3👍2
🚀 Что такое Control Plane и зачем он нужен?

Control Plane — это "мозг" системы, который управляет её состоянием, распределением ресурсов и выполнением политик. Он отвечает за контроль и координацию всех процессов, обеспечивая надёжность и гибкость системы.

💡 Как работает Control Plane?

Система делится на два основных слоя:
Control Plane: принимает решения — где, что и как выполнять.
Data Plane: выполняет задачи, обрабатывает данные и взаимодействует с пользователем.

В Kubernetes Control Plane:
Решает, на каких узлах запускать контейнеры.
Следит за состоянием кластеров и восстанавливает их после сбоев.
Управляет балансировкой нагрузки и масштабированием.

Почему это важно?
1️⃣ Централизованное управление: Все настройки и логика собираются в одном месте.
2️⃣ Автоматизация: Control Plane помогает избавиться от рутинных задач.
3️⃣ Гибкость: Система быстро адаптируется к изменениям (например, увеличению нагрузки).
4️⃣ Надёжность: Автоматически восстанавливает работоспособность после сбоев.

Где применяется Control Plane?

Облачные платформы: например, AWS и Azure используют Control Plane для управления ресурсами.
Оркестраторы контейнеров: kubernetes координирует работу кластеров через свой Control Plane.
Сетевые системы: в Software-Defined Networking (SDN) Control Plane управляет потоками трафика.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
🐧💻 Пошаговый разбор процесса загрузки Linux

Загрузка Linux — это сложный, но увлекательный процесс, который проходит через несколько этапов, начиная с включения питания и заканчивая готовностью системы к работе. Разберём основные шаги загрузки, чтобы лучше понять, как Linux становится готовым к использованию.

1️⃣ Включение питания и начальная инициализация
Когда вы включаете компьютер, процессор начинает выполнение инструкций, записанных в BIOS или UEFI. Они проверяют оборудование, готовя систему к следующему шагу.

2️⃣ POST (Power-On Self-Test)
BIOS или UEFI выполняет самотестирование компонентов, таких как память, процессор и диски. Если тест прошёл успешно, система переходит к поиску загрузочного устройства.

3️⃣ Загрузчик просыпается
BIOS/UEFI передаёт управление загрузчику, например, GRUB.
GRUB позволяет выбирать ОС, если у вас их несколько.
Он загружает ядро Linux в память.

4️⃣ Инициализация ядра Linux
Ядро распаковывается и начинает работать:
Определяет и конфигурирует оборудование.
Подключает виртуальную файловую систему (initramfs).
Подготавливает систему к запуску процессов.

5️⃣ Запуск системы инициализации (systemd)
После того как ядро готово, оно запускает систему инициализации. В большинстве современных систем используется systemd, который:
Инициализирует необходимые сервисы.
Устанавливает состояние системы (например, текстовый или графический интерфейс).

6️⃣ Запуск пользовательского интерфейса
После запуска всех сервисов система предоставляет экран входа или консоль. Теперь Linux готов к использованию.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤‍🔥1🔥1
🤤 Икра черная, икра красная, а профессия — программирование

Сертификат на обучение от Proglib Academy — это крутой подарок для тех, кто интересуется IT, хочет освоить новую профессию и жить в шоколаде.

Почему наши курсы — хороший презент:

🔵Подходит для новичков и профессионалов: можно выбрать обучение под любой уровень знаний.
🔵Помогает развивать востребованные навыки, которые пригодятся в IT.
🔵Позволяет выбрать удобный формат обучения: можно учиться в своем темпе, когда удобно.

Сертификат оформляется за пару минут, и даже не нужно ломать голову над упаковкой.

🚀 Подарите возможность начать год с полезных знаний и карьерного роста → подробнее о сертификатах
Please open Telegram to view this post
VIEW IN TELEGRAM
🌚2
🔍 Model Context Protocol (MCP): Упрощение разработки AI-приложений с Docker

Anthropic представила Model Context Protocol (MCP), новый стандарт для подключения AI-моделей и ассистентов к надёжным данным и инструментам. Этот подход значительно упрощает взаимодействие между AI и инфраструктурой. Однако развёртывание MCP-серверов остаётся сложным из-за различных архитектур и операционных систем. Решением этой проблемы становится Docker.

📌 Что такое Model Context Protocol?
MCP — это протокол, который:
Упрощает подключение AI-моделей к данным и инструментам.
Делает взаимодействие между ассистентами и источниками данных более предсказуемым и безопасным.
Работает как стандартный мост между AI и инфраструктурой, обеспечивая совместимость.

🚀 Как Docker помогает с MCP?
Консистентность окружения:
Docker позволяет запаковать сервер MCP и все его зависимости в контейнер. Это гарантирует, что приложение будет работать одинаково на всех машинах.

Поддержка нескольких архитектур:
MCP-сервера могут быть развёрнуты на различных платформах, включая ARM и x86, без изменений в коде.

Упрощённое развертывание:
Вместо сложной настройки окружения MCP можно развернуть с помощью одного контейнера Docker.

🔑 Преимущества использования Docker с MCP
Быстрое развертывание: запуск серверов MCP за минуты.
Масштабируемость: легко запускать несколько экземпляров MCP в распределённой системе.
Упрощённая разработка: разработчики могут работать в одинаковом окружении, избегая проблем с настройкой.

#новость
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21
🦑👨💻 Программист в «Игре в кальмара»: каковы твои шансы выжить?

Каждый день вы укрощаете капризные серваки и спасаете горящий прод? Привыкли жить в режиме «всё сломалось в пятницу вечером»? 😈

Пора проверить, поможет ли вам стальная выдержка девопса и умение решать проблемы на лету выжить в самом безжалостном шоу! Узнайте, как далеко вы продвинетесь в «Игре в кальмара», где один неверный деплой ответ может стоить жизни 💀

🎯 Пройти тест
😁2
🌐 Что такое сеть Ingress?

Ingress — это термин, часто используемый в контексте Kubernetes, для описания способа управления входящим сетевым трафиком, направленным в кластер. Ingress представляет собой набор правил, определяющих, как трафик (например, HTTP и HTTPS-запросы) направляется к различным сервисам внутри кластера.

Основные концепции Ingress

💡Ingress-ресурс:
Это объект в Kubernetes, который содержит правила маршрутизации трафика. Например, он может определять, что запросы на example.com/api направляются на один сервис, а запросы на example.com/web — на другой.

💡Ingress-контроллер:
Это программный компонент, который реализует функциональность Ingress. Он принимает трафик из внешней сети и направляет его в кластер в соответствии с правилами, описанными в Ingress-ресурсе.

💡Протоколы:
Ingress работает с HTTP и HTTPS, что делает его подходящим для маршрутизации веб-трафика.

🔑 Как работает Ingress?
Внешние запросы попадают в кластер через Ingress-контроллер, который выступает точкой входа.
Контроллер анализирует Ingress-ресурс и определяет, куда направить трафик (в какой сервис или под).
Для маршрутизации используется информация о доменных именах, путях URL или других критериях.

🛠 Пример использования Ingress
Представьте, что у вас есть два сервиса:
Сервис A обрабатывает запросы на example.com/app.
Сервис B обрабатывает запросы на example.com/api.
С помощью Ingress вы можете настроить маршруты, чтобы оба сервиса были доступны через один публичный IP-адрес.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
🤖🎓 SmartClass: как научить AI проверять домашки программистов

Автоматизация рутинных задач — один из главных трендов в IT, но как насчет проверки домашек? Представьте себе систему, которая не только оценивает код студентов, но и помогает им понять свои ошибки, словно опытный наставник. Звучит как фантастика? В статье рассказывается, как проект SmartClass воплощает эту идею в реальность, используя возможности AI. Узнайте, какие технологии лежат в основе, с какими трудностями сталкиваются разработчики и как это меняет обучение программированию.

📎 Подробнее о том, как AI помогает проверять домашние задания
👩‍🚀 pISSStream: Телеметрия МКС прямо на вашем Mac

pISSStream — это приложение для macOS, которое отображает в строке меню текущий уровень заполнения бака для мочи на Международной космической станции в режиме реального времени.

🛠️ Установка и использование:
1. Скачайте последнюю версию pISSStream с GitHub-репозитория.
2. Запустите приложение; при успешном подключении к Lightstreamer и получении телеметрии МКС в строке меню отобразится иконка с процентом заполнения бака.
3. В случае потери соединения или сигнала приложение уведомит об этом, изменив иконку и показав соответствующее сообщение.
😁3👾2
Server-Sent Events: Почему эта технология недооценена

💡 Server-Sent Events (SSE) — это одна из тех технологий, которые незаслуженно остаются в тени WebSockets, хотя у нее есть свои уникальные преимущества. Статья объясняет, почему стоит обратить внимание на SSE, как они работают, и в каких случаях их использование будет особенно эффективным.

Основные преимущества SSE:
Простота: SSE использует HTTP, что упрощает настройку и интеграцию. Вам не нужно устанавливать сложные двусторонние соединения, как в случае с WebSockets.

Эффективность для односторонних данных: SSE идеально подходит для сценариев, где сервер отправляет обновления клиенту (например, уведомления, данные телеметрии или биржевые котировки).

Поддержка автоматического переподключения: при обрыве соединения браузеры автоматически восстанавливают его без дополнительного кода.

Меньше накладных расходов: для большинства задач, где не требуется двусторонняя связь, SSE потребляет меньше ресурсов, чем WebSockets.

Когда использовать SSE?
Потоковые данные (например, обновления цен в реальном времени).
Уведомления от сервера (новости, изменения состояния).
Обновления пользовательских интерфейсов (доски задач, результаты опросов).

Ограничения:
SSE работает только по протоколу HTTP/HTTPS, в отличие от WebSockets, которые используют отдельный протокол.
Нет поддержки бинарных данных, только текстовые (обычно JSON).
SSE подходит только для соединений «сервер-клиент» (не поддерживает клиент-клиент).

Почему SSE недооценены?
Многие разработчики стремятся использовать современные или "хайповые" технологии, такие как WebSockets или gRPC. Однако в большинстве случаев для задач с односторонней передачей данных SSE являются более простым и легким в реализации решением.
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉2
🛠🔥 Как ускорить CI/CD пайплайн в 5 раз: опыт оптимизации

CI/CD-пайплайн — ключевая часть разработки. Его медлительность снижает продуктивность команды и замедляет релизы. В статьe автор делится опытом, как он сократил время выполнения пайплайна с 45 минут до 10.

Что сделано:
1️⃣ Разделение задач на параллельные процессы
Ранее этапы выполнялись последовательно. Теперь тесты, сборка и другие задачи запускаются параллельно, что экономит общее время.

2️⃣ Использование кэширования зависимостей
Зависимости (например, npm-модули) теперь не переустанавливаются заново для каждого запуска. Это снизило время установки на 80%.

3️⃣ Оптимизация тестирования
Тесты разделены на группы для выполнения в несколько потоков.
Реализован механизм пропуска тестов для файлов, которые не изменились.

4️⃣ Улучшение Docker-сборки
Пайплайн использует многоэтапные сборки Docker-образов. Это уменьшило их размер и время создания.

5️⃣ Переход на облачные раннеры
Использование облачных серверов позволило масштабировать ресурсы и избежать узких мест на локальных машинах.

Результаты:
Время выполнения пайплайна сократилось с 45 до 10 минут.
Тестирование ускорилось на 70%, сборка Docker-образов — на 50%.
Команда начала получать обратную связь от системы почти мгновенно, что улучшило процесс разработки.
Please open Telegram to view this post
VIEW IN TELEGRAM
4
👻 Ghostty — новый терминал для современных разработчиков и DevOps

Друзья, знакомьтесь! Ghostty — это новый эмулятор терминала, который создан для работы на macOS и Linux. Его автор — Митчелл Хашимото, известный разработчик таких инструментов, как Vagrant и Terraform.

🔥 Почему Ghostty — это must-have:
Работает быстрее, чем многие популярные терминалы. Вы точно заметите разницу!
На macOS использует родные технологии для создания гладкого и удобного интерфейса. На Linux — поддержка GTK
Ghostty разрабатывается как проект с открытым исходным кодом.

Кому будет полезен?
Разработчикам: ускоряет работу с кодом и делает терминал удобным для современных инструментов.
Админам и DevOps: высокая производительность для CI/CD, контейнеров и мониторинга.
Исследователям данных: поддержка графики помогает визуализировать данные прямо в терминале.

💻 Хотите попробовать?

#новость
Please open Telegram to view this post
VIEW IN TELEGRAM
🔴 Интеграция Playwright и GitHub Actions: Оптимизация CI/CD

Современные веб-приложения требуют высокой скорости разработки и надежного тестирования. Одной из лучших практик является использование непрерывной интеграции и доставки (CI/CD), где автоматическое тестирование играет ключевую роль. В статье автор подробно рассматривает, как связать мощь Playwright с гибкостью GitHub Actions для создания эффективного процесса CI/CD. В этой публикации я расскажу об основных идеях и их преимуществах.

▶️ Playwright: Универсальный инструмент для тестирования
Playwright, разработанный Microsoft, позволяет создавать автоматические тесты для популярных браузеров, таких как Chromium, Firefox и WebKit. Его главные преимущества:
Поддержка различных языков программирования: JavaScript, Python, Java и C#.
Кросс-браузерное тестирование.
Простая настройка и интеграция с CI/CD.

GitHub Actions: Автоматизация на каждый день
GitHub Actions позволяет автоматизировать запуск тестов, сборку и развертывание приложений. Эта платформа интегрирована прямо в GitHub и идеально подходит для разработчиков, использующих эту экосистему.

Вместе с Playwright GitHub Actions позволяет:
Настроить автоматический запуск тестов при каждом изменении в коде.
Ускорить выявление ошибок.
Упростить доставку новых функций.

👨‍💻 Как это работает?
В статье подробно описывается процесс настройки рабочего процесса. Вот пример:
1️⃣ Создайте файл .github/workflows/playwright.yml;
2️⃣ Настройте шаги для проверки кода, установки зависимостей и запуска тестов;
3️⃣ Используйте Playwright CLI для выполнения тестов в автоматическом режиме.

Пример файла:
name: CI with Playwright

on:
push:
branches:
- main
pull_request:

jobs:
tests:
runs-on: ubuntu-latest

steps:
- name: Checkout repository
uses: actions/checkout@v3

- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: '16'

- name: Install dependencies
run: npm install

- name: Run Playwright tests
run: npx playwright test
Please open Telegram to view this post
VIEW IN TELEGRAM
✉️ Давно хотели свой почтовый сервер? Вдохновляемся OpenBSD!

Мечтали о собственном почтовом сервере, но не знали, с чего начать? Статья от Николя Карпи — это отличный гид для тех, кто хочет создать простой и надежный почтовый сервер с использованием OpenBSD.

Что особенного в OpenBSD?
👍 Безопасность по умолчанию: OpenBSD — один из самых безопасных операционных систем благодаря строгим политикам и минималистичному подходу.
👍 Простота настройки: всё, что нужно для работы сервера, уже есть в базовой системе — никаких лишних пакетов.
👍 Идеально для почты: OpenBSD включает smtpd, который подходит для небольших или средних почтовых серверов.

Основные шаги
1️⃣ Настройка DNS-записей:
Создайте MX-записи для вашего домена.
Добавьте SPF, DKIM и DMARC для безопасности.
2️⃣ Установка OpenSMTPD:
Простое решение для работы с почтой.
Поддерживает шифрование и авторизацию.
3️⃣ Доставка почты:
Настройте пересылку писем на локальных или удалённых пользователей.
4️⃣Фильтрация и антиспам:
Использование spamd и других инструментов OpenBSD для блокировки спама.

Почему это стоит попробовать?
Никто больше не управляет вашей почтой, кроме вас.
Вы поймете, как работает интернет и электронная почта.
Настраивайте сервер под свои задачи.ц
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🥰2😁1
This media is not supported in your browser
VIEW IN TELEGRAM
🤩 Resizer2: Управляй окнами на Windows как профессионал

Resizer2 — это утилита для Windows, позволяющая управлять окнами с помощью комбинации клавиши Win и мыши, подобно функционалу в KDE или i3.

Основные возможности:

Перемещение окон: удерживайте Win и левую кнопку мыши для перемещения окна; если окно полноэкранное или максимизировано, оно переместится между мониторами.
Изменение размера: удерживайте Win и правую кнопку мыши для изменения размера окна от ближайшего угла.
Прозрачность: используйте Win и прокрутку мыши для изменения прозрачности окна.
Свертывание: нажмите Win и среднюю кнопку мыши для сворачивания окна.
Максимизация/восстановление: двойной клик левой кнопкой мыши с удержанием Win для максимизации или восстановления окна.

Установка:
1️⃣Скачайте последнюю версию установщика с GitHub.
2️⃣Запустите установщик и следуйте инструкциям.

❗️Примечание: доступна портативная версия (.exe), не требующая установки, однако автозапуск настраивается только через установщик.
Please open Telegram to view this post
VIEW IN TELEGRAM
4
💻📈 Итоги года Proglib: 2024 год в цифрах и достижениях

Привет, DevOps-инженеры! Этот год вы снова доказали, что именно вы — невидимые герои, стоящие за стабильностью и масштабируемостью цифрового мира. Вместе с вами мы следили за трендами, автоматизировали процессы и исследовали новые подходы к работе.

Теперь пришло время подвести итоги: 2024 год был насыщен событиями и достижениями для всех нас, и Proglib делится своими ключевыми успехами, которые стали возможны благодаря нашему сообществу.

Добро пожаловать в обзор года!
👍4
🎨 Какими навыками должен владеть фронтендер

Фронтендер отвечает не только за визуальную часть, но и за заголовки, меню, карточки, кнопки, адаптивность и валидацию. Они пишут код, на основе которого работают сайты.

Знания и навыки, необходимые фронтендеру:
▪️ Уметь работать с HTML и CSS
▪️ Выучить язык программирования JavaScript
▪️ Овладеть одним из фреймворков на базе этого языка (React, Angular, Vue)
▪️ Уметь работать с Git
▪️ Понимать, что такое веб-страницы, протоколы HTTP/HTTPS, браузеры, домены и хостинг
▪️ Разбираться в REST API
▪️ Работать с Figma
▪️ Иметь базовые навыки проверки своего кода

➡️ Забирайте курс Frontend со скидкой 35%, он поможет со всем этим разобраться – https://proglib.io/w/eeccf187
Please open Telegram to view this post
VIEW IN TELEGRAM
🎉1
Google в машине времени

Как давно вы пользуетесь Google? А задумывались, каким он был в самом начале? Для тех, кто помнит, это путешествие в прошлое, а для тех, кто не застал первые дни интернета, — уникальная возможность увидеть, с чего всё начиналось. Сайт, который переносит нас в эпоху простоты и минимализма, напомнит, как выглядел старый добрый Google.

Загляните и ощутите дух зарождения интернета — независимо от того, сколько лет вы в сети!

#новость