Container products pricing for AWS Marketplace - AWS Marketplace

Container products pricing for AWS Marketplace

On AWS Marketplace, you can list free products, Bring Your Own License model (BYOL) products, and paid products for Amazon Elastic Container Service (Amazon ECS), Amazon Elastic Kubernetes Service (Amazon EKS), and AWS Fargate. You can set only one price per product. This topic outlines the available pricing models for container products.

Note

You use the AWS Marketplace Metering Service to enforce entitlement and meter usage for your paid products. For per task or per pod pricing, usage is metered automatically by AWS.

The price you set for a container product applies to all AWS Regions. Whenever you lower the price for a container product, the new price is implemented for your buyers immediately. For price increases, existing buyers are notified about the change 90 days before it impacts their billing. New buyers are billed the new amount.

Note

For new subscribers, the price change is effective immediately. For existing subscribers, the price change is effective on the first day of the month following a 90-day period that begins on the date that the price change notification is sent. For example, say you send a price change notification on March 16. June 16 is about 90 days after March 16. Because the price change happens on the first day of the month that follows the 90-day period, the effective date of the change is July 1.

Container pricing models

AWS Marketplace has multiple pricing models for container products.

The following table provides general information about pricing models for container-based products.

Pricing models for container products
Pricing model Description
Bring Your Own License (BYOL) BYOL is managed outside of AWS Marketplace through an external billing relationship that you maintain with the buyer. Your software in the container does not integrate with AWS Marketplace for billing.
Monthly

Fixed monthly price

A fixed monthly price that provides users with unlimited product usage during the following month.

Example: You set the price for your product at $99 per month. Your product includes three different container images that are deployed using an Amazon ECS task definition.

After a buyer subscribes to your product, they're immediately charged $99, which repeats each month until they cancel the subscription. The buyer also gets unlimited usage of the product. The buyer also pays separately for any infrastructure that the tasks run on. While subscribed, they can access your container images. They can launch and run any number of containers from those images on Amazon ECS or Amazon EKS in any configuration.

If the buyer cancels their subscription in the middle of a month, they lose access to the Amazon ECR repository where AWS Marketplace stores the container images. The buyer might have pulled and stored the original images. However, they can no longer pull new container image versions that you make available through AWS Marketplace. The buyer is refunded for the unused portion of the final month. You're paid based on the buyer's usage minus the agreed-to AWS Marketplace fee.

Custom metered pricing dimensions

Custom metered prices based off of dimensions you define (for example users, nodes, repositories, or GB), up to 24 dimensions per product.

Example: Your product charges by users. You have admin users and regular users, and you define the pricing as $2 for admin users and $1 for regular users. You can set them up as separate dimensions when listing your product. You charge by users logged in per day and you meter that usage per day.

To learn more about custom metering for usage-based pricing, see Configuring custom metering for container products with AWS Marketplace Metering Service.

Per task or per pod hourly price

Amazon ECS task or Amazon EKS pod

Per Amazon ECS task or per Amazon EKS pod pricing that we measure to the second with the price set per hour.

Example: Your product includes three different container images: a controller node, a worker node, and an analytics node. Because your product isn't functional or useful without the controller node, you decide that is the image that you want to charge usage for. You set a price of $6 per hour.

You modify the software in the container image for the controller node to integrate with the AWS Marketplace Metering Service RegisterUsage API operation. This ensures that only buyers with an active subscription can launch and run that container image and that its usage is metered based on how long it runs.

The buyer is charged $6 per hour of usage for each Amazon EKS controller pod running. If the buyer launches five Amazon EKS controller pods that include the controller node container, they're charged $30 per hour ($6 per pod). The buyer also pays separately for any infrastructure that the pods run on.

For hourly pricing, billing is per-second with a 1-minute minimum. If the customer runs this controller container for 20 minutes and 30 seconds, they're charged 20 x ($6/60) + 30 x ($6/60/60) = $2 + $0.05 = $2.05. You're paid based on the buyer's usage minus the agreed-to AWS Marketplace fee.

To learn more about per task or per pod hourly pricing, see Configuring hourly metering with AWS Marketplace Metering Service.

Hourly pricing or custom metering pricing with long-term contract

A long-term contract, at a reduced price, paid up front or in regular installments. A long-term contract can be added to an existing product that has custom metered pricing, or per task and per pod pricing. Buyers pay the metered prices when they consume more than what they purchased in the long term contract.

Example: For metered pricing models, you can add a long-term contract price for buyers to get a discount for committing upfront. Say that you normally charge $1 per some unit consumed. A buyer using 1 unit per hour would pay $8760 per year (365 days x 24 hours x $1 per hour). You could enable a contract that enables the buyer to use 1 unit per hour for those 365 days at half that price ($4380). In this case, the buyer commits to pay upfront for the one-year contract, and the price drops from $1 per unit to $0.5 per unit. You could also enable the buyer to purchase multiple of these contracts. If the quantity that is metered showed that the buyer consumed 10 units in an hour, and they had two contracts, then 2 units will be included in the 2 contracts. The 8 additional units would be billed at the regular $1 per hour, for a total of $8 in that hour.

For the per task or per pod example, you can also add a long-term contract price for buyers to get a discount for committing upfront. If you normally charge $6 per pod, you could set a long-term contract duration of 365 days with a price of $13,140 (365 days x 24 hours x $3 per pod per hour). One contract would then entitle the customer to 1 pod per hour during those 365 days. Customers can choose to purchase multiple contracts. For example, a customer can purchase two contracts which entitles them to 2 pods per hour. If the customer runs more pods per hour than the entitled contracts, then excess pods will be billed at your normal hourly price.

In both cases, buyers that purchase long-term contracts will be billed upfront, either as a one-time payment or regularly scheduled future payments. Buyers will also be billed for any additional usage above their contract at the metered rate.

Container contract pricing

Container with contract pricing – A container-based product that the buyer pays an upfront fee for.

To learn more about contract pricing, see Contract pricing for container products with AWS License Manager.