Fonctions

Déployez des fonctions serverless en quelques secondes

Runtime Deno géré sur votre propre serveur. Écrivez des fonctions TypeScript, téléversez-les et appelez-les via HTTPS. Pas d'étape de build, pas d'images conteneur, pas de dépendance fournisseur.

Écrivez une fonction, déployez-la, appelez-la

// handler.ts
export default async function(req: Request) {
const url = new URL(req.url);
const name = url.searchParams.get('name') ?? 'world';
return new Response(
JSON.stringify({ hello: name }),
{ headers: { 'Content-Type': 'application/json' } },
);
}
# Invoke your function
curl https://my-functions.sh0.app/?name=sh0
{"hello":"sh0"}

Serverless sans compromis

Tous les avantages des fonctions serverless avec le contrôle de l'auto-hébergement.

TypeScript et JavaScript

Écrivez des fonctions en TypeScript ou JavaScript. Runtime Deno complet avec top-level await, modules ES et l'API Web standard (fetch, crypto, streams).

Déploiement instantané

Téléversez votre fichier de fonction et il est en ligne immédiatement. Pas d'étape de build, pas d'image conteneur, pas de démarrage à froid. Deno compile et met en cache à la première requête.

Endpoint Auto-SSL

Chaque instance de fonction obtient son propre endpoint HTTPS via Caddy. Appelez depuis n'importe quel frontend, webhook ou tâche cron via une connexion sécurisée.

Runtime léger

Chaque instance Deno utilise environ 256 Mo de mémoire. Démarrage rapide, faible empreinte, exécution efficace.

Exécution en bac à sable

Deno s'exécute dans un bac à sable sécurisé par défaut. Aucun accès au système de fichiers, aucun accès réseau sauf autorisation explicite. Sécurisé par conception.

Appel HTTP

Les fonctions sont appelées via des requêtes HTTP standard. Retournez n'importe quel type de contenu -- JSON, HTML, texte brut, binaire. Utilisez-les comme endpoints API, webhooks ou micro-services.

Comment ça fonctionne

01

Créer une instance de fonctions

Cliquez sur « Créer un serveur de fonctions » dans le tableau de bord sh0. Choisissez un nom pour votre runtime serverless.

02

Écrire votre fonction

Écrivez une fonction TypeScript ou JavaScript qui gère les requêtes HTTP. Exportez une fonction par défaut qui prend une Request et retourne une Response.

03

Déployer

Téléversez votre fichier de fonction via le tableau de bord ou l'API. Il est compilé et prêt à servir en quelques secondes.

04

Invoquer

Appelez votre fonction via son endpoint HTTPS. Transmettez les données en paramètres de requête, en-têtes ou corps de la requête.

Flux d'exécution

Requête HTTP
Caddy (SSL)
Runtime Deno
Votre fonction
Réponse

Exécution directe. Pas de démarrage à froid de conteneur, pas de surcharge d'orchestration.

Cloud Functions (AWS/GCP/Azure)

  • x La facturation par invocation s'accumule vite
  • x Les démarrages à froid dégradent l'expérience utilisateur
  • x API et outils spécifiques au fournisseur
  • x Configuration complexe IAM et réseau
  • x Difficile à tester et déboguer localement
  • x Coûts de transfert de données entre services

sh0 + Deno Functions

  • Tarification fixe, invocations illimitées
  • Pas de démarrage à froid -- Deno compile et met en cache
  • API Web standard (Request/Response)
  • Simple endpoint HTTPS, aucune configuration nécessaire
  • Même runtime Deno en local et en production
  • Accès direct à vos bases de données, sans frais de sortie

Questions fréquentes

Quels langages sont pris en charge ? +
TypeScript et JavaScript via le runtime Deno. Deno prend en charge TypeScript nativement -- pas d'étape de compilation ni de tsconfig nécessaire.
Y a-t-il un démarrage à froid ? +
Deno compile et met en cache votre fonction à la première requête. Les requêtes suivantes sont servies depuis le cache avec une latence négligeable.
Les fonctions peuvent-elles accéder à mes bases de données ? +
Oui. Vos fonctions peuvent se connecter à n'importe quel serveur de base de données PostgreSQL, MySQL ou Redis géré par sh0 en utilisant des chaînes de connexion standard.
Quel est le format requête/réponse ? +
Les fonctions reçoivent un objet Request de l'API Web standard et doivent retourner un objet Response. C'est la même API utilisée dans Deno Deploy, Cloudflare Workers et d'autres runtimes edge.
Puis-je utiliser des packages npm ? +
Oui. Deno prend en charge l'importation depuis npm via le spécificateur npm: (par ex. import express from "npm:express"). Vous pouvez aussi importer depuis des URL ou deno.land/x.
En quoi est-ce différent d'AWS Lambda ? +
Les fonctions sh0 s'exécutent sur votre propre serveur -- pas de dépendance fournisseur, pas de facturation par invocation, pas de pénalités de démarrage à froid. Vous contrôlez l'infrastructure.

Livrez des fonctions, pas de l'infrastructure

Écrivez du TypeScript, déployez sur votre serveur, appelez via HTTPS. C'est tout.