Бессерверная архитектура становится все более популярным выбором для веб-разработки, и на то есть веские причины. Это позволяет разработчикам сосредоточиться на написании кода, а не беспокоиться об инфраструктуре, масштабировании и развертывании. DigitalOcean — это платформа облачных вычислений, предлагающая бессерверную архитектуру под названием DigitalOcean Functions. В этой статье мы рассмотрим, как создавать бессерверные приложения с помощью функций DigitalOcean и Node.js.

Начиная

Прежде чем мы углубимся в создание бессерверных приложений с помощью функций DigitalOcean, важно убедиться, что на вашем компьютере установлены необходимые инструменты. Вам понадобятся Node.js и npm, а также интерфейс командной строки DigitalOcean (CLI).

Чтобы установить CLI DigitalOcean, выполните следующую команду:

npm install -g doctl

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

doctl auth init

Создание бессерверной функции

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

doctl compute function create

Вам будет предложено ввести имя для вашей функции, а также среду выполнения (которая должна быть Node.js). Вам также необходимо указать точку входа для вашей функции, то есть файл, который будет выполняться при запуске функции.

После того, как вы введете эту информацию, DigitalOcean создаст вашу функцию и предоставит вам URL-адрес, по которому к ней можно получить доступ.

Запуск бессерверной функции

Существует несколько способов запуска бессерверной функции в DigitalOcean, включая HTTP-запросы, события и запланированные задачи. В этом примере мы сосредоточимся на запуске функции с HTTP-запросом.

Чтобы запустить вашу функцию с помощью HTTP-запроса, вам необходимо отправить запрос POST на URL-адрес, указанный при создании функции. Вы можете использовать такой инструмент, как cURL или Postman, для отправки запроса.

Вот пример того, как вы можете отправить запрос POST с помощью cURL:

curl -X POST -d "hello world" https://your-function-url.com

Обработка запроса

Чтобы обработать запрос в вашей бессерверной функции, вам нужно будет использовать объекты request и response, предоставляемые Node.js. Вот пример простой бессерверной функции, которая возвращает тело запроса:

exports.handler = async (request, response) => {
  response.send(request.body);
};

Эта функция просто берет тело запроса и отправляет его обратно в качестве ответа.

Заключение

Создание бессерверных приложений с помощью DigitalOcean Functions и Node.js — это быстрый и простой способ начать работу с бессерверной архитектурой. С помощью интерфейса командной строки DigitalOcean вы можете легко создавать и развертывать бессерверные функции и запускать их с помощью HTTP-запросов или других событий. Попробуйте и посмотрите, как это может упростить рабочий процесс веб-разработки.