Как стать автором
Поиск
Написать публикацию
Обновить
279.56

DevOps *

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

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

Molecule — тестируем роли Ansible

Время на прочтение3 мин
Количество просмотров34K
Доброго времени суток. На Хабре не раз упоминался ansible, но статей о тестировании его ролей при помощи molecule мной обнаружено не было, однако Я нахожу данный фреймворк крайне удобным и хотел бы поделиться этим с аудиторией Хабра.
Но для начала немного о том, чем я пользовался прежде.
Читать дальше →

Пробы и ошибки при выборе HTTP Reverse Proxy

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

Сегодня мы хотим рассказать о том, как команда сервиса бронирования отелей Ostrovok.ru решала проблему роста микросервиса, задачей которого является обмен информацией с нашими поставщиками. О своем опыте рассказывает undying, DevOps Team Lead в Ostrovok.ru.

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

Как накатывать обновления в продакшн автоматически

Время на прочтение8 мин
Количество просмотров8.1K
Запуск новой версии в боевую эксплуатацию — всегда нервное мероприятие. Особенно если процесс включает в себя множество ручных операций. Человеческий фактор — страшная штука. “Хорошо бы этот процесс автоматизировать” — эта идея стара как весь ИТ-мир. И термин для этого есть — Continuous Deployment. Да вот беда, нет единственно верного способа настроить этот continuous deployment. Очень сильно сей процесс завязан на технологический стек проекта и на его окружение.

В этой статье я хочу поделиться практическим опытом настройки автоматического обновления системы без прерывания ее работы для конкретного технологического окружения, а именно: веб приложение на ASP.NET MVC + Azure SQL + Entity Framework в режиме Code First, развернуто приложение в Azure в виде App Service, а сборка и развертывание выполняются через Azure DevOps (бывший Visual Studio Team Services).

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

docker-pretty-ps — наконец-то удобный для чтения «docker ps»

Время на прочтение3 мин
Количество просмотров16K
Вы не одиноки в этом мире, если вот уже долгое время не рады тому, как выглядит стандартный вывод docker ps. Хотя и существуют различные workarounds на эту тему (см. в конце материала), однажды какой-нибудь энтузиаст должен был сделать «что-то ещё»… и это произошло в наступившем 2019 году. Имя ему — docker-pretty-ps.

Задумка автора банальна донельзя: горизонтальный вывод и цвета для наглядности.



А в качестве аудитории утилиты называются «скорее разработчики, чем хардкорные DevOps'ы или SRE-инженеры».
Читать дальше →

Мечтают ли YML программисты о тестировании ansible?

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

kitchen-ci schema


Это текстовая версия выступления 2018-04-25 на Saint-Petersburg Linux User Group. Пример кода тут: https://github.com/ultral/ansible-role-testing


Полагаю что вы используете configuration mangement, а не bash. Т.е. ваша конфигурация это код. Если мы говорим, что инфраструктура это код, то к её созданию должна применяться та же философия, что и для разработки ПО. Вы задумывались об этом? Как у вас это сделано? А у других?

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

Оптимизация времени запуска Prometheus 2.6.0 с помощью pprof

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

В Prometheus 2.6.0 оптимизирована загрузка WAL, что ускоряет процесс запуска.


Неофициальная цель разработки Prometheus 2.x TSDB — ускорить запуск, чтобы он занимал не более минуты. В последние месяцы появились сообщения о том, что процесс немного затягивается, и если Prometheus по какой-либо причине перезапускается, то это — уже проблема. Почти все это время загружается WAL (регистрация записи с упреждением), включающий образцы за последние несколько часов, которые еще предстоит сжать в блок. В конце октября мне, наконец, удалось разобраться в этом; результат — PR#440, снижающий время работы ЦПУ в 6,5 раз и время расчета в 4 раза. Рассмотрим, каким образом я добился этих улучшений.


image

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

Ползучий IT-апокалипсис. Новые облачные сервисы оставят без работы часть инженеров

Время на прочтение4 мин
Количество просмотров11K
Ходят слухи, что Amazon ведёт работу над секретным проектом AWS For Everyone. Об этом сообщили несколько источников в компании, а ещё он упоминается в профилях ряда сотрудников (примечание: в последние несколько дней компания начала подчищать информацию и отовсюду удалять название проекта).

Новый сервис позволит создавать на облачной платформе простые бизнес-приложения людям «с минимальными навыками программирования или вообще без них». Намёки звучали, например, в докладе инженера AWS Патрика Ву на конференции CascadiaJS в ноябре 2018 года (видео). Он рассказывал, как коллектив из 50+ разработчиков масштабировал одностраничное приложение, но сейчас в AWS делают новый сервис (AWS For Everyone), который кардинально изменит ситуацию на рынке.

Казалось бы, можно только радоваться, что интерфейсы становятся проще. Но в реальности налицо серьёзная проблема, которую некоторые комментаторы называют «ползучим IT-апокалипсисом». Дело в том, что облачные провайдеры прямо нацелены на сокращение инженеров, которые требуются для обслуживания технических систем. Фактически, это преподносится как реальное рыночное преимущество: переход в облако позволяет компаниям сократить штат и сэкономить деньги.
Читать дальше →

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

Время на прочтение10 мин
Количество просмотров22K
Написать эту статью меня сподвигло большое количество материалов о статическом анализе, всё чаще попадающихся на глаза. Во-первых, это блог PVS-studio, который активно продвигает себя на Хабре при помощи обзоров ошибок, найденных их инструментом в проектах с открытым кодом. Недавно PVS-studio реализовали поддержку Java, и, конечно, разработчики IntelliJ IDEA, чей встроенный анализатор является на сегодня, наверное, самым продвинутым для Java, не могли остаться в стороне.

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

Но волшебных эликсиров не бывает. Я хотел бы поговорить о том, о чём обычно не говорят в постах вида «вот какие штуки может найти наш робот»: чего не могут анализаторы, в чём их реальная роль и место в процессе поставки софта, и как внедрять их правильно.


Храповик (источник: википедия).
Читать дальше →

Как распознать липовые проекты Agile

Время на прочтение5 мин
Количество просмотров13K
От переводчика: это инструкция DIB Guide: Detecting Agile BS (версия 0.4), которую Комитет по инновациям Министерства обороны США (DIB) опубликовал в открытом доступе 9 октября 2018 года.

Agile — модное словечко в разработке ПО, так что все софтверные проекты Минобороны теперь почти по умолчанию объявлены «гибкими». Настоящий документ поможет руководителям программ и специалистам Минобороны отличить софтверные проекты с действительно гибкой методологией от проектов, которые под маской Agile просто используют «водопад» или «спираль» (“agile-scrum-fall”).
Читать дальше →

Как взять сетевую инфраструктуру под свой контроль. Глава третья. Сетевая безопасность. Часть вторая

Время на прочтение10 мин
Количество просмотров12K
Эта статья является четвертой в цикле статей «Как взять сетевую инфраструктуру под свой контроль». Содержание всех статей цикла и ссылки можно найти здесь.

В первой части этой главы мы рассмотрели некоторые аспекты сетевой безопасности сегмента «Data Center». Эта часть будет посвящена «Internet Access» сегменту.

image

Internet access


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

При аудите этого сегмента обратите внимание на следующие аспекты:

  • дизайн
  • настройки BGP
  • DOS/DDOS защита
  • фильтрация трафика на фаерволе
Читать дальше →

МегаСлёрм в Москве в начале июня: первый анонс и скидки

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

TL;DR — если пройти Слёрм-3 (1–3 февраля), то МегаСлёрм (31 мая — 2 июня) будет стоить на 15 тысяч меньше.



Подробности.


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


Слёрм-3 пройдет 1–3 февраля в Питере.


Слёрм-4 — 27–29 мая в Москве.


МегаСлёрм — продвинутый курс по Кубернетес. Идея июньской Меги: каждый участник запустит обновление компонентов кластера и параллельно — деплой в кластер (имитируем ситуацию, когда Dev и Ops не согласовывают тех.окна, а работают одновременно). И все получится без даунтайма и ручного вмешательства.


МегаСлёрм пройдет с 31 мая по 2 июня в Москве.

Read more →

9 лучших практик по обеспечению безопасности в Kubernetes

Время на прочтение6 мин
Количество просмотров12K
Прим. перев.: Это уже не первая статья с общими рекомендациями по безопасности в Kubernetes, что мы переводим в своём блоге. Однако её актуальность — по меньшей мере, как напоминание о простых и важных вещах, на которые не стоит закрывать глаза из-за нехватки времени, — только подтверждается недавними событиями, упоминаемыми автором в начале материала. К слову, автором является Connor Gilbert — менеджер продуктов компании StackRox, предлагающей готовую платформу для обеспечения безопасности приложений, разворачиваемых в рамках Kubernetes-кластеров. Итак, вот что он советует читателям блога CNCF…

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




В прошлом месяце в Kubernetes, самой популярной в мире системе оркестровки контейнеров, обнаружили первую крупную уязвимость в безопасности, что ударило по экосистеме проекта. Уязвимость CVE-2018-1002105 даёт возможность злоумышленникам скомпрометировать кластеры через API-сервер Kubernetes, что позволяет исполнять вредоносный код для установки malware и т.п.
Читать дальше →

Как мы находим проблемные релизы с помощью Graphite и Moira. Опыт Яндекс.Денег

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

Привет, Хабр! Вдоволь наотдыхавшись после длинных праздников, мы снова готовы причинять вам пользу всеми доступными способами. Коллегам из IT-департамента всегда есть что рассказать, и сегодня мы делимся с вами докладом Александра Призова, системного администратора Яндекс.Денег, с митапа JavaJam.



Как мы выстроили поток обратной связи для обнаружения проблемных релизов с помощью Graphite и Moira. Расскажем, как собирать и анализировать метрики о количестве ошибок в приложении.

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

PVS-Studio для Java

Время на прочтение12 мин
Количество просмотров14K
PVS-Studio для Java

В седьмой версии статического анализатора PVS-Studio мы добавили поддержку языка Java. Пришло время немного рассказать, как мы начинали делать поддержку языка Java, что у нас получилось и какие дальнейшие планы. И, конечно, в статье будут приведены первые испытания анализатора на открытых проектах.
Read more →

Новые возможности автоматизации сети в Red Hat Ansible

Время на прочтение9 мин
Количество просмотров8.9K
В свете значительных усовершенствований, реализованных в Ansible Engine 2.6, а также с учетом выхода Ansible Tower 3.3 и недавнего выпуска Ansible Engine 2.7, рассмотрим подробнее перспективы автоматизации сетей.



В этом посте:

  • Плагин подключения httpapi.
    • Поддержка Arista eAPI и Cisco NX-API.
  • Новые модули сетевой автоматизации.
    • net_get и net_put.
    • netconf_get, netconf_rpc и netconf_config.
    • cli_command и cli_config.
  • Улучшенный веб-интерфейс Ansible Tower.
  • Управление учетными данными в Ansible Tower при работе с сетевыми устройствам.
  • Одновременное использование различных версий Ansible в Tower

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

PVS-Studio 7.00

Время на прочтение6 мин
Количество просмотров14K
PVS-Studio C#\Java\C++Сегодня важный день – после 28 релизов шестой версии мы выпускаем PVS-Studio 7.00, где ключевым новшеством является поддержка языка Java. Однако за 2018 год накопилось много других важных изменений, касающихся С++, С#, инфраструктуры и поддержки стандартов кодирования. Поэтому предлагаем вашему вниманию заметку, которая обобщает основные изменения, произошедшие в PVS-Studio за последнее время.
Читать дальше →

Как Иван метрики DevOps делал. Объект влияния

Время на прочтение3 мин
Количество просмотров2.8K
Прошла неделя с тех пор как Иван в первый раз задумался над метриками DevOps и понял, что управлять с их помощью надо временем поставки продукта (Time-To-Market).

Даже на выходных он думал про метрики: «Ну и что, что я измерю время? Что оно мне даст?»

Действительно, что даст знание времени? Допустим, поставка занимает 5 дней. И что дальше? Это хорошо или плохо? Даже если это плохо, то нужно же как-то уменьшать это время. Но как?
Эти мысли не давали ему покоя, но решение не приходило.

Иван понимал, что подошёл к самой сути. Бесчисленные графики метрик, виденные им до этого, давно убедили его, что стандартный подход не сработает, и что если просто построить график (пусть даже когортный), толку от него будет ноль.

Как же быть?..
Читать дальше →

Аутентификация в Kubernetes с помощью GitHub OAuth и Dex

Время на прочтение6 мин
Количество просмотров14K
Представляю вашему вниманию туториал для генерации доступов к Kubernetes-кластеру с помощью Dex, dex-k8s-authenticator и GitHub.

image

Локальный мем из русскоязычного чата Kubernetes в Telegram
Читать дальше →

Плагин kubectl-debug для отладки в pod'ах Kubernetes

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


В конце прошлого года на Reddit представили плагин к kubectl, помогающий производить отладку в pod'ах кластера Kubernetes — kubectl-debug. Эта идея сразу же показалась интересной и полезной нашим инженерам, так что мы решили посмотреть на её воплощение и рады поделиться своими результатами с читателями хабры.
Читать дальше →

Kubernetes: сборка образов Docker в кластере

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

Чтобы собирать образы Docker в контейнере и при этом обойтись без Docker, можно использовать kaniko. Давайте узнаем, как запускать kaniko локально и в кластере Kubernetes.


image
Дальше будет многабукаф

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

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