DEV Community

Cover image for What are simple tools for creating a standalone API-only service?

What are simple tools for creating a standalone API-only service?

Ben Halpern on April 14, 2022

I doubt there is one correct answer, as this is going to depend on language preferences, whether the service is offered by a company you might already have an account with, etc.

But I'd love any and all opinions on this subject!

Collapse
 
ben profile image
Ben Halpern

So just to get the conversation started with some examples:

Lambda Function URLs might be the simplest for a lot of use cases as far as I can tell. But likely only if you're already tightly into that ecosystem — otherwise I think there's still a bit too much cognitive overhead for true simplicity.

Pipedream also comes to mind — very much a developer flow, but slightly more low-code than some other options, which has some pros and cons depending on your preferences.

I'm really curious to catalog more options, so please add to the discussion!

Collapse
 
liviufromendtest profile image
Liviu Lupei

For a small project, what are the advantages of using components like Lambda Functions instead of just spinning up an EC2 machine on AWS and installing a basic web server?

In a nutshell, isn't an API just about gettings requests and sending responses?

That's just for the scenario where a self-starter wants to build an API, without spending more than $100 per month.

Later, if their API is succesful, they can start worrying about scaling and move to Lambda Functions or something similar.

I don't like the idea of using a service like Hasura.
Adding privately-owned components in critical workflows can leave you exposed to data breaches, downtimes, vendor lock-in and other headaches.

Of course, the sales pitch for a lot of services always sounds like this:
"X is broken, stop building it yourself, use our expensive service instead."

And then their service is down for a few hours and you find out there's no SLA for non-Enterprise plans.

But that's just my biased opinion.

Collapse
 
mmuino profile image
Marcos Muíño García

My opinion is quite biased as I'm one of the founders 😇 but in yepcode.io/ we are trying to build a kind of Zapier for development teams, and create an API that connects to any service or database is quite straightforward.

Collapse
 
tmeckel profile image
Thomas Meckel

Depends on the meaning of simple. Simple in the sense of small or simple in the sense of easy to use. And yes it highly depends on your preferred programming language and it's ecosystem. If you're familiar with Python I can highly recommend FastAPI. With Typescript/Javascript it's Express. All other famous programming languages like C# or Go need a greater effort to set up and they must be compiled.

Collapse
 
vinthefantastic1 profile image
vinthefantastic1

C# APIs are a lot easier than they used to be since VS 2022 arrived.

Collapse
 
tmeckel profile image
Thomas Meckel • Edited

If you leave the VS 2022 monster out of the game and use the command line, yes I agree. You can quickly generate a API in minutes.

Collapse
 
sherrydays profile image
Sherry Day

@polterguy just posted about their company's product Aista, which I think fits the conversation if you want to generate said API from an existing database.

Collapse
 
polterguy profile image
Thomas Hansen

Thx Sherry :)

Collapse
 
auramoon55 profile image
Anshul Garg

FASTAPI - Its like Flask or Django
MongoDB - For Database

Collapse
 
thomasstep profile image
Thomas Step

I've made plenty of APIs with API Gateway, Lambda, and DynamoDB. I use CDK to define the infrastructure and by now I have enough code examples to build things pretty quickly. I have a CDK Construct that helps speed my development up too so that my file structure defines my API structure kind of like Next.js does with web pages.

Collapse
 
gollyjer profile image
Jeremy Gollehon • Edited

At token.art we've grown fond of the Postgres + Hasura combo.

Collapse
 
karandpr profile image
Karan Gandhi

Parse and Hasura are quick to deploy and consume.

Collapse
 
mohdahmad1 profile image
Mohd Ahmad

You can use adonis js, it is great. You'll love it.

Collapse
 
ecyrbe profile image
ecyrbe

If you need to call your APIs with runtime and compile time type checks, take a look at zodios

Collapse
 
collimarco profile image
Marco Colli

Ruby on Rails: it also has an API-only mode

Collapse
 
kolja profile image
Kolja

I recently build my first API application, the Backend ist just one php file ans a SQlite database.

Collapse
 
imthedeveloper profile image
ImTheDeveloper

For the JS crew I still find sails.js with blueprint turned on for APIs really useful.