Hacker News new | ask | show | jobs
by brabel 2052 days ago
I've been looking for exactly that: a backend thing that's as easy to setup as Netlify is for the frontend.

Micro seems to be a Go framework evolved to automatically deploy code to the "cloud", but it seems it'll remain limited to Go backends... I can write Go without problems, but I wanted something that supports other languages as well, specially Java... I think RedHat seems to offer that with OpenShift and Quarkus[1], but their material is so ridden with marketing buzzwords I am not sure it's suitable for what I'm looking for (basically, a small server that can store a small amount of documents or key-value information on whatever database the platform supports without fuss).

Heroku seems to be the most close to this I could find, but it's pretty expensive from what I saw if you need a DB.

Does anyone have suggestions for alternatives?

[1] https://developers.redhat.com/blog/2020/05/28/quarkus-a-kube...

8 comments

Here's a few besides Heroku I'm keeping an eye on:

* https://render.com/

* https://www.digitalocean.com/products/app-platform/

* https://www.koyeb.com/ (announced today)

* https://vercel.com/

Heroku for sure. It’s all running on AWS so you can leverage AWS services without as much of a performance penalty for routing as say another provider.

I don’t understand how this Micro framework is valuable unless your entire team writes Go. Even then, this is not just ‘micro services’ it’s a monolith on a proprietary framework that happens to have network hops between function calls. It is the kitchen sink!

All your services are written independently as microservices. In fact Micro is itself a microservices architecture and each feature is an independent service backed by highly available managed infrastructure.

Yes we expect you to write everything in Go. I don't think that should be surprising since all of frontend is JavaScript, iOS is objective C and Android is Java. We think cloud is as complex Architecture as any of those and that requires a single language and framework for it.

> We think cloud is as complex Architecture as any of those and that requires a single language and framework for it.

Your conclusion does not follow from your premise.

> We think cloud is as complex Architecture as any of those and that requires a single language and framework for it.

I think this is a spectacular claim that requires spectacular evidence. Service code is a different beast from interface code. The most practical reason to use the microservices pattern is to enable polyglot programming so you can use the right ecosystem for the right job. Need a monolith API gateway wrapper to throw up a CRUD app real quick? Ruby and Python have got you covered. Need access to a large enterprise system? Great, you've got Java and .NET. Inheriting a crufty legacy WordPress codebase and need to make it better without a full rewrite? PHP has ways to make it less shitty.

Could you give me a compelling reason why I, if I had a codebase already written on any of those languages, would entertain rewriting the whole thing in Go to use your framework? Would theoretical me not be in your target user demographic?

> all of frontend is JavaScript, iOS is objective C and Android is Java

To the extent that this is true, I don't think the complexity of the architecture has anything to do with the reason there's a single language for them.

Check out NHost [1], which isn't an exact match, but worth a look. What it gives you (currently) is Postgres via Hasura, which gives you (AMAZINGLY) easy GraphQL database access, along with a very nice auth service. And their entry level is cheap.

I've written Hasura actions for the service, which allow painless redirection of arbitrary GraphQL to (e.g.) an AWS Lambda function. Direction function support is on NHost's roadmap.

1: https://nhost.io

It's in preview but Azure Static Web Apps

https://azure.microsoft.com/en-us/services/app-service/stati...

Deploy JavaScript/TypeScript/Python/C# backend function apps with a modern frontend in one go, sets it all up for you on GitHub and handles the build process and SSL certificates for custom domains too.

Dark (https://darklang.com) is a very cool platform for building serverless backend APIs.

The Dark language itself is not what you’re looking for, and I don’t know if I would trust it in production (it’s still in beta). But the platform makes it extremely quick to get a POC backend working.

Google Cloud Run / AWS Fargate. You upload a Docker image and you instantly have a service with auto-scaling, load balancing, HTTPS, etc. It works with any programming language thanks to Docker.
(Python) AWS chalice (https://github.com/aws/chalice). Nice wrapper for lambda that lets you write "Flask" like routes.
I'll answer my own question (after doing some research).

Besides the other answers, I found Cloudfare Workers[1] seem to nearly fit the bill (the only problem is that workers are written in JS - though you can also write them in Rust, C or C++, with the caveat that they compile to WASM, then are executed via the JS API).

Pricing start free! With $5/month you get access to KV (Key-Value Storage) and a generous amount of requests (10 million/month) which seems appropriate for my needs... and it's still in beta, but they also have consistent storage now with Durable Objects[2].

[1] https://developers.cloudflare.com/workers/tutorials

[2] https://developers.cloudflare.com/workers/learning/using-dur...