Pull to refresh
64
0
Александр Демидов @adamant

сапер-иллюзионист

Send message

Архитектура Битрикс24 — взгляд изнутри

Reading time8 min
Views48K


12 апреля мы запустили большой новый проект — «Битрикс24»: социальный интранет, SaaS-сервис, объединяющий в себе классические инструменты командной работы (календари, задачи, CRM, работа с документами) и социальные коммуникации («лайки», социальный поиск, мгновенные сообщения и многое другое).

Первый прототип этого сервиса был запущен еще в феврале прошлого года. На одном сервере, без каких-либо особенных возможностей для масштабирования, без резервирования на уровне датацентра… :) Только концепт.

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

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

* * *

Итак, первый пост — об архитектуре проекта в целом. Поехали!
Читать дальше →

Fake S3 для офлайновой разработки и экономии денег

Reading time1 min
Views3.7K
Кёртис Спенсер (Curtis Spencer) с коллегами из компании Spool разработали легковесный сервер Fake S3, который ведёт себя как настоящий Amazon S3 и помогает тестировать проекты, не гоняя данные в облако и не тратя деньги на трафик. К тому же, для тестирования Fake S3 надёжнее, потому что работает локально. Спенсер говорит, что благодаря Fake S3 они сэкономили около $1000 за последний месяц на одной только оплате трафика.

Установка

gem install fakes3

Для запуска сервера нужно указать хост и порт

fakes3 -r /mnt/fakes3_root -p 4567

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

Функциональное и экономическое сравнение российских операторов предоставляющих облачные услуги

Reading time12 min
Views16K

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

Итак, операторы, предоставляющие облачные услуги, с которыми велась данная работа:
Читать дальше →

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

Reading time7 min
Views54K

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

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

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

jQuery File Upload

Reading time2 min
Views183K
Ура! Еще один, свеженький… чем он лучше других?



а) Новенький! Всегда, кто берется что-то делать, то обычно смотрит: есть ли в этом смысл, и если есть — делает это.
б) Красивенький! Можно не точить, а ставить из коробки. Основан на Bootstrap'е и иконках Glyphicons
в) Само собой мультиселект файлов, Drag&drop, прогрессбар и превьюшки фотографий.
г) Поддержка кросдоменного соединения, докачка и ресайз фоток на стороне клиента.
д) Готов для любой платформы сервера (PHP, Python, Ruby on Rails, Java, Node.js, и тому подобное.)

blueimp.github.com/jQuery-File-Upload

Поддержка браузеров:

github.com/blueimp/jQuery-File-Upload/wiki/Browser-support

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

Интернет-магазин под нагрузкой — метрики качества веб-кластера

Reading time9 min
Views21K
Написан, перенесен на хостинг и запущен большой интернет-магазин. Креативные идеи — выстроились в очередь на реализацию. Однако Вас очень беспокоят вопросы обеспечения стабильности работы решения и удовлетворенность покупателей — клиенты, даже в случае пиков нагрузки, не должны дожидаться перед белым экраном загрузки страницы по 30 секунд и получать сообщение типа «К сожалению, система перегружена или возникла внутренняя ошибка. Налейте себе кофе и попробуйте обратиться еще раз».


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

О том, как обстоят дела с дата-центрами в России на самом деле

Reading time3 min
Views22K
Регулярно читаю отчеты различных ИТ-изданий о росте рынка ЦОД в России, нехватке площадей и грандиозных перспективах отрасли. Не хочется категоричных заявлений, но, ИМХО, вышесказанное актуально, в первую очередь, для монстров индустрии. Кроме того, в отечественной блогосфере превалируют мнения об отсталости и дороговизне коммерческих центров обработки данных в России. Малый и средний бизнес не доверяет российским дата-центрам по ряду причин, многие из которых сильно преувеличены. Предлагаю посмотреть на ситуацию с объективной точки зрения и развенчать, или, наоборот, утвердить некоторые мифы о ДЦ.

Дефицитность


Недавно в руки попал какой-то журнальчик из тех, что бесплатно разносят по офисам. Там, черным по белому, было написано, что найти дата-центр в России для размещения хотя бы 15 стоек – практически невозможно. Устраиваем эксперимент и отправляем запрос по нескольким вариантам из выдачи Яндекса.

Вот наши счастливчики:


Проверяю конспиративный e-mail на следующее утро. Получил ответ от всех компаний, кроме E-Style Telecom. Зато «Оверсан», TEL Hosting, Agava и MSM с радостью готовы разместить мои «виртуальные» 15 шкафов. По-моему, выводы напрашиваются сами собой. Расценки у всех примерно на одном уровне, в районе 50 тысяч рублей за стойку.
Читать дальше →

Как заставить сайт летать и сэкономить десятки часов системного администрирования

Reading time10 min
Views109K
Скорость работы вашего сайта, его стабильность и отказоустойчивость всегда зависят от трех составляющих:

1. Платформа (CMS) и ее настройки, которые влияют на производительность (параметры кэширования и т.п.)
2. Конфигурация сервера (реального физического или виртуального) и настройки системного ПО (веб-сервер, база данных и т.д.)
3. Качество разработки, кода, интеграции с платформой.

Зачастую веб-разработчик может написать хороший качественный код, но при этом мало что смыслит в системном администрировании и настройке серверов. А хороший сисадмин редко бывает по совместительству еще и классным программистом.

В общем-то, это — совершенно нормально, каждый должен заниматься своим делом. Но, к сожалению, в небольших веб-студиях, которых большинство, редко есть админы в штате. Настройкам хостинга уделяется мало внимания. В лучшем случае — полагаются на суппорт хостера и настройки «по умолчанию».

В итоге сайт может «хромать» из-за проблем и «узких» мест в любой из составляющих: CMS, хостинг, разработка. Клиент в нюансы не вникает и остается не удовлетворен проектом в целом. Его негатив переносится на всех: «Тормозной хостинг! Ужасная система! Разработчики ничего не умеют!»

Такая картина нас, конечно, никогда не устраивала. И мы решили, что надо что-то делать…
Читать дальше →

Деобфускация PHP кода

Reading time20 min
Views56K
Деобфускация PHP
Так уж случилось, что на днях мне попался один нужный PHP скрипт, но обфусцированный.
По какой-то причине он никак не работал. Я пишу на PHP достаточно давно, и мне очень нравится отлавливать нестандартные ситуации в скриптах, особенно когда при выполнении в логах нет ошибок, а скрипт просто не выполняет своих предназначенных обязанностей, руки так и чесались расшифровать. Последней каплей стало то, что автора этого скрипта не было в сети, чтобы помочь решить мою проблему. Скрипт кстати куплен моим товарищем, собственно он и попросил помочь.

Цель данной статьи, показать принцип дешифровки, зашифрованных скриптов, чтобы например расшифровать залитый злоумышленником вирус на PHP.

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

«Изнанка» Форума Технологий Mail.Ru 2011: Хай-тек в event management

Reading time14 min
Views7.1K
Закончился Форум технологий Mail.Ru Group 2011, и теперь самое время рассказать об «изнанке» самого мероприятия. Думаю, это может быть многим интересно и полезно.

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

Расскажу о следующих темах:
  • Все о посетителях: расчеты, статистика, рекомендации, выводы, как оценивалась явка, как боролись с очередями, конвертация трафика и т.д.
  • Все о видеотрансляции: ПО, оборудование, как удалось опубликовать первые видео меньше, чем через час после доклада, какие были проблемы, как решали и т.д.
  • Все о фотосъемке-онлайн: как работает система публикации фото в реальном времени.
  • Прием вопросов через Twitter/SMS/сайт
  • Cтенографирование в реальном времени: ПО, проблемы, решения.

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

Монитор качества — повышаем удовольствие от разработки

Reading time10 min
Views15K
Коллеги, добрый день!

Сегодня поговорим о причинах, побуждающих создавать и внедрять методики и инструменты обеспечения качества, заглянем в историю проблемы, осветим известные риски и постараемся «устаканить» в сознании выигрышную стратегию обеспечения достаточного качества веб-решения. В заключении я расскажу о новом инструменте в 11 версии платформы Битрикс — «Мониторе качества».
Читать дальше →

Автосохранение, или Бережем время и нервные клетки

Reading time3 min
Views12K
Как часто мы сталкиваемся с тем, что во время заполнения тех или иных форм на сайтах, при написании больших текстов в блоге или на форуме внезапно «зависает» компьютер. Или «пропадает» интернет. Или палец случайно попадает по навигационным кнопкам (например, «Назад»), которые так «услужливо» располагают производители ноутбуков и клавиатур в самых неудобных местах.

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



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

Как на самом деле работает mod_rewrite. Пособие для продолжающих

Reading time17 min
Views280K
image
Эта статья выросла из идеи продвинутого обучения наших сотрудников технической поддержки работе с mod_rewrite. Практика показала, что после изучения имеющихся в большом количестве учебников на русском языке саппортам хорошо дается решение шаблонных задач, но вот самостоятельное составление правил происходит методом проб и большого количества ошибок. Проблема заключается в том, что для хорошего понимания работы mod_rewrite требуется изучение оригинальной англоязычной документации, после чего — либо дополнительные разъяснения, либо часы экспериментов с RewriteLog.

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

Я предполагаю, что читатель уже знаком с тем, что такое mod_rewrite, и не буду описывать его основы, которые легко найти в интернете. Также нужно отметить, что в статье освещается работа mod_rewrite при использовании его директив в файле .htaccess. Отличия при работе в контексте <VirtualHost> изложены в конце статьи.

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

Почему так происходит?
Читать дальше →

Переезд временной зоны MSD в MSK — новый Y2K локального масштаба

Reading time8 min
Views26K
Все, наверное, хоть раз слышали, что в России с 2011 года отменен переход с летнего время на зимнее. Чем же это грозит каждому из нас — и администраторам большого количества серверов в сложных системах, и обычным пользователям, имеющим один компьютер и мобильный телефон? Что случится в ночь с 29 на 30 октября 2011 — до которой осталось, кстати, всего 2 недели?

Новый Федеральный закон Российской Федерации от 3 июня 2011 г. N 107-ФЗ «Об исчислении времени»:
  • принят Государственной Думой 2011-05-20
  • одобрен Советом Федерации 2011-05-25
  • опубликован 2011-06-06
  • подписан президентом 2011-06-09
  • вступил в силу с 2011-08-07
Чем же грозят нам эти изменения и что от этого может сломаться?
Читать дальше →

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

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

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

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

Выбираем дисковую систему для базы MySQL

Reading time3 min
Views32K
Для многих крупных высоконагруженных веб-проектов зачастую «узким» местом в производительности становится скорость работы базы данных. Можно добавлять память, тюнить те или иные параметры… Но в итоге чаще всего всё упирается в диск.



Мы и сами на собственных проектах сталкивались с подобными «бутылочными горлышками» (bottleneck), периодически наблюдая близкую к 100% утилизацию диска в iostat.

О нашем опыте решения этого вопроса и хотим рассказать вам в этом посте…
Читать дальше →

Поддержка облачных файловых хранилищ в «1С-Битрикс: Управление сайтом» 11

Reading time7 min
Views22K
Этой статьей мы открываем целый цикл постов, посвященный новинкам, реализованным в новой, 11-ой версии «1С-Битрикс: Управление сайтом».

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



В этом посте мы расскажем, что же это такое, какие бывают хранилища, как они работают, и как их можно с большой пользой применять на своем сайте.

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

Облачное хранилище Clodo

Reading time4 min
Views16K
Мы рады представить сообществу «Хабрахабра» наш новый сервис — Облачное Хранилище. Как и все решения подобного класса, оно предназначено для хранения и быстрой раздачи статического контента — в том числе контента веб-сайтов.

Те, кто посетил прекрасную конференцию Highload++, имели возможность, в числе прочего, услышать наш доклад про то, как устроено хранилище. Краткое изложение того, о чем мы говорили, мы предлагаем уважаемой аудитории «Хабрахабра».
Читать дальше →

Еще раз про IP-адреса, маски подсетей и вообще

Reading time7 min
Views1.5M
Чуточку ликбеза. Навеяно предшествующими копипастами разной чепухи на данную тему. Уж простите, носинг персонал.

IP-адрес (v4) состоит из 32-бит. Любой уважающий себя админ, да и вообще айтишник (про сетевых инженеров молчу) должен уметь, будучи разбуженным среди ночи или находясь в состоянии сильного алкогольного опьянения, правильно отвечать на вопрос «из скольки бит состоит IP-адрес». Желательно вообще-то и про IPv6 тоже: 128 бит.

Обстоятельство первое. Всего теоретически IPv4-адресов может быть:
232 = 210*210*210*22 = 1024*1024*1024*4 ≈ 1000*1000*1000*4 = 4 млрд.
Ниже мы увидим, что довольно много из них «съедается» под всякую фигню.


Записывают IPv4-адрес, думаю, все знают, как. Четыре октета (то же, что байта, но если вы хотите блеснуть, то говорите «октет» — сразу сойдете за своего) в десятичном представлении без начальных нулей, разделенные точками: «192.168.11.10».

В заголовке IP-пакета есть поля source IP и destination IP: адреса источника (кто посылает) и назначения (кому). Как на почтовом конверте. Внутри пакетов у IP-адресов нет никаких масок. Разделителей между октетами тоже нет. Просто 32-бита на адрес назначения и еще 32 на адрес источника.
Читать дальше →

История интернет-магазина, ставшего мировым монополистом за $5 000

Reading time10 min
Views86K
Прочитав много литературы по истории бизнеса и наблюдая рост популярности Интернет-торговли, автору этих строк хотелось реализовать свои знания на практике. Искали подходящую тему для проекта. Необходимыми условиями были:

1) Вложение не более $10 000
2) Прибыль не менее $1 000 в месяц
3) Минимальная рутина

По первым двум пунктам все понятно. А вот по третьему пункту поясню. К тому моменту я уже работал в собственной компании (сфера финансов). Это был 2009 год. Последствия кризиса еще сильно влияли на основной бизнес и работы было непочатый край. Много времени отвлекать на сторонний бизнес автор не мог.
Подходящий случай подвернулся в октябре 2009 года.
Читать дальше →

Information

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