Дарудар — Облако В Подарок От Microsoft

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

На сайте вы можете найти все, что захотите – от повседневных и не очень обычных вещей до реальных.

коты в мешках .

Один из основателей сервиса Антон рассказывает о том, как работает сервис, на котором уже раздано более 3 миллионов подарков.

жестокий Каракулов.



Дарудар — облако в подарок от Microsoft

Дарудар — это настоящий высоконагруженный проект. Размещенный в облаке и использующий весь стек Linux, он может обрабатывать ~2,5 тысяч подарков и ~1,5 тысяч благодарностей, ~20 тысяч комментариев, ~40 тысяч уведомлений и ~4,5 тысяч файлов в день.

Подробности под катом.

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

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

— Широкие возможности интеграции: контейнеры Linux в Docker; наравне с создание приложений JavaScript, Python, .

NET, PHP, Java и Node.JS — И, конечно же, бэкенд для приложений для iOS, Android и Windows. Отсутствие необходимости изучать новые технологии или решения/инструменты в сочетании с выставлением счетов в режиме реального времени и масштабируемой аппаратной инфраструктурой, работающей по требованию, является краеугольным камнем, на котором стоят все современные облака, и Microsoft Azure, конечно, не является исключением.

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

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

И в случае с Microsoft есть еще Лазурный стек , позволяющий перенести модель разработки и развертывания приложений Azure в любой дата-центр или дата-центр.

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

О «почемуЭ» Мы, как и многие другие, получили грант от Microsoft по программе поддержки стартапов.

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

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

Наши предыдущие хостеры в свое время отлично справились, и ничего плохого о них сказать не могу, но из-за постоянного отсутствия полноценного сисадмина (у нас нет средств на его оплату) Облако заметно упростило вопросы, связанные именно с администрированием инфраструктуры.

Об архитектуре и технологиях У Дарудара полностью классический стек nix: nginx, php, mysql, memcached, sphinx. Всё встречает nginx, далее запрос идёт на php-бэкенд, который уже взаимодействует со всеми остальными внутренними и внешними сервисами проекта.

В настоящее время Azure использует облачные службы и виртуальные машины Ubuntu в одной сети.

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

восстановления/замены, а также планируется использовать для возможности дальнейшего горизонтального масштабирования сервисов проекта с помощью удобных инструментов платформы Azure Available Sets и Load Balancing set. В планах — перемещение медиа-хранилища в Azure Blob Storage, а также использование Azure Queue (мы тестируем).



Дарудар — облако в подарок от Microsoft

О стереотипах «Azure — это MS, а MS — это Windows» — такое сочетание тоже работало в моей голове.

И это было первое, что я проверил, зайдя в панель управления Azure. Все оказалось не так.

Azure оказался лояльным к Nix-системам, и мы ими пользуемся.

Мы никогда не использовали Win-сервера в Дарударе и не используем их вообще.

С технологией виртуализации Windows я знаком только понаслышке — в основном в Windows я использую для этого какую-нибудь VMware. В Azure, насколько я знаю, можно развернуть Win-сервер и подключиться к нему удалённо, как к «удалённому рабочему столу», но я лично с этим не работал и даже не пробовал (прим.

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

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

Минусы: — При изменении размера (изменении конфигурации) ВМ (виртуальной машины) она полностью перезагружается.

— Системный диск ВМ очень медленный, поэтому его нужно использовать осторожно или не использовать вообще.

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

— Структура облачных сервисов на первый взгляд не очевидна для понимания.

Плюсы: - Вы можете создавать и затем использовать свои собственные изображения (удобно для кластеризации и масштабирования).

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

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

- Возможность создания VPN. — Наличие инструментов для управления трафиком/нагрузкой (Azure Available Sets, Load Balancing Sets, DNS Traffic Manager).

Возможно, у Amazon или Google уже давно есть какие-то вещи, но я пока за ними перестал следить, но с Azure мы всем этим пользуемся и остались хорошие впечатления.

О стоимости Azure сейчас обходится нам \~140 тысяч рублей в месяц.

Нам этого хватит на 90%, так как для пиковых нагрузок этого все равно недостаточно.

Думаю окончательная стоимость полного обслуживания при нынешнем положении вещей составит около 160-180 тысяч.

По поводу нагрузки на "Дарудар" отвечу так: ~2,5 тыс подарков и ~1,5 тыс благодарностей в день ~20 тысяч комментариев в день ~40 тысяч уведомлений в день ~4,5 тыс.

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

Пробовать не стоит, потому что это модно и «сейчас все витает в облаках».

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

администратор.

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

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

Мы думаем о реализации.

2. Нужно решить вопрос с медиахранилищем.

В результате вам потребуется перейти на полноценное облачное решение (а это 100% вендорная блокировка).

3. Очень интересная вещь, о которой мы тоже планировали и упоминали выше — управление трафиком/нагрузкой (Azure Available Sets, Load Balancing Sets, DNS Traffic Manager).

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

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

Например, при вертикальном масштабировании экземпляра он все равно будет обнулен.

Бывает, что ВМ может зависнуть так, что ей ничего не поможет, кроме перезагрузки.

А иногда даже она может не помочь.

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

В связи с этим даже мысли помутнели: лучше перезагрузить, чем чинить.

Если после перезагрузки не исправится, лучше создать заново.

Обобщить После боли и страданий освоения платформы (были такие моменты) я теперь спокойно смотрю на будущее инфраструктуры проекта.

Появилась предсказуемость, что позволяет полностью заняться планированием и развитием проекта.

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

Теги: #microsoft #Nginx #Microsoft Azure #cloud #php #MySQL #azure #memcached #sphinx ##isvcloudstory #darudar
Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.