Неудивительно, что популярность бессерверных вычислений быстро растет. Неявная масштабируемость, управляемая событиями / автоматическая обработка данных, простота, возможность повторного использования, возможность компоновки и снижение стоимости - вот лишь несколько причин, по которым модели бессерверного программирования набирают популярность. Один из аргументов, которые люди иногда приводят против использования бессерверных моделей программирования, заключается в том, что бессерверные действия может быть сложнее разработать, потому что вы не можете прикрепить к ним локальный отладчик, но на самом деле это больше не проблема, когда у нас есть 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, которое я обсуждал ранее, но я сохраню подробности для другого сообщения в блоге.