This page contains information about the pricing structures you can choose for Kubernetes apps. Review the information to decide on a pricing model for your app.
You can choose one of the following pricing models for your solution:
Free: Customers only pay for the Google Cloud resources that they use, such as the cost for running Google Kubernetes Engine clusters. If you are offering your app free of charge, skip to Adding your pricing model in Partner Portal.
Bring your own license (BYOL): Customers pay you for the app directly, and are billed separately for the Google Cloud resources that they use. You are responsible for making sure that your customers are using a valid license for your app.
Usage-based pricing: Customers pay for your software based on measurements that you choose, called metrics, such as the number of containers they run your app on.
If you choose usage-based pricing, you can also offer a free trial of your solution. If you want to offer free trials with a BYOL pricing model, you must implement the trial license in your billing system.
After you have decided on your pricing model, you must add it to your solution in Partner Portal so that it can be processed.
After you set up your pricing plans, you can also create customized quotes for specific customers. For example, if you offer a usage-based plan for $5 per running container, you can create a custom quote that gives your customer the same plan for $2 per running container. For steps to create a custom quote, see Creating custom quotes.
Bring your own license (BYOL) pricing
If you want to bill customers yourself, you can choose a Bring your own license (BYOL) pricing model. You must provide a way for your customers to get a licence from you, typically through a website. After the customer gets their license, you are responsible for validating the license in your app.
If you want to use a BYOL pricing model, skip to Adding your pricing model in Partner Portal.
Kubernetes apps are priced by usage, so customers pay for your software based on measurements that you choose, such as the number of containers or storage time. For example, you can set your price by gibibyte-hours of storage time.
If you want to set up a usage-based pricing model, we recommend deciding on the model as early as possible and submitting it for processing. It can take up to two weeks to process your pricing model, but you can continue integrating your app with Google Cloud Marketplace while the model is being processed.
Choosing your pricing metrics
You can charge your customers using measurements that apply to your solution, called metrics. A typical example of a metric is the time for which customers use your solution. For example, you can charge $0.05 per hour of use. Similarly, you can charge customers by the quantity of data processed by your app, the number of API requests customers make, and so on.
While you are choosing your metrics, you must also choose a reporting unit for each metric, which represents the granularity with which you measure your app's usage. You must measure the reporting unit as an integer, and not as a fractional number.
For example, consider an app for which you charge
$0.256 per gibibyte (1024 mebibytes) of data processed, and your reporting unit
is by mebibyte. If a user processes 512 mebibytes of data, they are charged
(512 Mib / 1024 MiB) * $0.256, or $0.128 for their usage. However, if your
reporting unit is by gibibyte, the customer's usage is reported as
1 GiB, and
they are charged the full $0.256 even if they use a fraction of a gibibyte.
The following table includes examples of the types of metrics you can use:
|Metric type||Supported units||Recommended reporting unit||Example price|
|Time||Second, minute, hour, day||1 second (smallest possible)||$5 per hour|
Byte, Kibibyte (KiB), Mebibyte (MiB), Gibibyte (GiB)
The units for data processed are based on binary multiples, where one Kibibyte is 1024 bytes, one Mebibyte is 1024 Kibibytes, and so on.
|1 Mebibyte (MiB)||$10 per GiB|
|Storage time||See units for time and data||1 Mebibyte-second||$10 per GiB-hour|
|Custom metric||N/A. You define the unit you want to measure, such as API request.||Depends on metric.||$10 per 1000 API requests|
If you want to charge by a custom metric, ensure that the measurement is a delta metric, where each usage report represents the change in the value since the previous report. For example, you can set a price per email, and every hourly usage report represents the number of emails sent in the previous hour.
Define your pricing structure
After you have selected your metrics, you can select one of the following pricing structures:
Single-rate pricing: Customers pay a set price for their usage, and the charges increase in direct proportion to their usage. For example, if you charge $0.50 per hour of usage, and a customer uses your app for 20 hours, they are charged $10.
Tiered pricing: If you want to give customers sustained-use discounts, you can create pricing tiers. If your price is based on more than one metric, you can define a separate set of tiers for each metric that you base your price on.
For example, if you want to charge users for each API request, as well as for storage time, you might set the following pricing tiers for each metric:
Pricing tiers for API requests Pricing tiers for storage time
- $0.002 per API request for 0-1000 requests
- $0.001 per API request for 1001-2000 requests
- $0.0001 per API request for 2001+ requests
- $0.05 per GiB-hour for 0-1000 GiB-hours
- $0.001 per GiB-hour for 1001-2000 GiB-hours
- $0.0001 per GiB-hour for 2001+ GiB-hours
The tiers are applied as you go, over the course of the billing month. At the start of each new billing month, the price is reset to the first tier.
For example, in the sample pricing model above, if a user makes 1500 API requests in a billing month, they will be charged $0.002 per request for the first 1000 API requests, then $0.001 per request for the remaining 500 API requests. However, their first API request of the next billing month would once again be charged at the $0.002 tier, as one of the new month's first 1000 API requests.
Add your pricing model to Partner Portal
After you have decided on your pricing model, you can add it to Partner Portal. We recommend completing this step and submitting your pricing for processing as early as possible.
The direct link to Partner Portal is:
In the list of solutions, click the name of your solution.
Next to Price Configuration, click Edit. Follow the steps for the pricing model you want to use:
To submit your pricing model, click Review and Submit.
In the License Acquisition URL box, enter the URL that customers must use to get their license.
To submit your pricing model, click Review and Submit.
Select Usage-based pricing, and click Save and Continue.
Under Pricing Metrics, click Add metric.
Add the following information for the metric:
Name: The name of the metric, shown in your Google Cloud Marketplace listing. For example,
Description: (Optional) A short description of the metric in the context of the product. For example, if you are measuring multiple types of requests, use the description to clarify the differences between the types, such as "Query requests" or "Scan requests".
The pricing unit shown on the Google Cloud Marketplace listing:
Base Unit: The type of metric, such as time, data, or custom.
Unit: The unit to show on your pricing page. If you chose data or a custom metric, your unit can also include time. For example, if your base unit is
gibibyte, you can select
gibibyte-houras your unit.
To set up tiered pricing, click Add tier, and add the lower limit for the new tier that you want to create. By default, the first tier starts at
0. The upper limit of a tier is updated when you add the value for the lower limit of the next tier.
Repeat the above steps for every metric in your pricing model.
To review the metrics and finalize the pricing model, click Save and Continue.
For each metric:
Click the metric.
Note the Metric ID. You use this ID to report usage when you create your app package.
Verify the Reporting Unit, which you must use to measure usage in your app. When you create your app package, you must set up the same reporting unit that you choose in this step.
The reporting unit represents the granularity with which customers are charged. For example, if you set your price by GiB-hours, you can select a reporting unit of MiB-hours, so that customers who use fractions of GiB-hours can be billed for their exact usage.
When you are ready to submit your pricing model for processing, click Review and Submit.
(Optional) Offering trial software
If you want to offer a trial of your software to Google Cloud users, fill out the Google Cloud Marketplace solution trial intake form. You must specify:
- The trial period, for example, 30 days.
- The maximum credit, in USD, that the trial is limited to.
Customers can choose any of your pricing plans, and the trial credit applies to the plan that they choose.
The trial ends when the customer reaches the credit limit, or at the end of the trial period, whichever comes first. For example, if you offer a 15-day trial with a maximum credit of $100, the trial ends when users reach the $100 limit, or at the end of 15 days.
At the end of the trial period, customers are charged based on the pricing plan that they chose. If the customer changed their plan during the trial, they are charged based on their new plan.
If your solution's pricing is usage-based, we recommend a trial credit limit that is twice the cost of the usage that you expect.