StreamNative delivers a fully-managed Pulsar solution operating within your cloud environment through the Bring Your Own Cloud (BYOC) deployment option. This approach is enabled by StreamNative Cloud’s architecture, which separates the control plane from the data plane. In a BYOC deployment:
  • The infrastructure and network are under your ownership but managed by StreamNative.
  • You utilize your own public cloud accounts (AWS, GCP, and Azure).
  • The system requires minimal administration on your part.
  • You control security protocols, maintain data visibility, and comply with data sovereignty requirements.
Below is a diagram illustrating the BYOC architecture within StreamNative Cloud. image of BYOC architecture

Responsibility model

The responsibilities under the StreamNative BYOC model differ from those of the StreamNative Hosted model. For a comparison of responsibilities across different cloud deployment options, refer to the Responsibility Model.

How to provision a BYOC infrastructure pool

To deploy a StreamNative cluster within your cloud account, you must first set up a BYOC infrastructure pool.
  1. Grant StreamNative Vendor Access: Authorize the StreamNative Cloud control plane to access your cloud account by applying the StreamNative Vendor Access Terraform module. This module ensures only the minimum necessary access is used to establish your Pulsar clusters. For detailed information on our access approach, please see our access model.
  2. Create a Cloud Connection: After granting access, establish a Cloud Connection to allow the StreamNative Cloud control plane to interact with your cloud account.
  3. Create Cloud Environments: With a Cloud Connection in place, you can then create one or more Cloud Environments. Each Cloud Environment encompasses the essential infrastructure resources—compute, storage, and networking—needed for deploying Pulsar clusters.
After setting up one or more Cloud Environments, you can create an Instance and deploy a Pulsar Cluster to your cloud account that the cloud connection uses. You can watch the playlist of Provisioning StreamNative BYOC Clusters.
When you create an Instance with snctl, you need to specify a poolRef. This poolRef refers to your Cloud Connection.

BYOC Provisioning FAQs

  • Can I create multiple Cloud Environments in the same region under one Cloud Connection? Yes - you can create multiple Cloud Environments in the same region under a single Cloud Connection.
  • Can I create multiple Cloud Environments in different regions under one Cloud Connection? Yes - you can create multiple Cloud Environments in different regions under a single Cloud Connection.
  • Can I create multiple Cloud Connections pointing to the same AWS/GCP/Azure account? Yes - within an organization, you can create multiple Cloud Connections that point to the same AWS, GCP, or Azure account. However, unless you have specific requirements, this is not recommended as it can cause confusion.
  • What are the requirements for geo replication? For geo replication, all Pulsar clusters under the same Pulsar Instance must be deployed within the same Cloud Environments under the same Cloud Connection.

Next steps

Deploy BYOC Clusters on AWS

  1. Grant StreamNative access to your AWS account.
  2. Create a Cloud Connection to your AWS account.
  3. Create Cloud Environments in your AWS account.
  4. Create a BYOC Instance using the established cloud connection.
  5. Create a BYOC cluster.
If you need to configure a custom domain for your Pulsar cluster, see set up custom AWS DNS domain.

Deploy BYOC Clusters on GCP

  1. Grant StreamNative access to your GCP project.
  2. Create a Cloud Connection to your GCP project.
  3. Create Cloud Environments in your GCP project.
  4. Create a BYOC Instance using the established cloud connection.
  5. Create a BYOC cluster.

Deploy BYOC Clusters on Azure

  1. Grant StreamNative access to your Azure account.
  2. Create a Cloud Connection to your Azure account.
  3. Create Cloud Environments in your Azure account.
  4. Create a BYOC Instance using the established cloud connection.
  5. Create a BYOC cluster.