11
16 Comments

Don't bother with DO's App Platform

I've just moved over to Heroku after trying to deal with Digital Ocean's App Platform.

It's a great concept, a more affordable PaaS, but honestly did not deliver for me.

First, I'd like to say I followed the guide for Rails, do not use my own Dockerfile or anything like that. It's exactly how they advise for this stack.

Problems:

  • Slow builds that fail for no reason
  • Deployments randomly fail
  • Some observed downtime

The first two points are extremely frustrating, the app is a vanilla Rails app with a Sidekiq worker.

Builds would sometimes take 25 minutes just to build, if I was lucky. Othertimes the build would fail, but dumping out the logs using the CLI would show no error.

If I was able to get to the build working, after contacting support they did get more consistent around 9 minutes, deployments would hang and fail.

I implemented the health check (Kubernetes under the hood) and even increased this to 20 seconds, but tailing the deployment logs gave me no confidence the deployments were failing due to anything but problems with their infrastructure. Sometimes the migrations would not have any output for minutes at a time.

Two times deployments failed, and rollbacks failed. My site was down for 7 hours once (white blank screen) due to the rollback fail overnight.

I've had quite a bit of back and forth with support, often canned messages were sent my way even with a good amount of detail and analysis on my part. In the end, I was sick of learning so much about how to tweak to make my simple deployment work on their platform. That's not how PaaS' should work, right?

I got my first paying customer today, and it made me realize I'd rather not risk this any more. Switched over to Heroku in about 2 hours.

  1. 7

    A good warning note for early stage Indiehackers!

    I've been on Heroku from the beginning. Yes, I'm paying more than other solutions... but I also don't have to deal with any of the above nonsense. As an Indiehacker you need to do so many different things, so you need to remove any obstacle under your control and this is one of them.

    Your tech stack should "just work". If it doesn't, change it.

    p.s. congrats on the first paying customer!

    1. 1

      Thanks Jon! I'm actually a DevOps developer by day, and totally agree. I don't have time to be babysitting my infrastructure.

  2. 2

    I had the same issue with a node/strapi app. Builds never succeeded, but they worked without issue on heroku. I didn't do anything specific to make it compatible with either platform either.

    Hopefully this is a sign of the newness of the offering and they can get it fixed.

  3. 1

    I've been using App Platform for my recent projects recently and I'm quite happy with it. Never had any build issues after I set up everything. I don't mind the slow builds. I have my GitHub connected for CD.

  4. 1

    I've been a happy VPS user on DO for years and have now migrated everything off of AWS except emails.

    Heroku is aimed at a completely different kind of customer, though, so I can see how it would be a tough transition.

  5. 1

    Hello, @reformer!

    What a horrible experience with DO Apps.

    Thanks for sharing.

    You know, when I first saw that DO Apps was launched I thought this eclipses my app's offering.

    Now reading this post I realize that big companies fail too.

    So, let me plug my app here.

    2 years ago I was tired paying for Heroku, but instead I went to build Heroku of my own:
    I have built https://appliku.com/

    It is automation around provisioning, setting up the server on DO and AWS EC2, and apps build & deployment.

    Right now I have limited it to Python/Django and Node, but with a custom dockerfile you can deploy anything.

    Purpose of Appliku remains the same: Save money by hosting on your own server in DO/AWS EC2 with nice interface, Procfiles, and so on.

    Automated provisioning of Databases is done on your server too. Useful for staging environments.

    I know that you are doing Ruby here, if you ever want to try it – let me know, I'll help with the Dockerfile :)

    I recently wrote a long comment on pricing/cost comparison with Heroku if you are interested: https://www.indiehackers.com/product/appliku/defined-positioning-new-logo-new-landing-page--MO_gvxYmxdZT4mZdccj?commentId=-MOuXfBtIbUGyZ7XLrGi

    I wish your app be stable and grow paid user base :)

    Good luck!

  6. 1

    Thanks for your feedback. I was looking at this today. However, based on their description of the service, it seems like I would still need to have my database in a droplet since it's mongo. I might as well stick with my droplet-for-everything plan.

  7. 1

    we've been on DO but that's because we had $30k credits... we are moving off soon. +1

  8. 1

    Yes, I agree. I think it's better to make something yourself if you want your VM or perhaps use something like Dokku.

    I for one, prefer to write a small script. The main advantage is that everything is very simple and also fixable in no time.

    If you are somebody who wants to know how to make something on your own from scratch, I am writing a book on this topic.

  9. 1

    I've had a completely different experience with the app platform. I'm using it deploy a SSR Next.js app with a postgresql database and I just added spaces for file storage. Any problems I have contacted the support with had been solved in few days.

    I feel like it's the perfect balance between AWS and Heroku.

  10. 1

    I don't have experience with the App Platform but I have used their managed Kubernetes service (DOKS) for a little while and was very disappointed. Their App Platform is powered by the same Kubernetes service.

    The Kubernetes service is totally unreliable for small clusters, because they allocate a certain amount of resources to the master that depends on the number and size of your worker nodes. So if you only have a small cluster with a few and/or small nodes, you will likely hit some issues with connectivity to the master. I have had these issues consistently the 3-4 times I have tried the service and then I gave up. The master is free, so they could perhaps charge something for it and ensure it always works even for small clusters...

    Congrats on your first sale! What is the product?

  11. 1

    Thanks for sharing.
    I've been a client of DO for a while, using their K8S managed service. Didn't have too many issues, but not too many users either, so I have to stay careful. I did read similar reports about the reliability of their K8S service too.

    I'll probably switch over to AWS if it isn't stable..

    I was just about to give their app platform a try for a new project. I guess that I'll pass, and instead go with Heroku too ;-)

  12. 1

    Thanks for sharing, in that case, I will stay put, stay away from it at least for now. And congrats with the first paying customer! 🎉

  13. 0

    Can you elaborate when you mean by "builds"? If you're using a "vanilla Rails app", then there is 0 building because ruby is an interpreted language.

    Maybe you're using gems like nokogiri (which would make this not a "vanilla rails app") since that builds c-code on bundle install.

    1. 1

      Sure, in terms of DO App Engine this term means

      The build command is the command-line statement that compiles your app component at build time. The build command should be geared towards installing all needed dependencies for your component to run, as every build starts from an environment that is empty other than the programming language runtime provided by the buildpack.

      E.g.

      bundle install
      bundle exec rails assets:precompile
      
      1. 1

        I get that... but bundle install executes bash scripts that could be anything from compiling rust, golang, cpp, etc. libraries from ruby. You can't be a "vanilla rails app" and use gems that run golang.

        Are you vanilla rails or are you running ruby and c code?

Trending on Indie Hackers
I talked to 8 SaaS founders, these are the most common SaaS tools they use 20 comments What are your cold outreach conversion rates? Top 3 Metrics And Benchmarks To Track 19 comments How I Sourced 60% of Customers From Linkedin, Organically 13 comments Hero Section Copywriting Framework that Converts 3x 12 comments Promptzone - first-of-its-kind social media platform dedicated to all things AI. 8 comments How to create a rating system with Tailwind CSS and Alpinejs 7 comments