Блог Яндекса для вебмастеров

Яндекс.Облако открыто для всех: наш опыт построения инфраструктуры

Пост в архиве.

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

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

Вот как выглядит оптимальная конфигурация:

Инфраструктура веб-сервиса на базе платформы Яндекс.Облако.

Опыт 1. Новая инфраструктура в параллель со старой

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

Опыт 2. Конфигурация должна быть масштабируемой

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

Опыт 3. Фронтенд- и бэкенд-сервера + балансировщик

О том, что сайт живёт на сервере, кажется, известно уже практически всем. Но вот о том, что бывают фронтенд- и бэкенд-сервера, даже сейчас задумываются очень немногие. Когда пользователь заходит на ваш сервис, в его браузер или WebView необходимо передать HTML-документ с интерфейсом вашего сервиса. Обычно за формирование и отправку HTML как раз отвечает фронтенд-сервер. Чаще всего он представляет из себя Node.js-приложение, но в простейших случаях может содержать и статическую веб-страницу. Если сервис не требует серьёзной бизнес-логики, то весь спектр взаимодействия процессов внутри проекта допустимо поднять на этом же сервере. В противном случае выделяют отдельный бэкенд-сервер для обработки данных и их отправки на фронтенд — например, в формате JSON.

Передача данных между клиентом, фронтенд- и бэкенд-серверами может регулироваться за счёт балансировщиков нагрузки. Балансировщики несложно запустить на программном уровне — достаточно взять за основу HAProxy, nginx или другое ПО. Балансировщики вкупе с правильной инфраструктурой фронтенд- и бэкенд-серверов помогут защитить проект от внезапных возрастаний нагрузки, перегрузок серверов и «неответов». 

Опыт 4. Работа с файлами через совместимое хранилище

На рынке существует несколько хорошо зарекомендовавших себя решений для размещения данных в облаке. Поэтому при выборе убедитесь, что хранилище поддерживает работу с наиболее распространёнными библиотеками, чтобы потом можно было безболезненно сменить одно хранилище на другое. Например, в Amazon Web Services реализовано хранилище под названием S3, которое совместимо с множеством API и SDK. Под него создана масса полезных программ и фреймворков. Их же можно использовать и при работе с Яндекс.Облаком, так как у него S3-совместимое объектное хранилище. Кроме того, оно обладает свойством отказоустойчивости и обеспечивает постоянный доступ к файлам по прямым ссылкам. На такие детали всегда стоит обращать внимание. 

Опыт 5. Защита от сетевых атак и нештатных ситуаций

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

Отказоустойчивость хранилища ещё не гарантирует защиту от сбоев для всего сервиса. Чтобы обезопасить все компоненты, можно дополнительно:
• Продублировать каждую из перечисленных машин в несколько дата-центров (зон доступности).
• Настроить репликацию облачной БД между двумя или тремя зонами доступности.

Мы постарались переложить наш опыт не только в теоретическое описание в этом тексте, но и в инструментарий Облака. Оно содержит все перечисленные сервисы: виртуальные машины для хостинга серверов, объектное хранилище и сервис контроля за СУБД.

Верим, что наш опыт поможет вам ещё быстрее развивать ваши проекты!
С вами в Облаке

P. S. Подписывайтесь на наши каналы
Блог Яндекса для Вебмастеров
Канал Яндекса о продвижении сайтов на YouTube
Канал для владельцев сайтов в Яндекс.Дзене

37 комментариев
Все вроде бы очень круто, но, дорогой Яндекс забывает, что он российский поисковик, официальный язык у нас русский. Следовательно, интерфэйс должен быть на русском языке. 
veronika bj,
+. тоже хотел написать)
sale@mos-tentorium.ru
11 декабря 2018, 12:31
+100500
Вы очень далеко спрятали тарифы: https://cloud.yandex.ru/docs/compute/pricing
С трудом нашел.
По моим подсчетам наш текущий VDS-сервер при переносе к вам будет обходится в 1800-2000 р в месяц, против 2600 сейчас. 
Но это цена сейчас, пока открыто тестирование. Но что-то мне подсказывает, что когда тестирование закончится, цена будет существенно выше. Выгода почти нулевая. 
Но если сравнивать с зарубежными конкурентами, то Яндексу большой + 
Доставка воды в СПб
7 декабря 2018, 17:04
А как свой сайт разместить на Вашем хостинге? Путем создания ВМ?
К сожалению, так и не понял как можно разместить свой сайт на хостинге Яндекс Облако
Елена Першина
Сотрудник Яндекса9 декабря 2018, 12:46
serafimraw,
чего не хватило для понимания? Мы будем рады тут помочь и доработать документацию, но нужно понимать подробнее, что именно нам править. 
Елена Першина
Сотрудник Яндекса9 декабря 2018, 13:20
serafimraw,
Вот это видели: https://cloud.yandex.ru/docs/solutions/web/lamp-lemp ? 
Как разместить сайт не понятно и по ценам не понятно.
Елена Першина
Сотрудник Яндекса9 декабря 2018, 13:20
Роман,
А вот это смотрели: https://cloud.yandex.ru/docs/solutions/web/lamp-lemp 
Если да, то что именно не понятно? 
Елена Першина,
Елена со всем уважением, НО инструкция для гиков, коими владельцы сайтами в большинстве своём не являются. У людей есть потребность в хостинге от Яндекс, и новость их заинтересовала, НО они не могут сделать то что например можно сделать на обычном виртуальном хостинге: зарегистрироваться - добавить домен - создать сайт - привязать домен к сайту пополнить счёт и наслаждаться быстрой работой Яндекс хостинга. Вместо этого Вы им даёте документацию, в которой разберется только ну как минимум тот кто в теме, рядовому пользователю это не понять. Ну это при условии конечно если я правильно понял и Облако Яндекса для всех пользователей а не для разработчиков, если для разработчиков то думаю все кому нужно разберутся.
Елена Першина
Сотрудник Яндекса10 декабря 2018, 17:45
Nagasaki,
спасибо за обратную связь, обсудим с документаторами, как упросить вход и использование. И отдельное спасибо за честный и развернутый комментарий. 
Обновлено 10 декабря 2018, 17:45
Елена Першина,
Рад что доходчиво получилось донести того что требует народ :) Пользуясь случаем, Елена если как то можете повлияйте пожалуйста как то на рассмотрение тикета -[Ticket#18120108050005587] скоро вторая неделя пойдёт как жду ответа .. а его всё нет и нет .. :)
Елена Першина
Сотрудник Яндекса10 декабря 2018, 19:54
Nagasaki,
хорошо, а тема вопроса хотя бы какая? Чтобы искать было удобнее? 
Елена Першина,
Тема вопроса - "Позиции сайта по запросам понизились". Понизились мягко говоря.. Предыстория такая, информационный сайт, молодой ~ 2.5 месяца. После индексации инструмент - "Статистика поисковых запросов" в панели вебмастера начал показывать медленный рост показов, всё стандартно и нормально для молодого сайта. Для сайта так же отслеживаются позиции по запросам, всего их примерно 2к (тут и длинные много словники, и низкочастотные запросы и.т.п). После примерно ~ 27 ноября, сайт потерял все позиции, всё махом улетело за топ 100, абсолютно всё (к тому моменту до падения из 2к запросов которые я проверяю в топ 100 уже было примерно 200) что подтверждает инструмент - "Статистика поисковых запросов", показы упали до 0. В панели вебмастера всё чисто, не каких предупреждений и.т.п страницы проиндексированы и не куда не выпадали, сайт был доступен (на этом хостинге присутствуют ещё сайты с ними всё в порядке). Ситуация не стандартная, явно сработал какой то автомат в алгоритме, вопрос в том насколько верно он сработал, т.к присутствует именно элемент не того что у сайта плохие позиции а сайт не ранжируеться вовсе..
Елена Першина
Сотрудник Яндекса11 декабря 2018, 12:20
Nagasaki,
нет у вас нарушений на сайт, нет проблем у алгоритма, проверила. Ранжируется так, как и должен.
"Елена если как то можете повлияйте пожалуйста как то на рассмотрение тикета -[Ticket#18120108050005587] скоро вторая неделя пойдёт как жду ответа .. а его всё нет и нет .. :)
Елена Першина
Сотрудник Яндекса10 декабря, 19:54
Nagasaki, хорошо, а тема вопроса хотя бы какая? Чтобы искать было удобнее?"


Очевидно, тикеты никто не читает. 
Обновлено 20 декабря 2018, 13:46
ooolanex,
Плюс специалист поиковика (!) не может найти тикет по его id))). 
Ребят, может кто на человечьем объяснить, что это,  какая польза для смертного вебмастера?
Елена Першина
Сотрудник Яндекса9 декабря 2018, 12:50
Амиль,
надежный хостинг для вашего сайта, например, 
Елена Першина,
 Все спрятано, надо очень долго искать. Вроде понятно. А вот с тарифами точно не понятно, вот простой сайт разместить 500-1000 хостов в сутки сколько обойдётся? Там надо вычитывать по формулам проще нельзя?
Нет бесплатного хостинга для маленьких сайтов без нагрузки(
Обновлено 9 декабря 2018, 13:33
Елена Першина
Сотрудник Яндекса9 декабря 2018, 21:32
Роман,
под хостами вы хиты имеете ввиду? 
Хостами облако странно мерить, обычно тут либо о хитах, либо о весе речь. 
Обновлено 9 декабря 2018, 21:32
Елена Першина,
Здравствуйте. Загляните в тикет Ticket#18120220445718436 уже наконец! В конце переписки есть мое сообщение - доказательство бага вашего алгоритма в отношении моего сайта, который длится уже более 2 месяцев!
Елена Першина
Сотрудник Яндекса11 декабря 2018, 12:21
Егор,
проверила, тут нет нарушений на сайт, нет проблем у алгоритма.
Елена Першина,
Я же скинул скрины, где явно видно, как позиции прыгают от 3 до 25 каждую проверку, а у конкурента вообще не меняются ни на 1! По России у сайта в среднем 25 место, а по любому городу 4, хотя сайт не имеет региональной принадлежности, и до бага, т.е. до 6 октября, был на 1 местах во всех регионах и странах.
Обновлено 11 декабря 2018, 15:11
Елена Першина,
В гугле у меня по этим запросам 2-3 место, в бинге 3, в маил.ру 2, а в я яндексе 25, и постояно прыгает! Действительно бага нет!!!
Елена Першина
Сотрудник Яндекса15 декабря 2018, 17:36
Егор,
прыжки позиций - нормальное явление. например, из-за этого:  https://webmaster.yandex.ru/blog/20999 
Елена Першина,
я уже понял, что на странице скрытый фильтр за переспам/переоптимизацию, о чем ваша поддержка за 2 месяца не сообщила, более того - всегда отвечала, что фильтров нет. Спасибо сторонним сервисам и форумам.
Обновлено 15 декабря 2018, 18:46
Елена Першина
Сотрудник Яндекса15 декабря 2018, 23:06
Егор,
у нас нет нарушений по страницам в Вебмастере, только общая формула ранжирования. Если страница плохо ранжируется из-за спамных текстов, то это не нарушение, это общее качество данной страницы. 
Елена Першина,
и как об этом должен узнать вебмастер? И сколько ждать возврата позиций после изменений на странице? Как вообще это отслеживать? Где хоть какие либо требования? Количество ключей на 1000 символов, длина текста, % воды? Угадай сам? Ну так вот я и написал по своему мнению хороший небольшой текст, с минимумом вхождений, который полтора года держал сайт на 1-ых местах, а потом выкинул в один ап на 20+ места. И как я должен угадать что там вдруг разонравилось вашему алгоритму, если сайт, черт побери, был в топе полтора года с этим текстом? Длина текста? Переоптимизация? Заспамленность? Бесполезность?


p.s. Я вижу десятки сайтов в топе с дичайшим переспамом, которые моей странице и не снились (по типу <strong>ключевое слово</strong> каждый абзац) но у них с качеством все ок, судя по тому, что они на 1-ых местах...

Просто для примера, сайт на 1 месте по главному вч запросу всей тематики (скачать кс 1.6) - http://cs16-go.ru. У меня другая тематика, поэтому это не мой конкурент, если что.

Дичайший переспам ключем "CS 1.6" по всей странице, в общей сложности 135 ключей на странице. Внизу, под основным блоком сайта, располагается тупо портянка на 7300 символов, а в последнем абзаце портянки идет вообще тупо перечисление ключевых слов! И такими сайтами весь топ10 забит. Но фильтр получаю я! Ну и как, еще расскажите мне про ваши супер алгоритмы? Позорище! 
Обновлено 16 декабря 2018, 01:52
Для чего вы в заголовке написали "Яндекс.Облако открыто для всех"?


Я смотрю сейчас в ваши тарифы: https://cloud.yandex.ru/docs/compute/pricing и понимаю, что они - точно "не для всех"
Много цифр, но.... зачем они мне? Мне надо понять, сколько будет стоить размещение сайта.
Я не знаю, какие мне нужны вычислительные ресурсы ВМ, какой мне нужен тип хранилища, какой будет объем исходящего трафика... ну и всё такое.

Видимо надо пробовать... ну ок...сейчас...
"Чтобы воспользоваться пробным периодом, создайте платежный аккаунт".....э.э.э.э.э..... вы серьёзно?Если я не напишу данные своей карты любимому Яндексу он не даст попробовать?


Возможно, что у вас крутой продукт и он придёт на смену буржуйским Amazon или Azure, но он - точно "не для всех"..
Елена Першина
Сотрудник Яндекса12 декабря 2018, 11:55
alexeysakhon,
спасибо за обратную связь, учтем её в наработках - сейчас как раз этот момент с командой обсуждаем. 
alexeysakhon,
да как бы все понятно. посмотрите статистику в своём хостинг аккаунте, либо у вашего текущего хостера запросите данные по нагрузке (ram, hdd/ssd, cpu и трафик) и создайте в Я.Облако ВМ с аналогичными параметрами. Либо, зафиксируйте текущие параметры сайта  по потреблению ram, hdd(ssd), cpu и трафик, посмотрите статистику по пиковой посещаемости и тем же яндекс-танком создайте аналогичную нагрузку на ваш проект, после чего сверьте изначальные параметры потребления ресурсов с текущими. Под последние параметры создайте ВМ. Про яндекс-танк я малость "переборщил", ем не каждый сможет воспользоваться. Можете просто сверить нагрузочную информацию по хостингу в панели управления хостинг-провайдера с информацией из статистики той же я.метрики по временам пиковой посещаемости.
Обновлено 17 декабря 2018, 22:40
А чем это лучше vps в digitalocean, где я могу делать всё что мне заблагорассудится по вполне демократическим тарифам? Как бы после 5-ти лет с ними раставаться неохота, а пилить проект для тестирования ваших облаков, х.з. надо ли.
очень мутно, тарифы спрятали. Приведите примеры. Например firstvds:
1 ядро
1G RAM
30 HDD+SSD (для загрузки используют SSD)
Цена 159р. 
Судя по приблизительным расчетом, тоже самое в Yandex Cloud 700-800 рублей.
И не ясно можно ли ограничить ресурсы принудительно. А то на сервер вдруг возрастет нагрузка и тебе  потом выставят счет на 2000$ ?