Все потоки
Поиск
Написать публикацию
Обновить
373.42

DevOps *

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

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

Доклады с прошедшей JiraMania: про обновления, зависимости и дедлоки

Время на прочтение1 мин
Количество просмотров2.8K


В августе Яндекс.Деньги провели митап Jiramania. На нем разработчики и администраторы рассказали про отмычки и ноу-хау по работе с Jira.


Помимо неспешных бесед за кофе и круассанами, Гончик Цымжитов из ITIVITI поделился перцовыми пластырями от боли обновления Jira. После чего на сцену вышел Вадим Гаузяк из СберТеха с результатами своего исследования дедлока в agile-плагине Jira 7.


Но хватит интриг — под катом вы найдете оба доклада.

Практика с dapp. Часть 2. Деплой Docker-образов в Kubernetes с помощью Helm

Время на прочтение13 мин
Количество просмотров17K
dapp — наша Open Source-утилита, помогающая DevOps-инженерам сопровождать процессы CI/CD (Обновлено 13 августа 2019 г.: в настоящее время проект dapp переименован в werf, его код полностью переписан на Go, а документация значительно улучшена) (подробнее о ней читайте в анонсе). В документации к ней приведён пример сборки простого приложения, а подробнее этот процесс (с демонстрацией основных возможностей dapp) был представлен в первой части статьи. Теперь, на основе того же простого приложения, покажу, как dapp работает с кластером Kubernetes.

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

Эволюция DevOps

Время на прочтение14 мин
Количество просмотров19K

Эта статья посвящена эволюции разработки и администрирования, и определению собственной позиции во всеобщей картине всего. Статья вдохновлена слайдами Marc Hornbeek, но имеет к ним опосредованное отношение. Для широкого круга хаброжителей (опсов, девов и девопсов).

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

Nginx в работе DevOps/Администратора. Тёмная сторона силы

Время на прочтение4 мин
Количество просмотров25K

В работе DevOps/Администраторов зачастую возникают моменты, в которые необходимо куда-то кому-то срочно предоставить доступ. Будь то инстанс докера, один из многочисленных контейнеров или какой-то внутренний сервис.


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

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

Nodebackup — сохранение данных из контейнеров (докер) и так-же остальных

Время на прочтение9 мин
Количество просмотров7.4K



Это рассказ про самописнный велосипед, которым я постарался выполнить главный завет системного администратора — чтобы всё работало, но я ничего не делал. )

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

Истории успеха Kubernetes в production. Часть 3: GitHub

Время на прочтение6 мин
Количество просмотров15K
Продолжаем рассказывать об успешных примерах использования Kubernetes в production. Новый кейс — совсем свежий. Подробная информация о нём появилась только вчера. А что ещё более значимо, речь пойдёт про крупный онлайн-сервис, с которым наверняка так или иначе работает каждый читатель хабры, — GitHub.

Kubernetes на голом железе за 10 минут

Время на прочтение8 мин
Количество просмотров166K


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


По ходу этой статьи мы установим Kubernetes 1.6 на реальную (не виртуальную) машину под управлением Ubuntu 16.04 примерно за 10 минут. В результате у вас появится возможность начать изучать взаимодействие с Kubernetes посредством его CLI kubectl.
Читать дальше →

В разрезе: новостной агрегатор на Android с бэкендом. Система контроля конфигураций (Puppet)

Время на прочтение13 мин
Количество просмотров2.2K
Вводная часть (со ссылками на все статьи)

В ITIL (v3) среди описанных процессов есть 2 особенно интересных: «Процесс управления конфигурациями» и «Процесс управления изменениями», предназначенных для анализа и управления изменениями конфигураций систем. Для продолжения повествования нужно определиться, что такое «система». В это понятие входит огромное количество составляющих, влияющих (прямо или косвенно) на предоставление услуги:

  • серверы

    • настройки безопасности (пользователи, группы, права, межсетевые экраны);
    • установленные приложения и библиотеки;
    • настройки работы приложений (лимиты по дискрипторам, памяти, времени CPU и т.д.);
    • резервное копирование;

  • системы мониторинга за работой прикладного и системного ПО;
  • конфигурационные файлы самого продукта, его компонентов, вспомогательных системных и прикладных приложений
  • ...

Пытаться минимизировать контур системы вашего проекта (тип, резервное копирование не относится к функционированию системы) – значит рыть себе яму, в которую рано или поздно вы провалитесь.
Читать дальше →

Как на самом деле работает планировщик Kubernetes?

Время на прочтение8 мин
Количество просмотров19K
Прим. перев.: Эта статья написана Julia Evans — инженером международной компании Stripe, специализирующейся на интернет-платежах. Разбираться во внутренностях работы планировщика Kubernetes её побудил периодически возникающий баг с «зависанием» пода, о котором около месяца назад также сообщили специалисты из Rancher Labs (issue 49314). Проблема была решена и позволила поделиться деталями о техническом устройстве одного из базовых механизмов Kubernetes, которые и представлены в этом статье с необходимыми выдержками из соответствующего кода проекта.



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

Создаем самодостаточный Docker-кластер

Время на прочтение12 мин
Количество просмотров27K

Самодостаточная система — это та, которая способна восстанавливаться и адаптироваться. Восстановление означает, что кластер почти всегда будет в том состоянии, в котором его запроектировали. Например, если копия сервиса выйдет из строя, то системе потребуется ее восстановить. Адаптация же связана с модификацией желаемого состояния, так чтобы система смогла справиться с изменившимися условиями. Простым примером будет увеличение трафика. В этом случае сервисам потребуется масштабироваться. Когда восстановление и адаптация автоматизировано, мы получаем самовосстанавливающуюся и самоадаптирующуюся систему. Такая система является самодостаточной и может действовать без вмешательства человека.


Как выглядит самодостаточная система? Какие ее основные части? Кто действующие лица? В этой статье мы обсудим только сервисы и проигнорируем тот факт, что железо также очень важно. Такими ограничениями мы составим картину высокого уровня, которая описывает (в основном) автономную систему с точки зрения сервисов. Мы опустим детали и взглянем на систему с высоты птичьего полёта.


Если вы хорошо разбираетесь в теме и хотите сразу всё понять, то система изображено на рисунке ниже.


self-sufficient-system

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

Мониторинг как сервис: модульная система для микросервисной архитектуры

Время на прочтение9 мин
Количество просмотров23K
Сегодня на нашем проекте, помимо монолитного кода, функционируют десятки микросервисов. Каждый из них требует того, чтобы его мониторили. Делать это в таких объемах силами DevOps-инженеров проблематично. Мы разработали систему мониторинга, которая работает как сервис для разработчиков. Они могут самостоятельно писать метрики в систему мониторинга, пользоваться ими, строить на их основании дашборды, прикручивать к ним алерты, которые будут срабатывать при достижении пороговых значений. С DevOps-инженеров — только инфраструктура и документация.

Этот пост — расшифровка моего выступления с нашей секции на РИТ++. Многие просили нас сделать текстовые версии докладов оттуда. Если вы были на конференции или смотрели видео, то не найдете ничего нового. А всем остальным — добро пожаловать под кат. Расскажу, как мы пришли к такой системе, как она работает и как мы планируем её обновлять.


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

DevOps не проблема технологий. DevOps — это проблема бизнеса. (перевод)

Время на прочтение4 мин
Количество просмотров8.2K
Дэймон Эдвардс / 8 ноября, 2010

С того момента как Патрик Дебуа организовал первую конференцию DevOps Days и явил миру термин “DevOps” не может быть сомнений, что DevOps развился до уровня глобального движения.

Безусловно, DevOps движение имеет своих хулителей. Негативные мнения варьируются от ошибочных («DevOps — это новое название для сисадминов») и пренебрежительных («DevOps — это просто какие-то безумные разработчики (Devs), которые пытаются избавиться от админов (Ops)» или «DevOps — это какие-то безумные админы, которые хотят казаться разработчиками, чтобы их больше любили») до выражений обиды (как правило, с аргументами, не поддающимися логике).

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

DevOps это не проблема технологий.

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

Какое отношение бизнес имеет к DevOps?
Основополагающий бизнес-процесс в любой компании — взять идею от момента ее рождения в голове и донести ее туда, где она будет приносить деньги.


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

Load Average в Linux: разгадка тайны

Время на прочтение18 мин
Количество просмотров245K


Средние значения нагрузки (Load averages) — это критически важная для индустрии метрика. Многие компании тратят миллионы долларов, автоматически масштабируя облачные инстансы на основании этой и ряда других метрик. Но на Linux она окутана некой тайной. Отслеживание средней нагрузки на Linux — это задача, работающая в непрерываемом состоянии сна (uninterruptible sleep state). Почему? Я никогда не встречал объяснений. В этой статье я хочу разгадать эту тайну, и создать референс по средним значениям нагрузки для всех, кто пытается их интерпретировать.

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

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

Левенштейн и подсознательная любовь к DevOps

Время на прочтение2 мин
Количество просмотров2.6K
Нас тут частенько обвиняют в том, что мы пишем рекламные статьи, цель которых “опять пропиарить свои курсы”. Поэтому сегодня мы не будем говорить о том, что скоро стартанет курс “DevOps практики и инструменты” — нет.

Сегодня мы хотим поделиться с вами методом розыгрыша, который придумали наши преподаватели — инженеры компании Экспресс 42. Статьи про методы розыгрыша, как показывает статистика, тоже не все любят читать, но ирония судьбы (на последнем розыгрыше мест на курсе “WEB разработчик” оба победителя — читатели Хабра) просто требует, чтобы мы продолжали писать :)

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



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

Использования FlyWay для баз данных на примере Maven

Время на прочтение3 мин
Количество просмотров28K
Привет Хабровчане и Хабровчановки!
Хочу рассказать о очень удобном и полезном инструменте под названием FlyWay. На самом деле статьи уже были на нашем любимом ресурсе, но в последнее время произошли некоторые достаточно существенные изменения, поэтому свежая порция информации не помешает я думаю.

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

Истории успеха Kubernetes в production. Часть 2: Concur и SAP

Время на прочтение7 мин
Количество просмотров9.1K
Продолжаем рассказывать на примере известных компаний о том, что Kubernetes в production — это не только мечты и надежды. Эта статья — снова про технарей с мировым именем: SAP и её конвергентное облако на базе OpenStack и Kubernetes. Однако начнём с менее известной Concur и вот почему…


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

Начинаем работать с Ruby on Rails в Docker

Время на прочтение6 мин
Количество просмотров21K

Docker замечательно справляется с изолированием приложений и их окружений, облегчая распространение и репликацию состояний между различными средами (dev, test, beta, prod и т. д.). Его использование позволяет избавиться от проблемы «на моей машине все работает» и помогает с легкостью масштабировать приложение по мере его роста.


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


В этой статье мы возьмем простое приложение на Rails и подготовим его для использования в Docker-контейнере («докеризуем»).

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

Docker + IPv6 = ❦

Время на прочтение7 мин
Количество просмотров20K

Немного текста про поддержку IPv6 в докере и ещё кой-какие нюансы docker networking.


IPv4


Для разминки рассмотрим обычную IPv4-only систему. На хост-машине есть интерфейс eth0. К этому интерфейсу привязан внешний IP-адрес. Ещё есть loopback интерфейс. Когда на такую машину мы устанавливаем docker, он создаёт себе дефолтную сеть с названием bridge. Для этой сети на хост-машине создается еще один интерфейс docker0. У него тоже появляется ip адрес, например, 172.17.0.1. Когда мы запускаем контейнер, докер выделяет контейнеру адрес из выбранной сети (bridge по умолчанию). Например, 172.17.0.5. Внутри контейнера появляется интерфейс eth0 и на нём адрес 172.17.0.5. Итак, с адресами базово разобрались. Теперь попробуем понять, как процесс внутри контейнера может обращаться к внешним ресурсам и как сделать так, чтобы можно было снаружи сходить в контейнер.

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

Докеризация высокодоступного Postgres кластера

Время на прочтение11 мин
Количество просмотров26K


Пару месяцев назад мы переехали из Амазон на свои выделенные сервера(Hetzner), одна из причин тому была высокая стоимость RDS. Встала задача настроить и запустить master-slave кластер на выделенных серверах. После гугления и прочтения официальной документации, было принято решение собрать свое собственное решение высокодоступного асинхронного кластера Postgres.
Читать дальше →

Play with Docker — онлайн-сервис для практического знакомства с Docker

Время на прочтение4 мин
Количество просмотров74K


В конце прошлого года два капитана Docker представили свою разработку под названием Play with Docker (PWD) — «игровую площадку для Docker». Пользователям предлагается бесплатно поработать со сборкой и запуском Docker-контейнеров прямо в веб-браузере, а также выполнить лабораторные работы для знакомства с Docker с нуля и совершенствования своих навыков.
Читать дальше →

Вклад авторов