Модель клиентского сервера настолько глубоко укоренилась в традиционной разработке программного обеспечения, что мы редко бросаем вызов догме. Тем не менее, Edge Computing, когда -то состоящие только из CDN -ускорения и профилактики DDOS, стали третьим уровнем вычислений.
Мы являемся свидетелями преобразования в Edge Computing, поскольку более мощные время забега, такие как Webassembly, позволяют разработчикам создавать целые приложения на распределенном краю, а не в облачных сервисах.
Что если ваше приложение может работать в 50 городах одновременно и без традиционных серверов? Это обещание развития Edge Native, основанное на Webassembly.
Что такое Edge Computing и почему это важно для webassembly
Модель клиента-сервер является классической архитектурой, на которой был построен Интернет. Наши общие онлайн-задачи-электронная почта, сеть, обмен сообщениями и т. Д.-все они были первоначально концептуализированы в этой модели с двумя частями, в которой у пользователя есть клиент, который представляет данные, но сами данные управляются (и хранятся на) серверах.
В конце 1990 -х годов третий уровень тихо вставил себя между клиентами и серверами. В то время мы назвали это сетью доставки контента (CDN). Первоначальная задача состояла в том, чтобы хранить статические активы, такие как изображения и таблицы стилей, ближе к пользователю. Типичный CDN может иметь десятки, сотни или даже тысячи точек присутствия (POPS), расположенных по всему миру. И эти небольшие банки вычислительной и хранилищ, запланированные в нагрузки на веб -страницах для быстрее доставки активов. CDN был об улучшении скорости доставки, но только для активов, которые не часто меняются.
CDN Networks оказались хорошими местами для проведения других видов операций. Со временем CDN расширились в мир безопасности и стали поставщиками Edge. Например, их распределенный характер означал, что они могут прекратить распределенные атаки отказа в службе (DDOS), прежде чем злоумышленники смогут снять вверх по течению серверов.
Поскольку облачные провайдеры сверкали локальные центры обработки данных, поставщики Edge сделали нежные набеги в хостинг вычислителей. Предоставляя простые двигатели JavaScript, встроенные в местоположения CDN, компании Edge позволяют клиентам делать легкие преобразования в входящих HTTP -запросах. Edge Compute использовался, чтобы делать что -то вроде:
- Выпуск перенаправления при переезде содержимого
- Управление заголовками CORS в HTTP -запросах
- Интеллектуально направляйте трафик на основе информации о местоположении
Разработчики любили эту модель, но ограничения системы означали, что на грани может быть сделано только определенное количество обработки. Это открыло новую возможность.
Как эволюционировали Edge Computing для поддержки WebAssembly
Ранние краевые вычисления — запуск небольших фрагментов JavaScript для изменения HTTP -запросов — по сути является вспомогательной функцией. Код, выполненный на краю, не был предназначен для выполнения какой -либо тяжелой работы или возврата полных результатов пользователю. Он был разработан для принятия небольших решений, чтобы упростить то, как будут обработать запрос вверх по течению, или разгрузить некоторую работу с вышестоящих серверов, принимая решения на ранней стадии. Например, выполнение аутентификации на краю — это небольшая задача, но (для неудачных попыток аутентификации) может разгрузить работу с более оживленных и дорогих серверов вверх по течению.
Тем не менее, две вещи удерживали вычисления на грани. Первым был низкий объем вычислительной мощности, доступной для работников по краю. Вторым была недостатка услуг данных, работающих на грани. Трудно сделать какие -либо существенные вычисления, когда нет места для хранения данных.
Webassembly: решение проблем выполнения Edge
Если низкая вычислительная мощность является первой проблемой, то есть два потенциальных решения: увеличить мощность доступного аппаратного обеспечения или сделать время выполнения более эффективным. В любом случае расширение оборудования необходимо, но оно имеет тенденцию двигаться медленно, потому что это так дорого. В то время как в долгосрочной перспективе расположения Edge могут получить лучшее аппаратное обеспечение, в краткосрочной перспективе это решение является несостоятельным.
Но появление более быстрого класса пробега изменило игру. Fastly был первым, кто использовал Webassembly в качестве времени выполнения Edge со своей платформой Compute@Edge. Акамай и Фермион объединили свои усилия, чтобы обеспечить время выполнения, способствующее прохождению, столь же мощным, как и Lambda Server Server Environment Amazon, но работая в основных регионах Akamai. Как Fastly, так и Akamai теперь поддерживают небольшие фрагменты кода JavaScript и растущий портфель других языков программирования, которые работают как двоичные файлы webassembly. Даже Cloudflare, убежденный адвокат JavaScript, проработал набережные в поддержку многоязычной поддержки, поддерживаемой Webassembly.
У Webassembly есть четыре достоинства, когда дело доходит до Edge Computing:
Webassembly, безопасная и нейтральная платформа времени выполнения, открывает возможность сложных вычислений с краем, которые в некоторых случаях могут полностью заменить компонент сервера. В дополнение к размещению всех ранних вариантов использования вычислений, он достаточно надежна для запуска систем управления распределенным контентом, платформ цифрового опыта и вывода искусственного интеллекта без необходимости поддержки вверх по течению от поставщика облачных.
Вместо одного централизованного банка вычислений в облачном регионе Webassembly, распределенная вдоль края, означает, что десятки тысяч экземпляров того же приложения могут работать по всему миру, отвечая на запросы со скоростью потрясающей скорости. Если нативные вычисления облаков определяют движение к облаку, то эта появляющаяся тенденция удачно названа Edge Native Computing.
Почему распределенное хранилище имеет решающее значение для webassembly на краю
Вторым требованием нативных вычислений Edge является необходимость в распределенном хранилище, которое легко доступно по краям.
CloudFlare привел путь, внедрив распределенные ключа/хранилище значения, хранение объектов и хранение базы данных несколько лет назад. Akamai приобрел Linode, который предоставил огромные облачные вычисления (которые Akamai продолжал катиться к краю) и хранилище облачного класса. А множество третьих лиц, включая Harper, Neon и Turso, ввели Edge Native SQL баз данных, которые решают проблемы доступа к данным, связанные с распределенными вычислениями. В марте этого года новая база данных трансплантатов объявила механизм синхронизации, идеально подходящего для рабочих нагрузок без серверов на Edge.
Восстание нативных приложений, основанных на Webassembly
Комбинируя доступ к данным на краю с огромными улучшениями в Edge Computing Tright, разработчики теперь могут создавать приложения, которые запускают распределенные вдоль края и практически не зависят от входных серверов вверх по течению. Старая модель клиента/сервера уступила место модели клиента/края/сервера, которая теперь открыла потенциал для модели распределенного клиента/края.
Этот новый нативный подход не только упростит распределенные вычисления простыми, но и станет домашней базой для новых приложений искусственного интеллекта на основе выводов (включая агентские рабочие процессы). Привлек работу к конечному пользователю, приложения Edge не только соответствуют требованиям скорости, но и локализуют информацию и соблюдают требования суверенитета данных. Все это будет оснащено Webassembly.
Владелец TNS, Pankight Partners, также инвестирует в Fermyon. В результате Фермион получает предпочтения в качестве участника.
Trending Stories youtube.com/thenewstack Tech движется быстро, не пропустите эпизод. Подпишитесь на наш канал YouTube, чтобы транслировать все наши подкасты, интервью, демонстрации и многое другое. Группа подпишитесь с эскизом. Мэтт Батчер-соучредитель и генеральный директор Fermyon, Webassembly в облачной компании. Мэтт является одним из оригинальных создателей Helm, бригады, CNAB, OAM, Glide и Krustlet. Он написал и написал в соавторстве много книг, в том числе «Учебный шлем» … Подробнее от Мэтта Батчера