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

API Gateway in Go that is able to invoke Lambda functions #9

Open
OrKoN opened this issue Sep 20, 2019 · 8 comments
Open

API Gateway in Go that is able to invoke Lambda functions #9

OrKoN opened this issue Sep 20, 2019 · 8 comments
Labels
Go Program Suggestion for a command-line program

Comments

@OrKoN
Copy link

OrKoN commented Sep 20, 2019

  • with API key management and usage limits (configured via an API)
  • using DynamoDB as a storage
@tj tj added the Program Suggestion for a command-line program label Sep 20, 2019
@tj
Copy link
Owner

tj commented Sep 20, 2019

Thought about this in the past as well, APIGW is crazy expensive for what it is. The only tricky part I suppose is that this thing would inherently be non-serverless since it'd have to live in EC2/ECS/Fargate. Any thoughts on that part?

@OrKoN
Copy link
Author

OrKoN commented Sep 20, 2019

EC2/ECS/Fargate is where I would run such a service. Maybe Lightsail is an option too. I am not sure about what the best place to run it is... I guess a load balancer might be required additionally if it's run on more than 1 instance. Client-side or DNS load balancing might be suitable in some cases.

I have not done the math but I assume that with a certain volume of requests having fixed infrastructure pays off. Well, maybe, if I do the math it turns out that it's not worth it.

P.S.
Lightsail's load balancer is $18 per month, 2 smallest instances $7 per month, total = $25 per month. So if the self-hosted API gateway can handle 15 million requests per month, you save $25. But that's not a very scalable setup and might go down if the load increases suddenly.

@shidel-dev
Copy link

FWIW https://github.com/solo-io/gloo supports this use case.

@OrKoN
Copy link
Author

OrKoN commented Sep 24, 2019

@shidel-dev can it use DynamoDB for storage?

@shidel-dev
Copy link

shidel-dev commented Oct 4, 2019

@OrKoN use it for service discovery? It's not clear why you would want your load balancer to use DynamoDB.

@shidel-dev
Copy link

shidel-dev commented Oct 4, 2019

Maybe you are saying it should use that to store the routing configuration etc...

@OrKoN
Copy link
Author

OrKoN commented Oct 4, 2019

@shidel-dev to access API keys and quota configuration stored in DynamoDB, and that's not a load balancer.

@OrKoN
Copy link
Author

OrKoN commented Oct 16, 2019

I have learned recently that API Gateway does not support IPv6 out of the box (requires a custom cloud front distribution to enable IPv6)

@tj tj added the Go label Feb 20, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Go Program Suggestion for a command-line program
Projects
None yet
Development

No branches or pull requests

3 participants