Pull to refresh
13
0
Send message

Памятка евангелиста PostgreSQL: критикуем MySQL грамотно

Reading time12 min
Views61K
image

Привет, Хабр! Эта публикация — попытка развеять некоторые популярные мифы и легенды о MySQL. Я не ошибся с хабом, так как поводом для написания послужила публикация varanio Возможности PostgreSQL, которых нет в MySQL, и наоборот отсюда же. Сама публикация в части критики MySQL хоть и неидеальна, но вполне корректна, а вот комментарии к ней наводят на грустные размышления.

Вообще говоря, я собирался написать публикацию о возможностях MySQL, которые не реализованы или реализованы в PostgreSQL хуже. Но для того, чтобы не мешать много тем в одну публикацию, и учитывая довольно нелёгкую работу по сравнению того, что я знаю очень хорошо (MySQL) с тем, что я знаю очень плохо (PostgreSQL), такую публикацию я решил отложить на потом и для начала ответить сразу на многие комментарии из публикации varanio.
Читать дальше →
Total votes 194: ↑183 and ↓11+172
Comments178

Тюним память и сетевой стек в Linux: история перевода высоконагруженных серверов на свежий дистрибутив

Reading time10 min
Views95K
image

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

Но с самыми большими проблемами мы столкнулись при миграции серверов раздачи видео. На их решение у нас ушло полгода.
Читать дальше →
Total votes 110: ↑104 and ↓6+98
Comments73

Печальное состояние сисадмина в эпоху контейнеров

Reading time3 min
Views81K
Системное администрирование сейчас в печальном состоянии. Оно в хаосе.

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

Проблема в контейнерах, готовых виртуальных машинах (prebuilt VMs), а также в невероятном хаосе, который они создают, потому что в их концепции не хватает «доверия» и «обновлений».

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

Ни одна из «замечательных» утилит не собирается традиционной командой make. Каждая утилита поставляется со своим собственным не переносимым и не совместимым c чем-либо «методом дня» для сборки.

И так как никто не умеет собирать вещи с нуля, то все просто скачивают бинарники со случайных веб-сайтов, часто даже без проверки цифровой подписи.
Читать дальше →
Total votes 141: ↑130 and ↓11+119
Comments99

N+4 полезных книг

Reading time5 min
Views81K


Привет! В посте блиц-обзор книг, которые будут полезны IT-специалистам, бизнесменам и тем, кто просто любит читать интересные технические вещи. Рядом с каждой – пояснения, чем оно может быть нужно. Этот обзор, в отличие от других ежегодных, более технически-прикладной.

Начнём со «Справочника по инженерной психологии» Вудсона и Коновера.

«Справочник по инженерной психологии» — Вудсон, Коновер


Книга о том, какие бывают кнопки и рычаги, как на них нажимают люди. И как проектировать так, чтобы люди работали с системой эффективно. Радует тем, что рассматривает пользователя как базовую систему ввода-вывода, замеряя его среднюю скорость передачи информации (около 20 бит в секунду на кнопочные интерфейсы), скорости ввода и вывода.
Читать дальше →
Total votes 58: ↑55 and ↓3+52
Comments8

Штампуем окна: автоматизированное развёртывание виртуальных машин Windows на Hyper-V при помощи Vagrant (часть 3)

Reading time8 min
Views17K
В предыдущих (раз, два) публикациях я рассказал, как подготовить гипервизор и бокс для последующего автоматизированного разворачивания. В последней части этой трилогии я хотел бы раскрыть тему, собственно, деплоя и провижионинга подготовленных боксов. Также здесь я подведу итоги проделанного и в конце вы можете найти все ссылки по теме.
Читать дальше →
Total votes 17: ↑17 and ↓0+17
Comments0

Ещё один пост о сборке front-end проекта

Reading time15 min
Views84K
Js app starter

Я потратил прилично времени на структуризацию и автоматизацию сборки фронта. Задача это интересная и стоит того, чтобы о ней рассказать.

Что умеет делать сборщик:
  • Собирать front-end проект для development & production окружений.
  • Собирать по несколько js/css бандлов на проект.
  • Использовать стиль CommonJS модулей в браузере.
  • Использовать ES6-синтаксис.
  • Спрайты, картинки и многое другое.

Читать дальше →
Total votes 24: ↑22 and ↓2+20
Comments12

Считаем сетевой трафик с помощью netflow и lightsquid

Reading time4 min
Views22K
Однажды в нашем небольшом офисе понадобилось настроить систему учёта трафика под linux. Бегло просмотрев готовые решения, я решил использовать что-то попроще. Погуглив, мне понравился подход использовать самописный скрипт, который бы конвертировал статистику netflow в squid-совместимый лог, который затем можно анализировать чем угодно. Готовый скрипт, гуляющий по гуглу, я использовать не стал, т.к. он использует ipcad, которой отсутствует в debian и ubuntu. Написал свой вариант, использующий любой netflow сенсор и flow-tools в качестве коллектора. Скрипт постепенно усложнялся и, в итоге, вырос в небольшую систему учёта трафика. Архив этого удовольствия весит около 50кб, при этом:

  • устанавливается с помощью deb для дистрибутивов, основанных на debian или с помощью собственного инсталлятора для остальных
  • умеет считать интернет-трафик на маршрутизаторе по всем ip v4 протоколам и портам
  • умеет ограничивать доступ не прописанным пользователям
  • вместо голой статистики ip-адресов netflow умеет детализировать отчёты с помощью dig и squid
  • умеет выборочно блокировать трафик
  • имеет веб-интерфейс для управления пользователями и группами пользователей
  • настраивается немногим сложнее lightsquid, который использует в работе
  • не использует промежуточный лог access.log, собственный парсер конвертирует статистику netflow напрямую в отчёт lightsquid


Заинтересованных прошу под кат.
Total votes 15: ↑14 and ↓1+13
Comments11

Утверждён профстандарт менеджера ИТ-продуктов

Reading time1 min
Views28K
Министр труда Российской Федерации утвердил профессиональный стандарт Менеджера продуктов в области информационных технологий, который в 2013-м году разработала рабочая группа по созданию профстандарта, сообщил Денис Бесков на сайте Школы управления продуктами.

Стандарт может стать основой для разработки:

  • Должностных инструкций;
  • Текстов вакансий;
  • Корпоративных профилей компетенций;
  • Планов профессионального развития;
  • Сертификационных программ и тестов;
  • Коммерческих учебных программ;
  • Федеральных образовательных программ.


С текстом стандарта можно ознакомиться по ссылке (*.pdf).
Читать дальше →
Total votes 37: ↑30 and ↓7+23
Comments82

OpenFlow: текущее состояние, перспективы, проблемы

Reading time7 min
Views22K

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

OpenFlow, как составляющая часть концепции SDN в виде протокола управления между соответствующими контроллерами и коммутаторами, появился по мерками компьютерной индустрии уже сравнительно давно — 31 декабря первая версия стандарта отметит свое пятилетие. Что же в итоге мы получили? Давайте смотреть и разбираться, тем более, что история весьма интересная.
Читать дальше →
Total votes 13: ↑13 and ↓0+13
Comments12

Руководство по виртуализации PCI DSS. Часть 1

Reading time10 min
Views11K
Стандарт: Стандарт безопасности данных PCI (PCI DSS)
Версия: 2.0
Дата: Июнь 2011
Автор: Специальная группа по Виртуализации Совет Стандартов Безопасности PCI
Дополнительная информация: Руководство по виртуализации PCI DSS

Руководство по виртуализации PCI DSS. Часть 2
Руководство по виртуализации PCI DSS. Часть 3

1 Введение


Виртуализация отделяет приложения, компьютеры, машины, сети, данные и сервисы от их физических ограничений. Виртуализация — это развивающееся понятие, охватывающее широкий круг технологий, инструментов и методов, которое может привести к значительным эксплуатационным преимуществам для организаций, которые решают использовать виртуализацию. Как и в любой развивающейся технологии, тем не менее, также по-прежнему продолжают развиваться и риски, которые зачастую менее понятны, чем риски, связанные с более традиционными технологиями.
Цель данного документа — предоставить руководство по вопросам использования виртуализации в соответствии со Стандартами Безопасности Данных в сфере платежных карт (PCI DSS). Для целей этого документа все ссылки приводятся на стандарт PCI DSS версии 2.0.
Существует четыре простых принципа, связанных с использованием виртуализации в средах с данными владельцев банковских карт:
  • a. Если технологии виртуализации используются в среде хранения данных о держателях карт, требования PCI DSS распространяются на эти технологии виртуализации.
  • b. Технология виртуализации представляет новые риски, которые не могут быть применены к другим технологиям, и которые необходимо оценивать при использовании виртуализации при работе с данными владельцев банковских карт.
  • c. Реализация виртуальных технологий может значительно отличаться, и организациям нужно выполнить тщательное исследование для выявления и документирования уникальных характеристик их особого применения виртуализации, включая все взаимодействия с процессами перевода платежей и с данными платежных карт.
  • d. Не существует единого метода или решения для настройки виртуализированных сред для удовлетворения требований стандарта PCI DSS. Конкретные средства управления и процедуры будут отличаться для каждой среды, в зависимости от того как выполнена и используется виртуализация.

Читать дальше →
Total votes 19: ↑16 and ↓3+13
Comments14

Puppet. Часть 1: введение в Hiera

Reading time11 min
Views45K

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

Вы наверняка знаете или представляете, что управление большой инфраструктурой с помощью Puppet — непростая задача. Если для десяти серверов Паппет не нужен, для пятидесяти в самый раз и код можно писать как угодно, то когда речь идет о 500+ серверов, то в этом случае приходится уже серьезно думать об оптимизации своих усилий. Плохо, что Паппет изначально, видимо, не задумывался, как решение для больших инфраструктур, по крайней мере иерархия в него изначально заложена из рук вон плохо. Стандартные node definitions совершенно неприменимы в больших компаниях. Node inheritance (также как и class inheritance) Puppetlabs не рекомендуют больше использовать вообще, вместо этого лучше загружать данные о иерархии из внешних источников, таких как Hiera и External Node Classifier (ENC).
Читать дальше →
Total votes 20: ↑18 and ↓2+16
Comments11

Как убеждать людей в сети: семнадцать малоизвестных джедайских трюков

Reading time11 min
Views304K


Хотите узнать, как на просторах интернета убеждать людей и получать от них желаемое?

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

В этой статье не будет ни слова о взаимном обмене, дефиците, социальном доказательстве и прочих широко известных принципах убеждения. Вы наверняка и так все о них знаете
Читать дальше →
Total votes 149: ↑108 and ↓41+67
Comments78

CERN планирует увеличение своих вычислительных возможностей до 150 000 ядер

Reading time3 min
Views17K
Париж, 1989 год — начало создания одного из величайших и дорогостоящих творений современности, Большого адронного коллайдера. Это событие несомненно можно назвать подвигом, но установка, образовавшая почти 27-километровое кольцо, вкопанное более чем на 90 метров под землёй на франко-швейцарской границе, бесполезна без огромных вычислительных мощностей и не менее огромного хранилища данных.


Читать дальше →
Total votes 24: ↑24 and ↓0+24
Comments10

Семь принципов создания современных веб-приложений

Reading time19 min
Views187K
Эта статья основана на моей презентации с конференции BrazilJS в августе 2014 года. Она базируется на идеях, о которых я писал в блоге недавно, в основном, в связи с UX и производительностью.

Я хочу представить 7 действенных принципов для веб-сайтов, которые хотят применить JavaScript для управления UI. Эти принципы являются результатом моей работы как веб-дизайнера, но также как давнего пользователя WWW.

JavaScript бесспорно стал незаменимым инструментом для разработчиков фронтенда. Сейчас сфера его применения расширяется на другие области, такие как серверы и микроконтроллеры. Этот язык программирования выбрали престижные университеты, чтобы обучать студентов основам информатики.

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

  • Должен ли JavaScript использоваться как замена функциям браузера: история, навигация, рендеринг?
  • Умирает ли бэкенд? Нужно ли вообще рендерить HTML?
  • Правда ли, что будущее за приложениями на одной странице (Single Page Applications, SPA)?
  • Должен ли JS генерировать страницы на веб-сайте и рендерить страницы в веб-приложениях?
  • Нужно ли использовать техники вроде PJAX или TurboLinks?
  • Каково точное отличие между веб-сайтом и веб-приложением? Должно ли остаться что-то одно?
Читать дальше →
Total votes 108: ↑99 and ↓9+90
Comments33

Резервное копирование виртуальных машин в среде гипервизора QEMU/KVM

Reading time7 min
Views71K
image

Как известно, бэкапы нужно делать, мало того, нужно делать их так, чтобы потом с них можно было развернуться. Особенно это касается виртуальных машин (ВМ). Рассмотрим, как можно сделать бэкап виртуальных дисков машины в среде QCOW/KVM. Основных проблем здесь две: во-первых, нужно получить консистентый (целостный) бэкап, т.е. если у нас есть СУБД или другое ПО, которое активно использует собственный кэш на запись, то перед бэкапом его нужно попросить сбросить кэш и заморозить запись на диск, иначе данные-то в снэпшот попадут, но не те, и при восстановлении СУБД может не понять такой финт. Второй вопрос — производительность ВМ в режиме снэпшота, неплохо было бы, что бы ВМ не слишком тормозила, когда мы снимаем копию, и не зависала бы, когда мы удаляем снэпшот.

Сразу дам ответ на первый вопрос — чтобы получить консистентный бэкап, нужно перед созданием бэкапа выключить ВМ средствами гостевой ОС, тогда бэкап точно получится целостным. Если вас устраивает такая ситуация — статью можно дальше не читать. Если же нет — прошу под кат.
Читать дальше →
Total votes 27: ↑27 and ↓0+27
Comments34

Карьера менеджера проекта vs организация

Reading time17 min
Views67K
В предыдущей статье «Медовый месяц менеджера: как его провести с пользой» мы говорили о том как происходит назначение на позицию менеджера и что может делать новый менеджер первые месяцы работы в должности. Давайте продолжим разбираться в этой теме.

Как построить карьеру менеджера проектов?


Нужно ли расти из технического специалиста или целенаправленно, с нуля учиться на менеджера? Смогу ли я управлять коллективом, не умея выполнять задания, которые я даю своим сотрудникам? Что ждет меня через 3-5-7 лет? Что предпринять сейчас, чтобы приблизиться к собственной мечте (и какова вообще она — карьерная мечта руководителя проектов)?

Я больше 10 лет занимаюсь проектным менеджментом и такие вопросы слышу часто (да что там — задаю их и сам себе). Единственно-верных ответов, конечно, не существует, а вот собственными соображениями я поделиться могу.

Сам я давно пришел к убеждению, что ни у специалистов по кадрам, ни у тех, кто занимается проф. ориентацией, нет ответов ни на эти, ни на более конкретные вопросы. Например, «Может ли менеджер проектов перейти из сферы ИТ, скажем, в строительство?».

Мы знаем, примеры есть. Однако, когда и почему такие переходы оказываются успешны — ответить затрудняемся.

Часто работодатели не ограничиваются в вакансии требованиями к знаниям проектного управления и общему стажу, а обязательно требуют релевантный опыт (например — 5 лет в управлении разработкой сайтов или внедрения ERP и т.п.). Сами менеджеры тоже стараются строить карьеру с таким прицелом, чтобы развиваться в наиболее симпатичной области. Но это на уровне интуиции. А можно ли подвести под нее какие-либо правила?
Читать дальше →
Total votes 38: ↑33 and ↓5+28
Comments9

Настройка современного Puppet сервера с нуля

Reading time9 min
Views65K
Недавно я переосмыслил процедуру установки нового сервера Puppet с нуля на Ubuntu 12.04, включая все современные свистелки и перделки. В итоге у меня получился этот гайд.

Для начала нам потребуется чистая Ubuntu c работающей сетью и настроенным DNS.

В итоге мы должны получить:
  • Установленый везде Puppet 3-й версии
  • Конфиги в git репозитории с общим доступом
  • Динамические окружения, управляемые r10k
  • Поддержку PuppetDB
  • Поддержку Hiera


Данное руководство довольно длинное, т.к. все настройки делаются вручную, чтобы впоследствии легко можно было пользоваться результатом и подстраивать его под себя. Единственным исключением является PuppetDB, который проще установливать через собственный модуль от Puppet Labs, а не вручную.

Предполагается, что все команды будут выполнены от пользователя root на сервере Puppet, если не указано иное.
Читать дальше →
Total votes 33: ↑30 and ↓3+27
Comments15

Список литературы для менеджера продукта 80 уровня

Reading time4 min
Views123K
Менеджер продукта – все еще редкий зверь в российских и украинских IT компаниях. И если внутри команд, где менеджер продукта существует, его роль вопросов не вызывает (если он, конечно, занимается делом), то знакомые в других компаниях, на конференциях, друзья, от разработчиков до менеджеров проектов задают массу любопытствующих вопросов. Вопросы очень разномастные – от того, о чем собственно работа, и как устроен процесс работы над продуктом в нашей команде, до того, где поучиться, что почитать, и где вообще берут на работу продакт менеджеров.

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

Сразу хочу сказать, что все книги на английском. Часть из них можно найти на русском, но без английского на уровне чтения и прослушивания подкастов будет тяжко – на русский клевые вещи об управлении продуктами переводят медленно и нехотя. Второй момент – чтение книг из этого списка не сделает из вас менеджера продукта. Как и книжка С++ за 21 день не сделает из вас С++ разработчика. Просто уровень вхождения в окологуманитарные профессии пониже, и это иногда создает напрасные иллюзии.

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

Итак, мой список рекомендованной литературы для всех, кто хочет хочет проливать кровь, пот и слезы работать продакт менеджером или уже работает им.
Читать дальше →
Total votes 84: ↑75 and ↓9+66
Comments20

15 малоизвестных команд Linux

Reading time3 min
Views316K
Каждому разработчику в определенной степени следует овладеть навыками работы в терминале. Физически находиться у компьютера не всегда возможно, поэтому приходится подключаться удаленно. И действительно, GUI-программы вполне могут с этим с правиться, но зачастую они работают медленнее, чем получение доступа через тот же терминал (в конце концов, это лишь обмен текстом).
Читать дальше →
Total votes 333: ↑274 and ↓59+215
Comments224

Большие потоки трафика и управление прерываниями в Linux

Reading time4 min
Views63K
В этой заметке я опишу методы увеличения производительности линуксового маршрутизатора. Для меня эта тема стала актуальна, когда проходящий сетевой трафик через один линуксовый маршрутизатор стал достаточно высоким (>150 Мбит/с, > 50 Kpps). Маршрутизатор помимо роутинга еще занимается шейпированием и выступает в качестве файрволла.
Читать дальше →
Total votes 107: ↑102 and ↓5+97
Comments42

Information

Rating
Does not participate
Works in
Registered
Activity