четверг, 1 сентября 2011 г.

Сделайте мне параллельно

Мир изменился – закон Мура перестал работать. Производители чипов более не могут увеличивать тактовую частоту процессоров с такой интенсивностью, с которой они это делали в конце 90-ых. Чтобы удовлетворить всё нарастающие аппетиты индустрии в новых мощностях, они вынуждены пойти по пути наращивания числа ядер. Для программиста этот путь означает следующее: если раньше он мог быть абсолютно уверен, что через полгода на новом процессоре даже без усилий с его стороны приложение будет работать в разы быстрее, то теперь, если он не позаботится заранее о хорошей степени параллелизма своего приложения, замена процессора на более новый не приведёт к росту производительности. Так как же добиться правильного параллелизма – об этом и поговорим в этот раз.

понедельник, 8 августа 2011 г.

Подводный камни Active Directory: версионность объектов, как она есть

Если вы решаете задачу синхронизации объектов в Active Directory или просто следите за их изменениями для иных нужд, то в какой-то момент времени вам непременно придёт в голову "гениальная" идея: постойте, AD просто обязана содержать встроенный механизм версионности объектов, почему бы не воспользоваться им для оптимизации поиска изменившихся объектов?

воскресенье, 31 июля 2011 г.

Windows: теория и практика синхронизации паролей

28 июня этого года компания Microsoft запустила новый облачный сервис Office 365. Ожидается, что его основными потребителями станут предприятия, желающие сэкономить время и средства на поддержании собственной инфраструктуры офисного ПО. Поэтому, одной из важнейших задач, возникающей в подобном контексте использования, является синхронизация с облаком службы каталогов Active Directory предприятия. Для её решения подписчикам предоставляется специальное приложение, автоматизирующее данный процесс. Но оно имеет очень смешное ограничение, а именно: оно не умеет синхронизировать пароли пользователей. Компания Parallels, в которой я имею честь работать, имеет аналогичное решение в составе продукта Parallels Operations Automation уже более полутора лет. Вот только наше приложение Customer Directory Integration, в отличие от Microsoft Directory Sync, достаточно легко справляется с задачей синхронизации паролей. В этой заметке я хочу приоткрыть завесу тайны над тем, как оно это делает.

суббота, 16 июля 2011 г.

Виды информационных угроз и методы борьбы

Вчера я читал студентам Летней школы Parallels лекцию: "Виды информационных угроз и методы борьбы". Скорее всего, суровым гикам с богатым жизненным опытом материал покажется не особо интересным (он ориентирован на студентов 2-ого – 5-ого курса), но вот начинающим будет весьма полезно посмотреть.

пятница, 1 июля 2011 г.

Зачем нужен Apache Thrift?…

В одной из прошлых заметок я рассказывал о Google Protocol Buffers. В качестве альтернативы последнему иногда упоминают Apache Thrift. Я проанализировал его возможности и в этой заметке хочу высказать свои мысли по поводу данной технологии.

среда, 22 июня 2011 г.

Странный DirectoryServices. Совет третий: помните - данных может быть больше, чем дозволено

Горе тому серверу, который на просьбу клиента вернуть всё, действительно возвращает все данные. Это прямой путь к атаке типа Deny of Service. Любой разработчик должен позаботиться об устойчивости своего сервиса и не допускать передачи неограниченного объёма данных. Не является исключением и Active Directory Domain Service. По умолчанию любая операция поиска возвращает не более чем 1000 элементов. Давайте рассмотрим, как правильно обойти это ограничение и получить действительно все объекты, не нарушив производительности контроллера доменов.

понедельник, 6 июня 2011 г.

Странный DirectoryServices. Совет второй: прогревайте кэш атрибутов руками

Продолжим начатую тему. Вы знаете, что происходит, когда запрашиваешь тот или иной атрибут Active Directory у объекта типа DirectoryEntry, и почему большая часть программ делает это неоптимальным образом? А как сделать правильно? Поговорим об этом.