Most active commenters

    ←back to thread

    DigitalOcean App Platform

    (pages.news.digitalocean.com)
    646 points digianarchist | 16 comments | | HN request time: 0.001s | source | bottom
    Show context
    user5994461 ◴[] No.24700185[source]
    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 makes it a dead end for anything non trivial. You're forced to go to digital ocean / Linode / OVH instead to have something affordable.

    That leaves Digital Ocean as the only alternative (don't trust Linode) and it sucks because it only gives me a server to manage. I don't want to manage a server I want to run a (python) application. It's 2020 this sort of things should auto deploy from GitHub without bothering me to manage an operating system.

    replies(19): >>24700693 #>>24700794 #>>24701039 #>>24702228 #>>24702633 #>>24702880 #>>24703398 #>>24703543 #>>24703620 #>>24704410 #>>24704873 #>>24705031 #>>24705668 #>>24706188 #>>24706382 #>>24707003 #>>24709134 #>>24716137 #>>24727185 #
    1. emilsedgh ◴[] No.24703543[source]
    This is spot on, except for one thing: Google Cloud Run.

    It's the closest offering I've found to Heroku and am planning to migrate all our services to it due to significantly better pricing. Make sure you look into it.

    replies(4): >>24704841 #>>24705131 #>>24705555 #>>24705865 #
    2. blaisio ◴[] No.24704841[source]
    Google Cloud Run doesn't provide nearly the same features as Heroku. For example, there is no easy way to manage secrets with Cloud Run. There is no way to run a worker process. Integration with other Google Cloud things like Cloud SQL is clunky. Cloud Run is okay to get started but almost all apps will need more.
    replies(4): >>24705099 #>>24705264 #>>24705602 #>>24706725 #
    3. fdweitendorf ◴[] No.24705099[source]
    How would you like to see the integration with Cloud SQL improved?
    4. Larrikin ◴[] No.24705131[source]
    The Google part of the name means that the service could be shut down at moment's notice if it isn't providing millions of dollars in revenue and even then it's a toss up if the people in charge get bored of it.
    replies(3): >>24705192 #>>24705306 #>>24707143 #
    5. google234123 ◴[] No.24705192[source]
    What Google Cloud product has been shutdown prematurely? You still mad about the Google RSS reader?
    replies(3): >>24705201 #>>24705509 #>>24705652 #
    6. Karunamon ◴[] No.24705201{3}[source]
    Google seemingly kills more products than they run and I wouldn't rely on them for any aspect of my business, based on this, and their historically awful CS.

    The petty snipe is not necessary or appreciated.

    7. jsmeaton ◴[] No.24705264[source]
    We've been successfully using Cloud Tasks and firing payloads right back at our HTTP cloud run service to solve for the lack of background workers. We had to build a mini-framework around it, but it works surprisingly well.

    https://cloud.google.com/tasks

    8. emilsedgh ◴[] No.24705306[source]
    That's one of the things I like about Cloud Run. There's no vendor lock in really. Your app is just a Docker image running any normal 12 factor app which could be deployed to Heroku, Cloud Run, DO or any other PaaS.
    9. karlp ◴[] No.24705509{3}[source]
    First one I found: https://en.m.wikipedia.org/wiki/Google_Cloud_Print
    replies(1): >>24705592 #
    10. Chloro ◴[] No.24705555[source]
    Recently discovered cloud run and it's absolutely amazing. I will be using it for as much as possible going forward. Cheap, easy, scaling. For a crud app it does everything you could ever want.
    11. manigandham ◴[] No.24705592{4}[source]
    That was never a part of Google Cloud. It was a feature of Chrome browser/OS and allowed for sharing printers over the internet because of the limitations back in 2010.

    Google has a terrible reputation with consumer services but has been pretty decent with Google Cloud so far. The biggest negative example would be Google Maps pricing changes but that seems to be different class of issue.

    12. manigandham ◴[] No.24705602[source]
    It's built around everything being an HTTP request, and billing for the continuous seconds of time the app needs to run to service those calls.

    You can run worker code by moving them into individual HTTP calls, triggered by whatever workflow you want. Cloud Tasks, PubSub, Cron, etc.

    13. KronisLV ◴[] No.24705652{3}[source]
    There was a thread the other day that mentioned a variety of products that were killed by Google, which were aggregated here: https://killedbygoogle.com/

    There was also a similar one for Mozilla: https://killedbymozilla.com/

    Perhaps they were being weary due to the practices the entirety of the company has displayed in the past, in regards to killing off products.

    Not sure about Google Cloud in particular, though.

    14. jillesvangurp ◴[] No.24705865[source]
    Agreed; we reduced our cost from close to 50$/month to a few dollars per month by simply switching from google app engine to cloud run. The initial reason for switching was that I wanted a dockerized solution so that we are not locked in to arbitrary versions of whatever app engine supports. It does that. But the cost advantage makes it a pretty sweet deal.

    Cloud run is very easy to get started with. It's basically a service that runs and scales a docker based application. They bill per request based on some notional cost of cpu and memory. They give you some options for using bigger instances, which influences the per request cost. You can go from 256MB to 2GB memory and I think you can have up to 2 or 4 vcpus (one of those, we use 1). You can specify a minimum (default 0) and a maximum (default 1000) number of instances. If a request comes in and nothing is running, it starts an instance. After idling a while it disappears again. So, if you get a low amount of traffic, mostly there will be something running without costing too much. At some point you raise the minimum to 1 instance and it starts costing a bit more.

    Crucially, there is a freemium layer: you don't get charged unless you hit a certain amount of requests. So, when prototyping, this is very cheap. Basically we managed to keep our cost around a few dollars while in the last months.

    As this is part of Google cloud, you can transition to other solutions (like their hosted kubernetes) eventually. You also have access to other stuff. E.g. we use firestore as a cheap (but limited) database and the google secret store for secrets, and some storage buckets.

    When you click together a cloud run deployment, it can create a cloud build for you that points to your git repository and set up automated deployments. If you have a Dockerfile, it will try to build and deploy that. If you need to customize what the build does, you can provide a custom cloudbuild yaml file (similar to github actions, travis-ci, and other popular ci options).

    After it comes up, you get a nice https endpoint. You can actually add password protection to that as well if you need it. And you can optionally use your own domain.

    So, we are running a spring-boot project for next to nothing. When the time comes, we'll likely swap out firestore for a proper database as this may get expensive as they bill per read and write and certain operations are just going to use up a lot of reads (e.g. a count operation). It's fine as a dumb key value store but it is very limited in terms of other features (e.g. querying).

    However, Google's hosted databases are expensive and don't really make sense until you are ready to spend a few hundred dollars per month. Same with Kubernetes. Kubernetes does not make sense until you are ready to commit to a burn rate of hundreds of dollars per month. And it's completely overkill unless you actually are deploying multiple things.

    15. tomd ◴[] No.24706725[source]
    > there is no easy way to manage secrets with Cloud Run

    See https://cloud.google.com/secret-manager/

    I recommend this community-maintained FAQ on Cloud Run:

    https://github.com/ahmetb/cloud-run-faq

    16. imtringued ◴[] No.24707143[source]
    Google is unique in that it somehow lets employees start random projects under the google brand. If they had a separate brand for these experimental projects they would have avoided a lot of headaches.

    Google Cloud isn't someone's side project though so the risk is much lower. You're right that services can be shut down at moment's notice but that applies to any service of any kind. Unless you host with multiple cloud providers at the same time you cannot avoid that risk.