Шум волн, холодный лимонад и приятное ощущение от скидки



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

Надеемся, что вам очень скоро удастся осуществить свои отпускные мечты!

А пока вы не отправились отдыхать, спешим напомнить, что при заказе VDS можно сэкономить 20% по промокоду ENJOYSUMMER. Скидка применится на любой срок аренды сервера при единовременной оплате за этот период (1, 3, 6 или 12 месяцев).

Целый остров на это, конечно, не купишь, но на лимонад со льдом и аренду тихого бунгало должно хватить :)

Промокод будет активен до 10 июня 23:59 мск.

https://firstvds.ru

Amvera Cloud — облако для ботов



Уже 1 год мы разрабатываем облако, в котором проекты можно развертывать и обновлять через PUSH в мастер-ветку GIT. Это проще, чем использование VPS (виртуальных машин).

Что у нас было:
  • максимально сырой прототип, позволяющий запускать проекты в контейнерах через отправку кода в выделенный или привязанный Git-репозиторий.

Чего у нас не было:
  • Документации — я искренне удивляюсь, как наши пользователи справлялись с развертыванием, используя лишь несколько абзацев краткой инструкции. Приношу извинения за ваши страдания! Но многие справились.
  • Отображения логов. Но и без логов были пользователи, которые успешно разворачивали проект.
  • Поддержки баз данных, за исключением SQLite.
  • Возможности добавлять свой домен.
  • Возможности скачивать загруженные данные.
  • Возможности добавлять переменные и секреты.
  • Возможности ставить проект на паузу
  • Возможности развертывать проекты из графического интерфейса
  • CLI
Как можно убедиться, на момент старта у нас отсутствовало почти все из полезного функционала. Но нам помог наш основной конкурент — Heroku. Они закрыли бесплатные тарифы 28 ноября 2022 (через пару недель после нашего старта), а оплатить российской картой их было нельзя. Плюс к этому, мы объявили, что работаем бесплатно в рамках бета-теста. Это помогло привлечь некоторое количество пользователей, ищущих замену Heroku и готовых смириться с отсутствием гарантий в рамках бета-теста.

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

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

Пока у нас были только единичные пользователи, мы еще не осознавали проблем, возникающих с ростом нагрузки. И тут наступил день Х: 29 ноября Heroku закрыл бесплатные тарифы, и мы запустили рекламу по этому поводу. В итоге, к нам пришло больше пользователей, чем мы могли “вывезти”.

Сначала мы уперлись в лимит по выписке SSL-сертификатов Let’s Encrypt. Проблема решилась достаточно просто: купили Wildcard и немного переделали логику генерации внутренних доменов.

Далее наши сервисы начали по очереди отказывать. Отваливалось буквально все. Пришлось в экстренном порядке все переписывать. Ближе к концу декабря мы поправили почти все и даже успели выпустить функционал переменных и секретов.

Нокаут
На новогодние праздники мы ушли с почти чистой совестью. Сервис работал, и первые пользователи разместили свои проекты. Но 3 января 2022 утром я увидел, что ничего не работает.

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

Почему это произошло?
Мы развернули сервис на bare-metal, а именно, на арендованных серверах у одного известного провайдера. Сделано это было из-за того, что, как показывали расчеты, при использовании managed-инфраструктуры (kubernetes в облаке и т.д.) могла не сойтись экономика проекта. Согласитесь, странно делать бизнес, отдавая всю выручку облачному провайдеру.

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

Мы почти сразу поняли, что если мы просто заново развернем сервис, то получим ту же проблему с потерей данных и пользователей в самое ближайшее время. Стали пробовать переписать сервис так, чтобы новая архитектура была более устойчива к подобным инцидентам и содержала меньше “узких” мест. Но по самым разным причинам что-то не получалось. Время шло, а мы так и не могли запуститься. Особенно мучительно было оттого, что некоторые пользователи успели запустить у нас свои проекты, и теперь они не работали.

В итоге было принято волевое решение запустить наш сервис поверх managed-облака одного из провайдеров и править архитектуру уже после этого.

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

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

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

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

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

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

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

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

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

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

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

Работа над ошибками
Даже когда мы перешли на платный режим для пользователей, было понятно, что сервис еще очень “сырой”. Было много мелких багов, которые затрудняли развертывание проектов и делали неудобным процесс эксплуатации.

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

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

Вывод — качество продукта важно, и часто качество кроется в мелочах.

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

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

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

Пару раз были просто смешные (я бы даже сказал, немного оскорбительные) предложения, сводящиеся к следующей фразе: “Давайте вы нам отдадите компанию, а мы команде будем зарплаты платить…”. Даже интересно, людям не кажется, что если бы основатели хотели получать зарплату, они бы … устроились на работу? Логика таких инвесторов заключается в принципе “а вдруг прокатит”.

Но это скорее исключения. Чаще встречается примерно такая постановка вопроса: “Покажите нам выручку и ее динамику, которая гарантирует возврат наших инвестиций через N лет дивидендами”. И тут я понимаю, что люди ищут дивидендный бизнес, и в этом нет ничего плохого. Но это никак нельзя назвать венчурными инвестициями. И если есть “гарантии” возврата через дивиденды, то в таком случае основателю выгоднее брать обычный банковский кредит, чем отдавать кому-либо долю в бизнесе. Еще раз повторю, что в такой модели нет ничего плохого, только не нужно при этом называть себя венчурным фондом.

При этом на рынке есть профессионалы, с которыми приятно и полезно общаться. Они понимают бизнес и технологии и грамотно подходят к стратегии.

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

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

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

Для стабильности работы мы сделали следующее. И возможно, вам это может пригодиться в ваших проектах.
  • Разнесли ноды с нашими сервисами и с проектами пользователей в отдельные группы. Это повысило безопасность и позволило избежать случаев, когда из-за проблем на одной пользовательской ноде, вызванных проектом конкретного пользователя, страдает весь сервис.
  • Допустимая нагрузка по CPU на ноде должна быть, в среднем, не выше 50%, с редкими небольшими превышениями. Если у вас процессор будет почти полностью загружен, его производительность будет ухудшаться не прямо пропорционально уровню загрузки. И все проекты, размещенные на ноде, будут очень медленно работать.
  • Стали использовать сетевые диски везде, где это возможно. Да, присутствует небольшая latency, но для наших задач задержка оказалась некритичной. При этом сетевые диски проще реплицировать, масштабировать и покрывать бэкапами.
  • Использование постоянного мониторинга. Для себя мы выбрали стек продуктов Grafana + OpenSearch.
  • Перевели все на очень быстрые SSD диски. Диск может быть узким местом, и практика показывает, что тут лучше не экономить.
  • Изменили архитектуру, чтобы такие процессы, как стриминг логов и т.д. не перегружали систему.
  • Добавили удаление неиспользуемых ингресс-контроллеров, что важно для разгрузки Kubernetes.
  • Помимо реплицирования дисков, покрыли все бэкапами, так как потеря данных — более серьезная проблема, чем кратковременная недоступность сервиса. И реализовали сохранение копии самых ценных данных у независимого провайдера в другом ЦОДе.

Наши ошибки, и что сделать вам, чтобы их не повторить
  • Попытка реализации сложного проекта полностью на своей инфраструктуре. Если вы развиваете проект на свои деньги и у вас нет отдельной команды опытных инфраструктурных инженеров, воспользуйтесь услугами одного из публичных облаков. Это будет дешевле, чем отвлекать всю команду разработки на администрирование и восстановление сервиса.
  • Полное доверие облачному провайдеру, когда вы решили отказаться от части своей инфраструктуры по п.1. Надо помнить, что проблемы облачного провайдера — это ваши проблемы, а ваши проблемы — это ваши проблемы. Даже самые именитые компании не гарантируют вам почти ничего, даже при SLA. Выход — полное многократное покрытие бэкапами, которые хранятся в разных ЦОДах и у разных провайдеров, резервирование и продуманная архитектура проекта, рассчитанная на самое худшее. Детали того, как мы повышали надежность архитектуры, достойны отдельной технической статьи, и мы ее обязательно напишем в ближайшее время.
  • Планирование бюджета. Изначально мы хотели закончить бета-тест и включить монетизацию в январе 2022, но продлили тестовый режим почти до августа. Если бы не строгий контроль расходов, я бы писал не эту статью, а про “полученный бесценный опыт закрытого бизнеса”. И нужно учитывать, что в России венчурных денег почти нет. Большинство тех, кто называет себя венчурными инвесторами, требуют гарантий дивидендов, которые за N времени отобьют вложения. Это противоречит самой сути высокорисковых инвестиций. Поэтому надо сразу считать деньги так, чтобы вам хватило до точки безубыточности. Но если получится привлечь инвестиции, будет только лучше.
  • Неполное покрытие бэкапами. Либо невозможность их применения из-за нарушения согласованности пользовательских данных, когда часть системы продолжила работать и генерировать новые данные. Мало все покрыть бэкапами, нужно еще иметь возможность их применить.
  • Старт с маленьким бюджетом. Если у вас сложный продукт, он будет ломаться, а первое время — ломаться часто. И если у вас маленькая команда, то команда будет заниматься не разработкой функционала, а “тушением пожаров”, администрированием инфраструктуры и написанием извинений недовольным пользователям в поддержке. И тут совет простой — либо переплачивать за сторонние managed-решения, либо расширять команду.

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

Мы планируем расширять команду и достаточно оптимистично смотрим в будущее. Если вам нужно облако с функционалом простого развертывания, регистрируйтесь в нашем сервисе, а если есть вопросы, пишите мне на почту kkosolapov@amvera.ru

amvera.ru/cloud
https://id.amvera.ru/auth/

Протокол следующего поколения: HTTP3 и его влияние на веб-производительность



Протокол следующего поколения: HTTP3 и его влияние на веб-производительность
Готовы ли вы открыть будущее веб-производительности? HTTP3 меняет способ просмотра Интернета. Он представляет функции для более быстрого, безопасного и эффективного использования Интернета. В этой статье мы рассмотрим разницу между HTTP3 и HTTP2 и их потенциальное влияние на скорость и надежность веб-сайта.

Ключевые выводы
  • Откройте для себя передовой протокол HTTP/3, который улучшит качество просмотра веб-страниц.
  • Узнайте, как HTTP/3 устанавливает быстрые соединения для увеличения скорости.
  • Изучите надежные функции безопасности HTTP/3, включая обязательное шифрование.
  • Узнайте, как HTTP/3 определяет приоритет критически важных ресурсов для оптимизации взаимодействия с пользователем.
  • Получите представление о плавном переключении сети HTTP/3 для бесперебойного просмотра мобильных устройств.

HTTP/3 — это последняя версия протокола передачи гипертекста (HTTP).
HTTP является основой передачи данных во Всемирной паутине. HTTP/3 был разработан Инженерной группой Интернета (IETF). Они сотрудничали с такими технологическими гигантами, как Google и Cloudflare. Цель HTTP/3 — устранить ограничения HTTP/2 и повысить производительность сети.

Одним из наиболее значительных изменений в HTTP/3 является принятие транспортного протокола QUIC. QUIC означает «Быстрое подключение к Интернету по протоколу UDP». Предыдущие версии HTTP основывались на протоколе управления передачей (TCP). Напротив, HTTP/3 использует протокол пользовательских датаграмм (UDP) в качестве основного транспортного протокола.

QUIC сочетает в себе функции TCP, такие как надежность и контроль перегрузки. Он также использует скорость и гибкость UDP. Используя QUIC, HTTP/3 может устанавливать соединения до 33 % быстрее по сравнению с HTTP/2.

Это также уменьшает задержку. Когда клиент, например веб-браузер, инициирует соединение с сервером через HTTP/3, протокол QUIC обеспечивает более эффективный процесс установления связи. Рукопожатие — это автоматизированный процесс обмена информацией между двумя устройствами или системами для установления протоколов и параметров связи.

Чем HTTP3 лучше HTTP2?
Это показатели сравнительного анализа производительности HTTP/3 по сравнению с HTTP/2:

1. Время до первого байта (TTFB)
Время до первого байта (TTFB) измеряет время с момента отправки клиентом запроса до момента получения первого байта ответа от сервера. TTFB включает в себя несколько этапов:
  • DNS-поиск
  • Установление соединения
  • TLS-рукопожатие
  • Время обработки сервера
HTTP/3 обеспечивает более быструю установку соединения, что значительно снижает TTFB по сравнению с предыдущими версиями HTTP. Более быстрый TTFB напрямую приводит к улучшению отклика и производительности, воспринимаемой пользователем. Отслеживание TTFB во время сравнительного анализа помогает выявить проблемы с производительностью серверной части и области для оптимизации.

2. Общее время загрузки страницы


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

Функции HTTP/3, такие как улучшенное мультиплексирование и приоритизация, могут значительно сократить общее время загрузки страницы. Мониторинг времени загрузки страницы во время сравнительного анализа необходим, чтобы гарантировать, что прирост производительности от HTTP/3 приведет к значимым улучшениям для конечных пользователей. Важно тестировать время загрузки страницы в различных условиях, в том числе:
  • Различные условия сети
  • Различные типы устройств
Этот подход дает репрезентативное представление о производительности. В исследовании:
  • HTTP/3 улучшил время загрузки страницы на 55 % по сравнению с HTTP/2.
  • Тестовой средой была мобильная сеть с 4G и потерей пакетов примерно 15%.

3. Пропускная способность
Пропускная способность измеряет объем данных, переданных за определенный период, обычно выражается в:
  • Мбит/с (Мегабит в секунду)
  • Гбит/с (Гигабит в секунду)
Этот показатель отражает:
  • Эффективность протокола
  • Пропускная способность базовой сети
Чтобы оценить производительность в различных условиях, тестирование пропускной способности должно включать:
  • Различные размеры полезной нагрузки
  • Различные уровни параллелизма
Преимущества более высокой пропускной способности включают в себя:
  • Более быстрая общая передача данных
  • Лучшее использование сетевых ресурсов
4. Время установления соединения
  • Время установления соединения измеряет продолжительность, необходимую для установки нового соединения.
  • HTTP/3 значительно сокращает это время.
  • В синтетическом тесте установление соединения по протоколу HTTP/3 было на 45 % быстрее.
  • Это сравнение проводилось с HTTP/2 в сети с RTT 50 мс.


Ключевые особенности HTTP3
1. Более быстрое установление соединения
  • Одним из основных преимуществ HTTP/3 является то, что он позволяет быстрее устанавливать соединение по сравнению с HTTP/2 и более ранними версиями.
  • HTTP/3 достигает этого за счет использования нового транспортного протокола QUIC вместо TCP.
  • В QUIC подтверждения передачи и шифрования объединены в один этап.
  • Это уменьшает количество обращений туда и обратно, необходимых для установления безопасного соединения.
  • В результате соединения начинают отправлять данные раньше и с меньшей задержкой.
  • В некоторых случаях это может сэкономить сотни миллисекунд при установлении нового соединения.

2. Устойчивость к сбоям в сети
  • HTTP/3 поддерживает стабильную производительность в ненадежных сетях.
  • Используя QUIC, он может плавно переносить соединения в новые сети, не прерывая потоки.
  • Это особенно выгодно для мобильных пользователей, перемещающихся между Wi-Fi и сотовыми сетями.
  • Соединения сохраняются без каких-либо действий со стороны приложения.
  • Напротив, изменения в сети часто приводят к сбоям соединения с TCP и HTTP/2.

3. Мультиплексирование
  • HTTP/3 позволяет одновременно отправлять множество запросов по одному соединению, устраняя необходимость во многих соединениях.
  • Несколько потоков HTTP/3 могут быть активны одновременно. Приложения могут чередовать чтение и запись данных в этих параллельных потоках.
  • Однако HTTP/3 реализует мультиплексирование более эффективно. Использование потоков QUIC вместо TCP устраняет блокировку начала строки. Это происходит, когда строка пакетов в очереди задерживается первым пакетом, что влияет на производительность сети.
  • Это повышает производительность, особенно для страниц, загружающих множество ресурсов параллельно.

4. Приоритизация потоков
  • HTTP/3 обеспечивает более гибкую систему определения приоритетов потоков, чем HTTP/2.
  • Клиенты могут указать относительный приоритет потоков и порядок их планирования.
  • Это позволяет первым загружать важные ресурсы. Новая система приоритезации проще и выразительнее, чем сложная модель дерева зависимостей HTTP/2.
  • При оптимальном использовании в некоторых случаях страницы могут загружаться на 50 % быстрее, обеспечивая быструю доставку критически важных ресурсов.

Методология сравнительного анализа производительности
1. Тестовая среда
Чтобы обеспечить стабильные результаты, тщательно контролируйте свое оборудование. Кроме того, управляйте настройкой программного обеспечения для теста.
Серверное оборудование: 8-ядерный процессор, 32 ГБ ОЗУ, SSD-накопитель. Это достаточно мощная настройка, позволяющая избежать того, чтобы сервер стал узким местом.
Операционная система: Использование Ubuntu 20.04 LTS обеспечивает стабильную платформу ОС. Обязательно отключите все ненужные фоновые службы.
Веб сервер:
  • NGINX 1.18.0 для тестов HTTP/2
  • NGINX 1.21.3 с модулем QUIC для HTTP/3
Условия сети: соединение клиента и сервера через Gigabit Ethernet хорошее. Кроме того, использование Netem для моделирования задержек и потерь — это разумный способ смоделировать реалистичные условия сети.

2. Инструменты сравнительного анализа
Для измерения различных аспектов производительности можно использовать комбинацию инструментов синтетического тестирования:
  • wrk: генерирует высокие уровни одновременной нагрузки для измерения количества запросов в секунду и задержки.
  • WebPageTest: предоставляет подробные показатели загрузки страницы, такие как время до первого байта и индекс скорости, с использованием реальных браузеров.
  • Lighthouse: проверяет лучшие практики производительности и рассчитывает показатели Google Web Vitals.
  • k6: позволяет создавать сценарии сложных пользовательских потоков для отслеживания таких показателей, как время ответа, на разных уровнях нагрузки.
3. Тестовые сценарии
Чтобы понять производительность в различных условиях, следует оценить ряд сценариев:
Состав страницы: наличие небольших статических, больших сценариев с несколькими ресурсами и динамических страниц является отличным срезом. Он охватывает основные типы композиции страниц.
  • Небольшая статическая страница (~15 КБ)
  • Большая страница с множеством ресурсов (всего около 1 МБ)
  • Динамическая страница, требующая серверной обработки
Уровни параллелизма. Уровни параллелизма от низкого до высокого хорошо выбраны, чтобы увидеть, как масштабируется производительность.
  • Низкий (10 одновременных запросов)
  • Средний (100 одновременных запросов)
  • Высокий (1000 одновременных запросов)
Условия сети:
  • Базовый уровень (без дополнительных задержек и потерь)
  • Добавленная задержка 50 мс
  • Задержка 50 мс + потеря пакетов 1%


1. ТЛС
TLS (Transport Layer Security) — это криптографический протокол, обеспечивающий сквозное шифрование и целостность данных для интернет-коммуникаций. Предыдущие версии HTTP размещали TLS поверх TCP-соединений. В HTTP/3:
  • TLS 1.3 интегрирован непосредственно в транспортный уровень QUIC.
  • Эта интеграция позволяет избежать использования отдельного протокола.
  • Это исключает избыточные рукопожатия.
  • Это уменьшает задержку при установке соединения.
2. ПТС
TCP (протокол управления передачей) — это традиционный протокол транспортного уровня, используемый для надежной доставки данных в Интернете. Он выполняет несколько важных функций:
  • Устанавливает связи
  • Осуществляет управление потоком
  • Обеспечивает правильную доставку пакетов
В отличие от HTTP/1.1 и HTTP/2, которые работают через TCP, HTTP/3 вообще не использует TCP. Вместо этого QUIC берет на себя роль TCP.

3. QUIC
QUIC (Quick UDP Internet Connections) — новый транспортный протокол. Он предлагает несколько функций:
  • Ориентированный на соединение
  • Мультиплексированные потоки через UDP
  • Надежность
  • Контроль перегрузок
QUIC объединяет функции TLS 1.3 для шифрования и безопасной связи. Эта интеграция позволяет устанавливать и защищать соединения QUIC за одно рукопожатие.

4. УДП
UDP (протокол пользовательских дейтаграмм) — это облегченный протокол транспортного уровня. Он отличается от TCP по нескольким причинам:
  • UDP не устанавливает соединение.
  • UDP не предоставляет гарантий надежности.
  • Он просто отправляет отдельные пакеты данных, известные как дейтаграммы.

3 Способы проверить, активирован ли HTTP3?
1. Использование Google Chrome в качестве клиента HTTP/3.
  • Загрузите и установите последнюю версию Google Chrome Canary.
  • Откройте Chrome Canary.
  • Перейдите на страницу chrome://flags и включите экспериментальные функции QUIC и HTTP/3.
  • Перезапустите Chrome Canary при появлении запроса.
  • Посетите веб-сайт, поддерживающий HTTP/3.
  • Откройте Инструменты разработчика (F12 или Ctrl+Shift+I).
  • Перейдите на вкладку «Сеть».
  • Щелкните правой кнопкой мыши строку заголовка и выберите «Протокол».
  • Найдите ресурсы, загруженные через h3, в столбце «Протокол», чтобы убедиться, что используется HTTP/3.
2. Использование завитка
Убедитесь, что у вас есть версия Curl, поддерживающая HTTP/3 (7.66.0 или новее).
Откройте терминал.
Запустите следующую команду, чтобы получить ресурс через HTTP/3:
curl --http3 [URL-адрес веб-сайта]

Если ресурс получен успешно, активируется HTTP/3.
3. Использование http3-клиента Quiche
Клонируйте репозиторий Quiche:
Git clone --recursive https://github.com/[URL веб-сайта]/quiche

Создайте пример http3-клиента:
cd quiche/examples Cargo build --example http3-client

Запустите http3-клиент:
грузовой пробег --example http3-client – ​​[URL веб-сайта]

Если клиент успешно получает ресурс через HTTP/3, протокол активируется.

CloudPanel v2.4.2: новые функции, расширенная поддержка и исправления ошибок



CloudPanel v2.4.2 теперь доступен с новыми функциями, расширенной поддержкой операционной системы и среды выполнения, дополнительными переводами и различными исправлениями ошибок. Давайте рассмотрим заметные изменения в этом выпуске.

Новые функции и поддержка
Поддержка Debian 12 и Ubuntu 24.04. CloudPanel теперь поддерживает новейшие операционные системы Debian 12 и Ubuntu 24.04, обеспечивая совместимость с новейшими стабильными выпусками.

Поддержка Node.js 22 LTS: в CloudPanel добавлена ​​поддержка версии Node.js 22 Long-Term Support (LTS), что позволяет пользователям воспользоваться новейшими функциями и улучшениями Node.js.

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

Исправление ошибок
  • Проблема № 427: исправлена ​​проблема, из-за которой пользователи не могли переименовывать файлы с помощью файлового менеджера.
  • Проблема № 430. Устранена ошибка, не позволявшая использовать запятые в поле минут в конфигурациях заданий cron.
  • Проблема № 434: устранена ошибка, о которой сообщил пользователь.

Исправления перевода: исправлено несколько проблем, связанных с переводом, для повышения точности и согласованности локализованных версий CloudPanel.

CloudPanel v2.4.2 представляет поддержку новейших операционных систем и версии Node.js, расширяет языковую поддержку за счет переводов на сербский и грузинский языки и устраняет различные обнаруженные ошибки.

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

www.cloudpanel.io/

Отпразднуйте запуск нашего дата-центра в Индии со скидкой 50 % на сборы за размещение в Индии



Мы с гордостью сообщаем об официальном запуске нашего нового дата-центра в Индии! Чтобы отпраздновать это событие, получите скидку 50 % на сборы за местоположение в Индии до 2 июля на все новые Cloud VPS, Cloud VDS и выделенные серверы. Это специальное предложение предоставляет облачный хостинг мирового класса нашим клиентам из Южной Азии и всем, кто ведет бизнес в регионе, предлагая новые захватывающие возможности.

Наш новый индийский центр обработки данных в Мумбаи — это наше последнее расширение, благодаря которому наша глобальная сеть теперь доступна в 9 регионах и 12 точках по всему миру. Эта разработка поддерживает растущие цифровые потребности предприятий и разработчиков, работающих по всей Южной Азии. Индийские предприятия получат выгоду от местного хостинга с качеством обслуживания мирового класса. Оффшорные клиенты получат стратегическое расположение, которое не повлияет на производительность.

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

С наилучшими пожеланиями,
Ваша команда Контабо

contabo.com/en/locations/india/

Увеличили выплаты с BugBounty до 500 тысяч рублей



У нас три новости

Первая — в панели появилась отдельная страница, посвященная поиску багов. Если вы профессиональный багхантер, на странице вы найдете грейды багов и выплат, и увидите ссылку на БагБаунти-платформу. Если вы просто нашли баг в панели или на сайте, теперь сможете передать его нам через специальную форму там же — за спасибо
timeweb.cloud/my/bug-bounty

Вторая. Мы решили увеличить выплаты по БагБаунти в два раза на постоянной основе. Теперь за небольшие баги вы сможете заработать до 7,5к рублей, а за самые критичные — до полумиллиона.

Чтобы начать зарабатывать на багах, регистрируйтесь на платформе BI ZONE Bug Bounty и присоединяйтесь к нашей программе. Кстати, по размеру вознаграждений мы занимаем 4 место и уже выплатили багхантерам более 3 млн рублей.
app.bugbounty.bi.zone/companies/timeweb/main

И, наконец, новость третья. Тот, кто первым пришлет валидный отчет уровня critical, high и medium/low, получит на баланс в нашем облаке 100к, 50к или 10к рублей соответственно. А за 10 первых отчетов любого уровня мы с BI ZONE подарим крутой мерч.

Мы запускаем новую акцию, приуроченную к наступлению лета

Клиентов компании ждут традиционная скидка 30% и яркие летние подарки.



Каĸ получить сĸидĸу
Акция будет действовать с 1 до 30 июня. Для получения скидки 30% нужно пополнить баланс и продлить серверы на год в личном кабинете, либо заказать новый сервер. В последнем случае скидка рассчитается автоматически.
ruvds.com/ru-rub/my/servers
ruvds.com/ru-rub

Суперприз – iPad Pro 13
Для того, чтобы принять участие в розыгрыше суперприза, достаточно пополнить баланс в течение июня на более чем 10 000 рублей. Победитель, имя которого станет известно 1 июля в нашей группе RUVDS в Telegram, будет выбран с помощью генератора случайных чисел.
t.me/ruvds_community

Также каждую неделю RUVDS будет разыгрывать призы поменьше — для трёх клиентов, которые оплатили услуги за год на прошедшей неделе.
1. Увлажнитель воздуха
Приз за первое место – увлажнитель воздуха Xiaomi Smart Humidifier 2. Он не просто поможет поддерживать комфортный уровень влажности в помещении, но и окажет положительное влияние на здоровье и сон.
2. Будильниĸ с имитацией рассвета и заĸата
Обладатель второго места получит будильник с имитацией рассвета и заката YouSENS Wake-up. Этот стильный аксессуар сделает пробуждения максимально естественными, настраивая на нужный лад с самого утра.
3. Фитнес-браслет
Призом за третье место станет многофункциональный умный браслет Xiaomi Smart Band 8. Браслет предлагает большой и яркий дисплей, удобство использования и компактные размеры – всё, необходимое для активного летнего досуга и отдыха.

Летнее предложение колокейшн

Акция на Colocation, которая действует только в июне:

1U или 2U (включая мощность 300 Вт)
  • Порт 1 Гбит/с без лимита, плоский
  • Порт 1 или 10 Гбит/с
  • Бесплатные сеансы BGP
  • IPMI OOB Uplink включен
  • Включена защита от DDoS
  • Специальная цена предложения: 150 евро/мес
Location: Equinix FR7

Если у вас есть какие-либо вопросы, просто задайте их здесь или отправьте нам сообщение по адресу: delta.as203446.net/signup

ah shit, here we go again



9-ая локация в Эстонии уже доступна для всех желающих! Эстония станет площадкой для подготовки новых обновлений и уже несет в своей инфраструктуре ряд обновлений, которые будут распространены и на другие локации. По традиции для всех тарифов (Standard/Memory) установлена скидка в размере 20%, действует на последующие продления.
Приятного пользования!
my.hip.hosting/hiplets/new

9-th region in Estonia is available to deploy for everyone! Estonia become a place to prepare new updates and has already introduced a number of updates to iinfrastructure solutions that will be distributed to other places in future. Traditionally all plans (Standard/Memory) include 20% discount, valid for further renewals.
Enjoy!
my.hip.hosting/hiplets/new