понедельник, 23 сентября 2019 г.

AppOptics и другие продукты SolarWinds

        Не в первый раз встречаюсь с продуктами SolarWinds, и каждый раз они оказываются редкостным дермищем которое стоит конских денег. Сначала я познакомился с мониторингом баз данных, в частности MS SQL. Это решение стоит нам около 5k USD в год, это при том что у нас довольно мало серверов баз данных и по сути мы мониторим только прод. Но оно выглядит как дедушка нагиоса или отец заббикса. В общем по сравнению с тем же PMM от перконы(бесплатного между прочим!!) - это просто диназавр из начала двухтясячных. 
         Другой пример - AppOptics. Это такой клон NewRelic, только херовенький. У него все нормально с юхабилити/внешним видом, но он нифига не работает. Ты его ставишь а данные не появляются. Вот уже неделю как разговариваю с саппорттом по поводу этой проблемы и пока результат никакой. Но при всем этом решение также стоит немалых денег. 
          В общем на мой взгляд - SolarWinds это хороший пример дерьмокомпании, которой я всячески желаю обанкротиться.   

вторник, 17 сентября 2019 г.

Code review

      Про code review много чего сказано, написано. Но все как-то кусочками. И не совсем тем что написано я был согласен. А тут наткнулся на документ где (с моей точки зрения) все правильно написано, и довольно полно.  https://google.github.io/eng-practices/review/reviewer/ Самое ценное в этом документе на мой взгляд то что он охватывает не только и не столько техническую часть, сколько организационную и то что касается человеческого общения. Про это вообще мало кто пишет. Многие вообще считают что диктатура при code review - это круто. И не понимают что code review - это в первую очередь менторство, а не поле для самоутверждения.  

воскресенье, 1 сентября 2019 г.

Из Golang в Assembler

       Я в последнее время все меньше пишу про Golang. Наверное потому что пишу в основном про то что меня интересует, а в мире Golang в последнее время меня не так много интересовало.  Недавно был на Golang meetup - из трех докладов интересным в какой-то степени был один, да и тот был интересен в основном отдельными техническими  деталями. Такого чтобы - ах как клево, давно не было. 
       На выходных отсматривал видео с GopherCon 2019. Из того что посмотрел очень понравился доклад Michael McLoughlin про то как они местами переписывают с Golang на Assembler. Ребята на мой взгляд пропагандируют очень здравый подход к оптимизации.  
            Посмотрев этот доклад я с удивлением обнаружил отсылку к докладу с GopherCon Russia. Вообще очень не часто можно встретить в докладах ведущих конференций ссылку на материалы российских конференций. Но в данном случае можно сказать что доклад Marko Kevac о bitmap индексах этого более чем заслужил.  
Для тех кому лень смотреть просто оставлю ссылку на https://github.com/mmcloughlin/avo 

вторник, 13 августа 2019 г.

HTTP smuggling

         Иногда диву даешься как люди способны находить дырки даже в реализациях  относительно простых и очень хорошо изученных протоколах вроде HTTP.  Текстовый протокол, вроде все четко и понятно. Но нет, и тут есть просто куча проблем. Как говорится было гладко на бумаге да забыли про овраги. 
                 Что делать если в запросе два одинаковых заголовка Content-length ? Что если присутствуют взаимоисключающие заголовки типа Content-length и Transfer-encoding ? Кому из них верить ? А что если между названием заголовка и ":" добавить пробел ? Эту и многие другие ситуации разные реализации обрабатывают по разному. В результате до сих пор даже в самых казалось бы известных решениях по защите веб приложений находятся дыры(не буду раскрывать имен раньше времени).  

пятница, 2 августа 2019 г.

Arista EOS (Arista Extensible Operating System)

          Иногда разбираешь как работает та или иная технология - и в голове только одна мысль - "что за дерьмо, и они это еще людям продают!"(луч позора в сторону Microsoft). А иногда читаешь  и думаешь - "блин, вот это ребята молодцы, вот это отлично придумали!". И это про компанию Arista. Мне решительно нравится все что делают эти ребята! 
         На мой взгляд эти парни совершили революцию в на рынке сетевого железа. Взяли x86 процессоры, взяли обычный линукс (fedora), написали обвязку вокруг этого - и сделали самые быстрые в мире свитчи/маршрутизаторы! Обставили всех этих бородатых дядек из контролируют рынок и распродают свои свитчи/маршрутизаторы как горячие пирожки. Казалось бы у Cisco есть все - специализированная OS, специально написанная для подобных вещей, экспертиза в создании специализированных чипов для обработки сетевого траффика. И тут оказывается что балалайка на обычных интеловских процессорах и не модифицированном линукс ядре может обставить их по скорости! Короче я стал фанатом Arista. Ну и плюс ко всему эти ребята очень любят Golang, у них даже в EOS (Arista Extensible Operating System) есть поддержка Golang из коробки.   
            Ну и конечно им на роду поддерживать всякие OpenConfig, OpenFlow и другие элементы SDN. В общем если ребята не продадутcя Cisco то у них есть все шансы захватить мир.

среда, 31 июля 2019 г.

GetHeapCodeAndMetadataStatistics()

  После месяца ожидания, мой третий пул реквест был принят в node.js - https://github.com/nodejs/node/pull/27978 Теперь в node.js появится новый метод который позволит посмотреть сколько памяти нода выделяет под хранения кода и метаданных.