-
Notifications
You must be signed in to change notification settings - Fork 5
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
Project status #21
Comments
Thanks for the feedback @jpbourgeon. I built this project as a POC with hopes of attracting collaborators to work with on fleshing out the rest of the services. I haven't had time to dedicate to it as I'm working on many other things right now. I'm still very interested in this project but need help to drive it forward. |
That's a good question - and thanks for helping! ❤️ I set up some very basic benchmarking here: https://github.com/sam-goodwin/itty-aws/tree/main/benchmark but it only really tests for cold start testing, which obviously this will do well at. A more important test would be sustained use - to test if performance degrades with usage due to poor connection management. I think that's likely the biggest risk right now - how well does the vanilla https/fetch libraries hold up against whatever AWS is doing? Then, coverage would be next important. But, I don't think total coverage is important - there is definitely a long tail when it comes to usage in AWS. We should put together a short list of important services. I started this with some of the Issues. Services I personally use: CloudWatch, Scheduler, SNS, SQS, S3, DynamoDB, Event Bridge, Lambda, Step Functions, CloudFormation. But I've also heard requests for ECS, CodeBuild, EC2. I suspect there's a small group of services that can hit like 70% of use-cases? |
This plan sounds good. |
I compared the library with the AWS SDKs. Please review the results here and share your feedback. I gained the following knowledge:
I recommend this next action:
I think we have to talk about:
|
Thanks for the detailed analysis - so good to have metrics and visualizations. Amazing work.
That is surprising!
Interesting outcome here. I am not sure how this could be different between AWS's clients and ours. This seems important to dig into. Place to start would likely be the connection code deep in the AWS SDK. I've been down there before and didn't notice anything too strange, but I didn't look thoroughly.
I looked into undici because I was receiving errors in node-fetch and i discovered that undici is what drives node-fetch. Problem with undici would be that it ties us to node? Would it also work in browser, deno, bun, cloudflare? Have we tried using a custom HTTP agent? https://github.com/node-fetch/node-fetch#custom-agent
Are you suggesting a middleware layer for injecting interceptors into the request pipeline? I'm down for that, but i'm cruious what your use-case is?
Can you elaborate? Do you mean a custom AWS SigV4 signers or something else?
Part of itty's value prop is the simplistic "itty" nature. But I am also down for mono repos if it makes sense - I use them for everything but I didn't see the value for itty. Can you expand on what the different packages would do? |
I'm really excited about this project and can't wait to discuss these different subjects. |
I enabled discussions. Sorry it took me so long! |
Hi I hope you are doing well. I posted different topics to continue our discussions. Maybe you can start with #26 |
Hi
Sam, this is a very promising project. The goal is legitimate, the idea is simple and smart. In my opinion, it certainly deserves to become a viable alternative to the slow and bulky AWS SDK.
However, its status is unclear at this point. It generated some traction (94 stars), and at the same time, it hasn't merged any PR for two months now.
Could you clarify this project's purpose please? Is this a smart POC that will remain at the experimental level, or will it evolve into a production-ready community tool?
Anyway, keep up the good work 👏
The text was updated successfully, but these errors were encountered: