Most active commenters
  • mrkurt(8)
  • phildougherty(4)
  • pomatic(4)
  • onion2k(3)
  • WrtCdEvrydy(3)
  • pwdisswordfish0(3)

←back to thread

DigitalOcean App Platform

(pages.news.digitalocean.com)
646 points digianarchist | 58 comments | | HN request time: 1.882s | source | bottom
1. onion2k ◴[] No.24698869[source]
Like all DigitalOcean products, the App Platform provides predictable, easy-to-understand pricing that allows you to control costs to prevent surprise bills.

I can't see any features listed that enable me to control costs to prevent surprise bills. If a site got submitted to HN and hugged to not-to-death-because-it-autoscales then I'd wake up to a bunch of alerts and massive outbound bandwidth bill. I don't want that. I want something that stops that happening.

replies(3): >>24698927 #>>24700146 #>>24700352 #
2. phildougherty ◴[] No.24698927[source]
Thanks for the feedback! Autoscaling is not yet supported on the platform (but is coming soon). Before autoscaling lands as a feature, insights based alerting will also land. You'll be able to setup alerts for scaling events, bandwidth, cpu, memory, and more that can be sent via email or slack.
replies(4): >>24699014 #>>24699023 #>>24699668 #>>24718319 #
3. onion2k ◴[] No.24699014[source]
My point is that alerts aren't really enough. If I'm asleep or on a plane or something then it could be many hours before I even see an alert, by which time it's probably too late. I'd prefer to be able to set up rules beforehand that prevent an unforeseen bill.

If the App Platform doesn't have that feature, and it isn't planned, that's OK but I'd argue that isn't really preventing a surprise bill as the marketing site claims. A warning isn't quite the same as prevention.

replies(2): >>24699078 #>>24699110 #
4. p410n3 ◴[] No.24699023[source]
What good are alerts when I sleep? I usually don't even check my personal mail until I'm done at work. There's a lot that can happen in 16h
replies(1): >>24700192 #
5. garettmd ◴[] No.24699078{3}[source]
Most autoscaling platforms let you define min and max types of restrictions. I assume DO would have the same functionality in their autoscaling.
replies(1): >>24700006 #
6. phildougherty ◴[] No.24699110{3}[source]
Sorry, I think I misunderstood what you were saying there. Could you clarify a bit more about what kind of functionality you'd prefer we support in the scenario you described? A large influx of traffic hits your application while you are unavailable to handle it. If you do not have autoscaling enabled, your application performance could suffer, if you do have it enabled your bill could grow out of bounds. We do plan to let you set min and max bounds for autoscaling once it is implemented. Thanks for your help!
replies(3): >>24699221 #>>24699275 #>>24699681 #
7. onion2k ◴[] No.24699221{4}[source]
We do plan to let you set min and max bounds for autoscaling once it is implemented.

This is exactly the sort of thing I'm talking about, but for money rather than computing resources or bandwidth. I'd like a feature that where the requirement is effectively "Fall back to a serving sorry-I'm-poor.html instead of the app if the total monthly bill has exceeded $xxx". For a side project I'm more interested in not paying an unexpected bill than getting traffic.

replies(2): >>24699292 #>>24704108 #
8. jacurtis ◴[] No.24699275{4}[source]
I think he is simply requesting threshold limits. So for example you could set a threshold of 2 - 5 nodes/droplets. This way you will always have at least 2 nodes running, even with zero traffic, because that is the minimum you requested. Likewise the upper bound limit of 5 nodes/droplets would limit the maximum nodes that the service would generate.

So it autoscales up until it hits the maximum threshold and stops. Yes, if the app needed more resources than this, due to a spike in traffic, than performance would obviously suffer. But depending on the budget and needs of the project this might be the preferred outcome over incurring unexpectedly high server costs that you are not prepared to handle.

9. mrkurt ◴[] No.24699292{5}[source]
For what it's worth, we (Fly.io) have this feature, and announced it as part of our launch post on HN. But literally no one has asked us to enable it on their apps. So we never made it self service.

I think for most companies, it's better to set the expectation that the service costs money, bursts will cost more money, and then forgive outlier charges once or twice. It's tremendously difficult to compete against the AWS's of the world, putting work into features specifically to minimize how much people spend seems like a good way to fail a company.

replies(5): >>24699883 #>>24699884 #>>24700298 #>>24700511 #>>24703935 #
10. mariushn ◴[] No.24699668[source]
We need limits, not alerts. That is, autoscale up to X.
replies(1): >>24700027 #
11. heelix ◴[] No.24699681{4}[source]
Way to many folks end up with surprise bills. I'd like the option to say - over x dollars cost, shut the damn thing off to the public. Back in the /. days, got a minor project hit by the mass internets and hit with bandwidth charges by the time I noticed.
12. the_duke ◴[] No.24699883{6}[source]
I'd argue that many users that end up with surprise bills are either inexperienced or are deploying something small without giving it much thought.

In those cases, the users will either not know or not think about such expense limits.

The solution is to set relatively strict limits by default and even occasionally warn users about unused/underutilized resources.

But as you said: such features are bad for the bottom line .

And I can appreciate the enormous difficulty of competing with the big 3.

replies(1): >>24701577 #
13. nicoburns ◴[] No.24699884{6}[source]
> It's tremendously difficult to compete against the AWS's of the world, putting work into features specifically to minimize how much people spend seems like a good way to fail a company.

It's also something that people actively dislike about AWS, and thus a good selling point. Albeit it's probably mostly smaller projects that care about this.

replies(1): >>24701517 #
14. bravura ◴[] No.24700006{4}[source]
Correct me if I'm wrong, but AWS doesn't allow you to do hard limits.

I was creating a public S3 bucket today and wanted there to be a hard limit, so I couldn't get slapped with a huge AWS bill. Looking at the docs, it appears I can get alerts but not set a hard limit on my billing.

replies(1): >>24700336 #
15. phildougherty ◴[] No.24700027{3}[source]
Thanks for the clarification. We do plan to implement hard limits in the autoscaling feature.
16. crazygringo ◴[] No.24700146[source]
That seems somewhat opposite to the point of PaaS, no?

If you want controllable costs and you don't want people using your service because interest explodes, then just stick to a regular droplet, no?

The entire point of this is that if usage explodes, you want to pay to support that usage. That's the entire feature.

(Also, HN frontpage traffic isn't that much -- it's a few requests per second at most, not thousands per second.)

The only scenario I can imagine where this would be a genuine concern would be if you were subjected to a (D)DoS-type attack. But in that case you still want legitimate users to get through, so you really need a separate DoS-protection layer which is totally orthogonal to this.

Am I missing something?

replies(2): >>24700332 #>>24700781 #
17. rgbrenner ◴[] No.24700192{3}[source]
On AWS I tie high billing threshold alerts with PagerDuty so it wakes me up at night.
replies(1): >>24701198 #
18. ufmace ◴[] No.24700298{6}[source]
Very interesting that this feature is often demanded in tones of righteous outrage on posts about autoscaling cloud services, yet when actually implemented, nobody has actually set it up.
replies(2): >>24700528 #>>24704150 #
19. phildougherty ◴[] No.24700332[source]
A little tidbit: everything you deploy on App Platform comes with DDoS protection built in.
20. user5994461 ◴[] No.24700336{5}[source]
AWS allow to set limits on autoscaling groups, ECS, EKS. All the things with autoscaling really.

If you're worried about billing, S3 is not a great choice. S3 is precisely unlimited storage for enterprise.

replies(1): >>24702465 #
21. pomatic ◴[] No.24700352[source]
This is laughable - billing is logically separated from droplet use, so unlike other providers DO charges for the potential to use a capability, rather than actual use, regardless of whether it is consumed. I got stung badly by this - charged for X droplets capability when zero droplets capability was being used for several months. Explained the misunderstanding to DO, got no sympathy & no refund. Won't touch them again, don't trust them further than I could throw them.
replies(2): >>24700752 #>>24700952 #
22. Godel_unicode ◴[] No.24700511{6}[source]
> putting work into features specifically to minimize how much people spend seems like a good way to fail a company.

What a customer-hostile thing to say, never working with you!

What if I told you that if you're actually trying to build a relationship with your customers and have them want to do business with you, it's best to focus on solving their problems as opposed to taking as much of their money as possible.

replies(1): >>24701511 #
23. cloverich ◴[] No.24700528{7}[source]
> So we never made it self service.

I may not underestand parent, but it sounds like its not equivalent to a button next to the auto-scale but more like an email and pre-requisite knowledge that it exists?

replies(1): >>24701540 #
24. WrtCdEvrydy ◴[] No.24700752[source]
This is what makes "the cloud" profitable.

If your droplet isn't using all of it's resources (CPU, RAM, DISK), they are able to oversell their capacity.

replies(1): >>24700828 #
25. adkadskhj ◴[] No.24700781[source]
> That seems somewhat opposite to the point of PaaS, no?

Why would that be true? I thought the point of a PaaS was getting a Platform - as a Service. I don't interpret that to mean having no control or limits on potential costs. To me a PaaS is about not wanting to manage a the metal or infra under the app. Which i don't think is misguided or inaccurate.

To look at it differently: I am a customer to someone. I am a customer who wants to buy a product that manages all of the infra for my application. I also have a limited budget, and the notion of an unlimited budget is an instant no for me.

Call the XaaS whatever you like, but my motivation is clear. Maybe DO doesn't want me as a customer (if what you say is true about PaaS), but i think there's opportunity there for a new XaaS.

26. pomatic ◴[] No.24700828{3}[source]
To be clear, I had no deployed resources, but was still charged as if I had. As it turns out, it's impossible to cancel the "standing charge" without recourse to support.

There's a difference between load balancing of shared resources and (what I believe must be) deliberately deceptive practices. A customer-centric company would send an email to notify you of this kind of over-charging.

It's premeditated and dispicable.

replies(2): >>24701054 #>>24701109 #
27. ohgodplsno ◴[] No.24700952[source]
You bought access to X servers knowingly (because you can't do that by accident), let them sit here knowingly, then got billed the exact number that was listed, but somehow that's DigitalOcean's fault ?
replies(1): >>24701228 #
28. WrtCdEvrydy ◴[] No.24701054{4}[source]
I didn't say it wasn't a shitty outcome, but this is what people advocate for when there's a push "for the cloud" or "how aws is doing great things"
29. tidepod12 ◴[] No.24701109{4}[source]
What you call "premeditated and despicable" is actually a huge value proposition for others. Whereas AWS/GCP have pricing structures based on usage and you never know until the end of the month how much you owe, DO instead has defined "you will pay $50/mo for this regardless of if you do or do not use it" and from what I've seen, many people really value and appreciate that, and specifically choose DO over AWS/GCP because of that.

The pricing model for App Platform seems antithesis to that, though, which is interesting. DO is becoming more like AWS/GCP with every feature release, which I don't necessarily find to be a good thing.

replies(1): >>24701210 #
30. tupputuppu ◴[] No.24701198{4}[source]
Oh man, what a user friendly solution
31. pomatic ◴[] No.24701210{5}[source]
The problem I have is not with the model, but with the fact it is so difficult to cancel the standing charge. If it could be done from the web UI, and/or there was an interlinked pop-up when zero droplets are deployed, fine.
replies(1): >>24703989 #
32. pomatic ◴[] No.24701228{3}[source]
> let them sit here knowingly

Nothing was deployed. Zip, zero, zilch resources were used month-on-month. My fault, yes, but naively I assumed if this was the case, billing would automatically drop to zero.

Whilst I bought access to X servers but had no way to remove the charge associated with that without contacting customer services when I decided X=0, permanently.

I mean, really? I have no problem with PAYG or PAYG to a capped amount, but PAYG for a fixed amount regardless of whether or not the resources are actually deployed is disingenuous at best.

replies(2): >>24701374 #>>24701413 #
33. hundchenkatze ◴[] No.24701374{4}[source]
> Nothing was deployed. Zip, zero, zilch resources were used month-on-month.

This is like leasing a car, leaving it parked, and then complaining you have to pay the lease.

34. ohgodplsno ◴[] No.24701413{4}[source]
So, you simply did not read the pricing page, that explicitly says that it's going to bill you that, and that you do whatever you want with it. And /or have never used a VPS service before . You are quite literally renting space and CPU time on their servers, that they are keeping (mostly) free and reserved for you.

You don't complain that you were charged $200 for renting a parking space and never using it, no reason for this to be different for servers.

replies(1): >>24702361 #
35. mrkurt ◴[] No.24701511{7}[source]
> What a customer-hostile thing to say, never working with you!

The point is that I'd rather just wave surprise fees than build a bunch of infrastructure to prevent them. From what we can tell, customers almost never have surprise bursts of traffic, but it's something they think about a lot. It's pretty easy to just say "you're not responsible for expenses associated with abuse or attacks or other nasty surprises".

The purpose of a metered service is to give people access to tools and features that would be prohibitively expensive otherwise. The trade off is that the expense also grows incrementally.

replies(1): >>24703040 #
36. mrkurt ◴[] No.24701517{7}[source]
It sounds like a good selling point but I don't think it works out that way. People dislike a lot of things about AWS and it's still something that almost every technical business spends money on.
37. mrkurt ◴[] No.24701540{8}[source]
Yes we advertised it as a feature to all new signups, with a link to request limits. It's not equivalent to a button, the dirty secret is that when people requested it, I planned to put a notification in my calendar to go look at their usage the last day of the month and adjust their bill accordingly. :)

We were concerned about spending time on marginal features that didn't actually matter much to people, so we "launched" it without building it to see if anyone cared.

replies(3): >>24702274 #>>24702276 #>>24702438 #
38. mrkurt ◴[] No.24701577{7}[source]
I think such features create really negative surprises too. People expect their app or service to keep working at almost any scale. Disabling an app that hits a threshold sounds terrible, because most peoples' apps _benefit_ from more (legit) activity and they are delighted to pay the extra fees if things just continue to work.

For people who are inexperienced or don't give it much thought, just waiving their overage fees creates a really nice experience. We've had multiple instances of people asking why their bill is so high and being relieved/excited when we explained it and made it go away. People love when we're responsive to problems.

39. jon-wood ◴[] No.24702274{9}[source]
I’m also not interested in this feature, but do want to say that’s a lovely example of implementing the bare minimum to gauge the value of a feature.
40. franey ◴[] No.24702276{9}[source]
That was a great MVP plan for that feature! Figuring out what not to build is a great way to save development time.
41. potatohedz ◴[] No.24702361{5}[source]
Except in this case, other cars are being parked in the space when it is "empty", and you can only find the car park attendant on every third Monday in the month to rescind the agreement
42. SahAssar ◴[] No.24702438{9}[source]
I'm not one of your customers but when I have looked at pay-as-you-go services or autoscaling services before I basically don't even consider any that don't allow me to cap the costs per month or similar.

So you could perhaps also consider that if it is only marketed when you sign up and not a clearly defined feature some people (like me) will just never sign up at all.

replies(2): >>24703083 #>>24704052 #
43. SahAssar ◴[] No.24702465{6}[source]
Saying that something that is billed based on usage is not also able to have it's usage capped seems weird.
44. Godel_unicode ◴[] No.24703040{8}[source]
Sounds like we agree on what you're doing, we just disagree about whether it's a good approach.

I don't want to need to depend on you being in a good mood to waive fees (or more likely, to hope you're not so low on runway that support gets incentives not to waive them until after your next round closes). I don't want to have to guess whether your terms mean what they say, or whether that giant potential bill might magically go away if I incur it and can convince you it was, quote, nasty.

I do want to deal with people who have thought hard about how to build their product in a way that I can depend on and reason confidently about, and who treat me like the seasoned adult I am.

replies(1): >>24703252 #
45. mrkurt ◴[] No.24703083{10}[source]
That's actually why we made a big deal out of it in our launch post. We thought maybe it would attract underserved customers. I am surprised that it had no effect.

My guess is that people who are interested in controlling costs are also not getting enough value from auto scaling services. So we're already not attracting those folks, and offering a cost control feature isn't enough to get us over the hump.

replies(1): >>24708635 #
46. mrkurt ◴[] No.24703252{9}[source]
I think you're not a good customer for us? I'm not sure that makes us hostile, or you wrong, but I'm pretty comfy with how we treat our customers (and they seem cool with it too).
47. ◴[] No.24703935{6}[source]
48. dkersten ◴[] No.24703989{6}[source]
Wait, I'm confused. What standing charge? What exactly did you get charged for? I've been using DO for a few years and I have no idea what you are referring to. When I delete my unused resources, I don't get charged.
replies(1): >>24704849 #
49. ufmace ◴[] No.24704052{10}[source]
Personally, I don't think that capping costs explicitly is a good idea, because it doesn't carry enough information about what to do when you hit that cap.

Not even considering something like AWS with a bazillion types of services, say you have a cloud hosting service that runs nothing but auto-scaling clusters of servers billed by the hour. So I set a cap on costs but not cap on scaling up and turn it loose. It gets a hug of death from something, scales to the sky, does serve all of that traffic fine, but burns through my monthly cost cap in an hour. Oops, now it's down entirely for the next 3 weeks or whatever. Does anybody in the world who's willing to pay for hosting something actually want that? I have to doubt it.

On the other hand, capping the scaling size by number of hosts sounds pretty reasonable. Set a cap at say 2x your normal peak traffic. You get a hug from something, it hits the cap. Most of your extra traffic gets errors or really slow responses, but your service stays up, even when the traffic dies down. Your monthly costs are a bit higher than usual, but manageable. That sounds like a much better result to me.

That doesn't even get into stuff like, oh hey we dropped your DB server because you hit your cost cap early and it costs money to keep it running and to create a new backup too, hope you don't miss that data too much!

50. pwdisswordfish0 ◴[] No.24704108{5}[source]
If there's any confusion about this, look at nearlyfreespeech.net.

You deposit funds (let's say $20) into your account, and as your site consumes resources, it draws from your balance. So $20 is $20. If you set up a crummy low-traffic blog and that $20 lasts four months, then fine. If it lasts two weeks and then there's a surge in traffic, or the server hits some bug that causes it to spiral out of control, then your site gets killed when your balance hits $0. You can set up alerts, but there's a hard limit for how much you can be charged—it's whatever funds you deposited into your account. (Really, that's not even the right way to put it, because you're charged at the moment you deposit them.)

This isn't acceptable for everybody—many businesses would prefer to stay up and be billed after-the-fact. But that use cases is already well-served by the industry. (Overserved, really.) The market segment where the alternative situation is the best fit (pretty much every hobbiest who isn't bringing in a single cent off their side project) is extremely underserved. NFSN is the only provider I know of that even offers this.

51. pwdisswordfish0 ◴[] No.24704150{7}[source]
In addition to there being no self-service, the kinds of people who want this aren't going to be using Fly.io in the first place. Look at the prices. DigitalOcean's $5 droplet would cost over $50/month on Fly.
replies(1): >>24704232 #
52. mrkurt ◴[] No.24704232{8}[source]
That's not true. Our CPU VMs are similar to DO's CPU optimized droplets. The cheaper droplets are all shared CPU.
replies(1): >>24744870 #
53. WrtCdEvrydy ◴[] No.24704849{7}[source]
He probably forgot to turn off the instances and kept getting charged.
replies(2): >>24705923 #>>24708894 #
54. ◴[] No.24705923{8}[source]
55. sundarurfriend ◴[] No.24708635{11}[source]
Thanks for replying this deep into the thread, I found the whole thing interesting and informative.
56. dkersten ◴[] No.24708894{8}[source]
Ah, right, shutdown but not deleted. DO are upfront about that charge though and its not like its any different on any other cloud provider.
57. names_are_hard ◴[] No.24718319[source]
I've said this elsewhere in this thread, but there's a difference between predictable pricing and controlling runaway costs.

Predictable pricing means that each month my bill is the same: I'm on a $15 plan, I pay $15 a month. No nickel-and-diming, no hidden fees, life is simple. This is a good thing.

Controlling costs means that no matter what happens, my costs will not exceed $x/month. Service might degrade if necessary, but I will not pay for anything above some upper limit.

Seems that DO has the former but not the latter, because if things get out of hand (caused by an attack, a bug in my code, going viral) the customer can be stuck with a bill. Alerts do not alleviate this risk. Pricing that is generally predictable does not alleviate this risk. Only a hard cap does. I want a plan that says "you have 250 GB of traffic, after which requests will fail and you'll get an email". You can make it nicer by sending me a warning email at 200GB so that I have time to upgrade my plan if I want.

58. pwdisswordfish0 ◴[] No.24744870{9}[source]
No, what I wrote is true based on the info listed on fly.io. Either those prices and specs are incorrect, or your comment is narrowly focusing on the CPU axis (which still doesn't make for a good comparison, considering the options Fly gives are $2.67 or $8) and calling it sufficient. DigitalOcean's cheapest droplet comes with 1GB RAM, whereas to match that with Fly, that's $35 minimum. You don't get to ignore that. Add in the costs listed under Fly's "Network prices" and we're nowhere close to $5.

If for some convoluted reason this is wrong, then you guys really need to reconsider how you're presenting your prices and to lay out exactly what those convoluted reasons are, because Fly's pricing page certainly tells people that trying to match DigitalOcean's $5 plan is going to cost 10x on Fly.