Всё для бизнеса и крутых проектов в главных акциях апреля



Скидка 50% на Расширенную защиту от спама!
Только до 30 апреля 2019 года для всех клиентов REG.RU действует супервыгодное предложение: активируйте промокод ANTISPAM19 и подключите Расширенную защиту от спама за полцены!
www.reg.ru/company/promotions/5168

Хостинг бесплатно при переносе сайта в REG.RU!
Перенесите свои сайты на обслуживание к хостинг-провайдеру №1 в России и получите в подарок 1 месяц бесплатного виртуального хостинга или VPS. Убедитесь лично в надёжности наших услуг
и сэкономьте!
www.reg.ru/company/promotions/5165

Веб-адрес в зоне .ONLINE всего за 1 рубль!
Уникальная акция продлена до конца апреля: спешите зарегистрировать новый веб-адрес в зоне .RU и получить такой же в зоне .ONLINE всего за 1 рубль! Используйте их для привлечения максимального количества пользователей!
www.reg.ru/company/promotions/5167

Домены в зонах .RU и.РФ в подарок к хостингу!
Подключите хостинг на срок от 12 месяцев и получите бесплатно домены в самых популярных зонах Рунета. Акция действует для всех клиентов, кроме партнёров REG.RU.
www.reg.ru/company/promotions/4584

Адрес .INFO за 99 рублей: пусть весь мир узнает о вас!
Ваш онлайн-проект заслуживает особого внимания и стоит того, чтобы о нём узнали как можно больше пользователей. Стирайте любые границы и делитесь интересным контентом с доменом .INFO за 99 рублей.
www.reg.ru/company/promotions/5111

Экономьте больше с Клубными тарифами REG.RU!
Станьте участником Клуба REG.Friends и получите доступ к постоянным скидкам и специальным условиям, а также дополнительным сервисам.
www.reg.ru/club/tariffs
www.reg.ru/company/promotions/

Акционные серверы 10 гигабит (гарантия) в ЕС Франция по цене от $799 в месяц



Специальная дешевая цена на сервера во Франции с Гарантированным портом в 10 гигабит по цене $799 в месяц.
  • Dual Xeon 2650, 128GB RAM, 4x 4TB HDD, 10G dedicated(выделенные/гарантировано) $799/в месяц
  • Dual Xeon 2650, 128GB RAM, 4x 2TB SSD, 10G dedicated(выделенные/гарантировано) $899/в месяц
  • Dual Xeon 2650, 128GB RAM, 4x 8TB HDD, 10G dedicated(выделенные/гарантировано) $899/в месяц
  • Dual Xeon 5520, 80GB RAM, 4x 8TB HDD, 10G dedicated(выделенные/гарантировано) $799/в месяц
  • Dual Xeon 5520, 80GB RAM, 4x 4TB HDD, 10G dedicated(выделенные/гарантировано) $699/в месяц
  • Dual Xeon 5520, 80GB RAM, 4x 2TB SSD, 10G dedicated(выделенные/гарантировано) $799/в месяц
  • Dual Xeon 5520, 80GB RAM, 4x 1TB SSD, 10G dedicated(выделенные/гарантировано) $699/в месяц

Для заказа пройдите регистрацию и откройте тикет https://billing.oshq.ru/order.php?type=partner

Hetzner.abcd.cloud | Автодеплой Windows 2012


04/2019 update

  • Переработана страница заказа сервака, часть кнопок, подсказки, т.д.
  • Автодеплой Windows 2012
Теперь её можно выбрать при создании сервера.


После заказа, сервер переходит в состояние установки:



Установка, при небольшом потоке заявок, длится примерно 5 минут. После чего клиент получает письмо с логином/паролем от RDP:


И может пользоваться своим сервером:





Также, Windows доступен и при переустановке ОС:


  • Используя эти решения мы можем еще каких-нибудь дистрибутивов в панель добавить.
  • Тех которых нет на оригинальном Hetzner Cloud
  • Но зато которые пользуются спросом у разработчиков. Авто установка OpenVPN, авто установка vestacp, fastpanel и другое.
  • В будущем так же будет адаптация панели под реселлеров. Чтобы любой мог накатить ее себе на домен, через наши серверы, заплатив нам по подписке и начал бы продавать своим клиентам через свои hetzner аккаунты.

hetzner.highload.cloud/billmgr?func=register&lang=ru
hetzner.abcd.cloud/

Вы спросили нас что-нибудь на Reddit!



Когда вы открываете дверь в Интернет, вы абсолютно не представляете, что произойдет. Это особенно верно для Reddit — главной страницы Интернета и одного из самых популярных в мире веб-сайтов. Поскольку Backblaze гордится прозрачностью нашего бизнеса, решение об участии в IAmA на Reddit было простым. Это была захватывающая возможность рассказать людям о Backblaze и начать разговор с кем-либо в мире, который мог бы привести куда угодно.

Если вы не знакомы с Reddit IAmA (I Am a), это субреддит (/r/IAmA) для интерактивных интервью с вопросами и ответами. Реддиторы могут задавать темы по своему желанию, по этой причине она называется АМА, сокращенно «Спроси меня что-нибудь». Результирующая цепочка комментариев сохраняется в Reddit. Backblaze сделали наш первый AMA в 2012 году, поэтому мы подумали, что пришло время для второго.

Как мы оказались на Reddit?
Двенадцать лет назад, Backblaze была сформирована после того, как друг нашего основателя позвонил, чтобы сказать ему, что ее компьютер сломался. У нее не было резервных копий, и ее данные исчезли. В результате Backblaze была создана, чтобы помочь потребителям и предприятиям создавать резервные копии своих данных самым простым способом, чтобы избежать потери данных.

Всемирный день резервного копирования начался аналогичным образом, когда пользователь Reddit потерял свой жесткий диск и пожелал, чтобы кто-то напомнил им о необходимости его резервного копирования. Небольшая группа в сообществе Reddit осознала важность резервного копирования и растущей тенденции потери данных. В целях повышения осведомленности они создали Всемирный день резервного копирования. С учетом наших целей, в сотрудничестве с World Backup Day и Reddit, Backblaze решила создать IAmA.

В 2012 году Backblaze была небольшой компанией с всего лишь 25 петабайтами данных под управлением и 15 сотрудниками. Большинство из нас участвовали в IAmA в этом году. В то время люди хотели знать о будущем Backblaze и возможности выхода нашей компании из бизнеса. Наш технический директор Брайан Уилсон ответил:
Мы никуда не денемся. Мы счастливы и прибыльны

Семь лет спустя оба эти утверждения все еще остаются в силе.
Конечно, за почти десятилетие многое изменилось. Мы храним более 750 ПБ данных клиентов от клиентов в более чем 150 странах. Наша команда из 15 человек выросла почти до 100. Но некоторые вещи остаются прежними — менее 6% владельцев компьютеров резервируют свои данные один раз в день или больше. Поэтому Backblaze решила вернуться в Reddit, чтобы рекламировать Всемирный день резервного копирования и зарегистрироваться в Интернете.

Еще раз, наиболее одобренный комментарий пришел от нашего технического директора, Брайана. Когда его спросили, почему Backblaze заставляет пользователей делать резервные копии своего диска C, Брайан объяснил, что он написал клиент так, чтобы «решить очень реальную проблему».

Эта проблема
Изначально Backblaze позволяла пользователям отменять выбор своего основного диска. И ужасная проблема появилась почти сразу. Клиенты начали отменять выбор своего диска, потому что они не знали, что диск C содержит данные, которые им могут понадобиться, или просто по ошибке. Затем они обратились бы в нашу службу поддержки и обнаружили, что не смогли восстановить свои данные. Это включало в себя фотографии детей, которые уже скончались (у нас было два случая этой точной ситуации), и другие незаменимые данные, которые теперь ушли навсегда.

Решение
В этот момент Брайан переписал клиент, чтобы принудительно включить основной диск. Это было решение, которое некоторым не нравилось. Однако, по словам Брайана, «исправление сработало потрясающе», и у нас больше нет клиентов, случайно теряющих данные, потому что они отменяют выбор своего накопителя. Основываясь на многочисленных ответах людей, работающих в IT, Брайан понял это правильно. «Программное обеспечение должно быть написано для конечного пользователя», — ответил один из ИТ-специалистов. «Все лучшее и самое популярное программное обеспечение (и оборудование) просты и легки в освоении».

Какие были еще вопросы?
В то время как мы изначально запланировали два часа для IAmA, мы закончили тем, что ушли на пять (наш социальный парень, Yev, может все еще быть там прямо сейчас).

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


Интересно было то, как Backblaze продолжает предоставлять действительно неограниченное решение для резервного копирования компьютеров. В нашей отрасли практически все безграничные решения исчезли с рынка. Но Backblaze удвоился за последние несколько лет. Это вызывает вопрос о том, как мы продолжаем устойчиво поддерживать продуктовую линейку. В настоящее время у нас есть один клиент, поддерживающий 430 терабайт за 6 долларов в месяц. По этой цене мы явно теряем деньги на этом клиенте. Тем не менее, большинство наших клиентов имеют гораздо меньше данных. Таким образом, в то время как мы теряем деньги на этом одном клиенте, мы в среднем прибыльны. Есть и другие причины для поддержки выбросов — эти клиенты демонстрируют, что мы действительно безграничны. Ни один сервис, который ограничивал или выборочно создавал резервные копии файлов, не позволил бы создать резервную копию 430 ТБ. Да, это в конечном итоге приводит к издержкам бизнеса, но эти отдаленные клиенты тоже становятся большими евангелистами. Вы не получаете столько данных, не будучи энтузиастом хранилища. Наш технический директор, Брайан, выдвинул еще одну вескую причину: когда продукт работает на действительно большие выбросы, тогда «он будет работать очень гладко для среднего клиента».

Если вы хотите больше узнать о нашей беседе с IAmA, вы можете сделать это на Reddit. Или, если вы хотите сделать резервную копию всех данных ваших конечных пользователей самым простым и надежным способом, мы приглашаем вас попробовать Backblaze Business Backup.

Новое облако экземпляров, объект хранения в Париже и Вынося ScaleDay




Даже больше экземпляров Нового облака
В прошлом месяце, Scaleway завершил свой профессиональный выбор экземпляров, чтобы предоставить нашим клиентам всего уровень мощности и услуг для масштабирования и расти быстрее с нами. Все началось с GPU Instances с посвященный NVIDIA Tesla P100 на лучшее соотношение цена-качество на рынке. Тогда мы объявили о наших общих Purpose экземпляров с до 48 высокого класса AMD EPYC питания и выше виртуальных ЦП ИХ. Новые общего назначения Инстансы начинаются с € 39 / месяц. Наконец, мы добавили на прошлой неделе наш новый модельный ряд экземпляров разработчиков, чтобы начать свое путешествие с нами. Заменяя экземпляры Пуска с экземплярами разработчиков, мы обеспечиваем стабильность и Reliablity по лучшей конкурентоспособной производительности в своей категории.
www.scaleway.com/development-instances/

Пригласите своих друзей, чтобы попробовать Scaleway бесплатно
С апреля 1 — го, Scaleway новички получают € 100 кредит на знак до тестирования наших услуг. Этот кредит действует на все виды продукции до мая 1 — го, 00:00 UTC. Не стесняйтесь, чтобы пригласить друзей, чтобы попробовать наши продукты!

Объект хранения в Париже
Хранение объекта теперь доступна в зоне Paris FR-PAR. Это позволяет хранить данные поблизости экземпляров и Dedibox выделенных серверов легко и при низкой стоимости с использованием консоли Scaleway или любой S3-совместимым инструмента.
console.scaleway.com/object-storage/


www.eventbrite.com/e/billets-scaleday-59762583496

Поделитесь своим мнением!
У вас есть возможность предоставить нам свои отзывы о онлайн по Scaleway и ее продукции. Ваше мнение драгоценно и поможет нам значительно улучшить наши предложения и качество обслуживания. Это не займет у Вас более 4 минут, чтобы ответить.
scaleway.typeform.com/to/OYcZjM

Учебники и статьи

AWS-CLI является открытым кодом построен на вершине AWS SDK для Python (Бото), который предоставляет команды для взаимодействия с сервисами AWS. В этом уроке вы узнаете, как использовать для хранения объектов с AWS-CLI и как вы можете управлять своими ведрами и объекты с помощью АМС.
www.scaleway.com/docs/object-storage-with-aws-cli/


Давайте Encrypt является органом сертификации (CA), который предоставляет бесплатные TLS / SSL сертификаты, чтобы включить HTTPS на веб-серверах. Они обеспечивают программный клиент под названием Certbot автоматизировать большинство этапов, необходимых для получения сертификата и настроить его в веб-сервер Nginx.
www.scaleway.com/docs/how-to-configure-nginx-with-lets-encrypt/

Это статья время!
В первой статье мы рассмотрели основные особенности хранения объектов. В этой статье мы представим внутреннюю архитектуру Scaleway хранения объектов. Следите за последним из серии, которая будет опубликована в ближайшее время.
blog.scaleway.com/2019/object-storage-how-it-works/
blog.scaleway.com/2019/object-storage-scaleway-what-is-it/

Свежие новости от AWS



Вычисления
Хранение данных
Базы данных
Сеть
Разработка
Безопасность
Машинное обучение
Аналитика

Эффективность бизнеса
Рабочие столы
Интернет вещей (IoT)
Робототехника
Программное обеспечение AWS Marketplace
Партнерская сеть AWS (APN)
Правительство и государственный сектор
AWS Deep Learning

Циклы: питание непрерывных запросов с наблюдаемостью FaaS

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

В команде Observability мы встречаем эти фрагменты как запросы в базе данных временных рядов (TSDB), чтобы выразить непрерывные запросы, которые отвечают за автоматизацию различных вариантов использования, таких как: удаление, свертка или любая бизнес-логика, которая должна манипулировать данными временных рядов.

Мы уже представляли TSL в предыдущем сообщении в блоге, в котором демонстрировалось, как наши клиенты используют доступные протоколы OVH Metrics, такие как Graphite, OpenTSDB, PromQL и WarpScript ™, но когда дело доходит до манипулирования или даже создания новых данных, у вас нет много вариантов, хотя вы можете использовать WarpScript ™ или TSL в качестве языка сценариев вместо запроса.

В большинстве случаев эта бизнес-логика требует создания приложения, которое требует больше времени, чем выражение логики в виде запроса, ориентированного на TSDB. Создание базового кода приложения — это первый шаг, за которым следует CI / CD (или любой процесс доставки) и настройка его мониторинга. Однако управление сотнями небольших приложений, подобных этим, увеличит органические затраты из-за необходимости поддерживать их вместе с базовой инфраструктурой.

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

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



Вы не должны FaaS!
Планирование работы — старая, привычная рутина. Будь то bash cron, runner или специализированные планировщики, когда дело доходит до упаковки фрагмента кода и его периодической работы, существует имя для него: FaaS.

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

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

def Loops
Именно тогда мы решили создать «Loops»: платформу приложений, в которой вы можете запустить код, который хотите запустить. Это все. Цель состоит в том, чтобы выдвинуть функцию (буквально!), А не модуль, как это делают все текущие решения FaaS:
function dailyReport (event) {
    return Promise.resolve («Сегодня все хорошо!»)
}

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

Были некоторые необходимые ограничения, когда мы начали строить Loops:
  • Эта платформа должна легко масштабироваться для поддержки производственной нагрузки OVH
  • Это должно быть очень доступно
  • Он должен быть независимым от языка, потому что некоторые из нас предпочитают Python, а другие JavaScript
  • Это должно быть надежно
  • Часть планирования не должна коррелировать с частью исполнения (культура µService)
  • Он должен быть безопасным и изолированным, чтобы любой мог вставить неизвестный код на платформу.

Реализация циклов
Мы решили построить нашу первую версию на V8. Мы выбрали JavaScript в качестве первого языка, потому что он прост в изучении, а асинхронные потоки данных легко управляются с помощью Promises. Кроме того, он очень хорошо подходит для FaaS, так как функции Javascript очень выразительны. Мы создали его вокруг нового модуля VM NodeJS, который позволяет выполнять код в выделенном контексте V8.

Контекст V8 подобен объекту (JSON), изолированному от вашего исполнения. В контексте вы можете найти собственные функции и объекты. Однако, если вы создадите новый контекст V8, вы увидите, что некоторые переменные или функции не доступны изначально (например, setTimeout (), setInterval () или Buffer). Если вы хотите использовать их, вам придется добавить их в ваш новый контекст. Последнее, что нужно помнить, это то, что когда у вас есть новый контекст, вы можете легко выполнить сценарий JavaScript в строковой форме.

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

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

Теперь мы знаем, как выполнять наши скрипты, давайте реализуем некоторое управление для них. Чтобы быть без сохранения состояния, каждый рабочий экземпляр Loops (то есть механизм JavaScript, способный выполнять код в контексте виртуальной машины) должен иметь последнюю версию каждого цикла (цикл — это скрипт для выполнения). Это означает, что когда пользователь запускает новый цикл, мы должны синхронизировать его с каждым рабочим цикла. Эта модель хорошо согласуется с парадигмой pub / sub, и, поскольку мы уже используем Kafka в качестве инфраструктуры pub / sub, нужно было просто создать отдельную тему и использовать ее у рабочих. В этом случае публикация включает API, где пользователь отправляет свои циклы, которые генерируют событие Kafka, содержащее тело функции. Поскольку у каждого работника есть своя собственная группа потребителей Kafka, они все получают одинаковые сообщения.

Рабочие подписываются на обновления Loops как потребители Kafka и поддерживают хранилище Loop, которое является встроенным ключом (хэш Loop) / Value (текущая версия функции). В части API хеши циклов используются в качестве параметров URL для определения того, какой цикл следует выполнить. После вызова цикл извлекается из карты, затем вводится в контексте V8, выполняется и удаляется. Этот механизм перезагрузки горячего кода гарантирует, что каждый цикл может выполняться на каждом работнике. Мы также можем использовать возможности наших балансировщиков нагрузки для распределения нагрузки на работников. Эта простая модель распределения позволяет избежать сложного планирования и облегчает обслуживание всей инфраструктуры.

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



Циклы выполнения
Даже если базовый движок способен запускать собственный Javascript, как указано выше, мы хотели, чтобы он выполнял более идиоматические запросы временных рядов, такие как TSL или WarpScript. Чтобы добиться этого, мы создали абстракцию Loops Runtime, которая оборачивает не только Javascript, но также запросы TSL и WarpScript в код Javascript. Пользователи должны объявлять цикл с его временем выполнения, после чего это просто вопрос работы упаковщиков. Например, выполнение цикла WarpScript подразумевает использование простого WarpScript ™ и его отправку через HTTP-вызов по запросу узла.


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

Это приводит нас к одному особому условию: пользовательские скрипты должны быть в состоянии сказать, все ли в порядке или нет. Есть два способа сделать это в базовом движке JavaScript: обратные вызовы и обещания.
Мы решили использовать Promises, который предлагает лучшее асинхронное управление. Каждый цикл возвращает обещание в конце скрипта. Отклоненное обещание вызовет состояние ошибки HTTP 500, а разрешенное — HTTP 200.

Планирование циклов
При публикации Loops вы можете объявить несколько триггеров, аналогично Cron. Каждый триггер будет выполнять HTTP-вызов вашего цикла с необязательными параметрами.

Исходя из этой семантики, для генерации нескольких отчетов мы можем зарегистрировать одну функцию, которая будет планироваться в разных контекстах, определенных различными параметрами (регион, скорость). Смотрите пример ниже:
functions:
  warp_apps_by_cells:
    handler: apps-by-cells.mc2
    runtime: ws
    timeout: 30
    environment:
    events:
      - agra:
          rate: R/2018-01-01T00:00:00Z/PT5M/ET1M
          params:
            cell: ovh-a-gra
      - abhs:
          rate: R/2018-01-01T00:00:00Z/PT5M/ET1M
          params:
            cell: ovh-a-bhs


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

Петли трубопроводов
Проект Loops может иметь несколько циклов. Одним из распространенных случаев использования наших клиентов было использование Loops в качестве платформы данных в режиме потока данных. Поток данных — это способ описать последовательность этапов выполнения. В контексте Loops существует глобальный объект `Loop`, который позволяет сценарию выполнить другой цикл с этим именем. Затем вы можете связать выполнение циклов, которые будут действовать как пошаговые функции.

Болевые точки: масштабирование приложения NodeJS
Рабочие циклов являются приложениями NodeJS. Большинство разработчиков NodeJS знают, что NodeJS использует однопоточный цикл обработки событий. Если вы не позаботитесь о поточной модели вашего приложения nodeJS, вы, скорее всего, пострадаете из-за нехватки производительности, поскольку будет использоваться только один хост-поток.

NodeJS также имеет модуль кластера, который позволяет приложению использовать несколько потоков. Вот почему в Loops-работнике мы начинаем с потока N-1 для обработки вызовов API, где N — общее количество доступных потоков, и один из них остается выделенным для основного потока.

Главный поток отвечает за использование тем Kafka и поддержку хранилища Loops, в то время как рабочий поток запускает сервер API. Для каждого запрошенного выполнения цикла он запрашивает у мастера содержимое скрипта и выполняет его в выделенном потоке.

При такой настройке на каждом сервере запускается одно приложение NodeJS с одним потребителем Kafka, что упрощает масштабирование инфраструктуры, просто добавляя дополнительные серверы или облачные экземпляры.

Заключение
В этой статье мы предварительно ознакомились с Loops, масштабируемым, ориентированным на метрики FaaS с собственной поддержкой JavaScript и расширенной поддержкой WarpScript и TSL.

У нас еще есть несколько вещей, которые нужно улучшить, например, импорт зависимостей в стиле ES5 и предварительный просмотр метрик для проектов Loops наших клиентов. Мы также планируем добавить дополнительные среды выполнения, особенно WASM, которые позволят многим другим языкам, на которые он может ориентироваться, таким как Go, Rust или Python, удовлетворять большинству предпочтений разработчика.

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

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

www.ovh.com/fr/blog/v8-hot-code-injection-for-continuous-queries/