Обновить
256K+

DevOps *

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

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

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

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

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

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

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

Время на прочтение10 мин
Охват и читатели23K
Написать эту статью меня сподвигло большое количество материалов о статическом анализе, всё чаще попадающихся на глаза. Во-первых, это блог 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 мин
Охват и читатели13K
Прим. перев.: Это уже не первая статья с общими рекомендациями по безопасности в Kubernetes, что мы переводим в своём блоге. Однако её актуальность — по меньшей мере, как напоминание о простых и важных вещах, на которые не стоит закрывать глаза из-за нехватки времени, — только подтверждается недавними событиями, упоминаемыми автором в начале материала. К слову, автором является Connor Gilbert — менеджер продуктов компании StackRox, предлагающей готовую платформу для обеспечения безопасности приложений, разворачиваемых в рамках Kubernetes-кластеров. Итак, вот что он советует читателям блога CNCF…

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




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

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

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

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



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

PVS-Studio для Java

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

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

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

Время на прочтение9 мин
Охват и читатели9.4K
В свете значительных усовершенствований, реализованных в 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.9K
Прошла неделя с тех пор как Иван в первый раз задумался над метриками DevOps и понял, что управлять с их помощью надо временем поставки продукта (Time-To-Market).

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

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

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

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

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

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


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

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

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

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


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

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

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

OpenVPN, о котором вы так мало знали

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

OpenVPN, как много в этом слове. Мультиплатформенный, гибко настраиваемый, бесплатный VPN сервер с открытым исходным кодом, являющийся фактически стандартом "defacto" для организации доступа к внутренним корпоративным сетям. Большинство администраторов используют его с настройками по умолчанию или с типовыми конфигурациями широко описанными в разных HOW-TO. Но так ли прост OpenVPN, как он кажется на первый взгляд? В данной статье мы рассмотрим скрытые от глаз внутренние механизмы OpenVPN, которые кардинально меняют представление о его возможностях.

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

«Надежность и безотказность как в Google» — и не только: перевод статьи «Расчёт надёжности сервиса»

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

Главная задача коммерческих (да и некоммерческих тоже) сервисов — быть всегда доступными для пользователя. Хотя сбои случаются у всех, вопрос в том, что делает IT-команда для их минимизации. Мы перевели статью Бена Трейнора, Майка Далина, Вивек Рау и Бетси Бейер «Расчёт надёжности сервиса», в которой рассказывается, в том числе, на примере Google, почему 100% — неверный ориентир для показателя надежности, что такое «правило четырёх девяток» и как на практике математически прогнозировать допустимость крупных и мелких отключений сервиса и\или его критических компонентов — ожидаемое количество простоя, время обнаружения сбоя и время восстановления сервиса.
Читать дальше →

Тестирование PostgreSQL с HugePages в Linux

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

Ядро Linux предоставляет широкий спектр параметров конфигурации, которые могут повлиять на производительность. Главное — выбрать правильную конфигурацию для вашего приложения и рабочей нагрузки. Как и любой другой базе данных, PostgreSQL необходима оптимальная настройка ядра Linux. Неправильные настройки могут привести к снижению производительности. Важно проводить сравнительный анализ производительности базы данных после каждого сеанса настройки. В одном из своих предыдущих постов под названием "Tune Linux Kernel Parameters For PostgreSQL Optimization" я описал некоторые из наиболее полезных параметров ядра Linux и то, как они помогают повысить производительность базы данных. Теперь я поделюсь результатами сравнительного тестирования после настройки HugePages в Linux под различными нагрузками PostgreSQL. Я провел полный набор тестов под множеством различных нагрузок PostgreSQL с различным числом параллельных клиентов.


image

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

End-to-end тестирование микросервисов c Catcher

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

Добрый день! Я хотел бы представить новый инструмент для end-to-end тестирования микросервисов – Catcher
logo


Зачем тестировать?


Зачем нужно e2e тестирование? Мартин Фаулер рекомендует избегать его в пользу более простых тестов.

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

Nomad: проблемы и решения

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

Первый сервис в Nomad я запустил в сентябре 2016 года. На данный момент пользуюсь как программист и занимаюсь поддержкой как администратор двух Nomad кластеров — один "домашний" для своих личных проектов (6 микро-виртуалок в Hetzner Cloud и ArubaCloud в 5 разных датацентрах Европы) и второй рабочий (порядка 40 приватных виртуальных и физических серверов в двух датацентрах).


За прошедшее время накопился довольно большой опыт работы с Nomad окружением, в статье опишу встреченные проблемы Nomad и как с ними можно справиться.



Ямальский кочевник делает Continous Delivery инстанса вашего ПО © National Geographic Россия

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

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

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

image

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

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

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

Наша задача сейчас – выявить риски, связанные с защищенностью на уровне сети и снизить их до разумной величины.
Читать дальше →

5 уроков, которые мы усвоили, написав более 300 000 строк инфраструктурного кода

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

Краткий мастер-класс по разработке инфраструктурного кода


image


В октябре этого года я выступил с докладом на конференции HashiConf 2018, где рассказал о 5 ключевых уроках, которые я и мои коллеги из Gruntwork усвоили в процессе создания и поддержки библиотеки из более чем 300 000 строк инфраструктурного кода, используемой в производственных системах сотнями компаний. В этой публикации я поделюсь видео и слайдами с выступления, а также сокращенной текстовой версией описания 5 основных уроков.


Видео и слайды



Вступление: DevOps сейчас — в «каменном веке»


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