← Katalog
E I A C

Nitric

App-as-Code

Wielojęzyczny framework infrastructure-from-code — wymagania wywnioskowane z kodu, wdrożenie przez Terraform/Pulumi.

★ 2000 Apache-2.0 #app-as-code#infrastructure-from-code#multi-cloud#self-hosted

Nitric to wielojęzyczny framework (TypeScript, Python, Go i inne), który realizuje infrastructure-from-code w sposób celowo uzupełniający klasyczne IaC, a nie zastępujący je. Piszesz kod aplikacji i deklarujesz jej wymagania (np. „potrzebuję kolejki”, „bucketa”, „API”), a Nitric wywodzi z tego specyfikację wymagań i przekazuje ją pluginom wdrożeniowym, które generują konfigurację przez Pulumi lub Terraform. Dzięki temu IaC pozostaje w synchronizacji z aplikacją, a Ty nie piszesz go ręcznie. Nitric odcina aplikację od konkretnej chmury — ten sam kod wdrożysz na AWS, Azure, GCP czy Kubernetes.

Kiedy używać

  • Chcesz wygody infrastructure-from-code, ale bez utraty kontroli — pod spodem zostaje jawny Terraform/Pulumi, który możesz podejrzeć i dostroić.
  • Zależy Ci na przenośności między chmurami i automatyzacji uprawnień (least privilege generowany z wymagań).
  • Piszesz w różnych językach i potrzebujesz jednego modelu dla całego zespołu.

Przykład użycia

import { api, bucket } from '@nitric/sdk';

// wymaganie infrastruktury wywnioskowane z kodu
const images = bucket('images').allow('read', 'write');

api('public').get('/img/:name', async (ctx) => {
  const img = await images.file(ctx.req.params.name).read();
  ctx.res.body = img;
});

Warto wiedzieć

  • Architektura pluginowa: domyślnie deployment przez Pulumi/Terraform, ale możesz napisać własny plugin.
  • Świadomie dopełnia IaC (utrzymuje je w synchronizacji z kodem), w odróżnieniu od Encore, który separację aplikacja–infrastruktura znosi całkowicie; szerzej: IaC w 2026.
  • Otwarty (Apache-2.0) i self-hostowalny — pasuje do podejścia „w Twoim CI, z Twoim stanem”.