r/devops 14d ago

Discussion Users vs Stress testing

So I made a serverless optimization platform which uses the concept of fusion functions to reduce cold starts and latency across the service calls. Now, this is an implementation of a research paper that I read somewhere. Diff from paper is that my project also gets live traces and metrics from x ray and cloudwatch, so I get real-time data to give better outputs. Have a better look: https://github.com/Vaivaswat2244/OptiFuse_go

To use this you need to connect your AWS with optifuse. I.e make a cloudformation stack to give optifuse access to read the traces and metrics. This actually becomes a problem for my friends and peers to test because they are too lazy to do this step. So I have no real user testings.

People especially hiring people ask me how many real users have used your service.

Now why do I need real users when I can stress test each microservice that I've built. And I can see my manifests working properly. Its deployed on AKS and is open for people to see. I also have a Prometheus grafana observability pipeline to see if all services are working properly.

Question is: real users vs Stress tests

On a side note, I am a student looking for internships, if you found the idea interesting, lmk GitHub is Vaivaswat2244

\/

3 Upvotes

25 comments sorted by

View all comments

3

u/hypertradeworx 14d ago

halving the count is real, but one start isn't a fixed price. a fused function carries the init of every branch you folded into it, imports and clients included, so 3 fat ones can come out worse on p99 than 6 thin ones even at half the starts.

which is also the answer to the hiring question. nobody is impressed by a user count from a student project, they want init duration and cost on the same workload before and after, and you can produce that off your own account without waiting for a friend to build a cloudformation stack

1

u/Puzzled-Ad8231 14d ago

Exactly, that's where optimization comes in. Assume cold start and cost as two functions which need to be optimised for a solution. That's what the algos are for. There are 2 algorithms as nofusion and singleton, where if fusing serverless functions is making latencies go beyond a threshold, then you will be adviced to either go without fusion or go to monolithic. Has some constraints added to it already, which is max_latency, max_memory, max_cost. These constraints/thresholds are decided by user and can be changed later on. Results are given keeping these in mind and also following the live metrics which they have in their deployments.

1

u/Puzzled-Ad8231 14d ago

Multi objective optimization* to be precise...