• Истории успеха Kubernetes в production. Часть 2: Concur и SAP

      Продолжаем рассказывать на примере известных компаний о том, что Kubernetes в production — это не только мечты и надежды. Эта статья — снова про технарей с мировым именем: SAP и её конвергентное облако на базе OpenStack и Kubernetes. Однако начнём с менее известной Concur и вот почему…


      Читать дальше →
    • Английский для собеседований в IT-компании: что нужно для старта карьеры?

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


        Читать дальше →
      • Асинхронная репликация без цензуры



          Олег Царёв ( zabivator )


          Есть мастер, мастер неожиданно упал, но система продолжает работать. Клиенты мигрируют на вторую базу. Нужно делать резервные копии базы. Если делать резервные копии на основной базе, мы можем получить какие-то проблемы производительности, увеличение времени отклика. Это плохо. Поэтому достаточно распространенный пример асинхронной репликации — это снятие резервной копии со слэйва. Другой пример — это миграция тяжелых запросов с мастера на слэйв, с основной базы на вторую. Например, построение отчетов.

          Иногда бывает необходимо, чтобы приложение могло получать все обновления из базы и желательно в режиме реального времени. Этим занимается оpen source библиотека, которая называется libslave.
          Читать дальше →
          • +26
          • 19,5k
          • 4
        • Как устроена MySQL-репликация

            Андрей Аксёнов

            Как устроена MySQL-репликация


            Андрей Аксенов (Sphinx), shodan


            Мой доклад предназначен для тех людей, которые знают слово «репликация», даже знают, что в MySQL она есть, и, возможно, один раз ее настроили, 15 минут потратили и забыли. Больше про нее они не знают ничего.


            Мы немного пройдемся по теории, попытаемся объяснить, как это все работает внутри, а после этого вы с утроенными силами сможете сами нырнуть в документацию.


            Что такое репликация, в принципе? Это копирование изменений. У нас есть одна копия БД, мы хотим с какой-то целью еще одну копию.


            Репликация бывает разных видов. Разные оси сравнения:


            • степень синхронизации изменений (sync, async, semisync);
            • количество серверов записи (M/S, M/M);
            • формат изменений (statement-based (SBR), row-based (RBR), mixed);
            • теоретически, модель передачи изменений (push, pull).

            Читать дальше →
          • VPN везде и всюду: IPsec без L2TP со strongSwan

              image
              достаточно сильный лебедь

              Если вы когда-либо искали VPN, который будет работать на десктопах, мобильных устройствах и роутерах без установки дополнительного ПО и перепрошивки роутера, вы, вероятно, выбирали между PPTP и L2TP+IPsec. У протокола PPTP имеются проблемы с безопасностью и прохождением через брандмауеры и NAT, так что в 2015 году его уже использовать не стоит, а использование L2TP излишне, т.к. L2 VPN, по моему мнению, для обычного удаленного доступа не нужен практически никогда.

              Удивительно, что в интернете не так-то просто можно найти информацию о настройке чего-то помимо L2TP+IPsec в транспортном режиме, учитывая, что это обширный стек протоколов, который можно конфигурировать буквально как душе угодно, поэтому я попытаюсь устранить такое несовершенство мира.

              Небольшое введение в мир IPsec

              Вообще говоря, не совсем правильно называть IPsec VPN. IPsec не предназначен для построения «виртуальных частных сетей», а создан для шифрования или защиты от подмены передаваемых по IP данных. Это специальный слой поверх IP, который, в зависимости от режима и настроек, работает по-разному. В отличие от привычного VPN, который создает новый интерфейс в системе, на который вы, как это чаще всего бывает, назначаете IP-подсеть из диапазона частных адресов (т.е. создаете новый сетевой сегмент), и через который маршрутизируется трафик в зашифрованном виде, IPsec просто шифрует трафик магическим образом между «внешними» интерфейсами сервера и клиента.
              Читать дальше →
            • Сети Для Самых Маленьких. Микровыпуск №6. MPLS L3VPN и доступ в Интернет

              • Tutorial


              Статья про L3VPN получилась большой — ни много ни мало 130 000 символов.
              Учитывая, что и её ещё не все дочитали, эту часть про доступ в Интернет мы вынесли в отдельную публикацию.
              Это особенно важно, потому что в рунете, да и вообще в интернетах, нет доступного разбора этой темы.
              Вполне вероятно, что вы сейчас читаете эксклюзивный материал.

              Итак, есть оператор связи, который предоставляет своему клиенту L3VPN. Ни с того ни с сего, с бухты да барахты понадобился ему ещё и Интернет.
              Самое очевидное решение — прокинуть ещё один кабель — в одном VPN, в другом Интернет.
              Допустим, это сложно. Тогда можно поднять сабинтерфейс и передавать фотки вконтактике в отдельном VLAN'е.
              Допустим, там сложный арендованный канал, где можно прокинуть только 1 VLAN или оборудование клиента не умеет VLAN (стоит обычный компьютер), что тогда?

              Об этом следующие 36 000 букв вашей жизни.

              Содержание выпуска

              Читать дальше →
              • +29
              • 29,3k
              • 5
            • Вся правда об XSS или Почему межсайтовое выполнение сценариев не является уязвимостью?

                Должен признаться, что чтение комментариев на Хабре к практически любым постам, описывающим очередную XSS на каком-либо популярном сервисе или сайте, способно повергнуть в уныние любого, кто так или иначе связан с безопасностью веб-приложений. С учетом распространенных среди разработчиков мифов и заблуждений о межсайтовом выполнении сценариев, нет ничего удивительного в том, что он и по сегодняшний день входит в число наиболее распространенных проблем безопасности веб-приложений: согласно данным отчета Positive Technologies за 2010-2011 годы, XSS были подвержены 40% проанализированных веб-приложений, а из отчета Firehost за второй квартал 2012 года следует, что XSS составила 27% от числа зарегистрированных хостером атак.

                И поскольку, заминусовать этот пост можно и за один только его заголовок, то поспешу пояснить: межсайтовое выполнение сценариев действительно не является уязвимостью, но только потому, что оно является атакой. В чем разница, почему это важно, как со всем этим бороться и какие еще мифы и заблуждения распространены об XSS — читаем под катом.
                Читать дальше →
              • Автоматизация в JunOS: пишем скрипты

                  В жизни каждого системного администратора наступают моменты, когда возникает необходимость автоматизировать выполнение каких-то операций или, например, приходится часть своих полномочий делегировать подчиненным. Причем, желательно это сделать безопасно, а возможность накосячить свести к минимуму. Хорошо, если речь идет про сервер под управлением *NIX-системы — имеется превеликое множество предназначенных для этого инструментов. Но так везет не всегда…
                  Читать дальше →
                  • +10
                  • 7,9k
                  • 1
                • Пример простой автоматизации letsencrypt

                  • Tutorial
                  image

                  Удостоверяющий центр «Let’s Encrypt» (далее просто letsencrypt) вышел из беты пару месяцев назад, пообтерся в реальных условиях, избавился от детских болезней и оброс различными клиентами. И к этому моменту выдал 5 миллионов сертификатов. Самое время внедрять, т.е. получать сертификаты на свои домены и обновлять их в автоматическом режиме. Но как внедрить так, чтобы приблизиться к любимому админскому «поставил и забыл»? Чтобы было просто получать новые сертификаты, а старые при этом обновлялись автоматом? Ну и как добавить немного безопасности в этот процесс?
                  Ответ под катом.
                  Читать дальше →
                • Каверзные сетевые вопросы

                    Давно была идея собрать воедино интересные вопросы, касающиеся сетей.

                    Объединяет их то, что все они довольно простые, но мы подчас о них не задумываемся (я во всяком случае о них не задумывался).
                    В общем я их собрал, подбил, нашёл ответы.
                    Итак, блиц опрос:

                    Начнём с самых низких уровней и с самых простых вопросов



                    В1. Почему для витой пары выбран такой странный порядок: синяя пара на 4-5, разрывая зелёную, которая на 3, 6?




                    Ответ
                    О1: Сделано это в угоду двухконтактному телефонному разъёму. Таким образом, например, в патч-панель можно вставить как телефонный кабель, так и витую пару.
                    Можно даже через один кабель вывести и сеть и телефонию, но я вам этого не говорил!

                    habrahabr.ru/post/158177.


                    В2. В стандарте Ethernet между кадрами всегда имеется промежуток, называемый IFG (Inter Frame Gap) длиною 12 байтов. Для чего он нужен, и почему он присутствует в современных стандартах?

                    Читать дальше →
                  • Лучшие практики Go, шесть лет в деле

                    • Перевод
                    В 2014 году я выступил на открытии конференции GopherCon с докладом под названием «Go: Best Practices for Production Environments». В SoundCloud мы были одними из первых пользователей Go и к тому времени уже два года писали на нём и поддерживали Go в бою в той или иной форме. За это время мы кое-чему научились, и я попытался поделиться частью этого опыта.

                    С тех пор я продолжал программировать на Go в течение всего рабочего дня, сначала в командах SoundCloud, отвечающих за операционную деятельность и инфраструктуру, а теперь работаю в компании Weaveworks над Weave Scope и Weave Mesh. Также я усердно трудился над Go kit, набором инструментов для микросервисов с открытым исходным кодом. И всё это время я принимал активное участие в развитии сообщества Go-программистов, встречался со многими разработчиками на митапах и конференциях по всей Европе и в США, коллекционируя их истории успехов и провалов.

                    В ноябре 2015-го, на шестую годовщину релиза Go, я вспоминал то своё первое выступление. Какие из лучших практик прошли проверку временем? Какие из них устарели или стали неэффективными? Появились ли какие-то новые методики? В марте мне представилась возможность выступить на конференции QCon London, где я рассказал о лучших практиках 2014 года и дальнейшем развитии Go до 2016 года. В этом посте представлена выжимка из моего выступления.

                    Ключевые положения я выделил в тексте в виде Top Tips — лучших советов.

                    А вот и cодержание:

                    1. Среда разработки
                    2. Структура репозитория
                    3. Форматирование и стиль
                    4. Конфигурация
                    5. Разработка программы
                    6. Логирование и метрики
                    7. Тестирование
                    8. Управление зависимостями
                    9. Сборка и развёртывание
                    10. Заключение
                    Читать дальше →
                  • На пути к созданию безопасного веб-ресурса. Часть 1 — серверное ПО

                    • Tutorial
                    Я уже довольно долгое время хочу формализовать все свои мысли, опыт, ежедневно применяемый на практике, и многое другое в одном месте и предоставить их общественности. Уверен, многим этот материал будет полезен. Он посвящен различным моментам в конфигурации серверного ПО Linux и безопасным подходам к созданию сайтов/приложений на php (все же это до сих пор одна из самых популярных связок, хоть её успешно и подвигают другие технологии. Но советы так же легко применимы и к веб-ресурсам на других технологиях).

                    Т.е. речь идет о типичной ситуации. Проект (стартап), купили под него сервер и разворачиваем на нем сайт. Бизнесу не нужно тратить лишних денег на сервера (поэтому будут выбраны наиболее производительные связки ПО), а так же нужно, чтобы все было безопасно, при чем бесплатно :)
                    Много текста. По-другому никак
                  • Памятка пользователям ssh

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

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

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



                        Вот уже как неделю английская версия the art of command line висит в секции trending на Github. Для себя я нашел этот материал невероятно полезным и решил помочь сообществу его переводом на русский язык. В переводе наверняка есть несколько недоработок, поэтому милости прошу слать пулл-реквесты мне сюда или автору оригинальной работы Joshua Levy вот сюда. (Если PR отправите мне, то я после того, как пересмотрю изменения отправлю их в мастер-бранч Джоша). Отдельное спасибо jtraub за помощь и исправление опечаток.

                        Enjoy!
                      • USB killer v2.0

                          image Наконец-то удалось организовать монтаж и тестирование опытных образцов устройства новой версии. Устройства, выполняющего лишь одну функцию, – уничтожение компьютеров. Впрочем, не будем ограничиваться только компьютерами, устройство способно вывести из строя практически любую технику оборудованную USB Host интерфейсом. К примеру, у меня на столе стоит осциллограф с USB интерфейсом (но он ещё пригодится), практически все смартфоны поддерживают USB OTG режим, TV, роутеры, модемы и т.д.
                          Подробности
                        • Apache vs Nginx: практический взгляд

                          • Перевод
                          Apache vs Nginx

                          Введение


                          Apache и Nginx — 2 самых широко распространенных веб-сервера с открытым исходным кодом в мире. Вместе они обслуживают более 50% трафика во всем интернете. Оба решения способны работать с разнообразными рабочими нагрузками и взаимодействовать с другими приложениями для реализации полного веб-стека.

                          Несмотря на то, что у Apache и Nginx много схожих качеств, их нельзя рассматривать как полностью взаимозаменямые решения. Каждый из них имеет собственные преимущества и важно понимать какой веб-сервер выбрать в какой ситуации. В этой статье описано то, как каждый из этих веб-серверов ведет себя при различных условиях.
                          Читать дальше →
                        • Тюним память и сетевой стек в Linux: история перевода высоконагруженных серверов на свежий дистрибутив

                            image

                            До недавнего времени в Одноклассниках в качестве основного Linux-дистрибутива использовался частично обновлённый OpenSuSE 10.2. Однако, поддерживать его становилось всё труднее, поэтому с прошлого года мы перешли к активной миграции на CentOS 7. На подготовительном этапе перехода для CentOS были отработаны все внутренние процедуры, подготовлены конфиги и политики настройки (мы используем CFEngine). Поэтому сейчас во многих случаях миграция с одного дистрибутива на другой заключается в установке ОС через kickstart и развёртывании приложения с помощью системы деплоя нашей разработки — всё остальное осуществляется без участия человека. Так происходит во многих случаях, хотя и не во всех.

                            Но с самыми большими проблемами мы столкнулись при миграции серверов раздачи видео. На их решение у нас ушло полгода.
                            Читать дальше →
                          • Ansible и ChatOps или как управлять 100+ серверами из чата

                            • Перевод
                            • Tutorial
                            Обновлено: 21 февраля 2017

                            Ansible и ChatOps при помощи StackStorm, Slack и Hubot

                            Что такое ChatOps?


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

                            Можно придумать такие вещи как деплой кода или развертывание серверов из чата, просмотр графиков мониторинга, отправку SMS, управление кластерами или просто запуск shell команд. ChatOps может быть высокоуровневым представлением вашей действительно сложной CI/CD системы, неся простоту с помощью команды в чате вроде: !deploy that thing. Такой подход делает чудеса для улучшения видимости и снижения сложности вокруг процесса развертываний.

                            Читать дальше →
                          • Безопасность сетевой инфраструктуры. Расширенные методы взлома и защиты. Видео

                            • Tutorial


                            Мы решили продолжить нашу традицию публиковать записи наших предыдущих вебинаров для всех желающих с целью повышения уровня осведомленности в ИБ. Не лишним будет отметить, что вебинары составляют примерно 20% от наших программ обучения, основной упор делается на практику. Проверить свои знания вы всегда можете в наших лабораториях тестирования на проникновение, например сейчас для всех желающих открыта бесплатная лаборатория тестирования на проникновение Test lab v.7.

                            Программа курса:

                            Первое занятие — «Инструментарий пентестера»
                            Это занятие представляет из себя небольшой обзор истории появления и развития дистрибутива BackTrack и превращением его в Kali Linux.


                            Читать дальше →
                            • +23
                            • 63,7k
                            • 6
                          • Восстанавливаем поврежденные таблицы Innodb

                            • Tutorial
                            Предположим, вы работаете с MySQL таблицами Innodb, и в один прекрасный не самый хороший момент подводит глючное железо, драйвер, бажит ядро, отключается электричество или случается одна из редких ошибок в среде MySQL. На выходе получаем повреждение некоторых страниц в табличной области Innodb.

                            В одной из предыдущих статей, в комментариях, нас спрашивали, что можно сделать в такой ситуации. Мы постараемся ответить максимально лаконично и по делу.
                            Читать дальше →
                            • +14
                            • 25,4k
                            • 5