Price of running Phoenix LiveView in multiple regions – Fly vs AWS

I once heard that setting up an equivalent region-replicated environment (one database for writes, multiple databases for reads) is much cheaper on Fly compared to AWS. However, I can’t find that reference any more — maybe it was just a tweet or a conference talk.

I want to pitch Fly to our new CTO, and I would like to back this up with data.

(Let’s ignore the DevOps effort to set this up on the AWS side, which, I assume, isn’t trivial. Or maybe, let’s not ignore it — if you have experience migrating in one direction or the other, let me know how it went.)

Hey there. I’ve migrated two apps (phoenix and rails) from AWS to FLY a few months ago.

It took me about two months (some changes to the pieces of code that were tied to AWS + a few trial migrations). I didn’t go cross region yet, but I easily got multiple instances in a cluster talking to each other

Pros

  • Cheaper (though I haven’t used reserved or spot instances on AWS; I used more expensive on demand ones)
  • It was a lot easier to set up continuous deployment on FLY comparing to AWS
  • It was very easy to get instances in a cluster
  • It feels the right place for Phoenix projects

Cons

  • Still missing Postgres continuous backup and point in time restore
  • Upgrading to the next big release of postgres won’t be as smooth as on AWS RDS
  • At times it feels I’m a beta tester

TLDR
I like it here, though the lack of postgres point in time restore is getting on my nerves.

4 Likes

It’s a bit amusing, but I always felt the same way about working with other cloud providers. I honestly can’t remember a single service of AWS that worked even reasonably well in the first 3 years.

I remember when they released elasticsearch used to rebuild an entirely new cluster instead of adding a node and had massive limitations with what you could do with it. Or when ephemeral volumes were more reliable than EBS. There was no easy way take backups of dynamo for years and the price/performance was really odd. RDS is rock-solid now, but it took a while. They do announcements to chill competition and then there’s nothing usable for years.

Google has an issue with customer support. They have had massive random network failures…and really with no one to call. A friend of mine has sworn to never use them again after their last LB outage took out his division.

Azure has very nice enterprise sales people, but that’s it. I could go on…

Anyway, I think the right expectation to have is that Fly has a lot of novel edge cases to deal with, yet, they are still less irritating than AWS/GCP.

BTW, I really wouldn’t expect the PITR to be provided by fly any time soon. https://github.com/fly-apps/postgres-ha/pull/71 has been stalled for a bit. Your best bet is to install something like https://pgbarman.org/ yourself. @benbjohnson1 is working on GitHub - superfly/litefs: FUSE-based file system for replicating SQLite databases across a cluster of machines now, so hopefully that gets to production readiness pretty soon.

1 Like