Live data from Hacker News

Ask HN: Have you shipped anything serious with a “serverless” architecture?

news.ycombinator.com

171–180 of 207 posts

Re: Ask HN: Have you shipped anything serious with a “serverless” architecture?

#171
Not sure about the qualification for the term "serious", but we are making $1000 revenue each month serving hundreds of customers and all our backend is built completely on Google cloud functions.

https://aprl.la https://itunes.apple.com/us/app/aprl-mens-clothing-network/i...

In fact, we had one of our API running in EC2 which recently migrated to cloud functions.

Re: Ask HN: Have you shipped anything serious with a “serverless” architecture?

#173

@ mabl (mabl.com) we've been running a serverless backend on Google Cloud Functions for over a year. It's handled 600M function calls/month without much trouble. Our findings are: * Eventually you need to promote a function to legitimate service for cost savings (e.g. GCF ️ AppEngine Node service) • You need a buffer (e.g. GCF outscales services it calls) such as Pub/Sub • Multi-repo/project layout is best for deploy…

So yeah basically serverless is just too expensive. It's cheap or free for low volume, to get you hooked, but for any "serious" service it is too expensive.

It is literally tech debt, in the credit card sense. You get to validate the market faster, but if it takes off then you incur a higher interest rate (it gets expensive quickly after a point)

Re: Ask HN: Have you shipped anything serious with a “serverless” architecture?

#174

Earlier quoted context omitted.

I've felt the same way. Serverless is most appealing when you're starting out and have low traffic. It enabled us at ipdata.co to have the most global infrastructure possible with the lowest latencies at an insignificant cost. At some point I believe when we're big enough we might switch to using servers in all the regions where we currently run APIG+Lambda.

The advantage of Serverless to me seems that it already forces you in a somewhat sane design and separation of concerns so all work out into the lambda functions should be easily translatable into a different architecture.

Very smart. Good point.

Re: Ask HN: Have you shipped anything serious with a “serverless” architecture?

#175
post #46

I have spent the last year and a half building a completely serverless production service on Lambda, API Gateway, and DynamoDB (along with the standard auxiliary services like CW, SNS, Route53, S3, CF, X-Ray, etc.). It was a lot of work establishing new patterns for many of the operational aspects, particularly custom CW metrics and A/B deployments with Lambda traffic shifting, but in the end everything is set up nic…

Does Lambda have a good version control or CI workflow? My biggest question is how to develop severless functions with a team of developers.

This looks useful: https://github.com/awslabs/serverless-application-model/blob...

Re: Ask HN: Have you shipped anything serious with a “serverless” architecture?

#176

Earlier quoted context omitted.

So yeah basically serverless is just too expensive. It's cheap or free for low volume, to get you hooked, but for any "serious" service it is too expensive.

Developer time is the highest cost. Building and deploying a function in an hour minimizes time to market and opportunity cost. Lifting and shifting to a dedicated service like AppEngine is a "good problem to have" once the function's usage exceeded specific thresholds. However, if you never reach said thresholds (e.g. only a few thousand calls a day), you didn't spend the time/money setting up a service backed by de…

Spinning up an app engine service is incredibly easy and, if using standard environment, is basically free until you have load. It auto scales from zero very quickly (milliseconds).

Re: Ask HN: Have you shipped anything serious with a “serverless” architecture?

#177
post #159

Earlier quoted context omitted.

Agreed, it doesn't make much sense hearing "serverless". Like, is data being served to a client or not? I haven't done much reading up on it but it basically sounds like someone else is hosting and executing your code?

To my understanding, it mean you write endpoints and only endpoints. You don't have to configure an OS, or even write the code that says "bind to port X and start". You just say "when you get this request, do this". Which is a neat abstraction! But there's still a server, you just don't have to manage it directly.

That makes perfect sense. Calling it "serverless" is kind of weird though. I can see the point from a marketing perspective but "serverless" is just such a weird term.

Re: Ask HN: Have you shipped anything serious with a “serverless” architecture?

#178

Earlier quoted context omitted.

Indeed, I always get the feeling you need some sort of exit strategy to a traditional model for when your service starts lifting of. Never did the cost calculations though.

That gets to lock-in. The stacks are super proprietary. Porting away from AWS to another serverless cloud vendor (e.g. Azure) would be a major project. Porting to a server-ful architecture would be a full rewrite.

I wouldn't see it that black and white. If you do it wrong of course you will have a hard time moving away to a different vendor. But if you approach it right and make sure you have the proper abstractions in place and can switch to any other cloud provider or in-house solution without to much hassle. It's all about what cost you want to pay when. Do you want to invest upfront in all development time of frameworks and infrastructure to support your core business API or do you just want to get the MVP out and invest a little more once you established a solid user base?

Re: Ask HN: Have you shipped anything serious with a “serverless” architecture?

#179

I have spent the last year and a half building a completely serverless production service on Lambda, API Gateway, and DynamoDB (along with the standard auxiliary services like CW, SNS, Route53, S3, CF, X-Ray, etc.). It was a lot of work establishing new patterns for many of the operational aspects, particularly custom CW metrics and A/B deployments with Lambda traffic shifting, but in the end everything is set up nic…

what is the business model around this - I mean 18 months to get "set up nicely" strikes me as hard to justify to upper management that is not invested already

Broadly speaking, it started out as a greenfield/experimental project with buy-in from senior management that is now going through the initial phase of productization and productionization. Although the AWS bill sounds expensive the whole project was effectively done by 3 developers including myself (2 backend/full stack and 1 frontend). There were also some deliberate management decisions that greatly prolonged implementation time - we could have easily shaved 8 months off that figure taking a more straightforward path.

Re: Ask HN: Have you shipped anything serious with a “serverless” architecture?

#180

Earlier quoted context omitted.

Indeed, I always get the feeling you need some sort of exit strategy to a traditional model for when your service starts lifting of. Never did the cost calculations though.

That gets to lock-in. The stacks are super proprietary. Porting away from AWS to another serverless cloud vendor (e.g. Azure) would be a major project. Porting to a server-ful architecture would be a full rewrite.

It really wouldn't be that bad - at least not any worse than any other migration of a massively complex project from one platform to another. We deliberately kept our implementation flexible enough to be able to move off Lambda if necessary. Our entire stack can be containerized using Docker. All database interactions are behind interfaces that allow us to swap DB implementations if needed (even to relational ones). All custom CW metric publishing is centralized in a single object that can just as easily publish somewhere else. All our APIs are defined using Swagger which is portable to lots of tooling. The worst part would be replacing IAM with whatever networking/permission model the other platform had, but even that could be approached programmatically to reduce the difficulty.

Edit: We also broke the stack into a number of independent microservices, each with their own API, DB, and dedicated CI pipeline. This would allow us to incrementally migrate chunks in parallel without disrupting the entire service.

Post reply on HN