This topic describes how to select a cost-effective billing method.

Billing methods

MaxCompute supports the following billing methods:
  • Subscription: Computing resources are charged on a monthly or annual basis. Storage and download resources are charged on a pay-as-you-go basis.
  • Pay-as-you-go: Storage, computing, and download resources are all charged on a pay-as-you-go basis.

For more information, see Billing method. You can select a billing method with the help of Total Cost of Ownership (TCO) tools and the best practices of cost estimation.

TCO tools

You can use the following TCO tools to estimate costs:
  • MaxCompute price calculator: This tool is suitable for the subscription billing method. To calculate the monthly cost, enter the required computing resources and the volumes of the data you want to upload and download.
  • CostSQL: This tool is suitable for the pay-as-you-go billing method.
    • You can run the cost sql command to estimate the cost of an SQL job before you execute the SQL job in a production environment. For more information, see Cost SQL.
    • If you use IntelliJ IDEA, you can submit SQL scripts for automatic cost estimation. For more information, see Develop an SQL script.
    • If you use DataWorks, you can also estimate costs.
    Note
    • The costs of some SQL jobs cannot be estimated, such as SQL jobs that involve external tables.
    • The actual costs are subject to final bills.

Best practices of cost estimation

This section provides some cost estimation examples and tips for your reference. You can select a cost-effective billing method based on the information.

  • Billing methods for 1 TB of data

    The following table describes estimated costs for reference.

    Billing method Business scenario Response speed Estimated cost per month
    Subscription Compute-intensive Within a few minutes 24,000 RMB
    Storage-intensive Within a few hours 7,500 RMB
    Pay-as-you-go CNY 9,000 (The cost is estimated with the SQL complexity of 1 and the execution frequency of once per day.)
    If you select the subscription billing method, the costs vary depending on your business type:
    • Compute-intensive scenario: In this scenario, a large number of CPU resources are required. 160 compute units are used to process 1 TB of data. The system responds to a request within a few minutes. The estimated cost is CNY 24,000 per month.
    • Storage-intensive scenario: If your jobs are not sensitive to the response speed, we recommend that you purchase a storage plan. About 50 compute units are used to process 1 TB of data. The system responds to a request within a few hours. The estimated cost is CNY 7,500 per month.
    If you select the pay-as-you-go billing method, the cost for the computing resources that are used to process 1 TB of data once is about CNY 300 per day and CNY 9,000 per month. The prerequisites are that the SQL complexity is 1 and the data is processed once per day. If the data is processed multiple times per day, the cost is multiplied.
    When you migrate data to the cloud for the first time, we recommend that you select the pay-as-you-go billing method first. Perform a Proof of Concept (POC) test to calculate the approximate number of workers used for your jobs. Then, calculate the number of compute units that you need to purchase based on the number of workers.
  • Billing methods for Hadoop users to migrate data to the cloud

    Assume that a Hadoop cluster has one controller node and five compute nodes. Each node has 32 cores, equivalent to 32 CPUs. The total number of CPUs for the compute nodes is 160. The estimated cost of the cluster is CNY 24,000 per month with no discounts or promotional offers applied.

    MaxCompute does not require any controller nodes. The performance of MaxCompute is 80% higher than Hive. It frees you from operations and maintenance (O&M), which also reduces costs.

  • Mixed billing methods
    • Subscription billing method for production businesses, such as hourly extract, transform, load (ETL), and pay-as-you-go billing method for aperiodic jobs or ad hoc queries

      We recommend that you select the subscription billing method for periodic computing jobs that are frequently executed and the pay-as-you-go billing method for aperiodic jobs that are used to process large amounts of data. In pay-as-you-go mode, you can choose not to store data. Instead, you can read data from tables under other accounts. This reduces data storage costs. Authorization is required for computing operations on tables under different accounts. For more information, see Add a role and grant permissions to the role by using ACL.

    • Subscription billing method for aperiodic jobs or ad hoc queries and pay-as-you-go billing method for production businesses, such as daily ETL

      Daily data testing may cause the issue of uncontrollable costs. To avoid this issue, you can add data testing and aperiodic jobs to fixed resource groups. Then, use MaxCompute Management to configure custom development groups and business intelligence (BI) groups. If production jobs are executed only once per day, you can add them to a pay-as-you-go resource group.

Switching between billing methods

If you select the subscription billing method, you can upgrade or degrade the configurations in the following scenarios: The data volume changes, and the purchased resources are insufficient or become idle. For more information, see Configuration upgrade and downgrade.

You can also switch between the subscription and pay-as-you-go billing methods. For more information, see Switch billing methods.
Note Before you switch the billing method from pay-as-you-go to subscription, evaluate the computing performance and cycles of jobs to determine the number of compute units you need to purchase. If the compute units you purchase are insufficient, the computing cycle of a job may be prolonged, and the computing performance may not meet your expectations. If this occurs, you may need to switch the billing method again.