Nitric
App-as-Code
Wielojęzyczny framework infrastructure-from-code — wymagania wywnioskowane z kodu, wdrożenie przez Terraform/Pulumi.
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”.