#cloudflare

страница 2 из 4
пост №1676Разработка и инженерия

Как незаметно ускоряется интернет или история с цифровыми полтергейстами.

Случайно наткнулся на то, что теперь сайты открываются не только по IP-адресам, указанным в A и AAAA записях, но и по адресам, указанным в SVCB-записях в DNS.

Это новый тип DNS записи (type 65), при наличии которой, свежие браузеры (Safari, например) сразу открывают сайт по https, а точнее — по QUICK, причем используют ключ шифрования из DNS. Такая схема работы ускоряет первое открытие сайтов на существенные десятки, если не сотни миллисекунд (а также сильно мешает Роскомнадзору) и Cloudflare уже публикует эту запись для всех своих клиентов (рекомендую их объяснение протокола, RFC не простой).

Обнаружил я это, когда пытался заблокировать себе некоторые сайты на компьютере, чтобы не заходить на них бездумно. Обычно я заношу их в /etc/hosts, а тут для некоторых сайтов именно в Сафари это не работало. Похоже на историю с полтергейстами, но к счастью, после некоторого поиска нашелся ответ на StackOverflow, который расставил всё по местам и напомнил об SVCB.

Для меня это ещё одно доказательство того, что не-профильные части бизнеса стоит делегировать профессионалам. Мало кто из «обычных админов» сайтов использует эти новые протоколы — все ведь работает и по-старинке. А если используешь Cloudflare для хостинга сайтов — то получаешь все эти десятки, если не сотни довольно неочевидных оптимизации в комплекте. Примерно как когда заказываешь у нас разработку.

Ах да, если хотите заблокировать себе какие-то сайты на компьютере под маком — то рекомендую Little Snitch Mini — это прекрасная утилита, которая показывает, к каким сайтам подключаются программы на вашем компьютере и позволяет блокировать их одним кликом (1,5 евро в месяц). Аналог под Windows — NetLimiter.

пост №1641Интернет и платформы

Cloudflare празднует 12-й день рождения.

Без этой компании трудно представить современный веб. Дело в том, что заказать DDoS-атаку сегодня — просто и дешево; это целая индустрия, где за 100 долларов можно «положить» сайт конкурента.

Cloudflare — самый простой способ защитить свой сайт от атаки. Для мелких и некоммерческих сайтов — бесплатно, с крупных клиентов они берут хорошие деньги. CF защищает 20% всех страниц в интернете. Уже сегодня вы наверняка десятки раз воспользовались их услугами, сами того не замечая. Я использую CF практически для всех своих проектов.

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

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

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

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

- новая версия Internet Radar — можно посмотреть статистику использования протоколов, атак, а из понятного всем — таблица самых популярных сайтов.

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

пост №1555Интернет и платформы

Случайно обнаружил, что на моем домашнем интернете DNS-серверы от Cloudflare (1.1.1.1) в 4 раза быстрее, чем DNS-серверы Google (8.8.8.8).

А ещё можно заблочить себе порнуху, используя DNS-сервер Cloudflare Family (1.1.1.3).

Рекомендую.

О том, что такое DNS мы подробно говорили в выпуске подкаста про блокировку интернета.

Обратите внимание на разницу в дизайнах лендингов от Гугла и Cloudflare 🤷‍♀️

пост №1502Интернет и платформы

Ну хоть Мэтью Принц, основатель и глава Cloudflare, не подкачал.

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

Дальше приводит графики того, как выросло обращение к иностранным медиа после начала войны.

Добавляет, что власти РФ наверняка обрадуются, если Cloudflare перестанет работать в России (CF — крупнейший анти-дидос провайдер, на нем сидят многие русские медиа).

Всё, ответка режима может быть только одна: бомбить Воронеж (зачеркнуто) отключить интернет. Вон даже Мэтью говорит, то интернет помогает от Путина, а он уж точно эксперт.

пост №1417Разработка и инженерия

ФБ начал возвращаться в строй. Сетевая связность восстановлена, заработал DNS. Приложения, скорее всего, тоже скоро очухаются.

Вот хороший обзор ситуации и объяснение механизма падения от Cloudflare https://blog.cloudflare.com/october-2021-facebook-outage/

Теперь ждём технического пост-мортема от фб.

Пойду спать, спокойной ночи, друзья.

пост №1371Разработка и инженерия

Клаудфлер обвиняет амазон в том, что тот завышает цены на исходящий трафик на 8000%. Вторая претензия (более существенная): залить данные в облако амазона бесплатно, а выкачать обратно стоит денег.

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

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

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

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

P.S. Облачные хостинги — отличный инструмент ❤️

пост №1223Разработка и инженерия

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

Исторически, Cloudflare — крупный и агрессивный игрок на рынке CDN, то есть они умеют с минимальной задержкой и максимальной скоростью отдавать статический контент: картинки или страницы, которые одинаковые для всех пользователей. Они забирают их с ваших серверов, копируют (кешируют) на сотни своих серверов и отдают пользователю. Прикол в том, что у Cloudflare есть свои серверы в 200 главных точках обмена трафиком, 99% пользователей интернета живут ближе, чем в сотне километров от сервера Cloudflare. Это называется edge-network, пограничная сеть, в смысле та, которая граничит с пользователями. Небольшое расстояние и оптимизированные серверы означают, что статический контент будет грузиться мгновенно.

Проблема в том, что большинство страниц — динамические. Например, гугл-документ или мою ленту фейсбука кешировать на edge смысла нет — никому кроме меня она не нужна, да и мне интересна только самая последняя версия документа, и я его только что отредактировал. Исторически это означает, что нам нужно вести все эти вычисления новых страниц где-то на центральном сервере. У крупных компаний вроде гугла или фейсбука обычно есть несколько крупных серверных ферм на каждом континенте, поближе к пользователям, так что пользователи из России кучкуются на европейских серверах, а американцы — на штатовских. Это всё требует довольно сложную инфраструктуру, маленьким компаниям недоступную. Облака Амазона и другие конкуренты пытаются решить эту проблему, но без поллитра во всех их рычажках не разберешься.

Кажется, у Cloudflare получилось придумать элегантное, красивое решение для динамических страниц, которое работает прямо на edge-серверах! Встречайте Cloudflare Workers и Durable Objects.

Cloudflare Workers — облачные функции, в Амазоне они называются лямбды (lambda@edge). То есть вы пишете программу, которая обрабатывает запросы пользователей, загружаете её в облако и она запускается по необходимости на серверах облака, прозрачно, незаметно для вас и для пользователя. Придет один пользователь — запустится одна копия, придет тысяча — запустится тысяча копий. Обычно есть время на так называемый cold start, то есть после некоторого ожидания облачная функция тушится и нужно время, чтобы она проснулась и начала отвечать на запросы. Тут этой задержки нет. Обычно вам нужно выбрать регион работы функции (помните про близость к пользователю?), тут выбирать не нужно, код запустится из самого ближнего к пользователю edge (!) сервера. Обычно эта штука стоит недешево, здесь она примерно в 3-10 раз дешевле, чем у конкурентов. Весь этот банкет за счет того, что наш код работает не контейнерах, а v8-изолятах, то есть частично — на движке гугл-хрома! (тут рассказано, как их выбрали). Но это всё закуска, кайф — дальше.

У облачных функций есть слабое место — координация пользователей. Например, мы хотим сделать копию сервиса Гугл-документов или сервис чатов — то есть несколько людей подключаются к одной программе, могут в неё писать и читать общие данные. Решений два — либо запускаем программу по-старинке, один экземпляр на сервере и храним данные в памяти (быстро!), либо запускаем в функциях, но тогда нужна будет очень быстрая общая база данных и то скорость будет ниже, потому что функциям нужно будет ходить в центральную базу данных.

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

Отдельно подчеркну достойную документацию и хороший инструментарий разработчика.

Перечисленное выше — базовые технологии, на которых можно строить впечатляющие бизнес-решения.

Вот, например, сам Cloudflare предлагает ускорить Wordpress-сайты в 3,5 раза. Просто подключаешь плагин и сайт начинает грузиться в разы быстрее, а это, между прочим, самый популярный движок для сайтов в мире и такое ускорение напрямую влияет на бизнес.

Или вот чуваки приняли 5 миллионов евро пожертвований за 2 часа, написав смешной объем кода и не упали! Вот инженер из Vox Media запустил React прямо на edge-серверах!

В интересное время живем, товарищи!

N.B. Федя добавляет, что красота красотой, но начинать лучше с классических фреймворков и 5-долларового сервера в DigitalOcean, а как только пойдет трафик и станет понятно, что код приносит деньги — вот тогда уже думать об облаках. Аминь.

пост №1204Разработка и инженерия

Карагодина Степана Ивановича расстреляли 21 января 1938. Почти у всех нас в России есть истории, связанные с большим террором — у кого-то предков сослали или расстреляли, кто-то — потомок палачей, бывает и оба вместе. Денис Карагодин уже много лет делает удивительный проект — расследует, кто и как убил его прадеда.

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

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

У Дениса, как и у многих медиа, wordpress на виртуалке и cloudflare для защиты от DDoS. Но, также как у многих, у него не были правильно настроены кеши. Кеш — это подготовленный заранее ответ сервера, который хранится в памяти и отдается по запросу пользователя практически мгновенно, с минимальной нагрузкой на сервер. Кешировать сайт можно на многих уровнях, начиная с самого вордпресса, заканчивая nginx и серверами cloudflare.

Я выбрал самый простой и бронебойный вариант — на серверах cloudflare. В этом способе запросы читателей вообще не доходят до вашего сервера, все страницы (из кеша) отдают серверы Cloudflare. Для того, чтобы его включить нужно: 1) настроить агрессивное кеширование в админке cloudflare; 2) порой ещё нужно настроить заголовки ответа сервера, которые разрешают кеширование страниц, для этого достаточно добавить две строчки в конфигурацию nginx. Voilà!

Ну а дальше я сконтачил Дениса с Васей Озеровым, основателем классной компании сисадминов fevlake, чтобы они потом сделали всё основательно и на века. Кстати, у Васи есть классный канал про devops, рекомендую.

Обращайтесь к нам с Федей, мы делаем так, чтобы сайты не падали!

пост №988Разработка и инженерия

Очередной шедевр от Cloudflare — подробный отчет об аварии 2 июля.

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

Внутри — как у них устроен процесс разработки и деплоя, 11 причин, сочетание которых привело к аварии; что они сделали, чтобы подобная ситуация не повторилась, какие дальнейшие планы и даже разбор, как именно регулярное выражение съело все ресурсы процессора.

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

пост №973Разработка и инженерия

Описание вчерашней сетевой аварии опубликовал в своем блоге Cloudflare. Ниже мой перевод первого абзаца на скорую руку, оригинал лучше:

Сегодня в 10:40 UTC у интернета случился сердечный приступ. Небольшая компания в Северной Пенсильвании стала избранным путем (preferred path) многих соединений крупнейшего транзитного провайдера Verizon. Представьте, что Яндекс.Карты завернули весь трафик МКАДа через маленький переулок. Клаудфлер, вместе с многими другими хостингами стал недоступен для больших частей интернета. Всё началось с того, что Verizon анонсировал свои внутренние пути во внешний интернет. Почему так вышло — читайте дальше.

Обожаю, когда объясняют сложные события с самых основ и не упускают важных деталей, раскрывая их суть по мере рассказа. ❤️💪