spcl / faaskeeper

A fully serverless implementation of the ZooKeeper coordination protocol.
BSD 3-Clause "New" or "Revised" License
16 stars 13 forks source link

Add accounting #5

Open mcopik opened 3 years ago

mcopik commented 3 years ago

We need an accounting system to easily conduct benchmarks.

nitilpoddar commented 1 year ago

.

mcopik commented 1 year ago

@nitilpoddar JS will not be necessary for this project. FaaSKeeper cost is based on three components: Lambda runtimes, queue operations, and database access cost. What we want to is to be able to run a program using FaaSKeeper, and then estimate their costs.

In all functions, we already gather storage use statistics, and we use it in functions to count how often we update the storage. We also use this structure in faaskeeper-python to count the number of storage accesses on the client side.

What we want to do is to implement a method in the client library that would parse Lambda logs, extract storage logs, add this to the data accesses done on the client side, and export it. I think the best way to start is to deploy FaasKeeper, run few updates, look at Lambda logs and see what data needs to be extracted. Then, you can look into faaskeeper-python and start implementing there the function that would parse CloudWatch logs of our functions.

nitilpoddar commented 1 year ago

Hello, @mcopik I tried making an AWS account specifically to learn about this project but failed because my debit card provider is not yet accepted by AWS. I am sorry I wasted your time.

If possible can you point me to a beginner-friendly project to which I could contribute? Again! I apologize

mcopik commented 1 year ago

@nitilpoddar No worries :-) I'm sad to hear that the free account will not work for you.

So there's another opportunity that we explored in the past, but it didn't work as expected - I opened issue #25. You can start working with the serverless offline framework and report progress there.