Big +1 for Bunny.net - I moved my current company to Bunny and it's been excellent. Super fast (for our PoPs at least), reasonable pricing, love the image optimizer & edge rules (especially for solving header issues when embedding documents), has a Terraform provider, and I was able to set most of it up in a day. Was a night and day difference from GCP's Cloud CDN
Good to see Skip on the home page! We were evaluating Skip just a couple weeks ago for a side project.
The issue we ran into is that we've already built a native iOS app with SwiftUI + a bit of UIKit. Integrating Skip with an existing app seemed like a significant task
Does that hold true in your experiences? Do you have any examples of small- or medium-sized existing apps that have migrated to Skip?
It’s missing things that are harder to work around if you already have code relying on those missing bits or done in an architecture it can’t transpile
The GitHub readme is well documented but hard to know how that translates into the dev exp, like with scaling or upgrades and if its features are comparable to managed Postgres providers (I'd assume no but happy to be proven wrong!)
I used to use it but what got me was letting my Dokku install get stale and then upgrading a whole bunch of versions in a row. The old plugin broke, the new one wasn’t compatible, there were version issues.
Nowadays I just run Postgres directly on my Debian box and just create a new user/DB for ever application, then set an env variable for the Dokku app to connect. Postgres is so solid to begin with that it requires no babysitting unless you have very intense workloads (at which point either use a hosted solution or start thinking about how you’ll do your own DBA).
Yep the split is the same but the conversions back to your base currency that can be a bit of a faff, especially if we're on holiday and doing these calculations multiple times per day
For example if I go to a restaurant with a large group and each item on the bill is in yen, we need to sum each person's total in yen and then convert each of their totals into GBP so we can each transfer what we owe (easy enough)
But depending on the exchange rates and rounding, those calculations can sometimes be off by a penny or two. Some people don't mind, others do
You have different kinds of friends than I do, I guess. If I went out with someone who quibbled abut a few pennies, or even a few dollars (or pounds, or yen), I would insist they get their own check from now on.
Personally I have never participated in a meal that ended with everyone going over the receipt and paying for exactly what they ate down to a few cents. I would consider that miserly, ruining the experience. Why go out at all if you have to carefully monitor every nickel and dime, and worry that someone might cheat you out of a few coins?
That's a fair point - it can vary a lot between groups and it can certainly relate to life stage / situation. Students and roommates are a large portion of the market for bill splitting apps. In my experience those groups tend to care more about splitting things accurately / fairly, perhaps as they have a more limited income
Same region, different provider. Also, their JS API has to do a round trip every time you set auth credentials on the backend, so it's at least 2 round trips for a single query.
Even on low-volume projects I've noticed reliability issues with Fly.io too. For example today we have requests timing out at the gateway (before hitting our services) while the status page indicates their current outage is only related to delayed app logs [0][1]. Haven't gone deep enough with the other new-ish PaaS providers (like Render and Railway) to get a feel for their limitations.
Unless you're certain you need K8s and have the in-house expertise to support it, I'd suggest going for Fargate or Cloud Run. Are there any requirements that you're concerned they won't meet?
Like another commenter mentioned, managed container platforms like Cloud Run and Fargate don't have the same cold start limitations as serverless functions like Lambda.
Serverless functions spin up resources and run isolated code on-demand for every request as it's received. If you have no traffic, it scales down to zero and cold starts can be a concern. And paying for compute per-request like this can get very expensive at scale.
While Fargate is advertised as "serverless", I'd think of it as a fully container platform, it's closer to Heroku than it is serverless functions. You point it to an image, tell it how many instances you want to run, maybe set up some autoscaling rules (like to add more instances when CPU reaches X%), and then it'll run those instances 24/7. From what you've described, it sounds like a good fit.
> On 22nd February 2024 at 08:13:57 UTC the ID of the message threads table grew larger than the maximum size of the "int" data type. Writes to this table continued to work fine however there were four tables that had columns with references to the message_thread ID that were still using the int data type. Writes to these tables started failing immediately as the message_thread ID referenced was too large for that data type.