Hacker News new | ask | show | jobs
by omgbear 1287 days ago
I've had such problems with the official AWS redshift JDBC driver -- Mostly around memory usage compared to the PG8.4 driver that also works. But also,

- Much slower to cancel queries

- Still reading and buffering most of the result after canceling.

- Weird escaping issues

Glad to be done with that.

1 comments

I know this isn't a specifically Amazon issue or topic, but I am so disappointed by their SDKs. From Amplify to AppSync they're just layers of half baked ideas and implementations. I've hit a lot of bugs and limitations on their platform.

And they they still have no concept for native dev tooling for most of their services. Its always "just setup separate environments for testing, CI, development, staging, release" and pay them more money.

I hate AWS, so much.

I am not shocked their DB drivers have issues.

Completely agree with this. The only products I'd even consider by choice from Amazon are the core IaaS products. Everything they built in house on top of their own platform is a buggy shit show.

One recent problem I have been dealing with, which I can't detail because they'll know who I am and I am under NDA, involved a major release last year. I found two critical bugs in the stack which they had extended from an open standard. As we're a massive company with a big spend I managed to get the team leads and enterprise support on a call and I found the whole fucking thing was clearly looked after by two guys who didn't know what they hell they were doing, had never spent any time on the stack that they were extending and had never even considered a real world use case.

I have considered looking into Azure but I'm not sure that'll be any better.

From my experience, having extensively used each cloud at 3 different jobs, this is my take. As always, YMMV, that said:

- AWS is the worst of all the clouds, not just (typically) in pricing, but definitely it has the worst DX, confusion of options, and documentation out of the big 3. They're flexible I guess, and have tons of services but no easy and tight way to integrate them, and they're very configuration heavy. Just didn't care for how they presented their happy paths (WTF is up with VTL?!). I think Lambda's are overrated and idk why they have cold starts in 2022 when all their competitors don't anymore.

- Azure has some good stuff, including local emulators you can download for some services, and they have mock packages for programmatically emulation some of their services. Their biggest downfall for me was the confusion amount of options they have and sometimes their pricing is opaque what the final cost on a service will be. Both combined made it harder to use than I would have liked but it was a step up (to me) from AWS. A note of caution though, is that Azure doesn't have the per se greatest support for things not in their "stack". .NET of course works well, Node, Python, and more recently Go have seen good support (particularly Node) but it has less flexible ways to do more customized deployments in my experience. Doesn't mean you can't, but you pay alot more for the privilege. They also are more aggressive in the upsell department as well. Azure is particularly great if you're migrating older Windows Server apps and/or heavily using things like ActiveDirectory. If you're willing to pay they do have good support. I recall Azure having a pretty decent cloud SDK and they supported all the cross-cloud ones decently (Terraform, CF etc) as well. One thing I like about Azure is they have the least confusing CLIs IME

- GCP is has pretty good DX. I think they're more expensive in alot of ways, if you aren't careful, but their "main" services are pretty cost competitive. In particular, I feel like AppRunner is the underrated alternative to things like AWS Lambda or other FaaS offerings. GCP also has a good amount of emulators and Firebase is still pretty great. GCP is very happy path oriented (more so than the other cloud providers) in my experience, but generally they seem to have picked good "happy paths", again IME. BigQuery is more byzantine in cost than I'd like, same with Spanner. Their support is pretty bad IME unless you pay for big contracts, though. Even then it wasn't the best, but at least we could get a human on the phone. Also, I wouldn't trust their one click apps, there is hardly any control GCP exerts over them to ensure quality, so unless you know the vendor is specifically supporting them for your use case, avoid them. I did find their permissions model to be as confusing as AWS. Didn't like their cloud SDK as much but it was better than AWS.

What would I do if I was able to start over again in 2022 though? I'd deploy to something like Supabase and/or Cloudflare if I wanted pretty much 100% managed services. Otherwise if I just want compute and add in my own services I'd do a combo of Fly.io with Planetscale (or a similiar DB provider) and using Cloudflare services (such as R2 and workers) for files / caching or a combo of B2 + Upstash. You could proxy / load balance your HTTP / TCP traffic via Cloudflare as well (idk that fly.io autoproxies provisioned instances for load balancing. I'm pretty sure it doesn't)

Don't start me on VTL. I spent two weeks trying to delete a VTL which was sitting unused at $5000 a month.

On lambda, the issue I mentioned was actually because one of their services was built on top of that and maintained state between lambda runs whereas the open source product they ripped off did not. That meant their entire product was stateful when it should have been stateless. It compromised everything.

I couldn't possibly use Google after a GApps fiasco I had a couple of years back. No way.

Thanks for the rest of the info. I shall carefully decipher it.

For the next platform migration we do it might be back to a dedicated DC which is where we came from. We have stable constrained, predictable load. The TCO was cheaper, the staff were fewer, the performance was better and the licensing of some commercial products we leverage was much easier to handle and cheaper.

Which Lambda competitors (which aren't v8 isolate based) don't have cold starts?