Search
Write a publication
Pull to refresh
30
0
Send message

Обзор платформ для построения облаков

Reading time7 min
Views54K

Наверное всем уже надоели эти самые облака, но вкратце остановимся на том какие они бывают если кто-то не знает. В зависимости от модели развертывания они бывают:
  • private cloud
  • public cloud
  • hybrid cloud

Более подробно можно прочитать тут.
В зависимости от модели обслуживания:

Так вот мы с вами сегодня будем говорить о платформах для построения именно IaaS облаков. Поехали!
Читать дальше →

5 основных анти-паттернов системного администрирования

Reading time4 min
Views47K

Введение


Эта статья – скорее из разряда «для самых маленьких», чем «для умудренных опытом», но она призвана повышать профессиональную культуру системных администраторов.
В силу специфики работы мне «по наследству» достается самый разнообразный облачный ад, который приходится разгребать, оптимизировать, приводить в чувство и делать прозрачным и красивым. Эти заметки, пожалуй, иллюстрация к тем моментам, которые вообще недопустимы в системном администрировании.
В причинах, которыми порождаются эти анти-паттерны, можно разбираться очень долго: дедлайны, законы и темпы бизнеса, да и просто идиотизм, наконец. Но цель статьи другая. Мне бы хотелось породить конструктивную дискуссию. А вот уже её результаты и являются основной целью статьи.
Читать дальше →

Сказ о wx.Python

Reading time13 min
Views25K
Здравствуй хабрхабр!

В данной статье я хотел бы рассказать, сформулировать свои мысли по поводу такой замечательной библиотеки как wxPython. Под катом вы найдете небольшую теорию, описание форм, разбор свойств форм, различных контролов и всё что касается wxPython.
Welcome to wxPython.
Читать дальше →

37signals: почему в нашей компании нет менеджеров

Reading time5 min
Views25K
Перевод статьи Джейсона Фрида (Jason Fried) "Why I Run a Flat Company". Джейсон — один из основателей компании 37signals и соавтор книг "Getting Real" и "Rework".

Несколько месяцев назад в компании 37signals, которую я возглавляю, случилось необыкновенное событие: мы расстались с одним из наших сотрудников. Казалось бы, что в этом необычного? Но дело в том, что в нашей компании подобное происходит крайне редко. За 11 лет работы мы потеряли всего лишь пять человек, причем один из них вернулся к нам семь лет спустя.

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

Читать дальше →

Попытка просто объяснить сложные, для новичков, вещи в javascript

Reading time8 min
Views24K
Я попытаюсь просто объяснить, как работают замыкания в Javascript, как работает this, как создавать конструкторы для своих классов и чем различаются различные подходы к их созданию.
Статья не претендует на новаторство, но достаточно доступные объяснения how it works для новичков я не видел, и на мой взгляд — это три самых узких места в Javascript (не привязанному к какому либо контексту, серверу или браузеру, например).
Читать дальше →

Red Hat нацеливает «Gluster» на EMC/VMware

Reading time5 min
Views4K
Компания Red Hat анонсировала покупку Gluster — разработчика открытого ПО для облачных систем хранения данных. Программное обеспечение Gluster дополнит стек облачных продуктов Red Hat, таких как CloudForms и OpenShift, обеспечив их гибкость и масштабируемость.

Red Hat покупает «cloud storage» Gluster. Зачем?
Не так давно я писал про то, что Red Hat объявляет войну VMware на «облачном» фронте и вот, кажется, первые её проявления.

Среди подобных новостей о покупке Gluster очень много общих слов и очень мало анализа того, зачем Red Hat сделала эту покупку и как она может отразиться на рынке облачных вычислений. Пришлось думать самому. :-) Я собрал информацию из различных источников и надеюсь, что смогу немного прояснить ситуацию.
Читать дальше →

Новые коды состояния HTTP

Reading time2 min
Views17K
На рассмотрение в IETF поданы спецификации новых кодов состояния HTTP, которые более точно описывают некоторые типичные ситуации.

428 Precondition Required
429 Too Many Requests
431 Request Header Fields Too Large 
511 Network Authentication Required
Читать дальше →

Хочется взять и расстрелять, или ликбез о том, почему не стоит использовать make install

Reading time5 min
Views177K
К написанию сей заметки меня сподвигло то, что я устал делать развёрнутые замечания на эту тему в комментариях к статьям, где в качестве части инструкции по сборке и настройке чего-либо для конкретного дистра предлагают выполнить make install.
Суть сводится к тому, что эту команду в виде «make install» или «sudo make install» использовать в современных дистрибутивах нельзя.

Но ведь авторы программ в руководствах по установке пишут, что нужно использовать эту команду, возможно, скажете вы. Да, пишут. Но это лишь означает, что они не знают, какой у вас дистрибутив, и дистрибутив ли это вообще, может, вы вступили в секту и обкурилисьчитались LFS и теперь решили под свою хтоническую систему скомпилять их творение. А make install является универсальным, хоть и зачастую неправильным способом это сделать.

Читать дальше →

О сетях: всего понемногу

Reading time7 min
Views41K
Недавно у нас были небольшие обучающие курсы для повышения нашей компетенции в сетевой части нашей инфраструктуры. Основную идею этих курсов, покрывающую OSPF/BGP/MPLS я тут повторять не буду ибо:
  • Пока ещё явно недостаточно компетентен.
  • Есть много более объективные ресурсы рассказывающие об этих темах.

Так что тут я опишу интересные около-сетевые моменты которые были затронуты в процессе обучения. Часть из этого может показаться вам банальным, однако постараюсь компенсировать возможную скуку при прочтении обилием ссылок на дополнительные материалы

Ссылки на вики зачастую более примечательны секциями «External links» и «References» нежели самим содержанием

Читать дальше

Проксируем Cookies на Nginx при помощи модуля lua-nginx

Reading time4 min
Views31K


Я уже писал о том, как с помощью Nginx трансформировать контент на лету. С момента публикации статьи на базе описанного метода запущен и развивается реальный проект ecommerce. Помимо перевода и трансформации также реализован и SEO рерайт по заветам руководства для начинающих от Google.

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

В чем суть проблемы


Проблема заключается в том, что любой нормальный сервер приложений всегда выставляет Cookie, например для того, чтобы сохранять сессию клиента или корзину с его товаром. Если этот сервер (точнее его администратор) озабочен поддержанием определенного уровня безопасности, то он выставляет в теле Cookie домен и путь, например domain= backend.org; path=/path1. Наш Nginx запущенный в режиме Reverse Proxy замечательно меняет все ссылки в теле документов с backend.org на frontend.org, но не делает этого для кук! Это означает что браузер клиента отвергнет такие куки.

Этот вопрос с давних пор волнует умы администраторов nginx, в рассылках он всплывает по 1-2 раза в год. Большинство вопрошавших, по-видимому, решили свои проблемы подкручивая логику backendа, но не я! После очередного апдейта оригинального сайта стало понятно, что костыль с PHP + Curl тянуть больше невозможно и надо непременно найти решение с помощью Nginx!

Я вернул тему в рассылку, попутно перебирая варианты из ngx_http_perl_module и переменной $upstream_http_set_cookie, даже заглянул в дебри сорсов с призрачной надеждой написать модуль самому. Но все было неудачно пока в один прекрасный момент я не получил письмо от Mikhail Mazursky, который дал ценный совет. Благодаря этому совету я не только с легкостью решил задачу проксирования Cookie, но и получил новый инструмент, с помощью которого можно создать версию 2.0 своего проекта.

Решение


Название этого инструмента lua-nginx-module, который написан еще одним китайским самородком с корнями из Taobao. Из названия легко понять, что речь об языке скриптов Lua встроенном в Nginx — но это больше чем просто интерпретатор! Эти ребята создали полностью неблокируемую реализацию с производительностью десятки тысяч операций в секунду, которая имеет хуки ко всем событиям внутри Nginx. То что раньше можно было реализовать только написав свой модуль на C, теперь можно сделать несколькими строчками на Lua. Заинтересовались?
Тогда добро пожаловать под кат!

Трансформация и перевод на другие языки web-сайтов на лету при помощи Nginx

Reading time5 min
Views9.8K




В моем первом посте я описал применение Apache Traffic Server в качестве кеширующего reverse-proxy. В отзывах меня спрашивали почему не nginx? Поскольку в ATS все равно не нашлось удобного способа трансформировать контент сайта, то я решил изучить возможности Nginx. Для решения задачи пришлось углубится в дебри документации, и вот что получилось…
Читать дальше →

Коды возврата vs исключения — битва за контроль ошибок

Reading time7 min
Views22K
Судя по всему, неделя исключений на хабре успешно наступила :). Накопив достаточную «подушку» кармы чтобы не бояться уйти в минус, я, пожалуй, тоже выскажу свое мнение по данному вопросу. Сразу оговорюсь, что мнение сугубо личное, основанное на небольшом практическом опыте коммерческой разработки: C++, Objective-C, C#, Java, Python, Ruby.
Под катом много текста, фрагментов кода и нет картинок O_O

Мы запустили подписки на дешевые авиабилеты

Reading time1 min
Views8.6K
Привет, хабрахабр!
Когда-то inque уже писал о том, откуда берутся специальные предложения, а сегодня мы обрадуем вас новой фичей — подпиской на интересующие направления.



Теперь в результатах поиска авиабилетов на Эвитерре вы можете указать свой e-mail и как только появится предложение, которое дешевле среднего по заданному направлению на 20%, вы получите письмо со ссылкой на этот вариант! Для тех, кто беспокоится за свой почтовый ящик: письма присылаются не чаще двух раз в сутки и у вас всегда есть возможность отписаться от рассылки прямо по ссылке из письма.

В дальнейшем, когда мы доделаем личный кабинет, управлять подписками будет еще удобней, например, подписаться не на e-mail рассылку, а на rss, а также ограничить диапазон дат и цен предложения. Следите за нами в твиттере, и в фейсбуке чтобы быть в курсе новостей!

Бесплатная замена VMware vSphere Storage Appliance на основе DRBD

Reading time10 min
Views24K
Недавно компания VMware анонсировала новые продукты в линейке vSphere 5, и нам стало очень интересно, что же такое VMware vSphere Storage Appliance?

Вкратце суть заключается в возможности построения отказоустойчивой виртуальной инфраструктуры без внешней СХД. Для реализации устанавливается две или три виртуальные машины (по одной на каждый хост), которые реплицируют между собой свободное пространство дисковой подсистемы ESXi-серверов и предоставляют его в качестве общего хранилища все тем же хостам ESXi. Подробно на русском языке Storage Appliance описан здесь.

Интересная задумка, но кусается цена — в районе $6К. Кроме того, если задуматься о производительности, то не получится ли просадки по скорости работы дискового массива? Подходя к вопросу с другой стороны, можно придумать много других способов организации внешней СХД. Например, можно создать внешнее хранилище из практически любого железа с необходимым количеством дисков и установленным софтом Openfiler, FreeNAS, Nexenta, Open-E — в этих программных продуктах есть возможность репликации между системами.

Такой подход практикуют многие компании, у которых нет возможности приобрести дорогостоящую СХД именитого производителя, которая бы обеспечила достаточную производительность и надежность. Как правило, такие системы оснащаются двумя контроллерами, избыточной системой питания, скоростными дисками и прочее…
Читать дальше →

Основы стереозрения

Reading time10 min
Views121K
В данной статье содержатся базовые сведения о математическом аппарате, используемом в стерео зрении. Идея ее написания появилась после того как я начал работать с методами стерео зрения, в частности использовать алгоритмы реализованные в OpenCV. Эти алгоритмы зачастую ссылаются на различные понятия, такие как "фундаментальная матрица", "эпиполярная геометрия", "триангуляция". Существуют очень хорошие книжки по компьютерному зрению, в которых описывается, в том числе и стерео зрение и все необходимые понятия, но в них, нередко, бывает представлено слишком много информации для новичка. Здесь же, в краткой форме изложены базовые сведения о том, как работает стерео зрение и основные связанные с ним необходимые понятия:
  • проективная геометрия и однородные координаты
  • модель камеры
  • эпиполярная геометрия (epiporal geomerty), фундаментальная и существенная матрицы (fundamental matrix, essential matrix)
  • триангуляция стереопары точек
  • карта глубины(depth map), карта смещений(disparity map) и идея, лежащая в основе ее вычисления
Практически весь материал статьи основан на книге "Multiple View Geometry in Computer Vision" by Hartley, R. I. and Zisserman, A., а раздел про построение карты глубины описан на основе материала из "Learning OpenCV" by Gary Bradski, Adrian Kaehler.

Для понимания содержимого статьи достаточно иметь общее представление об аналитической геометрии и линейной алгебре: знать, что такое матрица, вектор, скалярное и векторное произведение.

Читать дальше →

Особенности взаимодействия хостинг-компаний с правоохранительными органами в разных странах

Reading time5 min
Views11K
Последние несколько лет наблюдается тенденция миграции российских проектов на запад и часто в обсуждениях мы видим ставшие уже классическими правила успешного бизнеса в интернете, в частности гласящие «не размещать проект в РФ, не использовать домены .ru и .рф». Расскажем о ситуации изнутри, глазами хостера/регистратора, основываясь на опыте работы крупных хостинг-компаний, как российских, так и зарубежных.
Читать дальше →

CPIO под микроскопом

Reading time4 min
Views17K
cpioCPIO — это достаточно старый (1990 год), но в то же время очень удобный вариант архива. Он достаточно прост, и, возможно поэтому, получил широкое распространение. Например данный формат используют RPM, initramfs ядра Linux, а также установщик архивов «pax» от Apple.

Данный архив позволяет собирать любое число файлов, директори и других объектов файловой системы (символических ссылок и т.д.) в единый поток байт.

Давайте на примерах рассмотрим формат этого архива.
Читать дальше →

Что кешировать?

Reading time8 min
Views12K
Всё. На этом можно было бы статью закончить, так как эта аксиома повторяется из года в год на форумах и конференциях и кочует из текста в текст на всех технических ресурсах. Однако это ёмкое «Всё» не поясняет деталей. Ведь существует достаточно широкая прослойка программистов, движки и проекты которых справляются с задачей без мемкеша и шардинга. Но момент нагрузки приходит, и приходится разбираться.
Для таких людей я и разобрал на запчасти это универсальный ответ высоконагруженных проектов.
Ограничимся изучением системы для веба. Попросту говоря, на привычном обычном сайте. Используете ли вы готовую CMS, или уже выросли до каркаса, или написали «с нуля» код для нестандартного проекта – основными элементами процесса приёма-отдачи данных всегда будут одни и те же узлы. Я их рассмотрю с точки зрения «Где что можно закешировать».
Этапы выдачи
Читать дальше →

Обновление 0x4553-Intercepter

Reading time1 min
Views9.9K
К функционалу программы добавлены 2 техники: SSL MiTM и SSL Strip.

Первая является старой классической техникой подмены сертификатов.
Позволяет перехватывать данные любого протокола, защищенного при помощи SSL.
Стандартно поддерживаются: HTTPS\POP3S\SMTPS\IMAPS.
Опционально можно указать любой дополнительный порт.

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

Естественно, при использовании данного функционала неизбежны предупреждения браузера и другого
клиентского ПО.



SSL Strip — «тихая» техника для перехвата HTTPS соединений. Долгое время рабочая версия
существовала только под unix, теперь подобные действия можно проводить и в среде NT.

Суть в следующем: атакующий находится «посередине», анализируется HTTP трафик, выявляются все https:// ссылки и производится их замена на http://

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

Т.к. никаких сертификатов не подменяется, то и предупреждений нет.
Для имитации безопасного соединения производится замена иконки favicon.

Одно закономерное условие успешного перехвата — URL должен быть введен без указания префикса https.



Официальный сайт — sniff.su

ООП — Организация Освобождения Палестины

Reading time5 min
Views17K
Эта статья является изложением в письменном виде моего личного восприятия программирования и Объектно-ориентированного программирования в частности. Здесь собраны и душевные негодования, и переживания за программистов всего мира. Всё, конечно же, подкреплено исходным кодом.


Читать дальше →

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Works in
Date of birth
Registered
Activity