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

DevOps *

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

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

Мониторинг сетевого стека linux

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

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


Я расскажу, как достаточно простые метрики TCP/IP стека могут помочь разобраться с различными проблемами в распределенных системах.

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

Песни от OpenBSD

Время на прочтение3 мин
Количество просмотров8.3K
Сегодня я узнал что с каждым релизом OpenBSD выпускает песню. Что удивительно так то, что они действительно высокого качества с интересными текстами. Так вот подборка нескольких:

OpenBSD 4.5: Games


Текст
I love to hate my PC
But now it's not so easy
Just wanna get this job done
But these A.M.L. games are dumb

You wanna know the truth?
Intel's controlling you
And Microsoft is too
But this is nothing new

With A.C.P.I.
This endless mess so corporate
Tangles and angles
In what could be straight forward

Lost connections
Lost my mind
It's such a waste of time

CHORUS

Now on the motherboard
Where all my life is stored
Playing with garbage there
With rules so unfair

Ruled by A.C.P.I.
Whose heart is so corrupted
Forcing us all to play
Our progress interrupted

Lost connections
Lost my mind
It's such a waste of time

CHORUS

Yes I'm a user
And I'm not the only one
I'm not a loser
With help from Puffy Tron

And we will find it
The pin in all this heartache
Map our devices
And we know what it'll take

Lost connections
Lost my mind
Oh Ooh Woah end of line

(bridge)
On and on
Can we all be wrong?
All and all
We are one
Clean the dream
Gone wrong
We are Tron
On and on and on

Instrumental CHORUS (guitar solo)

Instrumental pre-chorus

CHORUS
dumb dumb dumb

Архитектура Cisco DNA – ИТ в условиях цифрового бизнеса

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

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


Сегодня мы наблюдаем стремительные изменения, источником которых стала повсеместная цифровизация современного бизнеса – компании активно используют современные технологии для получения конкурентных преимуществ.


В марте 2016 года компания Cisco представила новую архитектуру для корпоративных сетей – Cisco Digital Network Architecture или Архитектура цифровых сетей Cisco. Что представляет собой новая архитектура? Какие ее основные особенности и отличия? Какие задачи решает и какими преимуществами обладает? На эти и многие другие вопросы будут даны ответы в этой статье.



Рис 1. – Архитектура Cisco Digital Network Architecture — Cisco DNA


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

Mesos. Container Cluster Management System

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


Apache Mesos — это централизованная отказоустойчивая система управления кластером. Она разработана для распределенных компьютерных сред c целью обеспечения изоляции ресурсов и удобного управления кластерами подчиненных узлов (mesos slaves). Это новый эффективный способ управления серверной инфраструктурой, но и, как любое техническое решение, не "серебряная пуля".

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

Mesos распределяет ресурсы CPU и памяти в кластере для задач в похожей манере, как ядро ​​Linux выделяет ресурсы железа между локальными процессами.

Представим себе, что есть необходимость выполнить различные типы задач. Для этого можно выделить отдельные виртуальные машины (отдельный кластер) для каждого типа. Эти виртуальные машины, вероятно, не будут полностью загруженными и некоторое время будут простаивать, то есть не будут работать с максимальной эффективностью. Если же все виртуальные машины для всех задач объединить в единый кластер, мы можем повысить эффективность использования ресурсов и параллельно с тем повысить скорость их выполнения (в случае если задачи краткосрочные или виртуальные машины не загружены полностью все время). Следующий рисунок, надеюсь, прояснит сказанное:



Но это далеко не все. Кластер Mesos (с фреймворком к нему) способен пересоздавать отдельные ресурсы, в случае их падения, масштабировать ресурсы вручную или автоматически при определенных условиях и т.п.

Пройдемся по компонентам Mesos-кластера.
Читать дальше →

Ежегодная конференция разработчиков и пользователей свободного программного обеспечения OSDN Conference

Время на прочтение1 мин
Количество просмотров2.1K
Команда FlyElephant приглашает всех 17 сентября в Киев принять участие в OSDN Conference 14.0 — ежегодной конференции разработчиков и пользователей свободного программного обеспечения.

Основной темой мероприятия традиционно является практическое применение решений с открытым исходным кодом, включая облачные вычисления, DevOps, интернет вещей (IoT) и многое другое. К участию приглашаются все, заинтересованные в создании и использовании свободного ПО.

Актуальный список докладов доступен на сайте конференции. Участие в конференции — бесплатное.

Место проведения конференции — «Нивки Холл» по адресу пр. Победы, 84.

Зарегистрироваться или предложить свой доклад можно на сайте osdn.org.ua.

Gitlab-CI

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



Всем привет.
У нас не так много задач, которым необходим полноценный CI. Некоторое время мы использовали в качестве CI-сервиса Jenkins. Там всё довольно очевидно, он прост и гибок в настройке, имеет кучу плагинов, но пару раз мы столкнулись с OOM-убийцами агентов на слабых машинах и решили рассмотреть в качестве CI-сервиса Gitlab CI, потому что мы любим эксперименты и тем более в комментариях к нашей прошлой статье задавали такой вопрос.
Читать дальше →

Мгновенный запуск почти любой OS под Linux используя libvirt + qemu

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

По ходу работы над CoreOS и Kubernetes мне приходилось часто воспроизводить окружения пользователей, чтобы помочь им решить проблему. Согласитесь, что при запуске OS при помощи контейнера, не всегда можно добиться полного функционала OS, т.к. часто приходилось решать вопросы, связанные с systemd.


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


  • Ubuntu
  • Debian
  • CentOS 6/7 + atomic
  • Fedora + atomic
  • CoreOS

Частично:



Публикации поспособствовал коллега, который случайно увидел, как я тестирую код. А теперь о преимуществах перед Vagrant. Первое преимущество — время. Например, три виртуальные машины создаются всего за 20-30 секунд.


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

Docker: гибкая сеть без NAT на все случаи жизни

Время на прочтение17 мин
Количество просмотров65K
image

Время на месте не стоит, и у горячо любимого всеми Docker от версии к версии появляется новый функционал. Случается так, что когда читаешь Changelog для новой версии, видишь там то, что может пригодиться и сделать какие-то вещи лучше, чем есть на данный момент.

Так дело обстояло и в моем случае. Хочу заметить, что многие задачи, которые приходится делать, я делаю по принципу keep it simple. То есть почти всегда, если для решения задачи можно использовать простые инструменты и шаги, я выберу этот путь. Я понимаю, что простой или сложный шаг или инструмент — оценка субъективная, но т.к. работаем мы в команде, то вот такие критерии могут подходить при выборе инструментов:

  • используется ли инструмент в инфраструктуре?
  • если требуется что-то новое, то нельзя ли использовать то, что уже есть?
  • насколько сильно обслуживание (обновление, перезапуск) сервиса будет отличаться от остальных сервисов?
  • <...>

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

Управление контейнерами с LXD

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

Продолжаем наш цикл статей о контейнеризации. Если первые две статьи (1 и 2) были посвящены теории, то сегодня мы поговорим о вполне конкретном инструменте и об особенностях его практического использования. Предметом нашего рассмотрения будет LXD (сокращение от Linux Container Daemon), созданный канадцем Стефаном Грабе из компании Canonical.
Читать дальше →

SysV, Upstart, systemd в роли ассортимента граблей Debian/Ubuntu

Время на прочтение5 мин
Количество просмотров37K
Знаете, чем я сейчас занимаюсь? Пишу стартовые скрипты для systemd, и это меня бесит.

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

С другой стороны, «было» — это условность. Все мы часто находимся в относительном неведении относительно того, как устроена наша операционная система. А однажды увидев код /usr/sbin/service ты уже не можешь развидеть его. Так же как и пользоваться этим инструментом.

Наверное, нужно вернуться обратно. Чтобы понять, как мы оказались в такой заднице со смесью SysV и systemd, приправленной Upstart.

TL; DR: автор ноет по поводу зоопарка из SysV, Upstart и systemd в современных дистрибутивах Debian/Ubuntu.
Читать дальше →

Хранение конфига ssh в ansible проекте и решение проблемы с туннелями при использовании относительного пути

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

Ansible — прекрасное средство управления серверами. Совместно с git он позволяет перейти в парадигму deploy as code со всеми вытекающими отсюда прелестями, такими как ревью кода, мердж (пулл) реквесты изменений и тому подобное. Особенно это актуально если над этим работает команда, а не единственный человек.


В этом свете становится очевидно удобным хранить настройки подключения к управляемым хостам прямо в этом же репозитории, помимо файла inventory/hosts (его вообще лучше вынести в какой-нибудь сервис вроде CMDBuild или похожие). То есть, если на хосте поменялся скажем порт подключения или IP адрес, остальные члены команды должны это получить при следующем подтягивании изменений из репозитория, а не вносили каждый изменения в свой файл ~/.ssh/config.


Причём большинство параметров будут работать должным образом без каких-то усилий, но не всё так просто если вы хотите использовать ssh-туннели.

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

Место, где создается будущее Интернета

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

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

15 вещей, которые вы должны знать об Ansible

Время на прочтение9 мин
Количество просмотров80K
Предлагаю читателям «Хабрахабра» перевод опубликованной на codeheaven.io статьи «15 Things You Should Know About Ansible» за авторством Marlon Bernardes.

В последнее время я много работал с Ansible и решил поделиться некоторыми вещами, которые выучил по пути. Ниже вы найдете список из 15 вещей, которые, как я думаю, вы должны знать об Ansible. Что-то пропустил? Просто оставьте комментарий и поделитесь вашими личными советами.
Читать дальше →

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

Как не хранить секреты где придётся, или зачем нам Hashicorp Vault

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

Vault header 


Задайте себе вопрос — как правильно хранить пароль от базы данных, которая используется вашим сервисом? В отдельном репозитории с секретами? В репозитории приложения? В системе деплоя (Jenkins, Teamcity, etc)? В системе управления конфигурациями? Только на личном компьютере? Только на серверах, на которых работает ваш сервис? В некоем хранилище секретов?
Зачем об этом думать? Чтобы минимизировать риски безопасности вашей инфраструктуры.
Начнём исследование вопроса с определения требований к хранению секретов.


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

Запуск сценариев автоматизации sparrow на удаленных серверах с помощью инструменатрия SparrowDO/SparrowUP

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

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


До недавнего времени запуск подобных сценариев был ограничен консольным клиентом ( sparrow или sparrowdo ), сегодня я бы хотел презентовать пилотный проект по автоматической установке и запуску sparrow сценариев на удаленных серверах посредством централизованного web сервиса — SparrowUP.


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

Ansible-container: новый шаг в управление контейнерами

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


Недавно разработчики Ansible анонсировали новый проект Ansible Container. Проект нас очень сильно заинтриговал, и мы решили рассмотреть его поближе.
Ansible уже давно стал незаменимым инструментом в вопросах создания, сборки, деплоя образов docker-контейнеров и самих docker-контейнеров, благодаря соответствующему модулю.
Ранее для провиженинга docker-контейнеров с помощью Ansible необходим был запущенный в контейнере sshd, но в версии 2.1 в Ansible был добавлен Docker connection plugin, благодаря которому стало возможно запускать плейбуки не только на физических/виртуальных машинах, но и внутри docker-контейнеров и отпала необходимость использования sshd внутри docker-контейнера.

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

Мониторинг проектов с помощью месенджера на примере Nagios и Telegram, с разбором факапов из жизни Highload 24x7

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


Что будет под катом:

  • Базовые настройки Nagios в связке с Telegram.
  • Общая концепция нашего с коллегами мониторинга проектов.
  • Разбор граблей, на которые мы успели наступить при работе с этой системой.

Наша статья будет полезна для тех, кто:

  • Недоволен информативностью своего текущего мониторинга.
  • Испытывает ежедневную боль ниже спины с оповещениями о проблемах.

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

Анонс публичной бета-версии NGINX Amplify

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


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

Узнать больше и увидеть NGINX Amplify в действии можно записавшись на онлайн вебинар, который пройдет 13 июля в 20:00 по московскому времени.

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

CodingFuture + Puppet. Часть II: доступ и стандартное окружение (cfauth + cfsystem)

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

Вариант развёртывания Linux систем на базе Puppet 4. Часть II: доступ и стандартное окружение (cfauth + cfsystem)


Вкратце:


  1. cfauth — настраивает сервис SSH, админскую учётную запись, sudo, пароль суперпользователя
  2. cfsystem — настройка: APT, временной зоны, отправки системных писем, синхронизация времени, расширенный список стандартных пакетов
  3. Все модули интегрированы с модулем сетевого фильтра cfnetwork и не требуют дополнительных настроек

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

CodingFuture + Puppet. Часть I: сеть и сетевой фильтр (cfnetwork + cffirehol)

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

Вкратце:


  1. cfnetworkPuppet API для полной настройки сети и фильтра через ресурсы Puppet. Идеально дружит с Hiera и потенциально другими "data providers" в концепции Puppet.
  2. cffirehol — "meta-provider" конкретной реализации настройки фильтра для cfnetwork на базе замечательного генератора FireHOL
  3. Пока поддерживаются только Debian 8+ (Jessie и выше) и Ubuntu 14.04+ (Trusty и выше)

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

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