Nitric automates cloud infrastructure provisioning from your application code for AWS, GCP and Azure

At a Glance:

Nitric is an open-source, multi-language framework that infers cloud infrastructure from application code, enabling developers to deploy APIs, databases, queues, buckets, and other resources with automatically configured IAM to AWS, GCP, Azure, or Kubernetes without writing separate IaC.

Overview:

Nitric is a developer-centric framework designed to decouple application logic from cloud infrastructure provisioning. It allows developers to define infrastructure requirements like storage, databases, message queues, and API endpoints directly within their application code in a cloud-agnostic way. When the application is deployed, Nitric infers these requirements and automatically orchestrates the necessary resources and IAM permissions on the target platform, eliminating the need to manually write Terraform, Pulumi, or other Infrastructure as Code configurations. It is built for teams that want to write portable applications that can run on multiple clouds without changing the underlying business logic, while still providing escape hatches for custom, provider-specific configurations.

Key Decision Points:

  • Infrastructure from code: Inline infrastructure requirements are inferred from your application code, removing the need to author and maintain separate IaC scripts.

  • Cloud-agnostic portability: A single application codebase can be deployed to AWS, Azure, GCP, or Kubernetes without modification, mapping requirements to the appropriate cloud services.

  • Local development support: Applications can be built and tested locally, with Nitric handling the resource provisioning for the local environment.

  • Automated IAM and best practices: Permissions, like least-privilege access for resources, are automatically configured, reducing manual security policy management.

  • Plugin-based deployments: Supports built-in deployment plugins for Pulumi or Terraform, and allows the creation of custom providers to integrate with other tools or platforms.

  • Escape hatches for customization: When standard abstractions are insufficient, developers have the ability to bypass abstractions to access provider-specific features.

Core Features:

  • Multi-language support: Framework capabilities are available across several programming languages as detailed in the documentation.

  • Resource inferencing: Automatically determines infrastructure requirements for resources like APIs, databases, queues/topics, key-value stores, and buckets from the application code.

  • Automated IAM configuration: Provisioning an API to a bucket, for example, automatically sets up the necessary permissions without manual policy writing.

  • Multi-cloud deployment: Offers out-of-the-box support for major providers, including AWS, GCP, and Azure, with a single deployment command like nitric up.

  • Pluggable deployment engine: Can generate and deploy infrastructure using automatically generated Pulumi or Terraform code, and is extensible to other automation tools.

Use Cases:

  • Developers building portable cloud applications who want to write a single codebase that can be deployed to any supported cloud provider without being locked into a specific vendor's services or IaC tooling.

  • Teams that want to eliminate boilerplate IaC and have their application's infrastructure requirements, such as databases and storage, automatically integrated and provisioned by the framework.

  • Developers seeking a manageable local development experience where they can define production-grade resources in code that also run in a local environment for testing.

Open-Source Alternative Value:

As an open-source project, Nitric provides a transparent approach to automating cloud infrastructure from application code, moving away from manual Infrastructure as Code. Its cloud-agnostic design inherently reduces coupling to specific providers, allowing the same application to be mapped to services on AWS, Azure, GCP, or Kubernetes. The plugin-based architecture offers extensibility, enabling users to integrate the framework with their own preferred deployment tools like Pulumi or Terraform, or build custom providers, rather than being restricted to a closed, opinionated platform.

PartagerXLinkedInReddit

Outils associés

Statistiques du projet

Étoiles

1,991

Forks

121

Licence

Apache-2.0

Métadonnées

Alternative à
Supabase