sst / guide

Repo for guide.sst.dev
https://guide.sst.dev
MIT License
3.68k stars 444 forks source link

Infrastructure as code #155

Open tommedema opened 6 years ago

tommedema commented 6 years ago

I have written this down more elaborately on StackOverflow, but am curious about your view on this.

There is a lot of manual clicking in GUIs (mostly Amazon's console interface) involved when setting up the infrastructure of this app. I.e. the setup is not version controlled and is not easily reproducible. For example the following resources need to be setup manually:

How would you take this to the next level where the setup is completely version controlled? The only solutions I can think of would be to either script it, extend the Serverless Framework to spawn not just API Gateways and functions but also the above AWS services, or to wrap everything into a Terraform template (seems complicated).

I couldn't find much on this topic in serverless, surprisingly. Perhaps you could point me in the right direction?

tomekrychtyk commented 6 years ago

Maybe AWS CloudFormation would be a good place to start looking for a solution for this? Although it's quite a huge topic...

mikepatrick commented 6 years ago

Documenting this would be an excellent addition to the tutorial. Perhaps a section under "Extra Credit", explaining how resources and CloudFormation can help us define even more of our infrastructure as code?

jayair commented 6 years ago

Yeah this is definitely on the list. A couple of our readers have taken some swipes at it - https://github.com/AnomalyInnovations/serverless-stack-com/issues/107.

The reason why we haven't done it yet is because CloudFormation does not support the "Email as Username" setting that we use in the Cognito User Pool. It's a new feature and I guess it hasn't been added yet. Though AWS is usually pretty good at being consistent across their platform, so we are hoping that is worked out soon.

mikepatrick commented 6 years ago

@jayair Ah, I see. My organization is also facing some challenges revolving around Cognito and CloudFormation, so this makes perfect sense to me. Thanks for linking to #107, I must admit I didn't dig through the project history before chiming in.

Looks like your eye is on the ball to me. Keep up the great work!