Docker vs Podman
Dans le monde de la conteneurisation, le standard industriel Docker affronte Podman et son approche daemonless. Sécurité, conformité en entreprise et usage quotidien : lequel se distingue ?
Compute s'exécutant en périphérie globale via des isolates V8, sans démarrage à froid de VM
Compute serverless s'exécutant sur une microVM Firecracker, profondément intégré à l'écosystème AWS
Il n'y a pas de vainqueur absolu : pour les charges de travail courtes et sensibles à la latence traitant des requêtes globales (authentification, routage, personnalisation, API gateway, webhook), Cloudflare Workers est à la fois moins cher et offre moins de friction au démarrage à froid. Pour les tâches longues, gourmandes en mémoire ou dépendantes de ressources AWS internes au VPC, Lambda a l'avantage : les plafonds sont plus larges et l'accès réseau privé est GA, alors que chez Workers il est encore en bêta. Le schéma de production le plus courant est hybride : Workers en couche fine à la périphérie, Lambda pour le travail lourd en arrière-plan.
| Catégorie | Cloudflare Workers | AWS Lambda |
|---|---|---|
| Performance | 8/10 | 7/10 |
| Facilité d'apprentissage | 7/10 | 6/10 |
| Écosystème | 6/10 | 9/10 |
| Communauté | 6/10 | 8/10 |
| Marché de l'emploi | 6/10 | 8/10 |
| Pérennité | 9/10 | 8/10 |
// Cloudflare Workers - API connectée à Postgres via Hyperdrive
import { Hono } from "hono";
import postgres from "postgres";
interface Env {
HYPERDRIVE: Hyperdrive;
}
const app = new Hono<{ Bindings: Env }>();
app.get("/api/users/:id", async (c) => {
// Ouvrir un nouveau client à chaque requête est rapide — Hyperdrive
// maintient déjà le pool de connexions côté plateforme.
const sql = postgres(c.env.HYPERDRIVE.connectionString, {
max: 5,
fetch_types: false,
});
// Hyperdrive nettoie lui-même la connexion à la fin de la requête ; pas besoin d'appeler sql.end().
const id = c.req.param("id");
const rows = await sql`
SELECT id, name, plan FROM users WHERE id = ${id} LIMIT 1
`;
if (rows.length === 0) {
return c.json({ error: "not_found" }, 404);
}
return c.json(rows[0]);
});
export default app;
/*
wrangler.jsonc
{
"name": "edge-api",
"main": "src/index.ts",
"compatibility_date": "2026-09-01",
"hyperdrive": [
{ "binding": "HYPERDRIVE", "id": "<hyperdrive-config-id>" }
]
}
*/// AWS Lambda (Node.js) - handler connecté à RDS Postgres dans un VPC
import { Client } from "pg";
let client; // conservé lors de la réutilisation du conteneur (warm start)
export const handler = async (event) => {
const id = event.pathParameters?.id;
if (!client) {
client = new Client({
host: process.env.DB_HOST, // point de terminaison privé RDS (dans le VPC)
port: 5432,
database: process.env.DB_NAME,
user: process.env.DB_USER,
password: process.env.DB_PASSWORD,
ssl: { rejectUnauthorized: true },
});
await client.connect();
}
try {
const result = await client.query(
"SELECT id, name, plan FROM users WHERE id = $1 LIMIT 1",
[id]
);
if (result.rows.length === 0) {
return { statusCode: 404, body: JSON.stringify({ error: "not_found" }) };
}
return { statusCode: 200, body: JSON.stringify(result.rows[0]) };
} catch (err) {
console.error(err);
return { statusCode: 500, body: JSON.stringify({ error: "internal" }) };
}
};
/*
template.yaml (AWS SAM) — VPC + mémoire + timeout
Resources:
UsersFunction:
Type: AWS::Serverless::Function
Properties:
Handler: index.handler
Runtime: nodejs22.x
MemorySize: 512
Timeout: 15 # secondes (plafond 900 = 15 min)
VpcConfig:
SecurityGroupIds: [sg-xxxxxxxx]
SubnetIds: [subnet-xxxxxxxx, subnet-yyyyyyyy]
Policies:
- VPCAccessPolicy: {}
*/Il n'y a pas de vainqueur absolu : pour les charges de travail courtes et sensibles à la latence traitant des requêtes globales (authentification, routage, personnalisation, API gateway, webhook), Cloudflare Workers est à la fois moins cher et offre moins de friction au démarrage à froid. Pour les tâches longues, gourmandes en mémoire ou dépendantes de ressources AWS internes au VPC, Lambda a l'avantage : les plafonds sont plus larges et l'accès réseau privé est GA, alors que chez Workers il est encore en bêta. Le schéma de production le plus courant est hybride : Workers en couche fine à la périphérie, Lambda pour le travail lourd en arrière-plan.
Obtenir une consultation gratuiteCela varie et doit être calculé selon la charge de travail. Le plan payant de Workers coûte 5 $/mois de base, incluant 10 millions de requêtes et 30 millions de CPU-ms, avec un dépassement facturé 0,30 $/million de requêtes + 0,02 $/million de CPU-ms ; le temps d'attente d'E/S est gratuit. Lambda facture selon requêtes + Go-secondes (mémoire × durée), le palier gratuit incluant 1 million de requêtes + 400 000 Go-secondes/mois. Pour des tâches courtes et dominées par les E/S, le modèle CPU-time de Workers peut devenir moins cher ; pour des tâches longues et intensives en CPU, le modèle Go-secondes de Lambda varie selon la charge de travail.