Live data from Hacker News

DigitalOcean App Platform

pages.news.digitalocean.com

311–320 of 357 posts

Re: DigitalOcean App Platform

#311

I'd be interested to know if this is integrated and rebranded nanobox [0]? Or something completely from scratch? [0]: https://nanobox.io/

It‘s so sad nanobox was acquired and now trashed by digital ocean. It was comparable to a dokku/flynn on steroids, it was a very promising stack for self-hosted herokus.

Re: DigitalOcean App Platform

#312

Earlier quoted context omitted.

Can HN really deliver enough traffic to a static site to cost a significant amount? I've had mildly popular posts on HN for my Netlify blog (John Carmack tweeted about it!) and not had to pay for bandwidth.

No. I don't think so. The concern for me is a lack of hard limit on spending on GCP, Azure, and AWS. If I screw up and allocate a bunch of resources unintentionally, I'm left holding the bill. That's a terrible setup for PaaS because all programming involves mistakes eventually, especially for new users learning the system. Granted, there are likely limits on accounts, but those are to protect the services from fraud…

I can't agree more with that.

I run a small side business, and these unlimited cloud plans are just a no go. A medium to large company could totally absorb a 5 figures bill, but that would be a dead sentence to my side project. Also, considering the variable costs of bandwidth of AWS, Azure or Cloudflare, one competitor could simple rent an OVH server and incur insane costs to my business while only spending 1/10 of the money.

Right now, I'm using Heroku (with a limited number of dynos and a single PgSQL database) together with BunnyCDN (which allow me to pay for prepaid usage). If I ever get DDoS'ed, my app will most probably be inaccessible or at least significantly slower, while I'll receive an email alert, from which I can decide myself to allocate more resources.

Re: DigitalOcean App Platform

#313
post #275

Earlier quoted context omitted.

I’m waiting for digital ocean to have something like google cloud run. Google cloud run is essentially here is a docker image that listens on the $PORT env variable. Spin it up when you get requests. It will handle X queries per second (you can set limit). If more than X, scale it up to this many replicas. I pay about 10 cents for my site. Zero maintenance. I push code to GitHub, GitHub builds an image, pushes to GCR…

What sort of cold start time do you get with that out of interest?

Not sure about exact numbers on the cold start but we avoid it altogether with a keep-warm request every minute.

Re: DigitalOcean App Platform

#314

Earlier quoted context omitted.

What sort of cold start time do you get with that out of interest?

Not sure about exact numbers on the cold start but we avoid it altogether with a keep-warm request every minute.

Makes sense, and the 10 cents in your above comment is literal with a keep-warm every minute? That's pretty solid!

Re: DigitalOcean App Platform

#315
post #302
post #250

I tried this out today and figured out how to run a custom Python application there. You only need two files in a GitHub repo for that: a requirements.txt listing your dependencies and a Procfile that starts a process listening on port $PORT and IP 0.0.0.0. My Procfile looks like this: web: datasette . -h 0.0.0.0 -p $PORT Full notes here: https://til.simonwillison.net/til/til/digitalocean_datasette...

This is built on top of Heroku runtime, more info on Procfile here: https://devcenter.heroku.com/articles/procfile Also, note that you shouldn't use SQLite, at least with heroku, because apps should be stateless https://12factor.net/processes

Please avoid prescribing best practices without understanding the architecture OP is working with.

First, you don't actually know that using SQLite would make the OP's app stateful—if datasette is set up in immutable mode, then the .db files are no more indicative of a stateful process than a static CSV or a JSON or YAML config.

Second, not every app needs to be a 12 factor app, and you're not in a position to understand the trade-offs OP is dealing with. "Best practices" rarely are best in every circumstance, and often conflict.

Re: DigitalOcean App Platform

#316
post #182

Earlier quoted context omitted.

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.

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.

Thanks for replying this deep into the thread, I found the whole thing interesting and informative.

Re: DigitalOcean App Platform

#317
post #302
post #250

I tried this out today and figured out how to run a custom Python application there. You only need two files in a GitHub repo for that: a requirements.txt listing your dependencies and a Procfile that starts a process listening on port $PORT and IP 0.0.0.0. My Procfile looks like this: web: datasette . -h 0.0.0.0 -p $PORT Full notes here: https://til.simonwillison.net/til/til/digitalocean_datasette...

This is built on top of Heroku runtime, more info on Procfile here: https://devcenter.heroku.com/articles/procfile Also, note that you shouldn't use SQLite, at least with heroku, because apps should be stateless https://12factor.net/processes

I'm deliberately using SQLite here because my use-case is read-only. https://fivethirtyeight.datasettes.com/ is a demo that I've been running on Heroku for over a year now - the trick is that if your data never changes you can package up the SQLite .db file as part of the deployment.

Re: DigitalOcean App Platform

#318
post #298

Earlier quoted context omitted.

Fly.io is more exciting for me because it's edge app servers and it terminates web sockets. I've been envisioning a live-view like framework, or heck even a regular old rest api, where the client connects to the fly.io server with a single request then the app server makes a request to N number of back end processing servers using an efficient protocol like grpc.

It is cool, but it does not scale to zero, so if you have N services you will end up paying for at least N instances.

That's a good thing actually since it means you never have cold starts (unlike Google Cloud Run). Their micro instances cost like $3-4 which isn't that much.

Re: DigitalOcean App Platform

#319

Earlier quoted context omitted.

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.

He probably forgot to turn off the instances and kept getting charged.

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.

Re: DigitalOcean App Platform

#320

I am so glad to see this. I was looking to deploy an app and the choice is either Heroku or manage your own server which I don't want to do. Heroku gives instant deployment for the most common types of apps (python/java/ruby). It's PaaS done right, it's fantastic. You should really have a look if you're not aware of it, it's only $7 for a starter app. Problem is, scaling up is about $50 per gigabyte of memory which m…

You might take alook at PythonAnywhere? https://www.pythonanywhere.com/ I hear good things about it.
Post reply on HN