Skip to content

Commit

Permalink
Merge pull request #115 from nerc-project/adding_pricing_model_page
Browse files Browse the repository at this point in the history
added menu and new pricing model page
  • Loading branch information
Milstein authored Aug 7, 2023
2 parents 46a0715 + dbaaf54 commit 74b95d6
Show file tree
Hide file tree
Showing 10 changed files with 368 additions and 5 deletions.
104 changes: 104 additions & 0 deletions docs/get-started/cost-billing/billing-faqs.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
# Billing Frequently Asked Questions (FAQs)

Our primary focus is to deliver outstanding on-prem cloud services, prioritizing
reliability, security, and cutting-edge solutions to meet your research and teaching
requirements. To achieve this, we have implemented a cost-effective pricing model
that enables us to maintain, enhance, and sustain the quality of our services. By
adopting consistent cost structures across all institutions, we can make strategic
investments in infrastructure, expand our service portfolio, and enhance our
support capabilities for a seamless user experience.

Most of the institutions using our services have an **MOU (Memorandum Of Understanding)**
with us to be better aligned to a number of research regulations, policies and
requirements but if your institution does not have an MOU with us, please have
someone from your faculty or administration contact us to discuss it soon by emailing
us at [[email protected]](mailto:[email protected]?subject=NERC%20MOU%20Question)
or, by submitting a new ticket at [the NERC's Support Ticketing System (osTicket)](https://mghpcc.supportsystem.com/open.php).

## Questions & Answers

???+ question "1. How often will I be billed?"

You or your institution will be billed monthly within the first week of each
month.

??? question "2. If I have an issue with my bill, who do I contact?"

Please send your requests by emailing us at
[[email protected]](mailto:[email protected]?subject=NERC%20MOU%20Question)
or, by submitting a new ticket at [the NERC's Support Ticketing System (osTicket)](https://mghpcc.supportsystem.com/open.php).

??? question "3. How do I control costs?"

Upon creating a project, you will set these resource limits (quotas) for
OpenStack (VMs), OpenShift (containers), and storage through [ColdFront](../get-an-allocation.md).
This is the maximum amount of resources you can consume at one time.

??? question "4. Are we invoicing for CPUs/GPUs only when the VM or Pod is active?"

Yes. You will only be billed based on your utilization (cores, memory, GPU)
while your VM or Pod is on. Utilization will be translated into billable
[Service Units (SUs)](how-pricing-works.md#service-units-sus). Persistent
storage related to an OpenStack VM or OpenShift Pod will continue to be
billed even when the VM or Pod is off.

??? question "5. Will OpenStack & OpenShift show on a single invoice?"

Yes. In the near future customers of NERC will be able to view per project service
utilization via the XDMoD tool.

??? question "6. What happens when a Flavor is expanded during the month?"

a. Flavors cannot be expanded.

b. You can create a snapshot of an existing VM/Instance and, with that snapshot,
deploy a new flavor of VM/Instance.

??? question "7. Is storage charged separately?"

Yes, but on the same invoice. To learn more, see [our page on Storage](how-pricing-works.md#storage).

??? question "8. Will I be charged for storage attached to shut-off instances?"

Yes.

??? question "9. Are we Invoicing Storage using ColdFront Requests or resource usage?"

a. Storage is invoiced based on [Coldfront Requests](../get-an-allocation.md#how-to-request-a-new-resource-allocation).

b. When you request additional storage through Coldfront, invoicing on that
additional storage will occur when your request is fulfilled. When you request
a decrease in storage through [Request change using ColdFront](../get-an-allocation.md#request-change-to-resource-allocation-to-an-existing-project),
your invoicing will adjust accordingly when your request is made. In both cases
'invoicing' means 'accumulate hours for whatever storage quantity was added
or removed'.

For example:

1. I request an increase in storage, the request is approved and processed.
- At this point we start Invoicing.

2. I request a decrease in storage.
- The invoicing for that storage stops immediately.

??? question "10. For OpenShift, what values are we using to track CPU & Memory?"

a. For invoicing we utilize `requests.cpu` for tracking CPU utilization &
`requests.memory` for tracking memory utilization.

b. Utilization will be capped based on the limits you set in ColdFront for
your resource allocations.

??? question "11. If a single Pod exceeds the resources for a GPU SU, how is it invoiced?"

It will be invoiced as 2 or more GPU SU's depending on how many multiples of
the resources it exceeds.

??? question "12. How often will we change the pricing?"

a. Our current plan is no more than once a year for existing offerings.

b. Additional offerings may be added throughout the year (i.e. new types of
hardware or storage).

---
22 changes: 22 additions & 0 deletions docs/get-started/cost-billing/billing-process-for-bu.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Billing Process for Boston University

Boston University has elected to receive a centralized invoice for its university
investigators and their designated user’s use of NERC services. IS&T will then
internally recover the cost from investigators. The process for cost recovery is
currently being implemented, and we will reach out to investigators once the process
is complete to obtain internal funding information to process your monthly bill.

## Subsidization of Boston University’s Use of NERC

Boston University will subsidize a portion of NERC usage by its investigators.
The University will subsidize $100 per month of an investigator’s total usage on
NERC, regardless of the number of NERC projects an investigator has established.
Monthly subsidies cannot be carried over to subsequent months. The subsidized
amount and method are subject to change, and any adjustments will be conveyed
directly to investigators and updated on this page.

Please direct any questions about BU’s billing process by emailing us at
[[email protected]](mailto:[email protected]?subject=NERC%20Boston%20University%20Billing%20Question)
or submitting a new ticket to the [the NERC's Support Ticketing System (osTicket)](https://mghpcc.supportsystem.com/open.php).

---
58 changes: 58 additions & 0 deletions docs/get-started/cost-billing/billing-process-for-harvard.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# Billing Process for Harvard University

NERC billing at Harvard will be similar to how AWS accounts are billed and leverage
the HUIT Central Billing [Portal](https://billing.huit.harvard.edu/). Your HUIT
Customer Code will be matched to your NERC Project Allocation Name as a Billing
Asset. In this process you will be asked for your GL billing code, which you can
change as needed per project. Please be cognizant that only a single billing code
is allowed per billing asset. Therefore, if you have multiple projects with different
funds, if you are able, please create a separate project for each fund. Otherwise,
you will need to take care of this with internal journals inside of your department
or lab. Each monthly billing cycle, the HUIT billing team will review and update
the cost per asset. Subsequently, they will email billing cost information for
each asset to the corresponding billing email addresses of all customers.

Please follow these two steps to ensure proper billing setup:

1. Each Harvard PI must have a HUIT billing account linked to their NetID (abc123).
NERC must have HUIT “Customer Code” for billing purposes. To create a HUIT billing
account, sign up [here](https://billing.huit.harvard.edu/portal/allusers/newcustomer)
with your HarvardKey.

!!! abstract "What if you already have an existing Customer Code?"
*Please note that if you already have an existing active NERC account, you
need to provide your HUIT Customer Code to NERC. If you think your department
may already have a HUIT account but you don’t know the corresponding Customer
Code then you can [contact HUIT Billing](https://billing.huit.harvard.edu/portal/allusers/contactus)
to get the required Customer Code.*

2. Provide NERC your six-digit HUIT “Customer Code” via
[[email protected]](mailto:[email protected]?subject=NERC%20HUIT%20Customer%20Code%Details)
and specify which OpenShift or OpenStack project this is for.

!!! info "How to get the Allocated Project Name and Allocated Project ID?"
By clicking on the Allocation detail page through ColdFront, you can access
information about the allocation of each resource, including OpenStack and
OpenShift as described [here](../get-an-allocation.md#general-user-view).
You will need to provide us **Allocated Project Name** and **Allocated Project
ID** attributes, which are located under the “Allocation Attributes”
section on the detail page.

Once NERC has receive the six-digit HUIT Customer Code for the PI, the NERC
admin team will create a new ServiceNow ticket by contacting
[HUIT Billing](https://billing.huit.harvard.edu/portal/allusers/contactus)
or by emailing HUIT Billing directly at
[[email protected]](mailto:[email protected]?subject=HUIT%20Customer%20Code%For%20NERC)
for all approved and active allocation requests. In this email, NERC admin
needs to specify the Customer Code and Unique Project Allocation Name. This
will be mapped to a unique Asset ID in the HUIT billing portal.

!!! danger "Harvard University Security Policy Information"
*Please note that all assets deployed to your NERC project must be compliant
with University Security policies. Please familiarize yourself with the
Harvard University Information Security Policy and your role in securing
data: [https://policy.security.harvard.edu/](https://policy.security.harvard.edu/).
If you have any questions about how Security should be implemented in the
Cloud, please contact your school security officer: [https://security.harvard.edu/](https://security.harvard.edu/).*

---
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# Billing Process for My Institution

## Memorandum of Understanding (MOU)

The New England Research Cloud (NERC) is a shared service offered through the
Massachusetts Green High Performance Computing Center (MGHPCC). The MGHPCC will
enter into a lightweight Memorandum of Understanding (MOU) with each institutional
customer that consumes NERC services. The MOU is intended to ensure the institution
maintains access to valuable and relevant cloud services provided by the MGHPCC
via the NERC to be better aligned to a number of research regulations, policies,
and requirements and also ensure NERC remains sustainable over time.

## Institutions with established MOUs and Billing Processes

For cost recovery purposes, institutional customers may elect to receive one invoice
for the usage of NERC services by its PIs and cost recovery internally. Every month,
the NERC team will export, back up, and securely store the billing data for all
PIs in the form of comma-separated values (CSV) files and provide it to the MGHPCC
for billing purposes.

The following institutions using our services have established MOU as well as
billing processes with us:

1. [Harvard University](billing-process-for-harvard.md)

2. [Boston University](billing-process-for-bu.md)

!!! info "Upcoming MOU with other institutions"
We are in the process of establishing MOUs for institutions not listed above.

PIs from other institutions not listed above can still utilize NERC services with
the understanding that they are directly accountable for managing their usage and
ensuring all service charges are paid promptly. If you have any some common
questions or need further information, see our [Billing FAQs](billing-faqs.md)
for comprehensive answers.

If your institution does not have an MOU with us, please have someone from your
faculty or administration contact us to discuss it soon by emailing us at
[[email protected]](mailto:[email protected]?subject=NERC%20MOU%20Question)
or, by submitting a new ticket at [the NERC's Support Ticketing System (osTicket)](https://mghpcc.supportsystem.com/open.php).

---
127 changes: 127 additions & 0 deletions docs/get-started/cost-billing/how-pricing-works.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
# How does NERC pricing work?

NERC offers you a **pay-as-you-go** approach for pricing for our cloud infrastructure
offerings (Tiers of Service), including Infrastructure-as-a-Service (IaaS) – Red
Hat OpenStack, Platform-as-a-Service (PaaS) – Red Hat OpenShift and NERC Storage
Tiers. NERC offers a flexible cost model where an institution (with a per-project
breakdown) is billed solely for the duration of the specific services required.
Access is based on project-approved resource quotas, eliminating runaway usage and
charges. There are no obligations of long-term contracts or complicated licensing
agreements. Each institution will enter a lightweight MOU with MGHPCC that defines
the services and billing model.

## Calculations

### Service Units (SUs)

![Service Units (SUs)](images/su.png)

## Breakdown

### CPU/GPU SUs

Service Units (SUs) can only be purchased as a whole unit. We will charge for Pods
and VMs on a per-hour basis for any portion of an hour they are used, and any VM
"flavor"/Pod reservation is charged as a multiplier of the base SU for the maximum
resource they reserve.

**GPU SU Example:**

- A Pod or VM with:

`1 A100 GPU, 24 vCPUs, 95MB RAM, 199.2hrs`

- Will be charged:

`1 A100 GPU SUs x 200hrs (199.2 rounded up) x $1.803`

`$360.60`

**CPU Example:**

- A Pod or VM with:

`3 vCPU, 20 GB RAM, 720hrs (24hr x 30days)`

- Will be charged:

`5 CPU SUs due to the extra RAM (20GB vs. 12GB(3 x 4GB)) x 720hrs x $0.013`

`$46.80`

OpenShift Pods are summed up to the project level so that fractions of CPU/RAM
that some pods use will not get overcharged. There will be a split between CPU and
GPU pods, as GPU pods cannot currently share resources with CPU pods.

### Storage

Storage is charged separately at a rate of $0.009 TB/hr or $9.00E-12 KB/hr at a
granularity of KB/hr. For ease of reporting, storage SUs are shown in GB but calculated
in KB. OpenStack volumes remain provisioned until they are deleted. VM’s reserve
volumes, and you can also create extra volumes yourself. In OpenShift pods, storage
is only provisioned while it is active, and in persistent volumes, storage remains
provisioned until it is deleted.

**Storage Example 1:**

- Volume or VM with:

`500GB for 699.2hrs`

- Will be charged:

`.5 Storage TB SU (.5 TB x 700hrs) x $0.009 TB/hr`

`$3.15`

**Storage Example 2:**

- Volume or VM with:

`10TB for 720hrs (24hr x 30days)`

- Will be charged:

`7,200 Storage TB SU (10TB x 720 hrs) x $0.009 TB/hr`

`$648`

Storage includes all types of storage Object, Block, Ephemeral & Image.

!!! note "Please note"
After issuing the *shutoff* command to an OpenStack VM, it will not use CPU
or GPU but will continue to use storage. Any extra *Images* you create will
also use storage.

### High Level Function

To provide a more practical way to calculate your usage, here is a function of
how the calculation works for OpenShift and OpenStack.

1. **OpenStack** = (Resource (vCPU/RAM/vGPU) assigned to VM flavor converted to
number of equivalent SUs) * (time VM has been running), rounded up to a whole
hour + Extra storage.

!!! info "NERC's OpenStack Flavor List"
You can find the most up-to-date information on the current NERC's OpenStack
flavors with corresponding SUs by referring to [this page](../../openstack/create-and-connect-to-the-VM/flavors.md).

2. **OpenShift** = (Resource (vCPU/RAM/vGPU) requested by Pod converted to number
of equivalent SUs) * (time Pod was running), rounded up to a whole hour.

## How to Pay?

To ensure a comprehensive understanding of the billing process and payment options
for NERC offerings, we advise PIs/Managers to [visit individual pages designated
for each institution](billing-process-for-my-institution.md). These pages provide
detailed information specific to each organization's policies and procedures
regarding their billing. By exploring these dedicated pages, you can gain insights
into the preferred payment methods, invoicing cycles, breakdowns of cost components,
and any available discounts or offers. Understanding the institution's unique
approach to billing ensures accurate planning, effective financial management,
and a transparent relationship with us.

If you have any some common questions or need further information, see our
[Billing FAQs](billing-faqs.md) for comprehensive answers.

---
Binary file added docs/get-started/cost-billing/images/su.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
9 changes: 9 additions & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,13 @@ nav:
- Home: index.md
- About: about.md
- Getting Started:
- Cost & Billing:
- How does NERC pricing work?: get-started/cost-billing/how-pricing-works.md
- Billing Process:
- Billing Process for My Institution: get-started/cost-billing/billing-process-for-my-institution.md
- Billing Process for Harvard University: get-started/cost-billing/billing-process-for-harvard.md
- Billing Process for Boston University: get-started/cost-billing/billing-process-for-bu.md
- Billing FAQs: get-started/cost-billing/billing-faqs.md
- User Onboarding Process: get-started/user-onboarding-on-NERC.md
- How to Create a User Account: get-started/create-a-user-portal-account.md
- How to Get An Allocation: get-started/get-an-allocation.md
Expand Down Expand Up @@ -126,4 +133,6 @@ extra:
# Extensions
markdown_extensions:
- admonition
- pymdownx.details
- pymdownx.superfences
- tables
Loading

0 comments on commit 74b95d6

Please sign in to comment.