Яндекс.Облако создаёт новые возможности для бизнеса



Меня зовут Олег Коверзнев, вместе с командой мы создаём Яндекс.Облако, чтобы вы меньше думали о технологиях и больше — о развитии своего дела.
Мы одинаково ценим всех пользователей платформы Яндекс.Облака. Но есть категория компаний, которую мы воспринимаем как партнёров и предлагаем им специальные условия сотрудничества.
Если вы специализируетесь на создании и продвижении собственных программных продуктов для массового рынка или корпоративных клиентов, то мы предлагаем вам стать частью нашей партнёрской экосистемы для компаний-разработчиков.
Что мы можем предложить участникам программы:
  • Ранний доступ к новым сервисам Яндекс.Облака.
  • Бесплатную техническую поддержку на весь срок партнёрства.
  • Возврат* 50% от затрат на Яндекс.Облако во второй и третий месяцы потребления Облака.
  • Возможность получить расширенный грант для тестирования и миграции в Облако.
  • Доступ к закрытому чату сообщества, вебинарам и встречам с инженерами и архитекторами Яндекс.Облака для обмена опытом и знаниями по использованию сервисов Облака.
  • Специальные предложения от других сервисов экосистемы Яндекса (Директ, Трекер, Метрика и др.) для развития вашего продукта.
Программа будет расширяться, следите за новостями! Дать продуктовым компаниям доступ к технологиям и новым возможностям для монетизации — вот та цель, с которой мы создали эту программу. Такие компании, как SkyEng, помогали нам запускать платформу и уже являются частью растущего сообщества наших партнёров.
Оставьте заявку и уже сегодня получите консультацию специалиста по условиям и привилегиям программы.
cloud.yandex.ru/partners/tech

Необычные домены: приготовьтесь, будет интересно!



Приготовьтесь, будет интересно
Пользователи Интернета уже давно привыкли к доменам .RU, .COM, .NET, .ORG и другим зонам. Но доменная индустрия не ограничивается только международными и национальным доменами. Существуют сотни необычных тематических зон, с помощью которых вы можете показать всю оригинальность
и креативность вашего проекта. О некоторых из них мы сегодня расскажем.

www.reg.ru/domain/new/

Изменения в регламентирующих документах

В связи с началом действия тарифов на продление доменных имен в зонах .ru, .su,.рф, .net.ru, .pp.ru и .org.ru с 16 июля 2019 года вносятся изменения в регламентирующие документы.
www.nic.ru/news/2019/0716-izmeneniya-v-reglamentiruyushchikh-dokumentakh/

Бегету 10 лет!



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

Мы ценим доверие наших пользователей. Более того, обещаем и дальше радовать вас полезными сервисами, отзывчивой технической поддержкой и высокой стабильностью.

Что делает нас одним из лучших хостинг-провайдеров как в России, так и в мире?
Более 160 тысяч наших пользователей уже сделали правильный выбор, и в свой юбилей мы дарим им подарки!



Для тех, кто хочет к нам: год хостинга в подарок при переносе!
Планируете перенести свои сайты к нам? Сейчас самое время: с 15 по 31 июля зарегистрируйтесь у нас на сайте, перенесите сайты к нам, оплатите услуги на год и получите еще год хостинга бесплатно!

Наши специалисты всегда готовы помочь с переносом и настройкой сайта — просто напишите нам!
beget.com/ru/

ISPsystem, прости и прощай! Почему и как мы написали свою панель управления серверами



Мы «Хостинг технологии» и 5 лет назад запустили VDSina — первый vds хостинг, созданный специально для разработчиков. Мы стремимся сделать его удобным, как DigitalOcean, но с русской поддержкой, способами оплаты и серверами в России. Но DigitalOcean это не только надежность и цена, это еще и сервис.

Софт от ISPsystem оказался веревкой, которая связывала нам руки на пути к крутому сервису. Три года назад мы использовали биллинг Billmanager и панель управления серверами VMmanager и быстро поняли, что оказывать хороший сервис без своей панели практически нереально.

Как ISPsystem убивал удобство
Баги
Мы не могли сами пофиксить баг — каждый раз приходилось писать в чужую поддержку и ждать. Решение любой проблемы требовало реакции сторонней компании.

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

Угроза даунтаймов
Обновления могли порождать непрогнозируемые даунтаймы, которые провоцировали новые ошибки.

Каждый апдейт был лотереей: приходилось прикрывать биллинг и приносить жертвы богам обновлений — пару раз апдейт вызывал даунтайм на минут 10-15. Наши админы в это время седели на глазах — мы никогда не знали, сколько продлится даунтайм и не могли спрогнозировать, когда ISPsystem решит выпустить новый апдейт.

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

Неудобный интерфейс панели
Всё было разделено на разные панели и управлялось из разных мест. Например, клиенты платили через Billmanager, а перезагружать или переустанавливать VDS им приходилось в VMManager. Нашим сотрудникам тоже приходилось переключаться между окнами, чтобы помочь клиенту, проверить нагрузку на его сервере или посмотреть, какую ОС он использует.

Такой интерфейс отнимает время — и наше, и клиентов. Ни о каком удобстве, как у DigitalOcean, в такой ситуации речи не идёт.

Короткие лайфциклы с частым обновлением API
Мы писали собственные плагины — например, плагин с дополнительными способами оплаты, которых нет в VMManager.

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

Нельзя дорабатывать
Точнее можно, но крайне неэффективно. Лицензионные ограничения не дают вносить изменения в исходники, можно только писать плагины. Максимум плагинов — какие-то элементы меню, пошаговый мастер. ISPsystem заточены на универсальность, а нам нужны были специализированные решения.

Так созрело решение написать свою панель. Мы поставили цели:
  • Быстро реагировать на ошибки, баги и иметь возможность самостоятельно устранять их, не заставляя клиента ждать.
  • Свободно модифицировать интерфейс под рабочие процессы и нужды клиента.
  • Повысить юзабилити чистым и понятным дизайном.

И начали разработку.

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

Шаг 1. Серверный агент
Серверный агент — это веб-сервер на питоне, который управляет библиотекой libvirt, которая, в свою очередь, управляет гипервизором Qemu-kvm.

Агент управляет всеми услугами на сервере: создание, остановка, удаление vds, установка операционных систем, изменение параметров и так далее через библиотеку libvirt. На момент выхода статьи это больше сорока разных функций, которые мы дополняем в зависимости от задачи и потребностей клиента.

По идее libvirt можно было управлять прямо из биллинга, но это требовало слишком много дополнительного кода и мы решили разнести эти функции между агентом и биллингом — биллинг просто делает запросы агенту через JSON API.

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

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

Шаг 2. Биллинг
Для нашего разработчика Алекса это была уже не первая панель управления — Алекс в хостинге давно, поэтому он в целом понимал, что нужно клиенту и что нужно хостеру.

Биллинг мы и называем между собой «панелью управления»: в нем не только деньги и услуги, но и управление ими, поддержка клиентов и многое другое.

Для перехода с софта ISPSystem, необходимо было полностью сохранить клиентам предыдущий функционал, перенести все финансовые действия пользователей из старого биллинга в новый, а также все услуги и связи между ними. Мы изучили что есть в текущем продукте, потом решения конкурентов, в основном DO и Vultr. Посмотрели на недостатки и преимущества, собрали отзывы людей, которые работали со старыми продуктами от ISPsystem.

В новом биллинге использовали два стека: классический PHP, MySQL (а в будущем планируется перейти на PostgreSQL), Yii2 в качестве фреймворка на бекэнде и VueJS на фронте. Стеки работают независимо друг от друга, разрабатываются разными людьми, а общаются с помощью JSON API. Для разработки тогда и сейчас мы используем PHPStorm и WebStorm от JetBrains и нежно их любим (ребята, привет!)

Панель спроектирована по модульному принципу: модули платёжных систем, модуль регистраторов доменов или, например, модуль SSL-сертификатов. Можно легко добавить новую функцию или убрать старую. Задел на расширение заложен архитектурно, в том числе и в обратную сторону, «к железу».

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

Шаг 3. Интерфейс
Интерфейс — наше командное детище.


Сначала мы посмотрели, что будет, если сделать надстройку над API ISPsystem, ничего кардинально не меняя в интерфейсе. Вышло так себе и мы решили всё сделать с нуля.

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

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

Фронтенд
Панель решили сделать SPA приложением — нетребовательной к ресурсам и с быстрой загрузкой данных. Наш фронтендер Артыш решил писать ее на Vue — на тот момент Vue только появился. Мы предположили, что фреймворк будет развиваться динамично, как React, через какое-то время коммьюнити Vue разрастется и появится море библиотек. Мы поставили на Vue и не пожалели — теперь добавить на фронт новые функции, которые уже запрограммировали на бекенде занимает мало времени. Подробнее про фронтенд панели мы расскажем в отдельной статье.

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

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

Шаг 4. Тестирование и схема миграции
Когда все завелось и прошли первые тесты, встал вопрос миграции. Первым делом мы поставили биллинг и начали тестировать его работу с серверным агентом.

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

Приходилось тестировать и перепроверять буквально все, так как данные сливали в одну новую базу из трёх старых: Billmanager, VMmanager и IPmanager менеджера. Пожалуй, тестовые миграции — самое сложное, с чем мы столкнулись в процессе разработки новой панели.

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

Затем мы разослали письма клиентам с адресом новой панели и биллинга и сделали редирект.

В итоге: IT’S ALIVE!

Хэппиэнд
С первых часов работы своего софта мы почувствовали все прелести перехода. Код был полностью наш и с удобной архитектурой, а интерфейс — чистым и логичным.
Первый отзыв после запуска новой панели


Мы запустили процесс перехода в декабре, накануне Нового 2017 года, когда нагрузки было меньше всего, чтобы сделать переход проще для клиентов — почти никто не работает накануне праздников.

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

Что дальше?
Мы растём, растёт количество данных, клиентов, данных клиентов. На бекенд пришлось добавить Memcached-сервер и два менеджера очередей с разными задачами. На фронтенде есть кэширование и свои очереди.

Конечно, у нас еще были приключения по мере разработки и усложнения продукта, например, когда мы добавляли HighLoad.

В следующей статье расскажем, как запускали Hi-CPU тариф: про железо, ПО, какие задачи мы решали и что у нас получилось.

vdsina.ru

Изменения правил лицензирования ПО компании Microsoft

Уведомляем Вас о том, что с 01.08.2019 вступают в силу изменения правил лицензирования Программного обеспечения компании Microsoft для ПО Windows Server.

Расчет стоимости лицензий определяется методом лицензирования по ядрам.

С новыми тарифами можно ознакомиться по ссылке: www.ihor.ru/documents/2019/soft-tariffs-01.08.2019.pdf

Debian 10 доступен уже сейчас!

Только что выпущенный на прошлой неделе, доступен на Contabo с сегодняшнего дня: Debian 10, кодовое имя Buster. Он доступен для всех наших VPS и выделенных серверов — просто выберите его во время процесса заказа. Если вы уже являетесь клиентом и хотите перейти на Debian 10, вы можете сделать это через нашу панель управления клиентами.

Кроме того, вы можете объединить Debian 10 с Webmin, Lamp, Webmin + LAMP и программным обеспечением Raid 1. Он еще не доступен для Plesk, но вскоре будет выпущен Plesk — мы просим вашего терпения.

Помимо Debian 10, мы предлагаем вам различные новейшие ОС Linux, а также Windows Server 2012 и 2016. Просто зайдите на наш веб-сайт и выберите нужный VPS или Root Server
contabo.com/?show=ssdvps
contabo.com/?show=rootserver

Изменение цен на домены RU и РФ с 01.08.2019



Здравствуйте.
С 1 августа изменится цена на ежегодное продление доменов в зонах RU/РФ. Новая стоимость продления составит 490 рублей за 1 год. Стоимость регистрации не изменится и останется 200 рублей за 1 год.

До 1 августа вы можете продлить по старой цене домены, регистрация которых заканчивается до 30 сентября.
Список ваших доменов: my.ihc.ru/dnsOrders/index

Актуальную стоимость регистрации и продления можно уточнить по адресу: www.ihc.ru/domains.html

От High Ceph Latency к Kernel Patch с помощью eBPF/BCC



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

Пару лет назад был разработан ещё один инструмент — eBPF. Он дает возможность трассировать ядро и пользовательские приложения с низким оверхедом и без необходимости пересборки программ и загрузки сторонних модулей в ядро.
lwn.net/Articles/740157/

Сейчас уже существует множество прикладных утилит, которые используют eBPF, и в этой статье мы рассмотрим, как написать собственную утилиту для профилирования на основе библиотеки PythonBCC. Статья основана на реальных событиях. Мы пройдем путь от появления проблемы и до её исправления, чтобы показать, как могут быть использованы уже существующие утилиты в конкретных ситуациях.

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

В отличие от других платформ, на этом хосте использовался bcache и новое ядро linux 4.15. Хост такой конфигурации использовался здесь впервые. И на тот момент было ясно, что корнем проблемы теоретически могло быть что угодно.

Investigating the Host
Начнем с того, что посмотрим, что происходит внутри процесса ceph-osd. Для этого воспользуемся perf и flamescope (подробнее о которых можно прочитать здесь):

Картинка говорит нам о том, что функция fdatasync() потратила много времени при отправке запроса в функции generic_make_request(). Значит, что, скорее всего, причина проблем где-то вне самого демона osd. Это может быть либо ядро, либо диски. Вывод iostat показывал высокую задержку обработки запросов bcache-дисками.

При проверке хоста мы обнаружили, что демон systemd-udevd потребляет большое количество времени CPU — около 20% на нескольких ядрах. Это странное поведение, так что нужно выяснить его причину. Так как Systemd-udevd работает с uevent’ами, мы решили посмотреть на них через udevadm monitor. Оказывается, генерировалось большое количество change-событий для каждого блочного устройства в системе. Это довольно необычно, поэтому нужно будет посмотреть, что генерирует все эти ивенты.

Подробнее
blog.selectel.ru/from-high-ceph-latency-to-kernel-patch-with-ebpf-bcc/