Каков наилучший способ создания автономного приложения без сервера?
Я пытаюсь создать REST API с AWS (Nodejs) и DynamodB. Большую часть времени у меня нет доступа к AWS, и мне нужно, чтобы все работало в автономном режиме для тестирования и развертывалось только тогда, когда у меня есть объем работы. Есть ли какие-либо руководства или хорошие практики, которые помогают мне в разработке?
Заранее спасибо!
3 ответа
Вы можете запустить автономную версию DynamodB на вашем локальном хосте. Проще всего иметь его в контейнере в докере. Тогда вам вообще не нужно управлять им, и он будет работать в любой среде, в которой установлен докер.
Это то, что мы имеем в скриптах package.json для безсерверных приложений
"start": "sls offline start",
"start-local": "npm run force-dynamo sls offline start --stage=localhost",
"force-dynamo": "npm run stop-dynamo && npm run start-dynamo",
"start-dynamo": "docker run -d -p 8000:8000 dwmkerr/dynamodb -sharedDb",
"stop-dynamo": "docker stop $(docker ps -a -q --filter ancestor=dwmkerr/dynamodb --format=\"{{.ID}}\")",
Однако, если вас не волнует конвейер CI/CD или возможность многократного использования на нескольких устройствах -> вы можете просто установить DynamoDB, запустить его и, основываясь на конфигурации, просто нацелиться на свою автономную / оперативную DynamodB.
Используйте Sam Local для лямбда-части и DynamoDB Local для DynamoDB-части. Я рекомендую запускать DynamoDB локально, используя докер-контейнер, как упоминает libik.
AWS localstack - хороший выбор для локальной разработки приложений без сервера