Как стать автором
Обновить
0
0
Aleksei Smirnov @qper

DevOps

Отправить сообщение

Хранение данных в кластере Kubernetes

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

Настроить хранение данных приложений, запущенных в кластере Kubernetes, можно несколькими способами. Одни из них уже устарели, другие появились совсем недавно. В этой статье рассмотрим концепцию трёх вариантов подключения СХД, в том числе самый последний — подключение через Container Storage Interface.


Читать дальше →
Всего голосов 19: ↑18 и ↓1+20
Комментарии5

Test Kitchen для новичков

Время на прочтение8 мин
Количество просмотров8.7K
image Привет, Хабраюзеры! Сегодня я хотел бы рассказать о инструментах, которые облегчают тестирование кукбуков. В чем собственно проблема? С ростом масштаба инфраструктуры становится сложнее следить за зависимостями и последствиями внесения изменений в кукбуки и на повестке дня становится вопрос о их тестировании. Решить данные проблемы помогают такие инструменты, как foodcritics, chefspec, minitest, test kitchen…
В данном посте я хотел бы поделиться своим опытом по освоению test kitchen в «преславутый 21 день». Я старался чтобы данный пост был максимально прост и удобен для начального ознакомления с test kitchen.

Поехали
Всего голосов 10: ↑8 и ↓2+6
Комментарии4

8 полезных регэкспов с наглядным разбором

Время на прочтение2 мин
Количество просмотров273K
О мощи и гибкости регулярных выражений написано много, и их использование давно уже является стандартом для различного рода операций над текстом. Пожалуй, чаще всего регэкспы работают при валидации вводимых данных — здесь им практически нет альтернативы, если не считать громоздкий циклический разбор с кучей неочевидных проверок. Начнём с самого простого:

1. Часть ЧПУ (человекопонятный URL)


По сути, слово с дефисами.

Паттерн: /^[a-z0-9-]+$/
short_url

Примеры посерьёзнее
Всего голосов 176: ↑132 и ↓44+88
Комментарии119

Git Rebase: руководство по использованию

Время на прочтение8 мин
Количество просмотров816K
Rebase — один из двух способов объединить изменения, сделанные в одной ветке, с другой веткой. Начинающие и даже опытные пользователи git иногда испытывают нежелание пользоваться ей, так как не видят смысла осваивать еще один способ объединять изменения, когда уже и так прекрасно владеют операцией merge. В этой статье я бы хотел подробно разобрать теорию и практику использования rebase.

Теория


Итак, освежим теоретические знания о том, что же такое rebase. Для начала вкратце — у вас есть две ветки — master и feature, обе локальные, feature была создана от master в состоянии A и содержит в себе коммиты C, D и E. В ветку master после отделения от нее ветки feature был сделан 1 коммит B.


Читать дальше →
Всего голосов 122: ↑121 и ↓1+120
Комментарии169

Контроллер для T-SDN

Время на прочтение9 мин
Количество просмотров15K
image
Уже никого не удивишь стартапами и разработками в области software-defined networks (SDN) – тема широко исследуется как крупными мировыми корпорациями, так и open source сообществами.

Однако до недавнего времени практически все разработки были направлены на управление инфраструктурой дата-центров, и еще немногим более года назад мало кто верил, что концепция SDN сможет быть применена в транспортных сетях (transport networks).

В октябре 2015 года контроллер T-SDN (transport software-defined networks) компании NetCracker был развернут на сети одного из европейских операторов. Контроллер автоматизировал значительную часть сетевых операций и, как следствие, позволил оператору значительно экономить время – сотни часов, которые инженеры тратили на настройку сети и выделение сервиса.

Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии6

Автоматизируем и ускоряем процесс настройки облачных серверов с Ansible. Часть 1: Введение

Время на прочтение7 мин
Количество просмотров87K
Ansible – популярный инструмент для автоматизации настройки и развертывания ИТ-инфраструктуры.

Основные задачи, которые решает Ansible:
  • Управление конфигурациями. Максимально быстрая и правильная настройка серверов до описанной конфигурации.
  • Провижнинг. Управление процессом развертывания новых облачных серверов (например через API, с помощью Docker или LXC).
  • Развертывание. Инсталляция и обновление ваших приложений без простоя наилучшим образом.
  • Оркестрация. Координация компонентов вашей инфраструктуры для выполнения развертываний. Например проверка, что веб-сервер отключен от балансировщика нагрузки, до апгрейда ПО на сервере.
  • Мониторинг и уведомления.
  • Логгирование. Централизованный сбор логов.



По сравнению с другими популярными инструментами автоматизации ит-инфраструктуры, Ansible не требует установки клиентских приложений на обслуживаемые сервера, что может сократить время настройки перед развертыванием инфраструктуры. Для работы Ansible подключается к обслуживаемым серверам по SSH.
Читать дальше →
Всего голосов 30: ↑26 и ↓4+22
Комментарии32

Анонс бесплатного онлайн-курса DevOps: What, Why, and How

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


Друзья, мы приглашаем всех желающих пройти обучение в рамках бесплатного онлайн-курса для разработчиков DevOps: What, Why and How.

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

Обучение будет проводиться с помощью видеоуроков, выступлений преподавателей, текстовых материалов и практических занятий. Продолжительность курса — 5 недель. Начало занятий — 29 марта 2016.

  • Первая неделя: Введение в DevOps.
  • Вторая неделя: Введение в DevOps — методология.
  • Третья неделя: Методики и инструменты — Agile-разработка и непрерывная интеграция.
  • Четвёртая неделя: Методики и инструменты — непрерывная поставка и непрерывная разработка.
  • Пятая неделя: Технологии развёртывания DevOps.

Читать дальше →
Всего голосов 12: ↑8 и ↓4+4
Комментарии4

Движение робота к точке с заданными координатами

Время на прочтение6 мин
Количество просмотров52K
Приветствуем вас, уважаемые хабравчане!
Наш научный коллектив, который носит название Студенческого конструкторского бюро кафедры СУиИ Университета ИТМО, продолжает разработку курсов по робототехнике, и хочет поделиться одним из последних проектов на Lego NXT.

Ранее мы публиковали курс «Практическая робототехника»на NXT. Сейчас этот курс используется для обучения студентов на кафедре, и на площадке «Открытое образование». Так же публиковались фрагменты этого курса с подробным описанием действий для идентификации модели двигателя и расчета регулятора для робота Segway.
В этот раз было решено реализовать объезд препятствий роботом с дифференциальным приводом. Конструкция робота достаточно простая: два колеса с двигателями, гироскоп и пара ультразвуковых датчиков. Для оценки пройденного расстояния используются энкодеры на валу двигателя, для ориентации робота, измеряется гироскопом его угловая скорость и рассчитывается угол поворота, а расстояние до препятствия измеряется ультразвуковыми дальномерами.

Читать далее
Всего голосов 16: ↑15 и ↓1+14
Комментарии12

Как сделать тестовое окружение максимально похожим на боевое

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

Одной из возможностей повышения качества выпускаемого продукта является соответствие окружений на боевых серверах и в среде тестирования. Мы постарались минимизировать количество ошибок, связанных с различием конфигураций, путем перехода от нашего старого тестового окружения, где настройки сервисов сильно отличались от боевых, к новому окружению, где конфигурация практически соответствует боевой. Сделали мы это с помощью docker и ansible, получили много профита, но и не избежали различных проблем. Об этом переходе и интересных подробностях я постараюсь рассказать в данной статье.
Читать дальше →
Всего голосов 20: ↑18 и ↓2+16
Комментарии2

Тачку на прокачку — настраиваем и расширяем возможности D-Link DNS-325

Время на прочтение8 мин
Количество просмотров272K
NAS. Доступное по сети файловое хранилище, место слива бэкапов, возможность хранить необходимые данные в одном месте. Но ведь не только! Сегодня мы будем награждать наш DNS-325 новыми фичами. Владельцы девайсов той же серии (например, DNS-320, DNS-345, DNS-346) тоже не уйдут обиженными. Под катом более десятка фото и скриншотов, будьте бдительны!
Читать дальше →
Всего голосов 20: ↑20 и ↓0+20
Комментарии77

Отладка тест-плана JMeter

Время на прочтение6 мин
Количество просмотров49K
В предыдущем посте про JMeter я описывал создание примитивного нагрузочного теста. При разработке более сложных сценариев не обойтись без отладки. К сожалению, в JMeter эта техника не совсем очевидна. Ниже на несложном примере покажу несколько приемов отладки тест-плана. Заодно продемонстрирую использование таких элементов, как HTTP Request Defaults, Regular Expression Extractor, If Controller и некоторых других.

final test plan

Тестировать будем механизм поиска на сайте. Пускай сценарий берет слово или фразу из файла, задает вопрос поисковику, получает ответ в виде одной или нескольких страниц, случайным образом выбирает одну из страниц, так же случайно выбирает одну из ссылок и идет по ней. Итого три запроса, за исключением особых случаев (когда найдено мало или не найдено ничего).
Читать дальше →
Всего голосов 8: ↑6 и ↓2+4
Комментарии7

Пара полезных команд, которые могут пригодиться при DDoS и не только

Время на прочтение3 мин
Количество просмотров81K
В моем случае, в качестве frontend сервера, стоит nginx и формат access-лога имеет вид:

log_format main '$remote_addr — $remote_user [$time_local] "$host" "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for" -> $upstream_response_time';

Что на выходе дает что-то вроде такой строки:

188.142.8.61 — - [14/Sep/2014:22:51:03 +0400] «www.mysite.ru» «GET / HTTP/1.1» 200 519 «6wwro6rq35muk.ru» «Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.191602; .NET CLR 3.5.191602; .NET CLR 3.0.191602» "-" -> 0.003

1. tail -f /var/log/nginx/nginx.access.log | cut -d ' ' -f 1 | logtop

Позволяет получить общую картину: распределение уникальных IP, с которых идут запросы, кол-во запросов с одного IP и т.д.
Самое ценное — что все это работает в режиме реального времени и можно мониторить ситуацию, внося какие-либо изменения в конфигурацию (например просто забанить ТОП 20 самых активных IP через iptables или временно ограничить географию запросов в nginx через GeoIP http://nginx.org/ru/docs/http/ngx_http_geoip_module.html).
Читать дальше →
Всего голосов 105: ↑101 и ↓4+97
Комментарии21

Boost это просто. Часть 1. Boost.Regex

Время на прочтение10 мин
Количество просмотров80K
Эта статья является первой в цикле статей, которые я собираюсь посвятить, наверное лучшей, библиотеке для С++.
В данной статье рассматриваются следующие вопросы касательно регулярных выражений:
  • regex_match
  • regex_search
  • regex_replace
  • regex_iterator
  • regex_token_iterator
  • Partial match

Начнем
Всего голосов 60: ↑57 и ↓3+54
Комментарии39

Ещё 10 уловок для защиты Wordpress'a

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

На сегодняшний день Wordpress как никогда популярен. Блоги, мини-сайты, а то и целые порталы — всё это строится на основе такого удобного движка-конструктора как Wordpress. Но за удобностью и лёгкостью освоения кроются, прежде всего, вопросы, связанные с безопасностью вашего сайта. Большая распространённость — большее внимание злоумышленников.

В этой статье описаны десять простых уловок, которые позволят сделать ваш сайт на Wordpress’e ещё более защищённым и позволят спокойнее спать по ночам.
Читать дальше →
Всего голосов 95: ↑84 и ↓11+73
Комментарии73

Уязвимости систем безопасности Министерства Обороны, ФСБ, ФСИН, АЭС, метрополитена и федеральных автодорог

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

Все помнят историю, как один видеоролик послужил детонатором серии международных скандалов.
Хакеры уже взломали ракетную установку (в учебных целях ), систему ПВО и нефтяную компанию, а хакеры, порабощенные американскими спецслужбами, отключили интернет в Сирии и покопались в Иранской атомной программе.

По данным исследования, даже школьник даже неопытный хакер может взломать 8 из 10 крупных компаний. Под катом список еще не созданных, но потенциально уязвимых проектов для Министерства Обороны, ФСБ, ФСИН, АЭС, метрополитена и федеральных автодорог.

Короче, качаем Shodan и тренируемся тестировать госсистемы на прочность (в учебных целях, естественно, и заблаговременно уведомив необходимых лиц).
Читать дальше →
Всего голосов 66: ↑40 и ↓26+14
Комментарии72

Как сверстать тему для WordPress

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

Введение


В предыдущих статьях мы рассмотрели принципы верстки на чистом CSS и с помощью Bootstrap. Сегодняшней статьей мы начинаем рассматривать особенности верстки под популярные CMS. И начнем с WordPress, как самой популярной из них. Будем считать, что WordPress у вас уже установлен и перейдем непосредственно к созданию шаблона, в качестве которого у нас по-прежнему будет выступать Corporate Blue от студии Pcklaboratory. Если вы не знаете как установить WordPress, то инструкцию можно найти здесь. В данном руководстве мы не будем подробно описывать CSS стили и HTML код – это было сделано уже в предыдущих статьях. Вместо этого рассмотрим детально особенности создания темы именно под WordPress.
Читать дальше →
Всего голосов 66: ↑54 и ↓12+42
Комментарии28

Просмотр архивных логов apache c помощью Logstash+Elastisearch+Kibanа

Время на прочтение4 мин
Количество просмотров47K
Приветствую.

Нет так давно передо мной встала задача пробежаться по старым логам apache. Надо было сделать выборку по нескольким IP адресам, отыскать некоторые аномалии и попытки SQL-injection'ов. Логов было не так много, порядка миллиона строк и можно было спокойно всё сделать стандартным набором grap-awk-uniq-wc итд.

Поскольку я уже какое-то (больше года) время пользуюсь связкой Logstash-Elasticsearch-Kibana для анализа-просмотра всевозможных логов, то решил ей воспользоваться и в данной ситуации.

Краткое описание основных компонентов системы.

Logstash — бесплатная open-source программа на java для сбора и нормализации логов. Может принимать логи либо с локальных файлов, либо через tcp/udp порты. На момент написания статьи, разных входных (input) фильтров насчитывается 26. Есть даже входной модуль, для сбора сообщений из twitter'а или irc.

Elasticsearch — бесплатный open-source поисковый сервер основанный на Apache Lucene. Быстрый, легко настраиваемый и очень масштабируемый.

Kibana — веб-интерфейс написанный на ruby, для отображения данных из Elasticsearch. Простая настройка, но множество функций — поиск, графики, stream.

Читать дальше →
Всего голосов 15: ↑14 и ↓1+13
Комментарии25

Рецепт настройки удалённого мониторинга контейнеров Tomcat и Jetty штатными средствами JDK

Время на прочтение4 мин
Количество просмотров33K
Проводя уже около 6 лет собеседования с Java-разработчиками заметил, что из приходивших кандидатов вообще никто не знает, что можно штатными средствами JDK удалённо мониторить состояние JVM с контейнерами сервлетов.
Поэтому далее пошаговый рецепт, как настроить и использовать эту замечательную возможность
Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии12

30 полезных сервисов для веб-разработчика

Время на прочтение2 мин
Количество просмотров163K
Решил собрать сервисы, которые могут быть полезны веб-разработчикам и дизайнерам. Буду рад, если кто-то найдет для себя полезный сервис. Осторожно, под катом куча картинок!
Читать дальше →
Всего голосов 180: ↑156 и ↓24+132
Комментарии48

Лучшие плагины для Sublime Text

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

WebInspector


Мощный инструмент для дебаггинга JavaScript, полноценный инспектор кода для Sublime. Фичи: установка брейкпоинтов прямо в редакторе, показ интерактивной консоли с кликабельными объектами, остановка с показом стек трейса и управление шагами дебаггера. Все это работает на ура! А еще есть Fireplay от Mozilla, который позволяет подключаться к Firefox Developer tools и максимально простой дебаггер JSHint.



Читать дальше →
Всего голосов 116: ↑114 и ↓2+112
Комментарии101

Информация

В рейтинге
Не участвует
Дата рождения
Зарегистрирован
Активность