Public Cloud Global

  • 1.  Billing and usage for multitenant account

    Posted Fri October 22, 2021 12:40 PM
    Hello,

    We are thinking about deploying OpenShift locally using IBM Cloud Satellite and offer hosting platform for Docker Apps for several customers.
    I believe it's called MSP model at IBM.
    Wonder if IBM provides tools to track usage and billing for different user on the account for Cloud Satellite enabled services in particular and for all other services in general.

    Thanks


    ------------------------------
    Inna Murzina
    ------------------------------


  • 2.  RE: Billing and usage for multitenant account

    Posted Mon October 25, 2021 03:14 AM

    Hi Inna,
    That's a great question and one I hear  quite often. it's not possible to show usage of shared services based on a login / user, without introducing some kind of self-coded logic into your application code that tracks and records usage at that level.

    To have IBM Cloud keep track, the solution would be to deploy separate services for each customer - using separate Resource Groups and a strong naming convention and bill your customers based on consumption by taking your bill and using the tools in IBM Cloud to filter usage / spend by Resource Group.


    Another way would be to create an Enterprise - here, you have a top-level master account and attached, self-contained  sub accounts, with billing for all flowing to the top via a subscription. Each customer would use a sub account. The advantage of this over a single account with separation managed through Resource Groups is that Enterprises make it simple to see the spend in each sub account by presenting a broken down bill for each account, whereas the single account method means more work going through and sub dividing costs via the billing report. 


    I hope that helps!

    Regards

    james



    ------------------------------
    James Belton
    ------------------------------



  • 3.  RE: Billing and usage for multitenant account

    Posted Mon October 25, 2021 04:16 AM
    Hi James,
    Thank you for detailed answer. I looked at the Enterprise documentation. It looks quite useful. Just two concerns from my side, please tell me if I am wrong. 1) Enterprise account restricted for usage inside one corporation and you can't attach sub-accounts from different customers (that's what we actually need for MSP model). 2) You can't give permission for several sub-accounts to use same resource, need to create separate resource for each sub-account.
    And about creating separate resource for each user - OpenShift requires master node for every deployment and the whole idea is to avoide this and have single OpenShift installation sharing worker nodes among different users.

    Thanks
    Inna

    ------------------------------
    Inna Murzina
    ------------------------------



  • 4.  RE: Billing and usage for multitenant account

    Posted Mon October 25, 2021 04:51 AM
    Hi Inna!

    Thanks for the follow-up...

    Reading my original reply, I've realised that I didn't directly respond to the Satellite part of the question! So, it's easy enough to see how much a Satellite instance is costing through a standard account, as each Satellite instance would show as a separate item on your billing, along with the services deployed to it. Use a strong naming convention though, so that you can easily pair an instance with a customer at a glance. This of course assumes a Satellite instance would be dedicated to one customer. 

    To answer your follow-up questions:

    1) Enterprise account restricted for usage inside one corporation and you can't attach sub-accounts from different customers (that's what we actually need for MSP model).

    Yes, the master and sub accounts all belong to the same "corporation"/owner BUT all the sub accounts behave as though they are separate. So in theory, you could have one "master" account (this is the top level "enterprise" account that is responsible for the billing and creating sub-accounts) and then x number of sub accounts. Users are invited to those sub accounts and access controlled in the same way as standard accounts, using IAM - so you could have an account for each customer and only provide access to that customer's account - similarly, you could have users that can access more than one or all of the accounts, you just have to set up a user for them in each of the accounts. 
    You can't attach an existing account to your enterprise, though.

    2) You can't give permission for several sub-accounts to use same resource, need to create separate resource for each sub-account.

    No, the resource (say an instance of OpenShift) is "owned" and managed in one account. You could share the resource by granting 'external' access to it but then the usage of the OpenShift instance is billed against to the account that owns it, rather than the account(s) that used it so you're kind of back to square one.

    3) And about creating separate resource for each user - OpenShift requires master node for every deployment and the whole idea is to avoide this and have single OpenShift installation sharing worker nodes among different users.

    Yes, the downside to this approach is that you are deploying and managing duplicate resources for each account, if you are going for true separation. 

    In terms of economies of scale, the most cost effective way to deploy would be to use as few resources as possible - this also helps with the maintenance burden as well as there are fewer resources for your team to manage. Again, IBM itself doesn't track consumption of resources by user, so I think that if you wanted to bill your customers by their actual consumption,  then you would have to build something into your application to track usage / data stored / etc which you can then query and report on to calculate their bills from. 

    Again, I hope that helps

    ------------------------------
    James Belton
    ------------------------------



  • 5.  RE: Billing and usage for multitenant account

    Posted Mon October 25, 2021 05:17 AM

    Thank you!