Обновить
256K+

DevOps *

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

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

Введение в приёмочные тесты

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

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

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

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

Читать далее

При всем богатстве выбора, другой альтернативы нет! Повесть о рабочих буднях простого русского DevOps-ера

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

При всем богатстве выбора, другой альтернативы нет! Повесть о рабочих буднях простого русского DevOps-ера.

В статье расскажем о кейсе из практики DevOps-инженера "ITQ Group", с которым вообще может столкнуться любой DevOps инженер при автоматизации процесса у заказчика на аутсорсе или даже у In-house работодателя.

Читать далее

Многие компании не готовы к автоматизации PKI

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


На рынке инфраструктуры открытых ключей (PKI) в ближайшее время могут произойти значительные изменения. Самое главное из них — предложение Google по сокращению срока службы сертификатов SSL/TLS. Максимально допустимым сроком сертификата станет 90 дней. Это потребует от владельцев веб-сайтов полной автоматизации выдачи, переоформления и продления сертификатов, чего и добивается Google.

Но проблема в том, что многие компании не готовы к такой автоматизации. Компания GMO GlobalSign провела исследование, чтобы выяснить основные причины этой неготовности.
Читать дальше →

Как мы тестировали совместимость dBrain с отечественными дистрибутивами

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

Мы протестировали совместимость контейнеризированной платформы dBrain с операционными системами Astra Linux, ALT Linux и РЕД ОС. Что из этого получилось, читайте в нашем тексте.

Результаты тестирования

Пишем свой драйвер Molecule без костылей и боли

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

Привет, Хабр! Меня зовут Павел, я инженер по разработке инфраструктуры в компании YADRO. В апреле 2023 года разработчики Molecule представили мажорный релиз инструмента в версии 5.0.0. Помимо множества багфиксов и улучшений, пользователи получили возможность написать свой собственный драйвер, подключить его в уже существующие сценарии тестирования ролей и использовать как molecule.docker или molecule.openstack. Я не нашел или плохо искал статей об этом и решил написать поэтапное руководство по разработке собственного драйвера — от примитивного Hello world до работающего прототипа.

В статье вы найдете пример custom_docker доработки оригинального драйвера molecule.docker, описание базовых классов и методов из API Molecule, а также рассказ о нюансах разработки и эксплуатации.

Перейти к инструкции

Делаем из Black Box мониторинга внешнее observability

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

Есть мнение, что Black Box подход к мониторингу хуже, чем White Box. Мол, мы получаем от него мало информации. Данных действительно немного, но мы можем развить нашу систему Black Box мониторинга и добиться довольно информативной системы контроля, которую мы условно назвали «внешнее observability».

В этой статье расскажем, как это сделать, и дадим несколько советов: 

• Как поддерживать Black Box в актуальном состоянии; 

• Использовать Black Box мониторинг как аудит безопасности;

• Как работать с алертами в Black Box;

• Как сделать геораспределённый мониторинг;

• Как использовать Black Box с кешированием.

Читать далее

Куда ведут все эти пути? Путеводитель по базовым методологиям

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

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

Читать далее

Как мы внедряли Sentry. Часть 1 — установка и настройка

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

Привет! Я Виталий, DevOps в LEADS.SU, в этой статье хочу рассказать как мы внедряли Sentry self-hosted и приводили к продакшен состоянию, которое должно отвечать требованиям высокодоступности - нельзя терять события ошибок. При этом не хотелось заморачиваться с кластеризацией для разных инструментов (вроде redis, postgresql, clickhouse, kafka и прочее). И тут мы вспомнили про распределенную сеть доставки логов из нескольких узлов td-agent и решили попробовать.

Читать далее

Подписываем образы контейнеров с помощью cosign, garantir и skopeo

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

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

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

Читать далее

«Порядок в зоопарке»: кому и зачем нужен зонтичный ИТ-мониторинг и как начать им пользоваться?

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

«Ну вот и дожили до системы мониторинга систем мониторинга», «А потом ещё обязательно нужно настроить мониторинг системы мониторинга, объединяющую мониторинги» – иронизируют пользователи в одном Telegram-канале о системном администрировании.

Шутки в сторону – в этой статье ищем ответы на вопросы, зачем нужен зонтичный ИТ-мониторинг и как в нём действительно всё работает. 

Читать далее

10 лет Docker: от революционной идеи до современной практики

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

Привет, Хабр! На момент написания статьи, я занимаюсь надежностью (SRE) в компании Workday, еще помогаю студентам в Практикуме осваивать курс по DevOps-практикам.

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

Читать далее

DevSecOps — Развеивание тайн — Часть 3

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

В современном быстро меняющемся цифровом ландшафте безопасность - это проблема, которую никогда не следует упускать из виду. DevSecOps, что означает "разработка", "безопасность" и "операции", - это философия, интегрирующая безопасность в конвейер DevOps. Благодаря такому подходу безопасность становится не "послесловием", а неотъемлемой частью жизненного цикла разработки программного обеспечения.

Читать далее

Управляем обновлением AWS Autoscaling Group: гармония Terraform и Ansible

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

В мире DevOps, где автоматизация играет ключевую роль, управление ресурсами и процессами обновления инфраструктуры в облаке является критически важной задачей. Во многих современных проектах, особенно тех, что развертываются в облачной среде AWS, используется механизм Auto Scaling Groups (ASG) с целью достижения трех основных задач: балансировки нагрузки, повышения надежности сервиса и оптимизации стоимости эксплуатации.

Представьте себе: вы работаете в компании, развертывающей свои приложения на ресурсах Amazon. Ваши приложения важны, поскольку они обслуживают тысячи пользователей ежедневно. Для этого часто используется механизм Auto Scaling Groups (ASG) с целью достижения трех основных задач: балансировки нагрузки, повышения надежности сервиса и оптимизации стоимости эксплуатации.

И чтобы ускорить процесс развертывания и упростить управление конфигурацией, вы используете предварительно подготовленные AMI образы. Эти образы создаются с помощью инструментов типа HashiCorp Packer (или других аналогичных) и содержат все необходимое для того, чтобы ваше приложение стартовало быстро и без сбоев. Для разворачивания самой инфраструктуры вы используете Terraform, который стал стандартом de facto во многих крупных компаниях, управляющих облачными ресурсами и использующими подход IaC (Infrastructure as Code).

К сожалению, ресурсы Terraform (например тот же aws_autoscaling_group) не позволяют отслеживать прогресс и успешность выполнения операции обновления ASG в рамках instance refresh, а могут лишь запустить его. Если какие-то другие части инфраструктуры (например, обновления сертификатов или dns-записей) каким-то образом зависят от состояния и версии запущенных инстансов, то желательно проконтролировать завершение процесса обновления для получения корректного состояния инфраструктуры после завершения работы terraform.

Чтобы решить данную проблему, вводим в игру Ansible...

Ansible...

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

Проектирование отказоустойчивости IT-систем

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

❓Как проектировать системы, которые будут толерантными для различного вида отказов и ошибок?

Что такое отказоустойчивость и стабильность?

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

1. Деградация работоспособности системы должна быть прямо пропорциональна "величине" отказа. То есть, если упал сервис, отвечающий за некую некритичную функциональность — вся система не должна при этом падать. Да, небольшой кусочек не работает, но это не влияет на стабильность остальной части функционала.

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

Читать далее

От Kubernetes в мечтах к Kubernetes в проде. Часть 3. Доставка кода, GitOps, ArgoCD

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

В серии статей по теме DevOps мы вместе с Lead DevOps инженером департамента информационных систем ИТМО Михаилом Рыбкиным рассказываем о проверенных инструментах выстраивания инфраструктуры, которыми с недавнего времени пользуемся сами. В предыдущих статьях мы уже рассмотрели предпосылки перехода на новую инфраструктуру и познакомились с азами Kubernetes, теперь пора перейти к следующему шагу – доставке кода. В рамках этой статьи мы подробно рассмотрим методологию GitOps и ее реализацию на примере ArgoCD.

Читать далее

Как оценивать технический риск ИБ при разработке приложений

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

Всем привет! С вами снова Антон Башарин, технический директор Swordfish Security. В предыдущих статьях мы рассказывали об обработке обнаруженных при сканировании уязвимостей – о дедубликации, автоматических правилах, приоритизации и других функциях инструмента класса ASOC, которые позволяют облегчить работу инженеру ИБ. А также о Shift-Left подходе к безопасности в разработке приложений. Сегодня мы хотим затронуть не менее важную тему в управлении ИБ. Поговорим об отслеживании технического риска информационной безопасности и его оценке для портфеля приложений. В этом мне поможет наш аналитик данных, Анастасия Арсеньева. В статье расскажем о различных метриках для оценки риска, об их сходствах и различиях, — и покажем это на дашборде, разработанном нами для модуля визуализации метрик DevSecOps в рамках развития платформы AppSec.Hub.

Читать далее

Кроме настроек по умолчанию: оцениваем безопасность Kubernetes и облачных сред

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


Команда VK Cloud перевела конспект конференции InfoQ Live со специалистами мирового класса. В этот раз на ней говорили о безопасности в Kubernetes и облачных средах. Спикеры обсудили распространенные ошибки и передовые методы обеспечения безопасности кластеров Kubernetes, поговорили о том, как начать новичкам, и об инструментах, упрощающих жизнь.
Читать дальше →

Автоскейлинг контроллеров Ingress в Kubernetes

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

В этом переводе рассказываем о том, как настроить автомасштабирование контроллера Ingress с использованием Prometheus, KEDA и Locust для генерации трафика.

Читать далее

Мониторинг и логирование 1С систем

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

Практически в каждой организации присутствуют информационные системы, реализованные на платформе 1С.

Описание основных инструментов, их ограничений и способ нивелирования.

Читать далее

Настройка CI/CD для Gitlab-репозитория: схемы и гайд по шагам

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

Рассказываем, как работать с CI/CD, о шагах при настройке сервера и о полезных командах, которые помогут в работе.

Привет! Меня зовут Николай, я Backend-разработчик в РЕЛЭКС.

В статье ты найдешь полезный теоретический материал, сравнение инструментов CI/CD и подробный гайд по сборке и развертыванию через Docker на удаленный сервер с помощью Gitlab CI/CD — на примере Spring Boot приложения.

Читать далее