Обновить
256K+

DevOps *

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

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

Товарищ майор в клетке или как я изолировал Яндекс Браузер (для использования СБОЛа)

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

Еще с весны было известно, что Сбербанк потерял возможность продлевать свои сертификаты. Новые же сертификаты были выписаны одним из национальных УЦ, чьего корневого сертификата в операционных системах нет. Однако СБОЛ продолжал работать, и несмотря на предупреждения, я откладывал решение будущего вопроса.

Несколько дней назад я не смог войти в СБОЛ. Решить проблему можно двумя путями: установив себе рутовый сертификат в систему или установив Яндекс.Браузер.

Устанавливать рутовый сертификат не хотелось, а Яндекс.Браузер у нас запрещен политикой компании. Как выкрутиться с минимальными потерями и не поссориться с безопасниками - читайте под катом.

Открыть доступ в СБОЛ;drop table mortgage;

Особенность CI/CD-конвейеров для корпораций и новое решение от Сбера

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

Какие инструменты первыми приходят вам на ум при упоминании CI/CD pipeline? Вероятнее всего, это Gitlab CI/CD, Jenkins CI, Azure DevOps. На самом деле инструментов десятки, но так было не всегда. Ещё недавно в крупных компаниях главенствовал Windows Server, Power Shell был лучшим другом системного администратора, новые релизы доставлялись на прод в среднем раз в квартал. Сегодня поговорим о том, что изменилось.

Меня зовут Виталий Астраханцев, я занимаюсь развитием Platform V OrchestraR — программного продукта для автоматизации DevOps-конвейера. В этой статье расскажу о нашем решении и об особенностях конвейеров для крупных компаний в целом.

Читать далее

Что такое service mesh простыми словами

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

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

Читать далее

DIY-метаданные: как мы собрали велосипед, который везет на себе технологические данные компании

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

Привет, Хабр! Меня зовут Ткачев Константин, и я работаю архитектором в Леруа Мерлен.

В этой статье я хочу рассказать, как мы смогли, используя только open-source, построить систему работы с метаданными, которая позволила:
- централизовать и унифицировать описания данных, используемых в компании;
- автоматизировать процессы загрузки данных в корпоративное хранилище — платформу данных;
- и сделать еще многое-многое другое…

А если добавить к этому, что мы сделали это быстро — и в итоге за пару месяцев получили работающую систему, то станет ясно, почему мы решили поделиться этим опытом с пользователями Хабра.

Читать далее

Мониторинг межсервисного взаимодействия Kubernetes с помощью протокола NetFlow

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

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

В идеале хотелось бы иметь какую-то карту взаимодействия сервисов в Kubernetes, которая сама автоматически обновляется. Такую карту можно построить с помощью инструментов типа Istio и Cilium. Но иногда можно обойтись и более простыми решениями — например, NetFlow.

Читать далее тут

Автоматизируем перевод с деплоя bash-скриптами на helmfile при помощи Python: инструкция по применению

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

Выпускник курса Python для инженеров Максим Дубакин рассказал о рабочем проекте собственного производства, который заавтоматизировал повторяющиеся задачи по переводу с деплоя bash-скриптами на helmfile при помощи Python и уменьшил затраты времени на ~ 2 часа.

Читать далее

Используем функционал Podman вместо docker-compose на примере Gitea

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

В своем порыве использовать только технологии компании Red Hat, я решила освоить их first-party контейнерный стек. В основе стека лежит podman- движок для контейнеров, работающий без демон-процесса и без root привилегий по умолчанию. podmanинтегрируется в экосистему Red Hat - запуск контейнеров производится посредством systemd ; контейнеры интегрируются с SELinux. Конечно, самая главная причина использовать podmanвместо Docker - его включение по умолчанию в дистрибутив Red Hat Enterprise Linux и подобные.

Читать далее

Как мы обновили старый кластер Elasticsearch на 3 ПБ без простоев. Часть 4 — токенизация и нормализация

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

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

Это четвертая часть серии статей об обновлении кластера Elasticsearch без простоев и с минимальным воздействием на пользователей.

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

Читать далее

Динамические инвентории Ansible

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

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

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

Читать далее

Создаём стенд для бэкенд-разработки на Bare Metal (и не только). Часть 1

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

Как развернуть инфраструктуру для бэкенд-разработки: с чего начать, что ставить и как ко всему подступиться. Пошаговая инструкция.

В этом выпуске разберём установку Ubuntu, Docker, K8s, Metallb и Traefik.

Читать далее

Двадцать бабушек – уже рубль. Как GraalVM Native Image позволяет экономить джавистам и девопсам деньги на облако

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

Первая статья в нашем блоге. Я постарался написать хороший текст на основе докладов из Failover Bar и прошлого митапа Альфы, и человеческими словами объяснить, зачем нужен GraalVM.

Мы поговорим об экономии на облаках в мире победившего Кубернетиса, обсудим перформанс современного приложения, и какие ништяки Native Image помогут нам во всём этом.

Mad skills bonus: вы сможете писать на Java приложения для командной строки так, что они не будут тормозить по сравнению со скриптами на Bash. Но вначале небольшая телега вместо вступления.

Читать далее

Распределённая трассировка с помощью Jaeger

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

Частая проблема при разработке распределённых систем состоит в следующем. Предположим, вы отправили системе запрос, и этот запрос обрабатывается очень долго. При этом внутри системы он распадается на запросы к нескольким внутренним микросервисам, которые могут превратиться в несколько подзапросов и выполняться параллельно. Как в этом случае определить, что тормозит систему? На помощь приходит Jaeger — сервис для сбора и отображения трейсов в распределённых системах. 

Читать далее

Что такое MLOps? Самый подробный текст про работу с ML-системами, который вы найдете в интернете

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


В этом материале мы подробно разбираем концепцию MLOps. Более того, делаем это тремя способами. Сначала теоретически — через самую толковую, на наш взгляд, схему MLOps. Затем — концептуально, через артефакты, которые заложены в подходе. И наконец, через понимание MLOps как информационной системы.

Сохраняйте текст в закладки, потому что на данный момент это, возможно, самое полное описание MLOps на русском языке (и не перевод очередной англоязычной статьи!). Подарим мерч Selectel тому, кто пришлет ссылку на более развернутое описание концепции в комментариях.
Читать дальше →

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

Как мы обновили старый кластер Elasticsearch на 3 ПБ без простоев. Часть 3 — поиск и подстановочные знаки

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

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

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

Читать далее

10 задач для девопса, когда уже нечем заняться

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

Хорошо, когда у DevOps заканчиваются задачи. Это значит, что все крупные преобразования уже позади. Однако это легко может превратиться в пугающую проблему, способную привести к деградированию навыков и выгоранию. Ради душевного спокойствия себя и своих коллег прочитайте эту статью, если вы чувствуете себя потерянным, не знаете, что делать и как оставаться проактивным.

В идеале работа DevOps должна замедляться. Вся автоматизация работает отлично, CI/CD функционирует настолько хорошо, что вы уже забыли, когда в последний раз приходилось вмешиваться после развёртывания. Кажется, что инфраструктура и процессы достигли идеального состояния, когда осталось лишь несколько мелких улучшений, которые могут и не стоить приложенных усилий.

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

Как я перестал пользоваться консолью (почти)

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

Я достаточно давно, уже больше 18 лет (капец я уже старый :`( ), использую консоль. Пробовал разные оболочки: bash, sh, zsh, ksh, но остановился на тех, что стоят по умолчанию на системах. Пожалуй, это моя лень, перенастраивать оболочки и терминалы под себя - никогда не было моим любимым занятием. А ещё меня всегда бесило редактирование конфигов: ок, если открыл, нашел нужный кусок, поправил, закрыл, перезагрузил сервис, а вот если: открыл, нашел нужный кусок, поправил, закрыл, перезагрузил сервис, а оно не работает... и опять: открыл, нашел нужный кусок, поправил, закрыл, перезагрузил сервис и так пока не заработает, N-ое количество раз.

Да, для этого можно открыть несколько терминалов: редактировать в одном, перезапускать в другом. Но тут тоже есть свои минусы, один из них - захламляется терминал вкладками.

Как вы наверное уже поняли - я ленивый админ, который любит красивенькие (и не очень) GUI. Поэтому, начав плотно работать с HAProxy, мне быстро надоело постоянно править конфиг на нескольких серверах. И, не обнаружив на просторах интернета ничего подходящего, я решил написать свой (ага, очень ленивый - 5 лет уже закончить не могу).

Общаясь с одним из пользователей Roxy-WI, я спросил: “А зачем тебе оно вообще?”, в ответ получил хорошую фразу: “Чтобы в консоль не лазить”. И я задумался. Действительно, после создания пользователя для подключения сервера к Roxy-WI (или можно без этого шага, если root нам не страшен) больше нет необходимости заходить на сервер. 

Смотрите сами.

Допустим, мы захотели развернуть новый HA кластер с HAProxy/Nginx/Apache на новых серверах, и нам для этого надо всего-лишь заполнить пару полей и выбрать пару галочек:

Читать далее

Kubernetes 1.26: обзор нововведений, включая первый KEP «Фланта»

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

Этой ночью представят новую версию Kubernetes. Среди значимых улучшений релиза: возможность создавать тома из снапшотов, которые находятся в разных пространствах имен; поддержка OpenAPI v3 для команды kubectl explain; выравнивание ресурсов CPU в NUMA-кластере с учетом расстояния между узлами.

Также в Kubernetes 1.26 появится первая фича «Фланта», которая принята как Kubernetes Enhancement Proposal (KEP), а не просто как pull request.

Читать далее

StatefulSet в Kubernetes – примеры и наилучшие практики

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

Собираетесь ли вы развертывать базу данных в кластере Kubernetes? Если так – то это отличный выбор. Kubernetes – это инструмент оркестрации контейнеров, который при помощи множества инструментов координирует эксплуатацию приложений в контейнерах (подах). Один из этих контроллеров называется StatefulSet и используется для эксплуатации приложений, сохраняющих состояние.
Читать дальше →

Краткое введение в MLOps

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

Возможно, вы слышали, что 90% моделей ML не добираются до стадии продакшена. На самом деле, любой человек из сферы ИТ знает, что внедрение ПО в продакшен — долгий и сложный процесс. Однако с того момента, как люди впервые написали условный оператор, происходили постоянные совершенствования процессов, способов разработки, развёртывания и обслуживания. Это привело к появлению процессов и инструментов, называемых DevOps. Сегодня они стали неотъемлемой частью практически любой компании, создающей серьёзное ПО, будь то в игровой, производственной, финансовой или медицинской отрасли. По этой теме написаны сотни, если не тысячи веб-страниц и статей.

Однако в последние годы в мире появилось новое подмножество типов ПО, а именно системы на основе AI. Они используют существенно отличающийся подход к решению задач, основанный на статистике, вероятности и, что самое важное, большом объёме данных. Это создаёт новые сложности, которые невозможно эффективно устранять при помощи стандартных методологий DevOps (потому что процессы тем или иным образом различаются). Многие компании, пытавшиеся использовать их, потерпели поражение.
Читать дальше →

Gitea + Drone + Nginx + Portainer. Пошаговое руководство по деплою аналога github на своём железе

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

В данном туториале я расскажу вам как можно задеплоить gitea на своём железе с использованием docker-compose подключить drone, для возможности автоматизации тестирования и доставки собственных приложений, настроить reverse-proxy через nginx для доступа через сеть и включить portainer для мониторинга запущенных контейнеров.

Читать далее