Рубрики
Без рубрики

Объявление двигателя без сервера Koyeb: Контейнеры Docker и непрерывное развертывание функций

В июле мы объявили о раннем доступе платформы Koyeb, чтобы помочь разработчикам и предприятиям управлять SE … Tagged с без сервера, Docker, Node, Python.

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

Сегодня мы с гордостью объявляем об общественной доступности Койеб -серверный двигатель С нашими последними функциями в развернуть свой собственный код Анкет В дополнение к готовым интеграциям, теперь вы можете беспрепятственно развернуть Контейнеры Docker и Функции кода со встроенным непрерывным развертыванием с использованием git Анкет

Этот релиз привносит мощность двигателя без сервера Koyeb для всех разработчиков и предприятий с Обработка, управляемая событиями , Нативная автомассалирование , и Полный секретный двигатель управления. Платформа Koyeb обеспечивает сильные примитивы для обработки данных с нашим Universal S3-совместимый API хранения объектов и готовые к использованию интеграции . Мы также рады поделиться этим Наш каталог теперь открытый источник .

Платформа Koyeb предлагает эффективное решение для развертывания ваших приложений без серверов. Это лучшая платформа для развернуть короткие и продолжительные задачи обработки фоновой обработки без ограничения по времени для выполнения ваших работ Анкет Общие сведения об использовании:

  • СМИ Обработка : Преобразование изображений, видео, аудиозаписей или PDF -файлов непосредственно при загрузке
  • Запросы браузера в Интернете и без головы : получение данных и взаимодействие с веб -сайтами, которые не имеют никаких API
  • Взаимодействие с медленным или асинхронным API : Вызовы медленные API или API с использованием обратных вызовов
  • Асинхронное компьютерное зрение и вывод : Автоматическое обнаружение контента на фотографиях и видео для индексации, обогащения метаданных или расширенного анализа
  • Обработка партии : Запуск тяжелых вычислений на партиях записей базы данных или медиа
  • Наука данных и поколение отчетов : Анализ данных и создание предварительно вычисленных отчетов
  • Уведомление о приеме и обработке с устройств IoT : реагировать на события, генерируемые устройствами и запускающие действия
  • DevOps : Резервное копирование, мониторинг, строительство и развертывание
  • И многое другое!

Мы рады предоставить 1000 часов вычисления, 1 ТБ хранения и 5 ТБ полосы пропускания в месяц бесплатно до конца года. Все выполнения функций в настоящее время питаются 1 ГБ оперативной памяти и 1 VCPU . Зарегистрируйтесь сейчас И начните развертывание без серверов функций!

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

При поиске эффективного способа позволить вам управлять функциями и модификациями стека, мы решили использовать наилучшую практику для управления кодом и инфраструктурой: Версия все Анкет Мы рады поделиться, что этот новый релиз приносит Нативная интеграция с GIT и GitHub Бессвободно интегрировать Koyeb с вашим рабочим процессом разработки.

Интеграция Koyeb в вашу среду разработки-это двухэтапный процесс:

  1. Добавить Koyeb.yaml Файл в вашем репозитории с описанием конфигурации вашей стека. Стеки теперь могут быть развернуты с помощью простого синтаксиса YAML, который должен выглядеть знакомо. Например, развернуть функцию Python 3.8 с обработчик Входная точка в hello_world Пакет, ваш Koyeb.yaml будет выглядеть как:
functions:
  - name: hello-world
    runtime: python3.8
    handler: hello_world.handler

Вилка наш Привет, мир в Python на GitHub Чтобы увидеть простой пример в действии. Вы можете развернуть функции Python и Node.js с тем же синтаксисом.

  1. Подключите свой репозиторий GitHub к Koyeb.

Теперь каждый раз, когда ты git push , мы будем создавать и развернуть ваш код!

Для функций Python и Node.js мы заботимся о полном процессе сборки, используя стандартные инструменты управления зависимостями. Если вы хотите прочитать больше о развертывании функций кода, проверьте нашу функцию Python и документацию функции Node.js.

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

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

Контейнеры могут быть развернуты с тем же простым синтаксисом YAML, что и функции. Например, развернуть Koyeb/Cowsay Контейнер из концентратора Docker, вам просто нужны три строки конфигурации:

functions:
  - name: hello-koyeb
    image: koyeb/cowsay

Стеки Koyeb работают единым способом для контейнеров и кодовых функций. Развертывание контейнеров также интегрируется с GIT и позволяет вам пользоваться нативными версиями.

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

Система событий предназначена для того, чтобы быть мощной с Легкая фильтрация входящих событий с использованием общего языка выражения Анкет Вот простой пример, запускающий контейнер, сбрасывающий входящее событие с JQ Каждый раз, когда мероприятие получено на шлюзе хранения объектов Koyeb:

functions:
  - name: display-koyeb-event
    image: stedolan/jq
    args: [".", "/koyeb/events/in/raw"]
    events:
      - cloudevent:
          expression: event.source == "koyeb.com/gateway"

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

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

Узнайте больше о событиях в нашей документации Анкет

В рамках платформы Koyeb мы предоставляем API хранилища объектов S3 для хранения ваших данных. Вы можете использовать управляемый магазин Koyeb или подключить собственного поставщика облачных услуг. Мы рады поделиться тем, что мы уже поддерживаем крупных поставщиков облачных услуг, включая GCP Storage и AWS S3 Анкет

У нас также есть впечатляющий список поставщиков облачных услуг в предварительном просмотре: Azure Blob, Stabi Storage, Backblaze B2, Digitalocean Spaces, хранение объектов StackPath и хранение объектов Scaleway .

Наш серверный вычислительный двигатель предназначен для беспрепятственной интеграции с нашим API хранилища объектов . Вы можете легко взаимодействовать со своими магазинами из ваших функций стека Koyeb и получить доступ к своим данным без необходимости.

Когда вы это сделаете, каждое выполнение функции получит недолговечные полномочия В среде, чтобы получить доступ к вашей хранилище данных и Предотвратить утечку полномочий Анкет

Вот пример функции с использованием магазинов с нашим секретным двигателем управления для получения содержания объекта. Объект для извлечения и местоположения ведра автоматически предоставляется во входящем событии:

import boto3
import os

def handler(event, context):
        obj_name = event["object"]["key"]
        store_name = event["bucket"]["name"]
        boto_session = boto3.Session(region_name=os.environ[f"KOYEB_STORE_{store_name}_REGION"])
    store_client = boto_session.resource(
        "s3",
        aws_access_key_id=os.environ[f"KOYEB_STORE_{store_name}_ACCESS_KEY"],
        aws_secret_access_key=os.environ[f"KOYEB_STORE_{store_name}_SECRET_KEY"],
        endpoint_url=os.environ[f"KOYEB_STORE_{store_name}_ENDPOINT"],
    )
    obj = store_client.Object(obj_key).get()
    content = obj["Body"].read()
    # Add your own processing logic!

Наш S3-совместимый API хранилища объектов теперь также может использоваться в качестве автономное решение, чтобы извлечь выгоду из унифицированного API, где хранятся ваши данные .

Одним из основных преимуществ неверового двигателя Coyeb Server является то, что Автоскалирование и высокая доступность предоставляются по проекту .

Что касается доступности, вам не нужно беспокоиться о том, чтобы справиться с неудачами базовой инфраструктуры, мы заботимся о Автоматическое обеспечение ваших функций на новом сервере в случае сбоя Анкет

На стороне масштабирования мы автоматически увеличить количество контейнеров в соответствии с количеством входящих событий Анкет Бесплатные учетные записи имеют предел масштабирования по умолчанию на 10, чтобы предотвратить злоупотребление, свяжитесь с нами Если вам нужно масштабировать больше!

Наш каталог функций был полностью обновлен с готовые к использованию интеграции, которые теперь полностью открыты : github.com/koyeb-community Анкет

Легко объединить готовые к использованию функции с вашим собственным кодом в стеке. Например, использовать Функция с разрешением изображения из каталога , просто добавьте в свой Koyeb.yaml :

functions:
  - name: image-resize
    use: image-resize@1.0.0
    with:
      STORE: your-store
      IMAGE_RESIZE_WIDTH: 150

Все функции каталога могут быть легко раздвоены, изменены в ваших потребностях и развернуты благодаря интеграции GitHub.

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

Некоторые из вас уже заметили некоторые из новых функций, разработанных в нашей документации: Cron, чтобы запланировать повторяющиеся работы, источники мероприятий HTTP, и наши CLI находятся в стадии строительства и запланированы на выпуск в ближайшие недели!

Мы рады предоставить 1000 часов вычисления, 1 ТБ хранения и 5 ТБ полосы пропускания в месяц бесплатно до конца года! Войти Сейчас 😉

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

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

Спасибо за ваше доверие.

Оригинал: “https://dev.to/koyeb/announcing-the-koyeb-serverless-engine-docker-containers-and-continuous-deployment-of-functions-25ie”