Обновить
256K+

DevOps *

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

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

Дёшево, сердито и не жмёт: как работает запуск контейнеров в Yandex Serverless Containers

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели20K
Если нужно запустить сайт или веб-приложение в облаке, то привычным для многих способом будет аренда виртуальной машины с определённым объёмом памяти и параметрами CPU. Берём ресурсы чуть-чуть с запасом, чтобы приложение не тормозило и не теряло пользовательские запросы, и платим постоянный тариф за аренду мощностей провайдера. Но в таком случае всегда есть переплата за фактически неиспользуемую часть ресурсов, а часть ответственности за надёжность решения несёт сам пользователь.

Облачные решения сегодня предлагают несколько вариантов запуска контейнеров, и serverless-подход — один из них. Если разместить код приложения в Serverless Containers, облако само запустит нужный контейнер с вашим сервисом тогда, когда появится потребность в его вызове. Разница не только в тарификации по времени работы контейнера, но и в эластичности. Если нагрузка резко возрастёт, то сервис запустит дополнительные экземпляры контейнера. Но и здесь есть свои ограничения. 

В этой статье покажем, какие есть способы запуска контейнеров в Yandex Cloud, и расскажем, как и когда лучше запускать контейнеры в Serverless Containers. Материал может пригодиться бэкенд-разработчикам, DevOps-инженерам и системным администраторам.
image
Читать дальше →

Совершенствуем развертывание приложений в Kubernetes с помощью Blue-Green Deployment

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


Развитие и обновление приложений - это важная часть жизненного цикла разработки программного обеспечения. В мире микросервисов и контейнеризации, Kubernetes стал платформой выбора для развертывания и управления приложениями. Однако одним из основных вызовов при обновлении приложений в Kubernetes является минимизация времени простоя (downtime) и рисков.

Blue-Green Deployment (сине-зеленое развертывание) - это стратегия, которая позволяет разработчикам и операторам эффективно справляться с этими вызовами. Она предоставляет возможность переключаться между двумя параллельными окружениями для приложения - активным (синим) и новым (зеленым), обеспечивая бесперебойное обновление приложения без ущерба для доступности.

Читать далее

Переход с Calico на Cilium. Причины и итоги

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

Сегодня расскажем о выборе CNI: что мы использовали в Calico, в каких конфигурациях и как применяем Cilium.

Cilium vs Calico

Мой опыт перевода Grafana под управление Terraform или что делать если надоело тыкать на кнопки в GUI

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

Вам сказали развернуть систему мониторинга, вы выбрали связку Prometheus + Grafana. Развернули Grafana на своих серверах (VM/Docker/Kubernetes) и подключили Data Source Prometheus (а возможно вам еще сказали развернуть логирование и вы используете Grafana Loki) и далее по гайдам из ютуба начали создавать свои дашборды и настраивать алерты.

Все работает идеально, но в один момент вы начинаете думать о том, чтобы хранить созданные сущности Grafana в коде, чтобы их можно было легко восстановить в случае потери данных или же развернуть при создании новой среды (dev/prod). Экспортировать дашборды не составит труда, это можно сделать и через GUI, но как же источники данных, политики уведомлении, contact points и сами алерты?

Знакомая история? Возможно, что нет. А у меня да!

Читать далее

Как рассчитать SLA на примере Nginx-сервера

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

Соглашение об уровне обслуживания (SLA) – это соглашение с клиентами или пользователями, где описывается уровень обслуживания, который поставщик обещает предоставить клиенту. SLA можно представить в виде измеряемой метрики, например, как время безотказной работы или суммарное количество ошибок. Перевели статью, где рассматривается простой способ расчета SLA на примере Nginx-сервера.

Читать далее

Russia DevOps Report 2022 — основные тренды отечественного рынка разработки

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

Эксперты Платформы Сфера впервые провели исследование российского рынка инструментов DevOps. Они проводили его с декабря 2022 по конец февраля 2023. 

Подробнее о них расскажет нам Евгений Калашников, руководитель портфеля продуктов для разработчиков в T1. Он представит нам отчёт с объёмами, преимуществами инструментов DevOps.

Читать далее

Как ограничить количество выполняющихся задач в Jenkins при вызове parallel: сравниваем решения

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

Недавно передо мной встала задача — есть 250 тестов, каждый из которых занимает от 5 до 30 минут, а иногда и часы. Надо запустить их в параллель на одной машине, но не больше 16 одновременно. Ограничение связано с некоторым лимитированным ресурсом, а также количеством ядер CPU. Реальное число одновременно запущенных задач нужно вычислять динамически, то есть пойти простым путем и зарегистрировать имя или лэйбл ресурса заранее с помощью плагина Lockable Resource не получится.

Читать далее

TSDB Loki с высоты птичьего полета

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

Проблемы роста — обычное дело, и базы данных в этом смысле не исключение. Полтора года назад команда Loki задумалась о том, как на порядок повысить кардинальность (cardinality), производительность запросов (query throughput) и надежность (reliability). Работа над новым индексным слоем почти закончена — время остановиться и посмотреть: что же мы делаем, чтобы оставаться на пике прогресса.

Читать далее

1.1.Переписываем наш Object Cloud

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

Привет всем, Мы в прошлой части сделали огромный первый шаг в NixOS,сделав набросок, чего мы хотим от системы и немного пробежались по одному из вариантов описания конфигурации системы ,какой мы ее видим после ребилда, а сейчас нам осталось немного ее доделать, в некоторых местах улучшить codestyle ,что бы можно было уже переходить с чистой душой дальше, уже в сторону контейнеров и виртуальных машин и встроенных средств ,которые предоставляют деплой.

Читать далее

Immutable-инфраструктура и ее преимущества

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


Привет, Хабр! Меня зовут Илья Нырков, я Presale-архитектор в VK Cloud. В своей работе я часто сталкиваюсь с проблемами клиентов при выкатке новых версий их проектов. Плохая документация (или зачастую ее отсутствие) приводит к нехватке информации о системных настройках, установленном ПО и его версиях на машине. Из-за этого диагностика и устранение регулярно возникающих проблем значительно усложняются.
Читать дальше →

Как приручить автотестового монстра, или Dependency Injection в автотестах

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели9.2K
Вы пишете автотесты? Ваш проект с автотестами огромен и монструозен, и добавление каждого нового сервиса в него приносит нестерпимое желание все удалить и написать заново? У вас есть базовый класс на 3000+ строк с методами на все случаи жизни? Или, возможно, вам приходилось исправлять множество тестов, чтобы добавить одну и ту же строчку в каждом из них?



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

Keycloak. Админский фактор и запрет аутентификации

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели14K
Привет, Хабр и его жители! Я, Максим Санджиев, представляю отдел, занимающийся развитием, поддержкой и безопасностью инфраструктуры в департаменте Security Services компании «Лаборатории Касперского». У нас в отделе накопилась «нестандартная» экспертиза по работе с vault, IAM (keycloak), rook-ceph, minio s3, prometheus, k8s и многими другими инструментами OPS/SecOps/SRE. Хотели бы с вами поделиться нашими ресерчами, идеями, самописными разработками и получить фидбэк на наши реализации. Начнем с кейсов по работе с IAM.



Эта статья рассчитана на людей, которые ранее были знакомы с IAM и, в частности, с keycloak-ом. Поэтому в этой части не будет «базы» по SAML2, OAuth2/OIDC и в целом по IAM (на Хабре есть хорошие статьи на эту тему).

Рассмотрим два кейса:
  • Есть учетная запись (УЗ) в keycloak с правами админа на какой-то веб-ресурс. Как, используя keycloak, сделать так, чтобы для входа админу требовался дополнительный фактор аутентификации?
  • Есть веб-ресурс (client в терминологии keycloak). Как дать доступ к этому веб-ресурсу средствами keycloak на этапе аутентификации определенной группе пользователей (в ситуации, когда это не реализовано самим приложением)?

Читать дальше →

История создания и обзор программы для простого построения DevOps отчётов

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

Здравствуйте, меня зовут Павел.

Я работал системным администратором с 2010 года в разных компаниях, в 2019 году решил сменить сферу деятельности на DevOps-инженера.

Проработав некоторое время DevOps-инженером, понял, что сотрудникам нужна программа, которая создавала бы в виде таблицы ёмкие отчёты о том, какие версии сборки программы установлены, на каких тестовых стендах и в каком состоянии эти сборки находятся на момент составления отчёта, с учётом того, что их можно было бы рассылать по email команде разработчиков.

Работая в компании, этот вариант отчёта я создал в виде джобы в Jenkins (Pipeline + Bash), отчёт создавался только для определённых тестовых стендов и для определённой программы.

Через некоторое время появилась мысль создать свою универсальную      кроссплатформенную программу на Java для простого создания DevOps-отчётов.

Для профессии DevOps-инженера нужно было знать Java. Написание своей программы было бы неким стимулом для его изучения, поэтому я решил приступить к учёбе и по возможности создавать свою программу.

Почитав на просторах интернета статьи о лицензировании при использовании JDK и Open JDK, чтобы не было проблем с авторскими правами, я принял решение использовать Open JDK Amazon Corretto 11.

В качестве GUI интерфейса выбрал JavaFX. Программу назвал «DevOps Report Manager».

Далее, вооружившись книгой «Java Руководство для начинающих» и Интернетом, начал создавать первую часть программы.

Читать далее

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

Как ворваться в DevOps

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

Привет, я Сергей, техлид банка «Центр-инвест» и один из авторов курса «DevOps для эксплуатации и разработки». Раньше занимался написанием бэкендов на Java и Kotlin для финтех-энтерпрайза, потом занялся архитектурой, выстраиванием процессов и залез в DevOps. Заношу DevOps-практики, техлижу и деврелю.

В этой статье я расскажу:

• Почему DevOps — это круто и нужно;

• С чего начать свой путь в DevOps;

• Кто такой T-shape-специалист;

• Как мыслят истинные инженеры;

• Что почитать, куда сходить и на что посмотреть.

Читать далее

От IP к удостоверению: превращаем домашних питомцев в облачный рогатый скот

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


Один бит меняет следующий. Фронтенд ведет диалог с бэкендом. Все в ИТ строится вокруг удостоверения, вокруг того, что с чем взаимодействует и каков результат этого взаимодействия. Команда VK Cloud перевела статью о переходе от IP к identity, или удостоверениям.
Читать дальше →

Atlas — инструмент управления схемами миграций БД с открытым исходным кодом: наш опыт и ошибки создателей

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

Привет! На связи Василий Мармер, DevOps-тимлид компании «Флант». Сегодня мы поговорим об Atlas — еще одной утилите, которая делает работу DevOps-инженера более комфортной. Atlas увидел мир в ноябре 2021 года, а сейчас у него более 3,3 тысячи звёзд на GitHub. Язык программирования — Go.

Рассматриваемая утилита служит для управления схемами миграций баз данных и позволяет задействовать современные паттерны DevOps. Разработчики Atlas воспринимают свой инструмент как универсальный способ визуализировать, планировать и выстраивать миграции схем баз данных в соответствии с CI.

Читать далее

Развертывание docker контейнера с easyocr в закрытом контуре предприятия

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

Привет, Хабр! На просторах интернета, да и на самом Хабре есть огромное количество статей про OCR. Сегодня я бы хотел рассказать не про процесс распознавания текста а про методику развертывания решения в закрытом контуре (проще говоря - без интернета).

Читать далее

Эволюционная архитектура – что же это такое

Время на прочтение5 мин
Охват и читатели9.9K
«Архитектура с эволюционным развитием поддерживает управляемые, постепенные и последовательные изменения сразу в нескольких направлениях».

Из книги «Эволюционная архитектура. Поддержка непрерывных изменений»

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

Как тестировщики с помощью пользовательского десктопа и видеокарты инфраструктуру строили

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели3.7K
Тестировать андроид — сложно. Автоматизированно тестировать андроид — очень сложно. А если автоматизированно тестировать 6 очень разных приложений на 10 разных версиях ОС Android с использованием 3 языков программирования, используя внутреннюю систему CI/CD, которая написана для десктопных платформ, то это проходит по разряду «медленно и за очень много денег».



Меня зовут Сергей Павлов, и я работаю в команде Mobile Solutions Testing «Лаборатории Касперского» на позиции Senior Software Development Engineer in Test (SDET), где совмещаются навыки разработчика, тестировщика и DevOps. Я расскажу, как у нас получилось создать инфраструктуру на пользовательских десктопах, способную относительно стабильно и быстро запускать до 8 эмуляторов Android на машине. А также как мы запаковали практически все в Docker и научились грамотно разделять потоки тестов.
Читать дальше →

Ещё один рецепт отказоустойчивого файлового сервера средствами PaceMaker

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

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

Ранее для этих целей предложили бы готовое решение в виде СХД с поддержкой сетевых протоколов вроде Hitachi NAS Platform (HNAS). Но текущая ситуация и особенности контракта обязывали проработать решение на мощностях заказчика.

В итоге выбрали и реализовали решение с использованием ОС на ядре Linux и кластере PaceMaker — с общим диском, поддержкой кворума, демона SDB и протокола NFS. Кому интересны особенности реализации, прошу под кат.

Читать далее