explanation
46 pagesAlerting
Alerting is a crucial part of observability, and it's the first step in knowing when something is wrong with your application.
Anti-Virus Scanning
Antivirus scanning of files and urls using ClamAV.
Application
A Nais application lets you run one or more instances of a container image. An application is defined by its application manifest, which is a YAML file that describes how the application should beβ¦
Auth concepts
Nais offers an opt-in login proxy (also known as Wonderwall) that simplifies the process of authenticating end-users in your application.
Authentication and authorization
Services and addons to support authentication and authorization in your applications.
Buckets
A bucket is a storage container for objects. Objects are files that contain data, such as documents, images, videos, and application code.
Build and deploy
To make your application available to others, you need to build and deploy it. Nais attempts to make this as simple as possible by providing a set of composable GitHub Actions.
Cloud SQL credentials
Cloud SQL uses ConfigConnector/CNRM to create and manage all relevant resources (sqldatabase, sqlinstance, sqluser, credentials) for postgreSQL. When creating an application via your nais.yaml theβ¦
Cloud SQL Instance
A Cloud SQL instance is a managed database server provided by Google Cloud Platform. In nais, these are used to provide PostgreSQL databases for your applications.
Cloud SQL Proxy
The application will connect to the database using Cloud SQL Proxy, ensuring that the database communication happens in secure tunnel, authenticated with automatically rotated credentials.
Cloud SQL System Users and Roles
Every Cloud SQL PostgreSQL instance comes with a fixed set of system users and roles managed by Google. On top of these, Nais creates application-specific users via ConfigConnector. Understandingβ¦
Config
A config is a set of non-sensitive configuration values that can be used in a workload. This can be feature flags, connection strings, or any other configuration that does not need to be kept secret.
Console
Nais Console is a web-based interface for managing your workloads and services on the Nais platform. It aims to provide a user-friendly way to interact with the platform, without needing to use theβ¦
Content Delivery Network (CDN)
A content delivery network (CDN) serves static content and single-page applications (SPA) in a fast and reliable manner.
Distributed Tracing
Application Performance Monitoring or tracing using Grafana Tempo on Nais.
Exposing your application
What good is an application if no one can reach it? Nais tries to make it easy to expose your application to the correct audience. An audience is the set of users or applications that yourβ¦
Feature Toggling
Feature toggling is a software development technique that allows you to turn features on and off in your application without deploying new code. This can be useful for testing new features, rollingβ¦
Frontend observability
Frontend observability with Grafana Faro gives you real user monitoring, performance metrics, error tracking, and tracing for browser applications.
Good practices
This document describes the different properties a Nais application should have. In general, Nais applications should be inspired by the Twelve Factor App manifesto.
Google Cloud BigQuery Dataset
Google Cloud BigQuery is a service that provides a relational database that is optimized for analytical workloads. It is a good choice for storing data that is relational in nature.
Google Cloud SQL / PostgreSQL
PostgreSQL is a relational database which is a good choice for storing data that is relational in nature. In the nais platform, we use CloudSQL from the Google Cloud Platform to provide managedβ¦
Grants and privileges
When using the nais postgres prepare command, the user is granted some privileges in the database. By default, the user is granted SELECT privileges on all tables and sequences in the default schema.
Kafka
Kafka is a distributed streaming platform that can be used to publish and subscribe to streams of records. It is a good alternative to synchronous communication between services if you need to decouple services.
Leader Election
With leader election it is possible to have one responsible pod. This can be used to control that only one pod runs a batch-job or similar tasks. This is done by asking the elector container whichβ¦
Logging
Logs are a way to understand what is happening in your application. They are usually text-based and are often used for debugging. Since the format of logs is usually not standardized, it can be difficult to query and aggregate logs and thus we recommend using metrics for dashboards and alerting.
Manage your workloads and services
This section covers how to manage your workloads and services on the Nais platform. It describes the different options available, and how to use them.
Metrics
Metrics are a way to measure the state of your application and can be used to create alerts and dashboards in Grafana.
Migrate to new instance
This article desribes what actually happens when you use the nais tools to migrate for a new SQL Instance.
Nais job
A Nais job is used for tasks meant to complete and then exit. This can either run as a one-off task or on a schedule, like a cron job.
naisdevice
naisdevice is a mechanism that lets you connect to services not available on the public internet from your machine.
Observability
Nais offers several methods for monitoring and observing your applications. This page describes the different options and how to use them.
OpenSearch
Nais provides managed search index services through OpenSearch as a drop-in replacement for Elasticsearch.
Persistent Data Overview
Nais offers several storage solutions for storing data. This page describes the different options and how to use them.
Postgres cluster
Postgres is a managed database cluster provided by nais utilizing the Zalando postgres-operator. You manage your cluster by defining a Postgres manifest.
PostgreSQL
PostgreSQL is a relational database which is a good choice for storing data that is relational in nature. In the nais platform, PostgreSQL databases are currently managed by the Zalandoβ¦
Responsibilities
This page aims to clarify the responsibilities as relates to data storage using Nais and GCP. Depending on which infrastructure the data is stored on, the responsibilities look slightly different.
Secrets
A secret is a piece of sensitive information that is used in a workload. This can be a password, an API key, or any other information that should not be exposed to the public.
The runtime environment
Nais provides you with multiple environments for you to run your workloads in. Environments are sometimes also called clusters.
The workload image
Your application is built into a container image, which we sometimes will call the workload image. For Nais to know which image to use for your workload, part of the deploy process includes tellingβ¦
Under the hood
In this explanation, we will go through some of the underlying technologies we use to provide Nais. Each environment is its own Kubernetes cluster using Google Kubernetes Engine (GKE).
Valkey
Valkey is a key value database that is used for storing and querying data. It is a good choice for storing data that is not relational in nature and often used for caching.
Vulnerability insights and management
Nais provides what you need to secure your software supply chain and manage vulnerabilities in your workloads.
What is a team?
Everything in Nais is organized around the concept of a team. A Nais team should consist of technical personnel involved with developing and operating the team's workloads and resources.
What is Nais?
Nais is a platform aiming to provide you with the technical capabilities you need to develop and run software in a safe and enjoyable way.
Workloads
A core functionality of Nais is enabling you to run the code you write. We support two types of workloads, applications and jobs.
Zero Trust
Nais embraces the zero trust security model, where the core principle is to "never trust, always verify".