Каков наилучший способ создания автономного приложения без сервера?

Я пытаюсь создать 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 - хороший выбор для локальной разработки приложений без сервера

Другие вопросы по тегам