Как стать автором
Обновить
-11
0

Пользователь

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

Строим пайплайн автоматизированного тестирования на Azure DevOps

Время на прочтение7 мин
Количество просмотров12K
Недавно я столкнулся с не очень популярным пока зверем в мире DevOps, пайплайнами Azure DevOps. Сразу же ощутил отсутствие каких то внятных инструкций или статей на тему, не знаю с чем это связанно, но Microsoft явно есть над чем поработать в плане популяризации инструмента. Сегодня мы построим пайплайн для автоматизированного тестирования внутри облака Azure.
Читать дальше →
Всего голосов 15: ↑15 и ↓0+15
Комментарии3

Ботнет из Linux-устройств организует DDoS-атаки с потоком трафика 150 Гбит/с и выше

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

Ботнет из Linux-устройств разросся настолько, что может генерировать атаки с потоком более 150 Гбит/с, что многократно превышает запас прочности инфраструктуры среднестатистической компании. О начале подобных DDoS-атак сообщили исследователи из Akamai Technologies.

Сетевой червь, более известный как XOR DDoS, при помощи которого и был собран ботнет, выявили еще в сентябре 2014 года. В январе этого года пользователь Хабра Patr1ot07 опубликовал статью, в которой рассказал о том, как работает зловред.

Инфицирование начинается с попытки брут-форса SSH, используя логин root. В случае успеха злоумышленники получают доступ к скомпрометированной машине, а затем устанавливают троян, как правило, с помощью шелл-скрипта. Скрипт содержит такие процедуры, как main, check, compiler, uncompress, setup, generate, upload, checkbuild и т.д. и переменные __host_32__, __host_64__, __kernel__, __remote__,, и т.д. Процедура main расшифровывает и выбирает C&C сервер, основываясь на архитектуре системы.

Читать дальше →
Всего голосов 32: ↑25 и ↓7+18
Комментарии62

Конфигурация Mercurial+Nginx для управления большим количеством репозиториев

Время на прочтение9 мин
Количество просмотров6.1K
Под катом описан пример конфигурации связки mercurial+nginx и приведен скрипт автоматизации всего вышеперечисленного.
Читать дальше →
Всего голосов 33: ↑29 и ↓4+25
Комментарии11

Кибер-оракул: поиск аномалий в данных мониторинга с помощью нейросети

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

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


Кибер-оракул, очевидно

Читать дальше →
Всего голосов 35: ↑33 и ↓2+31
Комментарии30

Живут ли базы данных в Kubernetes?

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


Как-то так исторически сложилось, что IT-индустрия по любому поводу разбивается на два условных лагеря: которые «за» и которые «против». Причем предмет споров может быть абсолютно произвольным. Какая ОС лучше: Win или Linux? На смартфоне Android или iOS? Хранить все в облаках или заливать на холодные RAID-хранилища и класть винты в сейф? Имеют ли PHP-шники право называться программистами? Эти споры носят, временами, исключительно экзистенциальный характер и не имеют под собой никакой прочей, кроме спортивного интереса, базы.

Так уж получилось, что с появлением контейнеров и всей этой любимой нами кухни с докером и условным k8s начались и споры «за» и «против» использования новых возможностей в различных сферах бэкэнда. (Заранее оговоримся, что хотя чаще всего в данном рассуждении в качестве оркестратора будет указываться Kubernetes, принципиального значения выбор именно этого инструмента не имеет. Вместо него можно подставить любой другой, какой вам кажется наиболее удобным и привычным.)

И, казалось бы, был бы это простой спор о двух сторонах одной медали. Такой же бессмысленный и беспощадный, как извечное противостояние Win vs Linux, в котором адекватные люди вполне себе существуют где-то посередине. Вот только в случае контейнеризации не все так просто. Обычно в таких спорах не бывает правой стороны, но в случае «применять» или «не применять» контейнеры для хранения БД все становится с ног на голову. Потому что в определённом смысле правы и сторонники и противники подобного подхода.
Читать дальше →
Всего голосов 35: ↑30 и ↓5+25
Комментарии69

Отлаживаем сетевые задержки в Kubernetes

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


Пару лет назад Kubernetes уже обсуждался в официальном блоге GitHub. С тех пор он стал стандартной технологией для развёртывания сервисов. Теперь Kubernetes управляет значительной частью внутренних и публичных служб. Поскольку наши кластеры выросли, а требования к производительности стали более жёсткими, мы стали замечать, что в некоторых службах на Kubernetes спорадически появляются задержки, которые нельзя объяснить нагрузкой самого приложения.

По сути, в приложениях происходит будто случайная сетевая задержка до 100 мс и более, что приводит к тайм-аутам или повторным попыткам. Ожидалось, что службы смогут отвечать на запросы гораздо быстрее 100 мс. Но это невозможно, если само соединение отнимает столько времени. Отдельно мы наблюдали очень быстрые запросы MySQL, которые должны были занимать миллисекунды, и MySQL действительно справлялась за миллисекунды, но с точки зрения запрашивающего приложения ответ занимал 100 мс или больше.
Читать дальше →
Всего голосов 44: ↑42 и ↓2+40
Комментарии2

Тонкости Javascript/Node.js. Увеличиваем производительность в десятки раз

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

Вступление


Появилась необходимость обмениваться сообщениями между сервером и клиентом в бинарном виде, но в формате JSON в конечном итоге. Начал я гуглить, какие существуют библиотеки упаковки в бинарный вид. Пересмотрел немало: MesssagePack, Bson, protobuf, capnproto.org и другие. Но эти все библиотеки позволяют паковать и распаковывать готовые бинарные пакеты. Не очень копался, возможно ли делать парсер входящего трафика по кускам. Но суть не в этом. С такой задачей никогда не сталкивался и решил поиграться с нодой и сделать свой. Куда же без костылей и велосипедов? И вот с какими особенностями Node.js я столкнулся…
Читать дальше →
Всего голосов 47: ↑35 и ↓12+23
Комментарии38

Web UI, WebSocket и проблема самоподписанных сертификатов

Время на прочтение6 мин
Количество просмотров28K
Доброго времени суток всем!

В этой заметке я постараюсь рассмотреть проблематику зашифрованного соединения с Web-сервером (HTTPS) и такого же соединения с Comet-сервером с использованием WebSocket (WSS) при использовании самоподписанных сертификатов, а так же варианты для решения данной проблемы.
Читать дальше →
Всего голосов 15: ↑9 и ↓6+3
Комментарии17

Динамическое отображение логов в броузере на Node.js & WebSocket

Время на прочтение3 мин
Количество просмотров4.4K
Динамическое отображение логов в броузере на Node.js & WebSocket

Иногда возникает потребность динамически отслеживать появление новых файлов в определенных папках, а также выводить содеримое лог файлов в окно броузера. Данным упрощенным примером я хочу показать как это можно сделать.

Инструменты и модули для решения

Для серверной части был выбран Node.js. Но похожий пример можно аналогично реализовать и с использованием EM на руби. В данном случае подкупила библиотека Socket.IO, а также несколько простых модулей для работы с файлами.

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

Использование Node.js технологии как платформу для оптимизации серверных мощностей

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

Web-программирование стремительно развивается и появляется необходимость выбора между сформировавшимися языками такими как PERL, C++ и Java и современными веб-ориентированными или прототипно-ориентироваными языками как например Ruby или Go. Один из таких языков является JavaScript. Много лет присутствовало мнение что JavaScript это клиентоориентированный язык программирования и будущего у него нет, но после того как компания Google выпустила стабильную версию JavaScript-движка V8 появился Node.js и его стали использовать как совершенно новой идеи, серверного JavaScript.

Node.js продолжает развиваться динамически и амбициозно. Так например, в течении нескольких последних лет разработчиками было добавлено около 200 000 модулей для Node.js, это превышает в несколько раз темпы развития уже устоявшихся серверных языков, таких как Perl у которого количество модулей в репозитории меньше. Так же нужно подчеркнуть что технология Node.js набирает обороты и используется такими компаниями, как Yahoo, Microsoft, PayPal и LinkedIn не говоря уже про гугл.
Читать дальше →
Всего голосов 32: ↑19 и ↓13+6
Комментарии29

Нужно ли создавать RAID-массив из SSD и какие контроллеры для этого нужны

Время на прочтение9 мин
Количество просмотров128K
Привет Хабр! В этом материале мы расскажем, стоит ли организовывать RAID-массивы на базе твердотельных решений SATA SSD и NVMe SSD, и будет ли от этого серьезный профит? Мы решили разобраться в этом вопросе, рассмотрев виды и типы контроллеров, которые позволяют это сделать, а также сферы применения таких конфигураций.


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

Ускоряем раздачу фоток

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

С проблемой медленной отдачи статического контента рано или поздно сталкивается каждый сисадмин.

Проявляется это приблизительно так: иногда 3Kb картинка грузится так, как будто бы она весит 3Mb, на ровном месте начинают «залипать» (отдаваться очень медленно) css-ы и JavaScript-ы. Вы нажимаете ctrl + reload — и уже, вроде, проблемы нет, потом спустя всего несколько минут все повторяется опять.

Не всегда истинная причина «тормозов» очевидна и мы косо поглядываем то на nginx, то на хостера, то на «забитый» канал, то на «тормозной» или «глючный» браузер :)

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

В этой статье я предложу Вам свое решение этой проблемы, основанное на практическом опыте использования SSD дисков совместно с web-сервером nginx.
Читать дальше →
Всего голосов 128: ↑126 и ↓2+124
Комментарии69

Как работает SSD кеширование средствами гипервизора в облаке VMware

Время на прочтение7 мин
Количество просмотров34K
Компания VMware еще с выходом VMware vSphere 5.1 объявила о нескольких новых начинаниях в сфере хранения данных виртуальных машин, включая возможность использования распределенного кеш на SSD-накопителях локальных дисков серверов ESXi. Данная технология имела рабочее название vFlash и находилась в стадии Tech Preview, превратившись позднее в полноценную функцию vSphere Flash Read Cache (vFRC) платформы VMware vSphere 5.5. И это вполне рабочий инструмент, который можно использовать в задачах различного уровня.
Читать дальше →
Всего голосов 11: ↑9 и ↓2+7
Комментарии10

Имплементация coroutine в NodeJS

Время на прочтение3 мин
Количество просмотров15K
Выход iojs сподвиг меня на изучение функций, которые уже стали стабильными в v8, в частности нативным промисам и генераторам, которые можно превращать в корутины. Удивился, что на Хабре нету статьи посвященной тому как самому сделать еще одну имплементацию coroutine через генераторы и понять, что же на самом деле происходит в co/bluebird. Чтобы начать пользоваться без страха перед магией coroutine прошу под кат.
Читать дальше →
Всего голосов 14: ↑10 и ↓4+6
Комментарии35

Honeypot- логгер на nodejs и tcpdump

Время на прочтение3 мин
Количество просмотров4.8K
Всем привет. Недавно тов. R_Voland рассказал о своём http ханипоте. Он меня и вдохновил к написанию этого поста. Но в этом случае, будем ловить все tcp и udp сканы, а не только http. Запросы будем ловить с помощью tcpdump.

Для tcp ловим только syn пакеты:

tcpdump -n "tcp[tcpflags] & (tcp-syn) != 0"

Для udp все входящие udp пакеты

 tcpdump -n inbound and udp

В теории вывод от tcpdump'а можно перенаправить в файл и дальше парсить его по необходимости, но я ещё тот извращенец, поэтому напишем сервис на nodejs, который будет слушать tcpdump и сохранять результаты в mysql базу.
Читать дальше →
Всего голосов 9: ↑9 и ↓0+9
Комментарии4

Повышаем отказоустойчивость системы на nodejs

Время на прочтение5 мин
Количество просмотров38K
Отказоустойчивость системы на nodejs
3 года назад я поверил в будущее nodejs и начал кампанию по имплементации этого языка в самые “проблемные” сервисы нашего проекта. У нас все получалось — нагрузка падала, стабильность повышалась. Но все же были грабли, о которых захотелось рассказать.

Это не исчерпывающее руководство к действию, просто я делюсь своим опытом, если вы профи в nodejs можете дописать в коментах свои рекомендации, на которые я с удовольствием сошлюсь в статье.
Читать дальше →
Всего голосов 43: ↑36 и ↓7+29
Комментарии53

Сервисная сеть, «Плоскость данных» и «Плоскости управления» (Service mesh data plane vs. control plane)

Время на прочтение8 мин
Количество просмотров5.8K
Привет, Хабр! Представляю вашему вниманию перевод статьи «Service mesh data plane vs control plane» автора Matt Klein.



В этот раз «захотелось и перевелось» описание обоих компонентов service mesh, data plane и control plane. Это описание мне показалось самым понятным и интересным, а главное подводящим к пониманию «А нужно ли оно вообще?».

Поскольку идея «Сервисной сети (Service mesh)» становится все более популярной в течение последних двух лет (Оригинальная статья от 10 октября 2017), а число участников в пространстве возросло, я увидел соразмерный рост путаницы среди всего технического сообщества в отношении того, как сравнивать и противопоставлять разные решения.
Читать дальше →
Всего голосов 9: ↑9 и ↓0+9
Комментарии0

Как составить стратегию тестирования: версия настоящих инженеров

Время на прочтение10 мин
Количество просмотров111K
Без стратегии тестирования можно наверняка обойтись, если есть бесконечное количество квалифицированных сотрудников, времени и денег. Словом, возможность пилить один релиз годами. В таких гипотетических идеальных условиях никакая стратегия не нужна, потому что вы можете тестировать ваш продукт всеми существующими способами как угодно долго, применяя техники в любом порядке, на несколько кругов, и рано или поздно каким-то путем вы придете к production ready качеству.

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

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


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

Масштабирование Selenium

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

Представьте, что у вас есть всего один тест с использованием Selenium. Что может сделать его нестабильным? Как его ускорить? Теперь представьте, что тестов стало два. Теперь представьте сотню. Как заставить быстро отработать такую кучу тестов? Что произойдет, если количество тестов продолжит расти?


В этой статье Саймон Стюарт проведет нас по нелегкому пути масштабирования, от одного теста до параллельно исполняющихся сотен тестов. Мы познакомимся и с проблемами, которые при этом появляются, и с практическими методами решения этих проблем. Будет код на Java и некоторые мысли о развитии тестовой инфраструктуры.



Прототипом этой статьи является доклад Саймона Стюарта на Heisenbug 2017 Moscow. Саймон — создатель WebDriver, технологии, которой сейчас почти 11 лет. Он стал руководителем проекта Selenium около 9 лет назад. В Google занимался масштабированием Selenium, от нескольких десятков тысяч до нескольких миллионов тестов каждый день, на их инфраструктуре. Затем перешел в Facebook. В данный момент занимается разработкой спецификации WebDriver для W3C, которая входит в группу тестирования и тулинга в W3C. Можно сказать, что на основе WebDriver и создается стандарт.

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

Как настроить простую систему автотестов без Java и Selenium

Время на прочтение4 мин
Количество просмотров32K
Представьте: вы работник стартапа, сварганили по-быстрому прототип и постепенно начинаете его развивать. И вот вам уже хочется, чтобы во время очередного спешного релиза не приходилось перепроверять все разделы сайта вручную (руками директора по продукту). Конечно, можно нанять отдельного тестировщика, но на это в вашем LEAN-стартапе бюджета не дают — «лучше давайте купим наконец-то кофе-машину». Знакомо?

И тут кто-то произносит слово «автотесты».

И сразу начинается: это целая история, это очень сложно, это очень дорого, от этого будет больше вреда, чем пользы и вообще это кровавый Enterprise и СЕЛЕНИУМ.

Читать дальше →
Всего голосов 33: ↑30 и ↓3+27
Комментарии38

Информация

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