Decision Optimization for Watson Studio Deploy in Cloud Pak for Data as a Service Pricing FAQs

AlainChabrier
5 min readJan 10, 2022

--

As Decision Optimization (DO) has more and more users in its Cloud Pak for Data (CP4D) as a Service (aaS) flavor, we get more questions about pricing. This post tries to answers all the recurring questions.

This covers any usage of DO models in CP4D aaS whatever is the API or language used to deploy and run models (REST APIs (e.g. from Java), Python, etc), and whatever is the modeling language used to formulate the problem (Python docplex, OPL, CPLEX or CPO file formats).

Services and plans

Watson Studio includes 3 parts WS Build (previously known as Watson Studio), WS Deploy (previously known as Watson Machine Learning (WML)) and WS Trust (previously known as Watson Open Scale).

To deploy and run models, you will use Watson Studio Deploy and only need a Watson Machine Learning service instance. The Watson Studio service is not required if you are using models which has been developed, tuned, debugged outside of Watson Studio / CP4D.

On the other hand, note that in order to store models and other job information, you will need a deployment space to be created and linked to your instance, and this deployment space will require a Cloud Object Storage instance for storage.

This means that in your IBM Cloud Dashboard or Resource list (https://cloud.ibm.com/resources), you should at least have a line for a Machine Learning service.

Capture of resource list.

When a Machine Learning service is created, you need to choose between three different possible plans:

  • Lite
  • Standard
  • Professional.

You can create a new Machine Learning service and see the details of the different plans in the following page: https://cloud.ibm.com/catalog/services/machine-learning

When creating a new instance from that page you will choose the geography where this instance is created. It is not possible to have more than one Lite instance in total but it is possible to create different Standard and Professional instances on different geographies.

Plans details.

To choose among these alternatives, one need to understand the basic pricing concept of Capacity Unit Hours (CUH).

Capacity Unit Hours (CUH)

All pricing in CP4D aaS is based on CUHs. These work like credits. You acquire and pay for credits that you can then use with any service. The price for 1 CUH is the same whatever services you will be using, but different services are not consuming the CUHs in the exact same way.

Now we can describe the differences between the plans:

  • Lite: it is free and activate 20 CUH each month.
  • Standard: this is a pure pay-as-you-go plan, there is no monthly fee, and you just pay for the CUH you consume, with a price currently at 0,50 $ per CUH.
  • Professional: there is a monthly fee of 1000$ including 2500 CUHs, and after these are consumed, additional CUHs are only at 0,40 $ per CUH.

When are CUH consumed with DO?

The promotion of a model into a deployment space, the creation of a deployment, or the creation of a job are not consuming any CUH.

Only the execution of jobs is consuming CUHs and only while the optimization model is being solved.

It means that the initial time to spawn a POD is not consuming CUHs, and the time the POD is idle after a job is finished, waiting for another job, is not consuming CUHs.

How much CUH are consumed with DO?

As mentioned before, all services consume CUHs, but not all are consuming CUH at the same rate. This is the notion of multiplier. Depending on the service, the software and the hardware which is used, the multiplier will change.

For DO, the multiplier depends on the T-shirt size of the deployment, which means the number of cores and the memory used.

  • S (Small) 2 vCPU and 8 GB RAM = 30 capacity units per hour
  • M (Medium) 4 vCPU and 16 GB RAM = 40 capacity units per hour
  • XL (Extra Large) 16 vCPU and 64 GB RAM = 60 capacity units per hour

Parallel executions

A previous post described how optimization can scale by paralellizing jobs. Parallel executions do not have any additional cost. Each job will consume CUHs according to its execution time. CUHs are not consumed while a job is waiting in the queue to be started.

Rounding, minimums, etc

There is a rounding to the second for the CUH, i.e. not on the running time.

So a job of 1 second of CPLEX on Small instance will consume 1*30 = 30 capacity unit seconds.

How to get an control my consumption and usage?

At any time you can see the current consumption of your CUHs at the following URL : https://cloud.ibm.com/billing.

From Python, you can also use:

print (client.service_instance.get_details())

You can also request to be notified when some level of consumption has been reached, using https://cloud.ibm.com/billing/spending-notifications.

Notifications.

Summary

We could summarize the overall costs as follows:

Small (2 vCPU, 8 GB RAM):
- Lite : free, only 40 min per calendar month
- Standard : 15 $/hour
- Professional : 1000 $ for the first 83 hours, then 12 $/hour
Medium (4 vCPU, 16 GB RAM):
- Lite : free, but only 30 min per calendar month
- Standard : 20 $/hour
- Professional : 1000 $ for the first 62.5 hours, then 16 $/hour
eXtra Large (16 vCPU, 64 GB RAM):
- Lite : free, but only 20 min per calendar month
- Standard : 30 $/hour
- Professional : 1000 $ for the first 41.7 hours, then 24 $/hour

  • Professional : 1000 $ for the first 41.7 hours, then 24 $/hour

For more stories about AI and DO, or DO in Cloud Pak for Data follow me on Medium, Twitter or LinkedIn.

--

--

AlainChabrier

Former Decision Optimization Senior Technical Staff Member at IBM Opinions are my own and I do not work for any company anymore.