• Обзор графических интерфейсов для Kubernetes



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

      В прошлом году мы публиковали перевод небольшого обзора web UI для Kubernetes, приуроченного к анонсу веб-интерфейса Kubernetes Web View. Автор той статьи и самой утилиты — Henning Jacobs из компании Zalando — как раз позиционировал новинку в качестве «kubectl для веба». Он хотел создать инструмент с удобными возможностями для взаимодействия в формате техподдержки (например, быстро показать проблему веб-ссылкой) и для реакции на инциденты, поиска проблем во многих кластерах одновременно. Его детище развивается и в настоящее время (в основном, силами самого автора).

      Обслуживая множество Kubernetes-кластеров разных масштабов, мы тоже заинтересованы в возможности предоставлять клиентам инструмент визуальной работы. При выборе подходящего интерфейса ключевыми для нас были следующие возможности:
      Читать дальше →
    • Изучаем Docker, часть 1: основы

      • Translation
      • Tutorial
      Технологии контейнеризации приложений нашли широкое применение в сферах разработки ПО и анализа данных. Эти технологии помогают сделать приложения более безопасными, облегчают их развёртывание и улучшают возможности по их масштабированию. Рост и развитие технологий контейнеризации можно считать одним из важнейших трендов современности.

      Docker — это платформа, которая предназначена для разработки, развёртывания и запуска приложений в контейнерах. Слово «Docker» в последнее время стало чем-то вроде синонима слова «контейнеризация». И если вы ещё не пользуетесь Docker, но при этом работаете или собираетесь работать в сферах разработки приложений или анализа данных, то Docker — это то, с чем вы непременно встретитесь в будущем.

      Часть 1: основы
      Часть 2: термины и концепции
      Часть 3: файлы Dockerfile
      Часть 4: уменьшение размеров образов и ускорение их сборки
      Часть 5: команды
      Часть 6: работа с данными

      image

      Если вы пока не знаете о том, что такое Docker, сейчас у вас есть шанс сделать первый шаг к пониманию этой платформы. А именно, освоив этот материал, вы разберётесь с основами Docker и попутно приготовите пиццу.
      Читать дальше →
    • Как мы пробивали Великий Китайский Фаервол (ч.1)

        Всем привет!


        На связи Никита — системный инженер из компании SЕMrush. Сегодня я расскажу вам о том, как перед нами встала задача обеспечить стабильность работы нашего сервиса semrush.com в Китае, и с какими проблемами мы столкнулись в ходе ее выполнения (учитывая местонахождение нашего дата-центра на восточном побережье США).


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



        Проблемы китайского интернета


        Даже самый далекий человек от специфики сетевого администрирования хотя бы раз, да слышал о Великом Китайском Фаерволе. Ууу, звучит круто, да? Но что это такое, как оно работает на самом деле — вопрос довольно сложный. В интернете можно найти много статей, посвященных этому, но с технической точки зрения устройство этого фаервола нигде не описано. Что, впрочем, неудивительно. Признаюсь сразу, по итогам года работы я не смогу сказать точно, как он работает, но смогу рассказать о своих замечаниях и практических выводах. И начнем мы со слухов об этом фаерволе.

        Читать дальше →
      • Docker + Laravel = ❤

          laravel-in-docker


          Эта статья использует несколько устаревший и не самый рациональный подход, рекомендую к прочтению следующую.

          В данной статье я расскажу о своём опыте "заворачивания" Laravel-приложения в Docker-контейнер да так, что бы и локально с ним могли работать frontend и backend разработчики, и запуск его на production был максимально прост. Так же CI будет автоматически запускать статические анализаторы кода, phpunit-тесты, производить сборку образов.


          "А в чём, собственно, сложность?" — можешь сказать ты, и будешь отчасти прав. Дело в том, что этой теме посвящено довольно много обсуждений в русскоязычных и англоязычных комьюнити, и почти все изученные треды я бы условно разделил на следующие категории:


          • "Использую докер для локальной разработки. Ставлю laradock и беды не знаю". Круто, но как обстоят дела с автоматизацией и запуском на production?
          • "Собираю один контейнер (монолит) на базе fedora:latest (~230 Mb), ставлю в него все сервисы (nginx, бд, кэш, etc), запускаю всё супервизором внутри". Тоже отлично, прост в запуске, но как на счёт идеологии "один контейнер — один процесс"? Как обстоят дела с балансировкой и управлением процессами? Как же размер образа?
          • "Вот вам куски конфигов, приправляем выдержками из sh-скриптов, добавим магических env-значений, пользуйтесь". Спасибо, но как же на счёт хотя бы одного живого примера, который я бы мог форкнуть и полноценно поиграться?

          Для нетерпеливых — ссылка на репозиторий, склонировав который ты сможешь запустить Laravel-приложение одной командой. Так же не составит труда его запустить на том же rancher, правильно "слинковав" контейнеры, или использовать продуктовый вариант docker-compose.yml как отправную точку.
          Читать дальше →
        • Полезные сниппеты для Nginx конфигов



            Доброго времени суток, уважаемые хабравчане! В Elasticweb мы негласно ратуем за Nginx и, наверное, мы одни из немногих хостингов, которые не поддерживают Apache и .htaccess соответственно. В связи с этим, большое количество обращений в тех. поддержку связано с оказанием помощи в написании конфигурационного файла для Nginx. Поэтому мы решили собрать коллекцию полезных сниппетов и коллекцию готовых Nging конфигов для наиболее популярных CMS/CMF/Фреймворков на PHP.

            Читать дальше →
          • Правильное увеличение размера диска в виртуальной машине

            Не претендуя на полноту, все же считаю, что это может пригодиться системным администраторам.

            Увеличение размера диска в виртуальной машине происходило при следующих вводных: формат файла виртуалки qcow2, виртуальная машина использует lvm и ext4, root partition находится в extended partition. Действо обычно происходит ночью, когда нагрузка минимальна и даунтайм не сильно давит на нервы. Хотя при работе с highload-проектами адреналина всё равно выделяется достаточно, чтобы 10 раз подумать, перед тем, как что-либо делать. Поэтому перед началом процесса, лучше отключить систему оповещения по СМС, чтобы не пугать коллег сообщениями типа «Server down» среди ночи.
            Читать дальше →
          • Ускоряем Nginx за 5 минут

              image
              Попытайтесь повторить это сами

              Как правило, настроенный должным образом сервер Nginx на Linux, может обрабатывать 500,000 — 600,000 запросов в секунду. Но этот показатель можно весьма ощутимо увеличить. Хотел бы обратить внимание на тот факт, что настройки описанные ниже, применялись в тестовой среде и, возможно, для ваших боевых серверов они не подойдут.

              Минутка банальности.

              yum -y install nginx
              

              На всякий пожарный, создадим бэкап исходного конфига.

              cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.orig
              vim /etc/nginx/nginx.conf
              

              А теперь можно и похимичить!
              Бдыжь-бдыжь
            • Роскомнадзор: использование инструментов обхода блокировок сайтов не является нарушением закона


                Вадим Ампелонский. Фото: «Комсомольская правда»

                Вчера в эфире телеканала «РБК» Вадим Ампелонский, пресс-секретарь Роскомнадзора, прояснил некоторые моменты относительно «вечных блокировок» сайтов. Ампелонский выступал не как частное лицо, а как представитель ведомства, поэтому его слова можно считать официальным заявлением от имени Роскомнадзора.

                В частности, чиновник рассказал о том, почему сейчас не стоит измерять посещаемость заблокированных ресурсов. По его словам, большинство отечественных СМИ все время рассказывают о заблокированных ресурсах, благодаря чему все больше людей узнает о торрент-трекерах. Соответственно, растет посещаемость таких сайтов. И реальная цифра, число уникальных посетителей или просмотров, может быть заявлена только после изучения динамики посещаемости за более длительный период.
                Читать дальше →
              • Исчерпывающие бенчмарки PHP 5.6, 7.0, 7.1, 7.2 и HHVM (2018)

                • Translation


                Каждый год мы стараемся тщательно измерять производительность разных версий PHP и HHVM на различных платформах. В этом году мы измерили четыре версии PHP и HHVM на 20 платформах/конфигурациях, включая WordPress, Drupal, Joomla!, Laravel, Symfony и многие другие. Также мы протестировали популярные решения для электронной коммерции вроде WooCommerce, Easy Digital Downloads, Magento and PrestaShop.


                Мы всегда рекомендовали пользователям WordPress не пренебрегать преимуществами свежайших поддерживаемых версий PHP. Не только ради безопасности, но и ради повышения производительности. Причём речь идёт не только о WordPress, это по большей части справедливо для всех платформ. И сегодня мы продемонстрируем, как PHP 7.2 одерживает сокрушительную победу!

                Читать дальше →
              • 29% вебсайтов уязвимы для DOS-атаки даже одной машиной (CVE-2018-6389)

                • Translation


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

                В платформе WordPress CMS была обнаружена простая, но очень серьезная уязвимость, связанная с атаками типа «отказ в обслуживании» (DoS) на уровне приложений, которая позволяет любому пользователю приводить в нерабочее состояние большинство веб-сайтов WordPress даже с помощью одной машины. Происходит это без необходимости задействовать огромное количество компьютеров для переполнения полосы пропускания, как это требуют DDoS-атаки, но с достижением того же результата.

                Поскольку WordPress Foundation отказали в исправлении проблемы, уязвимость (CVE-2018-6389) остается без патча и затрагивает почти все версии WordPress, выпущенные за последние девять лет, включая последнюю стабильную (WordPress версия 4.9.2).
                Читать дальше →
              • Осторожно, Hetzner использует старые и поношенные диски

                  Hetzner

                  HDD tools

                  Про Hetzner на Хабре много упоминалось: здесь и там. Поначалу нашей команде, как и многим другим, очень нравилось.

                  Отношения с Hetzner у нас давние. Наш старый проект Name.ly (вместе с Brief.ly) крутится у немцев от своего зачатия. Как на «low-cost dedicated hosting» — не жаловались, арендовали сервера у Hetzner з 2008 года. Проблем больших не было. Поддержка — ок. Не самые быстрые ребята. Но за пол часа — час, иногда два — отвечали и помогали.

                  Но вот со средины 2011-го мнение изменилось. Может наш хард первоначально заказан в 2008-м и 2009-м постарел, или по других причинам.

                  Читать дальше →
                • DPI мобильных операторов: от бесплатного интернета до раскрытия номера и местоположения

                    Системы глубокого анализа трафика (Deep Packet Inspection, DPI) — программно-аппаратные комплексы для классификации проходящего интернет-трафика по типу данных (веб-страница, документ, аудио, видео), протоколу (HTTP, BitTorrent, VoIP/SIP) и конкретным программам (Skype, WhatsApp), зачастую обладающие дополнительной функциональностью. Системы DPI распространены и используются по всему миру продвайдерами проводного и беспроводного доступа.

                    Мобильные операторы используют системы глубокого анализа трафика, прежде всего, для приоритизации разного контента в интернете (QoS), чтобы можно было одновременно скачивать большой файл и смотреть видео на YouTube, и чтобы один пользователь сотовой сети, активно использующий интернет, не создавал проблем другим пользователям. Операторы используют DPI примерно с начала двухтысячных, с приходом UMTS (3G), чтобы более-менее честно разделять беспроводной канал ограниченной пропускной способности.

                    Мобильные операторы используют и другие возможности DPI, например, ускорение TCP и HTTP-трафика (TCP PEP, Performance-enhancing Proxy), для ускорения интернета в мобильных сетях и идентификации пользователей веб-сайтами. Если попытаться зайти в личный кабинет оператора с телефона, на многих операторах он откроется сразу, без необходимости ввода логина и пароля. Или, что можно было встретить лет 5 назад, простой заход на подозрительный веб-сайт или клик по рекламному баннеру из Android-игры оборачивался автоматической подпиской на платную услугу, о чем можно было узнать из СМС-сообщения.
                    Читать дальше →
                  • PuperGrep — логи в браузере в реальном времени

                      Вы не любите смотреть логи в консоли или вам не позволяют их любить, а следить за ходом дел как-то нужно?

                      PuperGrep — просмотрщик логов в браузере, который работает как tail -F, grep и подсвечивает самое интересное в вашем браузере. Или даже на вашем android, iPhone или iPad.

                      Скриншот PuperGrep

                      Возможности и демо
                    • Browser Fingerprint – анонимная идентификация браузеров



                        Валентин Васильев (Machinio.com)


                        Что же такое Browser Fingerprint? Или идентификация браузеров. Очень простая формулировка — это присвоение идентификатора браузеру. Формулировка простая, но идея очень сложная и интересная. Для чего она используется? Для чего мы хотим присвоить браузеру идентификатор?


                        • Мы хотим учитывать наших пользователей. Мы хотим знать, пришел ли пользователь к нам первый раз, пришел он во второй раз или в третий. Если пользователь пришел во второй раз, мы хотим знать, на какие страницы он заходил, что он до этого делал. С анонимными пользователями это невозможно. Если у вас есть система учета записей, пользователь логинится, мы все про него знаем — мы знаем его учетную запись, его персональные данные, мы можем привязать любые действия к этому пользователю. Здесь все просто. В случае с анонимными пользователями все становится гораздо сложнее.
                        Читать дальше →
                      • Памятка пользователям ssh

                          abstract: В статье описаны продвинутые функций OpenSSH, которые позволяют сильно упростить жизнь системным администраторам и программистам, которые не боятся шелла. В отличие от большинства руководств, которые кроме ключей и -L/D/R опций ничего не описывают, я попытался собрать все интересные фичи и удобства, которые с собой несёт ssh.

                          Предупреждение: пост очень объёмный, но для удобства использования я решил не резать его на части.

                          Оглавление:
                          • управление ключами
                          • копирование файлов через ssh
                          • Проброс потоков ввода/вывода
                          • Монтирование удалённой FS через ssh
                          • Удалённое исполнение кода
                          • Алиасы и опции для подключений в .ssh/config
                          • Опции по-умолчанию
                          • Проброс X-сервера
                          • ssh в качестве socks-proxy
                          • Проброс портов — прямой и обратный
                          • Реверс-сокс-прокси
                          • туннелирование L2/L3 трафика
                          • Проброс агента авторизации
                          • Туннелирование ssh через ssh сквозь недоверенный сервер (с большой вероятностью вы этого не знаете)
                          Читать дальше →
                        • Linux Malware Detect — антивирус для веб-серверов



                          Интернет уже не тот, что прежде — кругом враги. Тема обнаружения непосредственного заражения сайта и поиска вредоносных/зараженных скриптов на взломанном сайте рассмотрена слабо, попробуем это исправить.
                          Итак, представляем вашему вниманию Linux Malware Detect.

                          Linux Malware Detect (LMD) — это сканер для Linux, предназначенный для поиска веб-шеллов, спам-ботов, троянов, злонамеренных скриптов и прочих типичных угроз характерных для веб-пространств и особенно актуален для виртуальных шаред-хостинг платформ. Главное отличие от прочих Linux-антивирусов — его веб направленность, сканирование файлов веб-сайтов, ведь обычные антивирусы ориентируются на более глобальные угрозы уровня системы.
                          Читать дальше →
                        • Внедряем Brotli с помощью Nginx — экономим байты почти бесплатно

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


                          Читать дальше →
                          • +24
                          • 26.7k
                          • 4
                        • Идея черно-белого кино, правильных пчел и безоружных ниндзя в оптимизации сайта

                          План повествования


                          1. Что такое SEO или эффект черно-белого кино.
                          2. Идея поисковой оптимизации (правильные пчелы).
                          3. Стратегия продвижения (безоружные ниндзя).

                          image

                          1. Что такое SEO или эффект черно-белого кино


                          Не было бы смысла начинать эту статью, если бы, объясняя термин SEO, пришлось переписывать определение из Википедии. К тому же объяснение на уровне определения не раскрывает полную картину. Я предлагаю Вам рассмотреть поисковую оптимизацию с другого ракурса, так сказать, со стороны, обозревая всю картину в целом, а не какой-то отдельный сегмент. Важно понимать, что в контексте данной статьи мы рассмотрим SEO в общем, а не какой-нибудь частный случай. Поэтому те, кто пришел за конкретными рецептами, не теряйте время, вернитесь в поиск.

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

                          К счастью, прогресс не стоит на месте, и поисковые системы постоянно
                          Читать дальше →
                        • Аутентификация в Node.js. Учебные руководства и возможные ошибки

                          • Translation
                          Однажды я отправился на поиск учебных руководств по аутентификации в Node.js/Express.js, но, к сожалению, не смог найти ни одного, которое меня бы полностью устроило. Некоторые были неполными, некоторые содержали ошибки в сфере безопасности, вполне способные навредить неопытным разработчикам.

                          Сразу скажу, что я всё ещё нахожусь в поиске надёжного, всеобъемлющего решения для аутентификации в Node/Express, которое способно составить конкуренцию Devise для Rails. Однако, удручающая ситуация в сфере руководств подвигла меня на подготовку этого материала. Тут я разберу некоторые наиболее распространённые ошибки в области аутентификации и расскажу о том, как их избежать.

                          image
                          Читать дальше →
                          • +19
                          • 35.2k
                          • 3