OVHcloud dedicated servers | Rise Limited Edition



Серверы Selected Rise bare metal теперь предлагаются по еще более выгодной цене и без платы за установку, предлагая идеальные хостинговые решения для ваших веб-сайтов и приложений.

Серверы Rise основаны на платформах Intel Xeon, что гарантирует вам высокую производительность. Все серверы Rise включают ряд функций, таких как пропускная способность 500 Мбит/с, пространство для хранения 500 ГБ и широкий спектр операционных систем.
www.ovh.ie/dedicated_servers/rise/

Rise-LE-1
Limited Quantity
From €52.24 ex. VAT/month
No stup fees (€49.99)
www.ovh.ie/dedicated_servers/rise/rise-limited-edition-1/

Rise-LE-2
Limited Quantity
From €61.74 ex. VAT/month
No setup fees (€59.99)
www.ovh.ie/dedicated_servers/rise/rise-limited-edition-2/

Просмотрите все цены на этот диапазон выделенных серверов OVHcloud
www.ovh.ie/dedicated_servers/rise/prices

Акция! Выделенные серверы i7-4790K (-20%)



Выделенные серверы на i7-4790K в Европе (FR) и Канаде доступны уже сейчас для заказа на ABCD.HOST

Прайс-лист

Установка сервера 1580р. (единоразовый платеж). Количество ограниченно.

Прайс-лист с актуальными ценами на все основные конфигурации выделенных серверов.

Сеть 500 Mbps, трафик безлимитный, Anti-DDoS, OS Linux,Windows Server 2012/2016, IPMI 1800₽-24H.

Для заказа создайте тикет в личном кабинете: panel.abcd.host/billmgr
Или пишите на почту: sales@abcd.host

abcd.host/ru/akcziya-vydelennye-servery-i7-4790k

Инфраструктура внутренних баз данных OVHcloud

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


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

В этой новой серии постов мы рассмотрим инфраструктуру внутренних реляционных баз данных OVHcloud. Этот первый пост посвящен инфраструктуре внутренних баз данных. В OVHcloud мы используем 3 основные СУБД (системы управления базами данных), PostgreSQL MariaDB и MySQL, каждая из которых опирается на одну кластерную архитектуру.

Но сначала, что такое кластер? Кластер — это группа узлов (физических или виртуальных), работающих вместе для предоставления службы SQL.

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

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

Каждый кластер состоит из 3 узлов, каждый из которых выполняет свою роль — основной, реплика и резервное копирование.

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



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

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


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

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

Это позволило нам автоматизировать его более эффективно и абстрагировать сложность различных программ.

Как вы уже, наверное, догадались, резервное копирование выполняется узлом резервного копирования. Этот узел является частью кластера, и на него синхронно реплицируются данные, но он не получает никакого запроса. Когда выполняется моментальный снимок, процесс СУБД останавливается, и снимок файловой системы берется и отправляется на сервер хранения за пределами кластера для архивирования и обеспечения отказоустойчивости. Для этой цели мы используем ZFS из-за его надежности и из-за дополнительной пропускной способности, которая снижает затраты на хранение, связанные с архивированием снимков.

Но главная причина наличия отдельного узла резервного копирования заключается в следующем: резервное копирование никак не влияет на кластер. Действительно, резервное копирование полной базы данных может оказать очень заметное влияние на производительность (блокировки, потребление ресурсов ЦП и ОЗУ и т. Д.), И мы не хотим этого делать на производственных узлах.

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



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

На этом мы завершаем обзор внутренней инфраструктуры базы данных OVHcloud, и вы готовы к следующему посту, посвященному репликации. Будьте на связи!

i7-4790k - RE RE RE

В очередной раз, случайно, или специально, акция тарифы — стали доступны для заказа в API :)

Спешим заказать бомж дедик с дисками от 2015 года. (по часам, по износу даже 10% не прошло там обычно)

i7-4790k / 16 / 240 SSD — 2300р/мес +1600р активация +1600р 16 IP разово
i7-4790k / 32 / 240 SSD — 3100р/мес +1600р активация +1600р 16 IP разово
Локации

Чтобы заказать нада написать тикет тут, вручную.
bill.ovh/billmgr

Облачные игры: союзники Blade с OVH




Два французских чемпиона по облачным технологиям только что создали партнерство. Blade, который разрабатывает игровой сервис для виртуальных ПК в облаке, объединяет усилия с OVHcloud, чтобы встретиться с гигантами индустрии облачных игр в США. В рамках этого альянса служба Blade Shadow будет использовать серверы OVH в основном для зарубежных заказчиков. Кроме того, Blade привлекла 30 миллионов евро для развертывания своего сервиса облачных игр. Интервью с Эммануэлем Фрейндом, соучредителем Blade. — Tech & Co, во вторник, 29 октября 2019 года, представленный Себастьеном Куасноном на BFM Business.

Tech & Co — это место встречи цифровых новостей о BFM Business. Себастьян Куаснон, его обозреватели и его гости комментируют основные тенденции, которые встряхивают игроков в экономике и технологиях.

IOT: отправка данных в серию метрик OVHcloud от Arduino



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



После удаления углей, я должен расставить приоритеты для посуды, которую я хочу приготовить, так как температура падает:
  • Пицца: 280 C
  • Хлеб: 250 С
  • Рисовый пудинг: 180 C
  • Безе: 100 C
Я построил первую версию термометра с Arduino, чтобы иметь возможность проверить температуру. Этот термометр, изготовленный из термопары (то есть датчика, который измеряет высокие температуры), отображает внутреннюю температуру на небольшом ЖК-экране.



Следующим шагом было предвидеть, когда начинать посуду в духовку. Наблюдать за падением температуры в течение нескольких часов не было хорошей идеей. Мне нужна была тепловая диаграмма моей духовки! Тепловая диаграмма — это просто диаграмма температуры за определенный период времени. Но записывать температуру на бумаге каждые десять минут… подождите… это будет длиться более 30 часов.

Пожалуйста, дайте мне спать!

Это требует некоторой автоматизации. К счастью, у OVHcloud есть решение: Metrics Data Platform: www.ovh.com/fr/data-platforms/metrics/

Аппаратное обеспечение
Цель проекта — подключить датчик к Arduino, который будет отправлять данные на платформу данных OVHcloud Metrics (https://www.ovh.com/fr/data-platforms/metrics/) через сеть. По сути, Arduino будет использовать локальную сеть Wi-Fi для передачи данных о температуре на серверы OVHcloud.

Вы знаете ESP8266? Это недорогой (менее 2 €!) Wi-Fi микрочип с полным стеком TCP / IP и возможностью микроконтроллера.

Функциональная схема ESP8266


Реализация: Wemos
ESP8266 не так прост в использовании:

Должен питаться от 3,3 В (не слишком много, иначе он сгорит)
Нет USB


Вот почему для нас лучше использовать решение, которое реализует ESP8266. Вот этот Вемос!
  • Питание от 5 В (6 В до сих пор в порядке)
  • USB для последовательной связи (для отладки)
  • Может быть запрограммирован через USB
  • Может быть запрограммирован с Arduino IDE
  • Стоит менее 3 €
Подготовьте вашу Arduino IDE
Установите интегрированную среду разработки


Прежде всего, вам нужно установить Arduino IDE. Это бесплатно и доступно для любой платформы (Mac, Windows, Linux). Перейдите по адресу www.arduino.cc/en/main/software и загрузите версию, соответствующую вашей платформе. На момент написания текущей версии 1.8.10.

Дополнительная конфигурация для ESP8266
Когда вы устанавливаете Arduino IDE, он сможет программировать только официальные Arduinos. Давайте добавим прошивку и библиотеки для ESP8266


Запустите Arduino и откройте окно «Настройки» («Файл»> «Настройки»).

Введите arduino.esp8266.com/stable/package_esp8266com_index.json в поле «Дополнительные URL-адреса менеджера доски объявлений». Вы можете добавить несколько URL, разделяя их запятыми.


Теперь откройте «Диспетчер плат» в меню «Инструменты»> «Плата» и установите платформу esp8266 (не забудьте выбрать плату ESP8266 в меню «Инструменты> Плата» после установки).

Теперь вы готовы!

Заказать платформу данных метрик


Перейдите на веб-сайт Платформы данных OVHcloud Metrics: www.ovh.com/fr/data-platforms/metrics/. Нажмите на бесплатную пробную версию и завершите ваш заказ. Если у вас нет учетной записи, просто создайте ее. В этом испытании у вас будет 12 метрик (то есть 12 наборов записей). В этом примере мы будем использовать только один.

Получить свой токен

Перейдите в панель управления OVH: www.ovh.com/manager/cloud/#/. На левой панели вы должны иметь метрики и новый сервис внутри.

На вкладке «Токены» вы можете скопировать токен записи. Оставь, как нам понадобится позже.


Обратите внимание, что для настройки Grafana вам понадобится токен чтения.

Получить хост платформы Metrics Data


Хост вашей Metrics Data Platform указан в описании вашей услуги. На вкладке «Платформы» скопируйте хост opentsdb. Оставь, как нам понадобится позже.

Глубже в программу
Теперь давайте посмотрим на пример. Вот код, который отправляет статические данные в платформу данных OVHcloud Metrics. Вы можете использовать его с вашим датчиком. Вы просто должны закодировать меру датчика. При запуске Wemos будет:

Попробуй подключить к тебе сеть wifi
В случае успеха отправьте данные на платформу данных OVHcloud Metrics.
Весь исходный код доступен на моем github: github.com/landru29/ovh_metrics_wemos

Есть шесть основных файлов:
  • ovh_metrics_wemos.ino: основной файл
  • wifi.cpp: класс, реализующий процесс подключения к wifi через WPS (Wifi Protected Setup)
  • wifi.h: заголовочный файл для wifi
  • metrics.cpp: класс, который отправляет данные метрик в OVHcloud Metrics Data Platform через HTTPS
  • metrics.h: заголовочный файл для метрик
  • config.h.sample: модель для создания вашего файла конфигурации (см. ниже)

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

Скопируйте config.h.sample в config.h
Скопируйте токен записи, который вы получили в пункте 5.1 (#define TOKEN «xxxxxx»)
Скопируйте хост, который вы получили в пункте 5.2 (#define HOST «xxxxxx»)
Получить отпечаток сертификата
Поскольку Wemos будет запрашивать через HTTPS, нам понадобится отпечаток сертификата. Вам понадобится хост, который вы только что выбрали на вкладке «Платформы», а затем:

Пользователи Linux
Просто запустите этот маленький скрипт:
HOST=opentsdb.gra1.metrics.ovh.net; echo | openssl s_client -showcerts -servername ${HOST} -connect ${HOST}:443 2>/dev/null | openssl x509 -noout -fingerprint -sha1 -inform pem | sed -e "s/.*=//g" | sed -e "s/\:/ /g"

Скопируйте результат в ваш config.h (#define FINGERPRINT «xx xx ..»).

Пользователи MAC
Просто запустите этот маленький скрипт:
HOST=opentsdb.gra1.metrics.ovh.net; echo | openssl s_client -showcerts -servername ${HOST} -connect ${HOST}:443 2>/dev/null | openssl x509 -noout -fingerprint -sha1 -inform pem | sed -e "s/.*=//g" | sed -e "s/\:/ /g"

Скопируйте результат в ваш config.h (#define FINGERPRINT «xx xx ..»).

Пользователи Windows
В вашем браузере перейдите на opentsdb.gra1.metrics.ovh.net. Нажмите на замок рядом с URL, чтобы отобразить отпечаток сертификата. Замените все символы ":" одним пробелом.

Скомпилируйте проект и загрузите его на Wemos
Откройте файл .ino в IDE Arduino (у вас должно быть шесть вкладок в проекте)
Подключите Wemos к вашему компьютеру
Выберите порт из Сервис> Порт
В верхнем левом углу нажмите на стрелку, чтобы загрузить программу
После загрузки вы можете открыть последовательный монитор: Инструменты> Последовательный монитор
Прямо сейчас программа должна выйти из строя, так как Wemos не сможет подключиться к вашей сети Wi-Fi.

Запустите программу
Как мы уже видели, при первом запуске происходит сбой. Это потому, что вам нужно установить WPS-соединение, поэтому в зависимости от вашего интернет-модема вам нужно будет запустить WPS-транзакцию. Это может быть физическая кнопка на модеме или программная операция, запускаемая на консоли (https://en.wikipedia.org/wiki/Wi-Fi_Protected_Setup).

Когда процесс запускается на стороне модема, у вас есть что-то около 30 секунд для питания Wemos.

Подключите свой Wemos через USB => программа работает
Выберите порт из меню «Инструменты»> «Порт» (возможно, он изменился)
Откройте последовательный монитор: Инструменты> Последовательный монитор
Теперь вы можете следить за процессом.

Wi-Fi соединение
В последовательном мониторе (настройте битрейт на 9600) вы должны получить:

Попробуйте подключиться
Try to connect
 
WPS config start
Trying to connect to <your modem> with saved config ...|SUCCESS
IP address: 192.168.xx.xx


Если соединение Wi-Fi было успешным, последовательная консоль должна отображать локальный IP-адрес (192.168.xx.xx), в противном случае это не удалось. Попробуйте еще раз, запустив WPS на вашем модеме и перезапустив Wemos (отключите и снова подключите его).

Отправка данных в платформу данных OVHcloud Metrics
Теперь Wemos размещает запрос на сервере OVHcloud. Последовательная консоль показывает вам JSON, который она отправит:
------------------------------------------------
POST opentsdb.gra1.metrics.ovh.net/api/put
[{"metric": "universe","value":42,"tags":{}}]
------------------------------------------------
beginResult: 0
http: 204
response: xxxx


Если beginResult отрицательный, соединение с сервером OVHcloud не удалось. Это может означать, что отпечаток пальца не так.

Если http не 2xx (это должно быть 204), сервер не может обработать ваш запрос. Это может означать, что ЖЕТОН неправильный.

У тебя есть 204? Большой! Это успех. Давайте проверим это на Графане…

Настроить Графана


Перейдите в OVHcloud Графана: grafana.metrics.ovh.net/login. Войдите в свою учетную запись OVHcloud.

Настройте источник данных
Нажмите «Добавить источник данных».



Имя: выберите один
Тип: OpenTSDB
URL: https: // <хост, который вы получили от своего менеджера (см. Ниже)>
Доступ: прямой
Проверьте «Базовый Аут»
Пользователь: metrics
Пароль: <прочитать токен у вашего менеджера (см. Ниже)>
Нажмите на кнопку «Добавить»…
… и сохранить его.

Создайте свой первый график
Вернитесь на grafana.metrics.ovh.net/ и нажмите «Новая панель».




Выберите свою метрику в поле «имя метрики». Программное обеспечение должно предлагать имя юниверса (имя, указанное в программе Arduino). Если это не так, это означает, что метрики были неправильно отправлены Wemos. Закройте панель «Редактировать» (нажмите крестик справа) и сохраните свою конфигурацию (в верхнем левом углу окна).

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

Между 11:05 и 11:10 наблюдается шаг около 85 ° C. Кажется, это была влажность сушащейся духовки.
Затем происходит падение температуры, поэтому я добавил еще дров в духовку (то есть ввел холодные продукты).
Около 11:20 склон светлее, и я понятия не имею, почему. Огонь недостаточно сильный? Влага глубже в кирпичах?


Падение температуры
В этот момент я переместил все угли в заднюю часть духовки и поместил датчик в место, где горел огонь. Вот почему график начинается при 400 ° C.

Падение температуры выглядит примерно так: F (t) = A / t
Примерно в 15:40 я поменял блок питания телефона, подключенного к источнику питания на 230 В, на автомобильный аккумулятор с регулятором напряжения (что казалось дерьмовым)
Температура окружающей среды довольно высокая с 15:00 до 17:00. Был солнечный день, поэтому солнце нагревало цепь.

www.ovh.com/blog/iot-pushing-data-to-ovhcloud-metrics-timeseries-from-arduino/

Как работает удаленная защита?



К сожалению, сейчас Anti-DDoS защита от OVH не справляется с новыми атаками L4-L7.

Например внутри сети OVH VAC не работает, и любой может положить сервер с 1 Гбит сетью двумя серверам по 1 Гбит. От такого спастись почти невозможно — атака L4, без payload. А создать такую атаку может любой школьник, для такой атаки хватит и hping3.

Или как многие знают OVH VAC не фильтрует L7 атаки, поэтому ваш сервер смогут положить банально мощными игровыми ботами, пример такой атаки на нашего клиента с сервером Minecraft —

80 тысяч ботов в секунду, и это с срезанным 70% трафика! Сервер стоял у нас, понятное дело он не заметил такой атаки, но для обычного дедика на OVH хватает 10-20 тысяч ботов в секунду, чтобы он перестал принимать новые соединения.

Пример атаки на мощный сервер с процессором Intel Xeon W-2145, 10гбит сетью:

Включенный VAC, жесткие лимиты в Iptables, настроенный sysclt не помогли, сервер упал.
Ещё OVH пропускают до 20 SYN пакетов в секунду с одного айпи, и можно положить сервер с небольшого ботнета в ~8000 устройств, банально SYN атакой.

Это только примеры некоторых атак, которые применяют, на самом деле их намного больше, поэтому мы создали WAF.OVH — не просто мощные VPS-сервера, но и отличная защита от DDoS атак.

Как подключить защиту?

У нас есть разные тарифы для удаленной защиты TCP сервисов, начиная с 399 рублей в месяц, почти по цене IP! За такую сумму вы получаете — 50мбит/с трафик, 10Гбит/с порт, и отличную защиту.

Сейчас сервер защиты располагается в Германии, OVH, поэтому при использовании туннеля с Hetzner можно не только хорошо сэкономить, но и получить хорошую защиту и низкий пинг. Надбавка пинга при работе туннеля с серверами во Франции, OVH, обычно не более 6ms. Но в скором времени будут добавлены сервера и во Франции.

При покупке вам нужно настроить некоторые параметры —
Backend IP — Айпи вашего сервера, который нужно защитить. Если вас уже атакуют по этому айпи рекомендуем его сменить, или написать нам, чтобы мы помогли вам «правильно» закрывать все ненужные подключения.

Необходимые порты — порты которые нужно пробросить через туннель. Рекомендуем пробрасывать только порты вашего сервиса, например для Minecraft — 25565, для сайта — 80, 443. По SSH подключатся лучше по реальному айпи вашего сервера.

Тип туннеля — на выбор есть 3 типа туннелей GRE / IPIP / L7 (посредствам nginx tcp proxy, без реального IP клиентов). Для OVH нужно использовать GRE. Для всех других, например Hetzner лучше использовать IPIP.

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

Загружаем файл tunnel.sh, переносим на дедик, устанавливаем права 777

chmod -R 777 tunnel.sh

В самом фале меняем некоторые настройки


IFACE — замените название сетевого интерфейса, на название вашего главного сетевого интерфейса (обычно узнать можно с помощью команды ifconfig).

Другие настройки не трогаем, и сохраняем файл.

Далее просто запускаем его ./tunnel.sh start
(Чтобы остановить пишем ./tunnel.sh stop)

Теперь можно менять айпи вашего BungeeCord, или сервиса который используете, на локальный айпи туннеля, который указан в L_OUT


bind_local_address тоже ставим на false, чтобы ваш трафик к локальным серверам не ходил через туннель, перезапускаем сервис.

Последнее — это сменить в вашем домене записи, на защищенный айпи туннеля, и можно не бояться DDoS атак :)

Наш сайт — https://waf.ovh/
Удаленная защита — https://waf.ovh/remote-protection.php
Написать нам — https://vk.me/wafovh

В скором времени мы планируем запустить web-защиту, и CDN, следите за новостями в группе — https://vk.com/wafovh