Pull to refresh

Comments 31

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

Будьте добры, более подробно привести аргументы.

Также непонятен, в чем экономический эффект, если арендованные сервера и VPS в Хетзнер, ОВХ и Онлайн.net довольно доступные по цене.

Несколько ошибок архитектуры:
1) Сервис апдейтов надо выносить на VPS с толстыми каналами или на CDN
2) Нужно использовать frontend
3) БД желательно выносить в другое место, чем сервер приложений.

1) Надо:) Руки не дошли.
2) Он используется.
3) БД на отдельном сервере, само собой.
До: проект размещался на двух colocation-серверах ...
2) Он используется.

Где об этом сказано?

3) БД на отдельном сервере, само собой.

Я подразумевал, что БД используется только в конфигурации Master-Master.
Где об этом сказано?

Насколько я понимаю, teraflops докладывал о том, как флопс нам помог, а не в целом о том как и чем мы живем:)

Я подразумевал, что БД используется только в конфигурации Master-Master.

Мастер-мастер? Не понял о чем речь. БД одна плюс hot standby.
Будьте добры, более подробно привести аргументы.

В случае, если у вас есть 2 dedicated сервера (каждый со своим сторейджем) вы конечно можете попробовать организовать горячий резерв, настроив репликацию БД и подняв фейловер для каждого сервиса. Но это повлечет расходы на работу админа, необходимость постоянного контроля и периодических проверок работоспособности. И все равно не будет гарантий, что в час X все отработает так, как нужно.

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

Также непонятен, в чем экономический эффект, если арендованные сервера и VPS в Хетзнер, ОВХ и Онлайн.net довольно доступные по цене.

Что касается Hetzner. Если речь об их бюджетном железе, то оно консьюмерское (Core i7, non-ECC RAM) и использовать его для подобных задач себе дороже. Если выбирать и конфигурировать Dell'ы, то в итоге прайс будет сопоставим. При этом вы получите серверы расположенные в Европе (то бишь пинг будет десятки миллисекунд) и у вас не будет возможности платить за услуги с юридического лица (что актуально, когда ежемесячный счет за хостинг — несколько десятков тысяч рублей). Вывод — вариант так себе.
Вот насчет hetzner вы не правы. Линейка PX (с ECC) начинается с вполне себе бюджетных 60 евро в месяц, платить с юр. лица возможно.
Живя у них просто нужно уметь масштабироваться горизонтально, мгновенно выключать серверы и ставить под нагрузку новые. А мигрирующие ip в этом сильно помогут ;)
Железный сервер мейнстримовых конфигов они ставят существующим клиентам примерно за 5-10 минут (ну то есть они ничего не ставят, кнопку в биллинге жмут). Ну и пару железок про запас держать цены вполне себе позволяют.
Переналивка сервера — вопрос 10 минут, свои .tar.gz накатывать можно. Для совсем сурового ынтерпрайза, наверное, не подойдет, но для сервисов, описанных в посте выше, более чем.

Разве что с пингами ничего не сделаешь, да.

Вопрос только в том, что правильно построенная инфраструктура в hetzner ненамного дешевле той, которую обычно делают на «взрослых» серверах или в облаках. Только там бонусом добавляется отказоустойчивость (если у админа руки есть). У самих немцев всё по-взрослому — независимые каналы, гермозоны (RZ) в разных городах, толстенные каналы между ними.
В общем, есть где развернуться, если в вопросах отказоустойчивости плаваешь давно.
Если смотреть на требования к конфигу в данной конкретной задаче (72+ GB RAM, 2TB быстрого диска), то речь может идти либо о PX120, либо PX120-SSD c кастомной конфигурацией дисков. Итоговый прайс за 2 сервера — в районе 25 тысяч рублей, плюс что-то нужно будет делать с каналом/трафиком наверное. Так что не могу сказать о существенной разнице.

По поводу юриков — у них есть российское юр. лицо то бишь?
Если смотреть на требования к конфигу в данной конкретной задаче (72+ GB RAM, 2TB быстрого диска), то речь может идти либо о PX120, либо PX120-SSD c кастомной конфигурацией дисков.


Я же писал выше — ошибки проектирования. Два сервера аппликации (Java такая прожорливая) — им хватит серверов по 64ГБ памяти. Два сервера под БД, в зависимости от размеров баз, но думаю по 16ГБ с головой хватит.

плюс что-то нужно будет делать с каналом/трафиком наверное
У вас на графиках канал в пике 50Mbps, грубо говоря, вы всем сервисом уложитесь в лимит 10ТБ в месяц на сервер в Хетзнере.

По поводу юриков — у них есть российское юр. лицо то бишь?
Да. Чтоб меньше геморроя в бухгалтерии.
Я же писал выше — ошибки проектирования. Два сервера аппликации (Java такая прожорливая) — им хватит серверов по 64ГБ памяти. Два сервера под БД, в зависимости от размеров баз, но думаю по 16ГБ с головой хватит.

Так я не понял. Вы сравниваете стоимость инфраструктуры на флопсе с неправильной архитектурой (72GB) со стоимостью в хетцнере с правильной, да?

У вас на графиках канал в пике 50Mbps, грубо говоря, вы всем сервисом уложитесь в лимит 10ТБ в месяц на сервер в Хетзнере.

Суммарно по всем серверам трафик 200-250 Mbps. Графики приведены не все, а только те, что относятся к описанным в статье кейсам.
Суммарно по всем серверам трафик 200-250 Mbps. Графики приведены не все, а только те, что относятся к описанным в статье кейсам.


Это очень некорректное сравнение.
Вы, походу, решили менять исходные данные во время комментирования статьи?
Приложите графики с легендой и не только суточные, но и недельные. :)

> Если смотреть на требования к конфигу в данной конкретной задаче
Вот я и говорю, «уметь масштабироваться горизонтально».
Вообще сложно представить задачу, когда нужно _столько_ памяти. Для базы понятно, а для фронта — спорный вопрос. Как минимум, любой stateless-frontend хорошо масштабируется. Если так — то значит можно обойтись большим количеством с меньшим кол-вом памяти. Если же фронт хочет 72 Га памяти только на то чтобы запуститься… нууу… эээ… кхм.
Но опять же, я говорил что сильно дешевле не будет. Будет больше железа за чуть меньшие деньги. А на этом сыграть проще, чем на двух тазиках очень мощных.

По поводу сети — 200 mbps гарантированного канала, в целом оно держится в районе четырех сотен постоянно (сеть на бриджах мне тюнить лень). Трафика — 20Т. Это на каждую железку (само собой + «локальная» сеть бесплатная).

Юр. лицо для оплаты с российского юр. лица не требуется, если речь не про гос. организацию. Все уже давно списывают это на «другие расходы» или «услуги связи» и платят корпоративной картой. Там есть вполне законные схемы (как бы они не отвалились в 2016-м, но пока всё хорошо).

Ну а так, давайте упарываться и ставить 4хPX-120-ssd с 4мя ssd по 480 Га. Получается ровно 1 килоевро. 2xРезерверирование. Это если вообще не думать =) А если подумать — то можно обойтись какими-нибудь EX40-SSD на фронтах. 10 таких обойдутся в 22 тысячи рублей. +под базу 2 вышеописанных с 4-мя ssd — +500 Евро. Ну окей, наверное понадобится ещё один storage server. +6 тысяч сверху за SX130 для бэкапов.
Получаем 56 тысяч, 12 боевых серверов, 1 для бэкапов, 2.5 гигабита гарантированного канала в сумме, 260 ТБ трафика, пару elastic-ip, которые можно мотать по всей Германии, 576 Га памяти, 104 потока HT, 4.5 TB SSD в raid1, что-то в районе 20ТБ для бэкапов.

Вот если код написан хреново, приложение не масштабируется, то да — несите ваши деньги.
Да, бэкапы само собой в OVH хранить придется, но цены там те же за storage-железки.
Вообще сложно представить задачу, когда нужно _столько_ памяти.

72Гб памяти — это суммарная потребность в памяти вообще всех приложений (включая несколько Windows-машин). Не беремся судить, насколько это потребление оптимизируемо, т.к. это лучше известно самому клиенту. Но предполагаем, что раз клиент этим не занимается — наверное стоимость оптимизаций будет для него выше, чем переплата.

Юр. лицо для оплаты с российского юр. лица не требуется, если речь не про гос. организацию. Все уже давно списывают это на «другие расходы» или «услуги связи» и платят корпоративной картой. Там есть вполне законные схемы (как бы они не отвалились в 2016-м, но пока всё хорошо).

Описанная схема работает только для УСН/ИП 6%.
Для всех остальных есть два варианта. Либо ваша компания заводит счет в евро и платит зарубежному контрагенту безналом (что сопровождается валютным контролем, высокими комиссиями за перевод, абоненткой за валютный счет итд), либо вы не имеете права списать данные средства в расходы.
> Описанная схема работает только для УСН/ИП 6%.
Хым. Не знал. У меня пока знакомые в ООО всегда справлялись и с ovh, и c hetzner.

Ну ладно. Особенности русского e-Бизнеса (electronic то-есть). Вам-то как раз беспокоиться не о чем, в 2016-м летом к вам должны толпой повалить с digitalocean всякие магазины. С hetzner-а (с железа то бишь, а не vds), народ повалит в tehnodom, видимо.
Что касается Hetzner. Если речь об их бюджетном железе, то оно консьюмерское (Core i7, non-ECC RAM) и использовать его для подобных задач себе дороже.
Опять голословные утверждения. Подсчитайте на досуге вероятность проявление ошибки в non-ECC памяти, на какие приложения это может повлиять, а также про методы контроля данных как в системе, так и в приложениях.

Если выбирать и конфигурировать Dell'ы, то в итоге прайс будет сопоставим.
В OVH и Online.net используется брендовое железо, на средних и выше средних — память ECC.

При этом вы получите серверы расположенные в Европе (то бишь пинг будет десятки миллисекунд)
У вас не игровой сервис, а сервис приложений, для которых лишних 20-30 мс не критично. В крайнем случае, поставите пару VPS фронтендов в РФ и Украине.

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

По грубым прикидкам аренда этого сервиса (нагрузка чуть выше обычного сервера хостинга ) в Европе будет не дороже 15k рублей. Эту сумму можно оплатить или как физ. лицо или через 10-к посредников (+20%-40%) как юр лицо.

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

Голословные утверждения — это ваши мифы о том, что консьюмерское железо равноценно серверному по надежности. Разница ECC и не-ECC это один из многих факторов отличия. У консьюмерского нет горячего резервирования БП, никто не тестировал его на возможность бесперебойной круглосуточной работы, неизвестно, что там будет с охлаждением при многочасовой «прожарке» CPU, отсутствует IPMI… Можно найти много отзывов на предмет hetzner'овского low-end железа, в том числе от хостеров, которые продавали на таком оборудовании VDS и в итоге отказывались от этой практики именно по причине непредсказуемости.

По грубым прикидкам аренда этого сервиса (нагрузка чуть выше обычного сервера хостинга ) в Европе будет не дороже 15k рублей. Эту сумму можно оплатить или как физ. лицо или через 10-к посредников (+20%-40%) как юр лицо.

Дороже. См. выше.
Голословные утверждения — это ваши мифы о том, что консьюмерское железо равноценно серверному по надежности.
Разница ECC и не-ECC это один из многих факторов отличия. У консьюмерского нет горячего резервирования БП, никто не тестировал его на возможность бесперебойной круглосуточной работы, неизвестно, что там будет с охлаждением при многочасовой «прожарке» CPU, отсутствует IPMI…

1) Подсчитайте на досуге вероятность проявление ошибки в non-ECC памяти, на какие приложения это может повлиять, а также про методы контроля данных как в системе, так и в приложениях.
2) Зачем горячее резервирование электропитания на сервере? У вас проблемы с электропитанием? у вас часто выходят из строя БП?
3) Просторный десктопный корпус охлаждается проще, к тому же там Интелы, а не АМД.
4) Процессоры давно работают годами при нормальных БП и граничных температурных значениях.
5) IPMI нужно для инсталла windows? через панель хетзнера можно поставить любой Линукс, FreeBSD, в крайнем случае, использовать rescue панель.
6) У вас еще не было странностей с аппаратными RAID контроллерами? Смогли вытащить данные с дисков при смерти RAID контроллеров? Непонятные ситуации с записью данными? Вроде, они уже записаны, но на диске их нет?

Можно найти много отзывов на предмет hetzner'овского low-end железа, в том числе от хостеров, которые продавали на таком оборудовании VDS и в итоге отказывались от этой практики именно по причине непредсказуемости.

Это проблемы клиентов, которые не умеют считать IOps чтения и записи и которые не умеют ограничивать IOps клиентских виртуалок. ну не могут грин винты дать больше 200 IOps :) Зато в других дата-центрах есть сервера с SSD и довольно неплохими ценами.
Подсчитайте на досуге вероятность проявление ошибки в non-ECC памяти, на какие приложения это может повлиять, а также про методы контроля данных как в системе, так и в приложениях.

ECC не только исправляет ошибки, но и позволяет обнаруживать бракованные/склонные к ошибкам планки. Имея не-ECC память, вы фактически не имеете средств диагностики таких ошибок. При этом симпоматика у них такова, что причина (битая планка памяти) будет ясна далеко не на первом фейле. Ну а когда поймете, что виновата память — придется гонять мемори-тесты, чтобы понять какая именно планка фейлит.

Зачем горячее резервирование электропитания на сервере? У вас проблемы с электропитанием? у вас часто выходят из строя БП?

Во-первых да, БП горят, это нормально. Во-вторых, что не менее важно, качественные ДЦ предоставляют две независимые линии питания, и даже если по одному лучу питание пропадает, оборудование продолжает работать.

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

Спасибо, приятно слышать :)
Не понял, где тут хайлоад, и где тут облако в понимании облака. Просто поменялось место расположения виртуалок.
Не понял, где тут хайлоад

Как мы отметили в начале статьи, все относительно и данный проект не претендует на рекорды. Тем не менее, решаемая клиентом проблема ненамного слабее C10K, да и характерные для хайлоада проблемы уже встречаются.

и где тут облако в понимании облака. Просто поменялось место расположения виртуалок.

Рестарт машины при вылете хоста (High Availability), возможность за секунды создавать/клонировать/удалять виртуальные серверы, возможность подстроить конфиг без рестарта сервера, приватная локальная сеть — это все про облака.
3. В отличие от DigitalOcean и Linode локальная сеть FLOPS приватна и может быть использована для организации доверенного окружения.

не знаю как у Linode но у DigitalOcean можно настроить приватную сеть
У них т.н. shared private network, которая не изолирована между клиентами. По большому счету единственное, чем она может быть полезна — это возможностью бесплатно гонять трафик между машинами. Можно конечно вооружиться iptables и самоизолироваться, но полноценной локальной сети получить все равно не удастся.
С помощью чего у вас собираются данные мониторинга с серверов и в какой БД они хранятся?
Мониторинг собственный и опирается в основном на сырые метрики процессов/системных величин/интерфейсов. Хранится статистика в Oracle NoSQL — распределенной KV базе данных.
Only those users with full accounts are able to leave comments. Log in, please.