• Масштабирование БД в высоконагруженных системах

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

      Когда сервис недоступен пользователям какое-то время, это дико неприятно, но всё же не смертельно. А вот потерять данные клиента — абсолютно недопустимо. Поэтому любую технологию для хранения данных мы скрупулезно оцениваем по двум-трем десяткам параметров.
      Читать дальше →
    • Исследуем пределы пропускной способности Kafka в инфраструктуре Dropbox

      • Перевод


      Широкое использование технологий Apache-стека — очевидный тренд. И Kafka на острие популярности: нынче людей, знающих такой брокер сообщений, пожалуй, превосходит количество тех, кто привык рядом со словом Кафка видеть слово Франц.

      Мы и сами активно используем эту технологию в наших проектах. Но ведь всегда интересно, а как оно получается у других? И вдвойне интересно, если это не просто пример из чьей-то практики, а целенаправленное тестирование технологии. Поэтому мы перевели свежую статью, в которой рассказывается о том, как Dropbox опытным путём искал границы возможностей и лимиты выносливости у Kafka. И нашёл что хотел.
      Читать дальше →
      • +35
      • 3,2k
      • 4
    • io_submit: альтернатива epoll, о которой вы никогда не слышали

      • Перевод


      Недавно внимание автора привлекла статья на LWN о новом интерфейсе ядра для опроса (polling). В ней обсуждается новый механизм опроса в Linux AIO API (интерфейс для асинхронной работы с файлами), который добавили в ядро версии 4.18. Идея довольно интересная: автор патча предлагает использовать Linux AIO API для работы с сетью.

      Но постойте! Ведь Linux AIO был создан для работы с асинхронным вводом-выводом с диска / на диск! Файлы на диске — это не то же самое, что сетевые соединения. Возможно ли вообще использовать Linux AIO API для работы с сетью?

      Оказывается, да, возможно! В этой статье объясняется, как использовать сильные стороны Linux AIO API для создания более быстрых и лучших сетевых серверов.

      Но давайте начнём с разъяснения, что представляет собой Linux AIO.
      Читать дальше →
    • Полное погружение: как мы в Bitfury охлаждаем ASIC-чипы

        Расскажем, как работает технология иммерсионного охлаждения оборудования в дата-центрах. Поговорим о нашем решении, разработанном совместно с дочерней компанией Allied Control, и приведем примеры других «жидкостных» способов «сбить температуру» у чипов.

        Читать дальше →
      • Высоконагруженная распределенная система управления современной АЭС

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

          Поэтому давайте разбираться, что там есть, как оно все устроено, где основные архитектурные сложности и где в АЭС можно применить модные технологии ML и VR.


          Читать дальше →
        • Как мы сайт Republic на Kubernetes переводили



            Скандальные, важные и просто очень крутые материалы выходят в СМИ не каждый день, да и со 100% точностью спрогнозировать успешность той или иной статьи не возьмётся ни один редактор. Максимум, чем располагает коллектив — на уровне чутья сказать, «крепкий» материал или же «обычный». Все. Дальше начинается непредсказуемая магия СМИ, благодаря которой статья может выйти в топы поисковой выдачи с десятками ссылок от других изданий или же материал канет в Лету. И вот как раз в случае публикации крутых статей сайты СМИ периодически падают под чудовищным наплывом пользователей, который мы с вами скромно называем «хабраэффектом».

            Этим летом жертвой профессионализма собственных авторов стал сайт издания Republic: статьи на тему пенсионной реформы, о школьном образовании и правильном питании в общей сложности собрали аудиторию в несколько миллионов читателей. Публикация каждого упомянутого материала приводила к настолько высоким нагрузкам, что до падения сайта Republic оставалось совсем «вот столечко». Администрация осознала, что надо что-то менять: нужно было изменить структуру проекта таким образом, чтобы он мог живо реагировать на изменение условий работы (в основном, внешней нагрузки), оставаясь полностью работоспособным и доступным для читателей даже в моменты очень резких скачков посещаемости. И отличным бонусом было бы минимальное ручное вмешательство технической команды Republic в такие моменты.

            По итогам совместного со специалистами Republic обсуждения различных вариантов реализации озвученных хотелок мы решили перевести сайт издания на Kubernetes*. О том, чего нам всем это стоило, и будет наш сегодняшний рассказ.

            *В ходе переезда ни один технический специалист Republic не пострадал
            Читать дальше →
          • Управление секретами при помощи HashiCorp Vault

              Как правильно хранить секреты? В репозитории, в системе деплоя или в системе управления конфигурациями? На личном компьютере, на серверах, а может в коробке под кроватью? А как управлять секретами, чтобы не допускать утечек?

              Сергей Носков (Albibek) — руководитель группы информационной безопасности платформы из Авито, знает ответ на эти вопросы и поделится с нами. В Авито два года активно используют HashiCorp Vault, за это время набили шишки, и прокачали опыт до уровня «Мастер».

              В статье всесторонне поговорим про Vault: что это такое, где и как используется в компании, как в Авито управляют секретами с помощью HashiCorp Vault, как используют Puppet и Kubernetes, варианты использования с Puppet и другими SCM, какие возникают проблемы, что болит у безопасников и разработчиков, и, конечно, поделимся идеями, как все исправить.


              Читать дальше →
              • +30
              • 4,1k
              • 5
            • Courier: миграция Dropbox на gRPC

              • Перевод


              Примечание переводчика


              Большинство современных программных продуктов не являются монолитными, а состоят из множества частей, которые взаимодействуют друг с другом. При таком положении дел необходимо, чтобы общение взаимодействующих частей системы происходило на одном языке (притом что сами эти части могут быть написаны на разных языках программирования и выполняться на разных машинах). Упростить решение этой задачи помогает gRPC — open-source-фреймворк от Google, выпущенный в 2015 году. Он решает сразу ряд проблем, позволяя:

              • использовать язык Protocol Buffers для описания взаимодействия сервисов;
              • генерировать программный код на основании описанного протокола для 11 разных языков как для клиентской части, так и для серверной;
              • реализовать авторизацию между взаимодействующими компонентами;
              • использовать как синхронное, так и асинхронное взаимодействие.

              gRPC показался мне довольно интересным фреймворком, и мне было интересно узнать про реальный опыт компании Dropbox по построению системы на его основе. В статье есть масса деталей, связанных с использованием шифрования, построением надёжной, наблюдаемой и производительной системы, процессом миграции со старого RPC-решения на новое.

              Дисклеймер
              Оригинальная статья не содержит описания gRPC, и некоторые моменты могут показаться вам непонятными. Если вы не знакомы с gRPC или другими подобными фреймворками (например, Apache Thrift), рекомендую предварительно ознакомиться с основными идеями (достаточно будет прочитать две небольшие статьи с официального сайта: «What is gRPC?» и «gRPC Concepts»).

              Спасибо Алексею Иванову aka SaveTheRbtz за написание оригинальной статьи и помощь с переводом трудных мест.
              Читать дальше →
            • Дефективное встраивание функций в Go


                Эквивалентен ли по производительности код, представленный ниже?


                // (A). Вызов HasPrefix будет встроен.
                return strings.HasPrefix(s, "#")
                // (B). Ручное встраивание тела HasPrefix.
                return len(s) >= len("#") && s[:len("#")] == "#"

                Ответ: нет.


                За подробностями и объяснениями прошу под кат.

                Читать дальше →
              • AI пати в Siliconовой Долине: мэр, миллиардер, президенты, гении, разработчики процессоров и девушка с яркими волосами

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

                  На днях мэр города Кэмпбелл, c русской фамилией Paul Resnikoff, разрезал ленточку при открытии нового офиса стартапа Wave Computing, который вместе с компанией Broadcom разрабатывает 7-нанометровый чип для ускорения вычислений нейросетей. Офис находится в здании исторической фруктово-консервной фабрики конца 19-начала 20 века, когда Кремниевая Долина представляла собой самый большой фруктовый сад в мире. Уже тогда в офисе занимались инновациями, вводили первые в абрикосово-сливовой индустрии электромоторы для конвейеров, за которыми трудились около 200 работников, в основном женщин.

                  На последующей за разрезанием ленточки парти засветилось много известных в индустрии людей, в частности соратник Кернигана-Ричи и автор самого популярного C компилятора конца 70-х — начала 80-х годов Стивен Джонсон, один из авторов стандарта чисел с плавающей точкой Джероми Кунен, изобретатель концепции локальной шины и разработчик чипсетов первых PC AT Диосдадо Банатао, бывшие разработчики процессоров Sun, DEC, Cyrix, Intel, AMD и Silicon Graphics, чипов Qualcomm, Xilinx и Cypress, индустриальные аналитики, девушка с красными волосами и другие обитатели калифорнийских компаний такого типа.

                  В конце поста мы поговорим, какие книжки нужно почитать и упражнения поделать, чтобы примкнуть к данному сообществу.



                  Начнем с Джероми Кунена, инноватора арифметики с плавающей точкой и менеджера Apple времен первого Макинтоша.
                  Читать дальше →

                Самое читаемое