Неудивительно, что популярность бессерверных вычислений быстро растет. Неявная масштабируемость, управляемая событиями / автоматическая обработка данных, простота, возможность повторного использования, возможность компоновки и снижение стоимости - вот лишь несколько причин, по которым модели бессерверного программирования набирают популярность. Один из аргументов, которые люди иногда приводят против использования бессерверных моделей программирования, заключается в том, что бессерверные действия может быть сложнее разработать, потому что вы не можете прикрепить к ним локальный отладчик, но на самом деле это больше не проблема, когда у нас есть wskdb.

wskdb: отладчик OpenWhisk

Если вы еще не видели его, теперь у вас есть возможность опробовать wskdb, новый / предварительный бета отладчик OpenWhisk. Он позволяет вам отлаживать действия OpenWhisk на вашем локальном компьютере в богатой среде отладки, точно так же, как вы отлаживаете локальный код.

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

Вы даже можете отлаживать определенные действия в последовательности. Представьте, что у вас есть последовательность, состоящая из действий A, B, C и D. Вы можете присоединить отладчик к любому из этих действий. Итак, если я хочу отладить действие C, вы присоединяетесь к действию C. Когда последовательность вызывается, действия A и B будут выполняться в среде OpenWhisk, затем действие C будет вызываться в вашей локальной среде отладки, затем действие D будет быть выполнен обратно в среде OpenWhisk.

Вы можете использовать отладчик OpenWhisk для отладки действий Node.js / JavaScript, Swift или Python, и он дает вам возможность достигать точек останова, выполнять пошаговый код, проверять значения памяти и многое другое.

Ознакомьтесь с этим обзором:

Установка

Установка отладчика OpenWhisk должна быть простой задачей. Во-первых, убедитесь, что у вас установлен Node.js. В настоящее время у меня установлен Node.js v6.2 - Я столкнулся с ошибкой в ​​последней версии Node.js, которая не позволяла отладчику работать в v6.9, но это известно и исправляется.

После того, как у вас установлен Node.js, вы можете установить отладчик OpenWhisk, выполнив следующее из терминала:

npm install -g openwhisk-debugger

Если вы хотите отлаживать действия Swift, вам также потребуются установленные swiftc и lldb. Если у вас Mac, вы можете получить их, установив Xcode. Если вы хотите отлаживать действия Python, вам потребуется установленная правильная версия Python, о которой вы можете прочитать подробнее в документации.

использование

Перво-наперво запустите отладчик с помощью wskdb command. Это запускает отладчик, в котором вы можете вызывать команды для отладки ваших действий:

Доступные команды:

COMMAND            DESCRIPTION
list, l            List available actions
cli                Use the CLI debugger, when available
invoke, i          Invoke an action
inspect, ins, get  Inspect the details of an OpenWhisk action
fire, f            Fire a trigger
attach, a          Attach to an action
detach, d          Detatch from an action
diff               Show the pending diffs of a given action
publish, p         Publish pending changes to a given action
exit, quit, e, q   Quit the debugger
clean, c           Clean up debugging artifacts
create             Create an action
delete             Delete an action
help, h, ?         Print this help text

Чтобы отладить действие, вы должны сначала запустить команду attach - это настраивает «сантехнику», чтобы иметь возможность отлаживать ваше действие. После подключения отладчика вы используете команду invoke (передавая аргументы так же, как OpenWhisk CLI). На скриншоте ниже вы можете увидеть, как я прикрепляю и вызываю свое действие Фибоначчи (которое генерирует числа в последовательности Фибоначчи):

Это запустит процесс отладки. Для действий JavaScript / Node.js это будет основано на знакомом отладчике Chrome / Blink / Webkit / Node Inspector, как вы можете видеть на изображении ниже.

Это дает возможность проверять переменные в памяти, устанавливать точки останова, поэтапно выполнять код и т. Д. Все это невероятно полезные инструменты для разработки и отладки.

Отладка действий Swift будет использовать отладчик LLDB, а действия Python будут использовать отладчик Python (pdb). Если вы не знакомы с LLDB, См. Здесь краткую справку по командам lldb. Если вы не знакомы с pub, см. Здесь для быстрого ознакомления с командами pub.

Что дальше?

Зарегистрируйтесь в Bluemix и начните использовать OpenWhisk, а также загрузите CLI для решения своих задач бессерверных вычислений уже сегодня!

Вы можете узнать больше об использовании отладчика OpenWhisk из readme / docs, отправить проблему, если вы ее обнаружите, или вы можете внести свой вклад в проект напрямую. Любой вклад сообщества приветствуется.

Угадайте, что еще? Он также работает с расширением OpenWhisk для VS Code, которое я обсуждал ранее, но я сохраню подробности для другого сообщения в блоге.