Обновить
256K+

DevOps *

Методология разработки программного обеспечения

490,29
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Как и зачем отключать TLS 1.0 и TLS 1.1 в Windows Server

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели44K

Ввиду недостаточного уровня безопасности, обеспечиваемого устаревшими протоколами TLS 1.0 и TLS 1.1, их рекомендуется отключать и использовать более новые версии TLS 1.2 и TLS 1.3. В статье мы кратко проговорим отличия старых и новых реализаций этого протокола, а также разберём три способа отключения TLS 1.0 и TLS 1.1: через реестр, команды PowerShell или командную строку.
Читать дальше →

Как собирать логи с помощью Fluentd и Fluent Bit

Время на прочтение4 мин
Охват и читатели27K

Логирование — это один из трех столпов мониторинга в распределенных системах. Мы можем видеть бурное развитие популярных продуктов с открытым исходным кодом типа ELK stack, и полноценных коммерческих продуктов, которые помогают с проблемами протоколирования в больших масштабах — Splunk, к примеру. Однако в таких сложных системах как Kubernetes протоколирование остается сложной проблемой. Она усугубляется постоянным ростом объема данных из–за всё большего внедрения контейнеризации.  

В этой статье мы рассмотрим различные виды логов Kubernetes, необходимых для улучшения системы мониторинга, уделим внимание подходам к сбору, агрегации и анализу логов. Также мы приведем решение с использованием open source-сервисов Fluentd и Fluent Bit — оно упростит сбор данных.

Читать далее

Партицирование в Greenplum 7: что нового

Время на прочтение10 мин
Охват и читатели17K

Greenplum 7 — первая версия СУБД, совместимая с секционированными таблицами из PostgreSQL: World DB. 

Небольшая предыстория: до PostgreSQL 10 партицирование в PostgreSQL выполнялось в очень ограниченной форме и по сути, было просто вариантом наследования таблиц. Начиная с PostgreSQL 10, мы можем использовать декларативный синтаксис для определения парадигмы разделов. 

В рамках слияния с PostgreSQL 12 Greenplum 7 вобрал в себя весь синтаксис PostgreSQL для разбиения таблиц, сохранив при этом синтаксис Greenplum. В результате у Greenplum 7 есть шанс взять лучшее из обоих миров — что именно, обсудим в этой статье. 

Читать далее

Эфемерные контейнеры в Kubernetes

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели15K
image

Предисловие


С версии Kubernetes 1.16 была добавлена возможность запуска эфемерных контейнеров (Ephemeral Containers). Эта функция позволяет запускать временные контейнеры в рамках существующих Pod'ов, чтобы помочь в диагностике и отладке проблем, а также для выполнения различных задач в рамках существующего окружения.

Эфемерные контейнеры не заменяют существующие контейнеры в Pod'ах, а запускаются рядом с ними в рамках того же сетевого пространства и с теми же точками монтирования. Это означает, что эфемерные контейнеры могут легко получить доступ к ресурсам Pod'а, таким как файловая система или сетевые интерфейсы.
Читать дальше →

Самообслуживание или как Dev- Fin- Sec- TestOps победил

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели2.3K

Представьте, что вы запустили внутреннюю платформу сервисов для разработчиков и DevOps-команд: хранение кода, инструментарий для CI/CD, контейнеризация (или иной способ выполнения приложений), логирование, мониторинг и т.д. и т.п. и др. и пр.

Пошли потребители. 1, 2... 10-й... 20-й... Вы понимаете, что для их обслуживания вручную в приемлемые сроки вам не хватает "рук". Еще и пользователи создают заявки, используя человеческий язык запросов, трудно поддающийся автоматизации. Из-за спешки и стресса начали появляться сбои. Итог: вместо работы над улучшением платформы вы занимаетесь разборами жалоб и инцидентов.

Представили?

Как мы с Jasmin SMS Gateway боролись (и победили)

Время на прочтение6 мин
Охват и читатели5.5K

Привет! Я — Дарья, руководитель проектов в Uzum Data. В этой статье поделюсь с вами опытом работы с OpenSource SMS‑шлюзом Jasmin: какие у нас были требования, с какими препятствиями столкнулись, как выбирались из трудностей.

C чего всё началось

Нам нужно было подключить новый канал смс‑рассылки, т.к. по старым каналам мы начали упираться в лимиты. Новый канал представляет собой коммуникацию с использованием A2P каналов, то есть коммуникации от бизнеса пользователям. A2P используется как в маркетинге, так и в сервисах: для подтверждения покупки, авторизации, напоминаний, рассылок и т. д.

Читать далее

Разворачиваем Kubernetes-кластер на bare metal под управлением Deckhouse и создаем в нем виртуальные машины

Уровень сложностиСложный
Время на прочтение14 мин
Охват и читатели11K

В новом релизе Kubernetes-платформы Deckhouse v1.43 появилась система виртуализации, основанная на современных технологиях: KubeVirt, Cilium, LINSTOR. Она позволяет в удобном и привычном для пользователя платформы режиме запускать виртуальные машины и управлять их жизненным циклом.

В статье мы рассмотрим это на практике: развернем Deckhouse на bare metal-сервере, запустим в нем виртуальную машину и протестируем, как обеспечивается связь между компонентами кластера с помощью магии Cilium.

Читать далее

44 совета по Ansible: рекомендации и Best Practices

Время на прочтение8 мин
Охват и читатели33K

Автор оригинала: Иоаннис Мустакис

Ansible — один из наиболее часто используемых программных инструментов с открытым исходным кодом для управления конфигурацией, предоставления программного обеспечения и развертывания приложений в облачных и локальных средах. В этой статье мы поделимся Practices по настройке Ansible, предложим интересные подходы для эффективной работы с внутренними компонентами продукта.

Читать далее

Пишем свой ansible плагин (connection)

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели4K

В предыдущей статье, я рассказал как можно упростить себе жизнь, воспользовавшись возможностями динамического инвентаря в виде скрипта. Это очень удобно, когда нужно вытянуть структуру хостов из какой-то системы со всеми нужными параметрами.

Но как я уже тогда сказал, этот способ зашит в ansible для быстрых решений. Более продвинутый, гибкий и переиспользуемый метод это написание собственного плагина. Но опять рассказывать про инвентарь мне стало очень скучно, поэтому в этот раз мы будем учиться подключаться и выполнять модули на целевом хосте.

Здесь я буду говорить о "потрохах" подключений ansible.

Глубже разобраться в ansible

Сетевые политики Kubernetes для изоляции подов и пространств имён

Время на прочтение11 мин
Охват и читатели9.7K

Как можно изолировать поды и пространства имён? В этом нам помогут сетевые модели Kubernetes.

Сетевая модель Kubernetes определяет, что:

● Каждый под получает собственный IP-адрес.

● Поды могут взаимодействовать с любыми другими подами в кластере при помощи IP-адресов подов (без NAT).

● Изоляция (ограничение того, с чем может взаимодействовать каждый под) определяется сетевыми политиками.

Давайте создадим два пространства имён и развернём в них несколько подов, а после этого потестируем, как именно поды взаимодействуют друг с другом в кластере Kubernetes.

Читать далее

Внедряем DevSecOps в процесс разработки. Часть 1. Обзор инструментов, Pre-commit Checks

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели20K

Привет! На связи Олег Казаков из Spectr.  

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

Мы подготовили цикл статей, где поделимся своим опытом и наработками и расскажем, из чего состоит DevSecOps и как его внедрить в процесс разработки. 

В первой статье поговорим о теории DevSecOps и подробно рассмотрим Pre-commit Checks.

Читать далее

Обзор Komodor — графического интерфейса для мониторинга и поиска неполадок в Kubernetes

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели4.5K

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

Читать далее

GitOps-платформа на базе Argo CD

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели40K

Привет, меня зовут Сергей — я руководитель DevOps-направления KTS. 

Рассмотрим относительно новый виток в развитии деплоя приложений и посмотрим, какие вопросы можно закрыть с помощью инструмента Argo CD.

GitOps — это одна из реализаций Pull-модели, в которой Git является хранилищем всех конфигураций. Источник правды — Git, все изменения в инфраструктуре проходят только через него. Все изменения по Pull-модели проводит специальный агент, который затем поддерживает заданное состояние. То есть если внести в инфраструктуру изменения вручную, агент увидит несоответствие с тем, что есть в Git, и вернёт все к нужному состоянию, идентичному источнику правды. 

Argo CD — один из самых популярных GitOps-инструментов. Он живет внутри Kubernetes и там же развертывает сущности. Argo CD предоставляет удобный RBAC, то есть управление правами и доступами. В интерфейсе можно посмотреть свои действия, управлять приложениями и  принудительно синхронизировать их. Argo CD входит в CNCF, что вызывает к нему большое доверие.

Читать далее

Ближайшие события

Король умер. Да здравствует Nxs-backup v3.0

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели6.5K

4 года назад наша команда Nixys рассказывала, почему мы решили сделать собственный инструмент для резервного копирования и почему другие инструменты нам не подошли. Сегодня хочу рассказать, какие проблемы и недостатки в старой версии нам мешали, почему мы решили всё переписать и что у нас в итоге получилось. Добро пожаловать под кат.

Читать далее

RabbitMQ: дополнительные возможности

Время на прочтение8 мин
Охват и читатели19K

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

Что конкретно разберём:

расчёт количества консьюмеров по формуле Эрланга;

шардирование — различные способы балансировки;

дедупликацию сообщений в очереди;

многоуровневую очередь повторных попыток;

приоритеты сообщений.

Читать далее

Как мы выбирали open-source контейнерную ОС для Kubernetes?

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели17K

Привет!

На связи Ваня Гулаков, DevOps из CloudMTS. Сегодня хочу рассказать про контейнерные ОС и как мы искали для сервиса Managed Kubernetes ту самую.

До недавнего времени мы использовали дедушку CentOS 7, который уже давно отжил свое. Основные причины переезда, соответственно, старое ядро и отсутствие поддержки. 

Раз уж переезд был неизбежен, появилась мысль присмотреться к так называемым Linux For Containers или Container Optimized OS дистрибутивам. 

Читать далее

Переход в SRE — лучший способ сохранить работу в условиях рецессии для DevOps-инженера

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели5K


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

Спустя пять месяцев можно подвести промежуточный итог: как это ни печально, но скептики (и мы в их числе) оказались правы. Рынок труда в IT-сегменте по всему миру начал если не схлопываться, то серьезно сжиматься.

Пока весь мир обсуждает, что отрицательный рост Sillcon Valley Bank не обрушит мировую банковскую систему и является локальной проблемой, IT-сегменту стоит все же напрячься. Напомним, еще в мае 2022 года Y Combinator рассылал своим участникам письма о том, что инвестиций в стартапы без 100% гарантий окупаемости, де-факто, больше не будет.
Читать дальше →

IAMeter: не ошибается ли SAST-сканер?

Время на прочтение10 мин
Охват и читатели4.6K

Как можно оценить качество работы SAST-инструмента? Ответ простой: посмотреть на количество false positive и false negative срабатываний на заранее подготовленном уязвимом приложении.

Мы выложили в открытый доступ на GitHub новую версию IAMeter — уязвимого приложения, созданного специально для оценки эффективности SAST-анализаторов. Просканировав его анализатором PT Application Inspector, мы убедились, что SAST вполне может быть как точным, так и полным одновременно, — нашлись все настоящие уязвимости, но не было срабатываний на заведомо ложных.

Предлагаем и вам проверить свой анализатор в «боевых» условиях — сканируйте проект IAMeter и пишите о полученных результатах в комментариях или в наш Telegram-чат.

Подробнее

Как устроена разработка Kubernetes-платформы Deckhouse (обзор и видео доклада)

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели4.2K

Публичный Open Source-релиз Deckhouse состоялся в 2021 году. С тех пор мы много и подробно рассказываем о платформе — на Хабре, на конференциях, в СМИ. Однако когда мы проводим презентации Deckhouse потенциальным клиентам, по-прежнему нередко слышим примерно один и тот же вопрос: «А что вы, вообще, сделали? Взяли Kubernetes и засунули в него разные Open Source-компоненты?»

Я понял, что есть проблема с пониманием продукта и решил рассказать на HighLoad++ 2022, что мы сделали на самом деле.

Читать далее

Генерация данных — творчество или рутина?

Время на прочтение15 мин
Охват и читатели13K

Долгие годы люди стремились к всё более реалистичному изображению окружающих их вещей. Много лет прошло от симпатичных наскальных мамонтов до шедевров эпохи Ренессанса и Просвещения. Однако где-то в 19-м веке (примерно, когда стала появляться первая фототехника, ага), что-то пошло не так, и живопись сменила своё направление от реализма к абстракции. Дальше больше; и все "скатилось" до клякс, пятен и потёков, размазанных по холсту или любой другой поверхности стоимостью в миллионы долларов... И при этом зачастую совершенно было непонятно, кто автор "шедевра": 3-х летний ребенок, маститый художник, нейросеть или кот, опрокинувший банку варенья.

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

В этом посте мы рассмотрим основные моменты генерации данных с нуля (на основе схемы БД), а так же на основе уже существующих данных. Рассмотрим способы, методы, особенности и инструменты. А каждый шаг будем иллюстрировать примерами живых и настоящих SQL-запросов (в основном PostgreSQL-flavour, но постараемся и не только). И в итоге убедимся, что SQL позволяет нам не только эффективно работать с уже существующими данными (на минуточку, уже почти на протяжении 50 лет), но с помощью него их можно еще и довольно эффектно придумывать.

А начнем мы конечно же с ChatGPT