Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Development environment #3

Open
cemo opened this issue Feb 12, 2022 · 3 comments
Open

Development environment #3

cemo opened this issue Feb 12, 2022 · 3 comments

Comments

@cemo
Copy link

cemo commented Feb 12, 2022

Hi all,
we started to use many modules of serverless.tf and come up with new questions. How can we speed up development lifecycle? I mean we have lambdas, appsync, dynamodb set up but it is not clear to work on one of them on locally without deploying to AWS. Is there any recommended approach for this?

@antonbabenko
Copy link
Owner

Hi @cemo !

Real deployment to AWS is the best in terms of the quality of the results you can get.

For some AWS services, there are various kinds of emulators that you can use (e.g, for sqs, dynamodb). I used them a couple of times some time ago before getting my head around and focusing on doing real AWS deployments with Terraform.

Terraform users' developer experience is what we (Betajob) are currently working on - see project modules.tf and follow @modulestf for updates.

@cemo
Copy link
Author

cemo commented Feb 14, 2022

Hi @antonbabenko. In terms of quality of course deploying on AWS would be best. However in order to get a test a simple go function to deploy as a lambda requires substantial amount of time when you compare with local box.
I think terraform based approaches need an orthogonal solution to test lambda + appsync or other modules on local boxes without leaving terraform environment. What I have in my mind is that using probably terraform state or source files to create necessary necessary configurations to these emulators. For example appsync module has all configurations regarding templates. We can read these files or state files to create necessary configs to pass emulators.

@antonbabenko
Copy link
Owner

You can do some of it using localstack combined with Terraform AWS provider but I would not go deeper by parsing terraform state files or anything like that. In my experience, AppSync (as well as the rest of the serverless stack, actually) is hard to emulate.

Maybe someone has other opinions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants