1. Overview

StreamNative Cloud Concepts

StreamNative Cloud offers a veriety of resources to help you build and manage messaging and data streaming applications. This page provides an overview about the StreamNative Cloud resources, that you can use to organize your Pulsar clusters and other StreamNative Cloud resources.

Organizations

The top-level resource in StreamNative Cloud is the organization. An organization is logical grouping of resources that you can use to manage access to your StreamNative Cloud resources and to organize your resources in a way that make sense for your organization. Most users will only need on organization, but you can create multiple organizations if you need to separate resources for different departments or teams.

To learn more about organizations, see Organizations.

Instances

Within each StreamNative Cloud organization, you can have one or more Instances. An Instance represents an environment within a cloud provider that can contain multiple clusters and deployed components, such as Connectors, Functions, and SQL workspaces. Different departments or teams can use separate instances to isolate their resources from each other.

An Instance can be either fully Hosted on StreamNative's cloud account or deployed on your public cloud account via the Bring-Your-Own-Cloud (BYOC) option. Each instance is configured with a Data Streaming Engine (Classic Engine or Ursa Engine) and a cloud provider for deploying clusters. An instance can contain one or more clusters.

To learn more about instances, see Instances.

Clusters

Within each Instance, you can have one or more Clusters. Each cluster is deployed in a cloud region within the cloud provider that the Instance is configured to use. Each cluster exposes different service endpoints that allow client libraries to connect and perform various operations - producing and consuming messages, running functions and connectors, executing SQL queries, managing Flink jobs, and handling other resources.

Clusters within an instance can replicate among themselves using geo-replication.

To learn more about clusters, see Clusters.

Users

Within each StreamNative Cloud organization, you can invite one or more users. Each user represents the identify of a person who can be authenticated and granted access to StreamNative Cloud resources and Pulsar resources within each Pulsar cluster.

To learn more about users, see Users.

Service Accounts

Within each StreamNative Cloud organization, you can create one or more service accounts. Each service account represents an application programmatically accessing StreamNative Cloud resources and Pulsar resources within each Pulsar cluster.

A Service Account can be used across multiple Pulsar instances. However, the authentication credentials or API keys are different when they are used in different Pulsar instances.

To learn more about service accounts, see Service Accounts.

Secrets

Within each StreamNative Cloud organization, you can create one or more secrets to store and manage sensitive data such as passwords, tokens, and private keys. A Secret may contain numerous keys. You can create Secrets and refer to them in connectors and Pulsar Functions. Currently, secrets are shared across multiple Pulsar instances within an organization.

To learn more about secrets, see Secrets.

Interact with the Cloud Resources

StreamNative Cloud gives you two ways to interact with the resources.

StreamNative Cloud Console

The StreamNative Cloud console provides a web-based, graphical user interface that you can use to manage your StreamNative Cloud organizations and resources. When you use the StreamNative Cloud console, you either create a new organization or choose an existing organization, and then use the resources that you create in the context of that organization.

Command-line interface

If you prefer to work at the command line, you can perform most StreamNative Cloud tasks by using snctl to interact with the StreamNative Cloud resources within an organization. The CLI let you manage development workflow and StreamNative Cloud resources in a terminal window.

Infrastructure-as-Code (IaC) tools

If you prefer to manage and provision the StreamNative Cloud resources through Infrastructure-as-Code (IaC) tools such as Terraform, you can declare those StreamNative Cloud resources using Terraform Provider. With these tools, you can create configuration files that contain your StreamNative Cloud resource specifications, which make it easier to edit and distribute.

Interact with StreamNative Clusters

StreamNative Cloud gives you multiple ways to interact with the StreamNative Clusters.

StreamNative Cloud Console

In addition to managing StreamNative Cloud organizations and resources, you can also use StreamNative Cloud console to manage resources, configuration, and policies within a StreamNative Cluster.

Command-line interface

If you prefer to work at the command line, you can interact with the StreamNative Cluster by using pulsarctl. The CLIs let you manage the Pulsar resources in a terminal window.

Infrastructure-as-Code (IaC) tools

If you prefer to manage and provision the Pulsar resources through Infrastructure-as-Code (IaC) tools such as Terraform and Kubernetes, you can declare those Pulsar resources using Terraform Provider or Pulsar Resource Operators. With these tools, you can create configuration files that contain your Pulsar resource specifications, which make it easier to eidt and distribute.

Client libraries

StreamNative supports various client libraries that enable you to easily interact with the StreamNative Clusters to produce & consume messages, running connectors & functions, and create & manage resources.

Previous
Overview