SurfZone
SurfZone is a cost management feature that helps limit the amount spent on cloud computing each month.
Feature Description
Cloud Service (CSPs) charge users for all the services they use. Unexpected costs and cost overruns are often reported by users. SurfZone is a feature that helps users control the cloud costs, including compute and storage volumes, that are generated by running jobs using MMCloud. SurfZone allows an administrator to set a monthly limit (or quota) on the MMCloud-related cloud costs incurred by a group of users. When the limit is exceeded, running jobs are automatically canceled or suspended (the choice is configurable). Jobs stay in that state until the quota is replenished at the start of the next month or the limit is increased. At that time, suspended jobs can resume automatically or wait for user input.
Operation
To enable SurfZone, a user with administrative privileges must first configure a SurfZone (or quota) policy and then assign users to that policy. The quota policy defines the monthly spending limit, the action taken when the limit is exceeded, the action taken when the limit is increased or the quota replenished, and the threshold for alerting users that the limit is approaching.
MMCloud-related costs are aggregated across users assigned to the same policy. Periodically, the aggregate cost is compared to the monthly limit. The interval is configurable, although the minimum interval is one hour.
When the aggregate cost across the group of users meets or exceeds the monthly limit, the quota policy is consulted to determine what action to take (cancel or suspend). You can cancel a suspended job at any time.
If jobs are suspended, they remain suspended until the quota is renewed at the start of the following month or the monthly limit is increased. At that time, the quota policy is consulted again to determine what action to take — resume automatically, stay suspended, or cancel.
The SurfZone policy can be modified (updated) at any time. You can remove a user from a SurfZone policy or add a user to a SurfZone policy at any time.
Configuration using CLI
You can create and manage SurfZone policies using the CLI or the web interface. Similarly, you can assign users to (or remove from) SurfZone policies using the CLI or the web interface.
To create and manage a quota policy using the CLI, complete the following steps.
- Enter the following float command at the shell prompt.
float quota-policy add NAME --limit LIMIT --action cancel|suspend --auto-resume=true|false --threshold ALERT
Choose between cancel or suspend and between true or false, and replace:- NAME: name to associate with this quota policy
- LIMIT: amount in dollars that is the upper limit for monthly spending
- ALERT: percentage of monthly limit consumed that triggers an alert to users (default is 80)
- Display all quota policies by entering float quota-policy list. Each quota policy is identified by an id.
- Assign a user to a quota policy by entering the following command
float user update UNAME|UID --quota-policy ID
Replace:- UNAME (or UID): username or uid of user to assign to quota policy
- ID: identifier (id) associated with quota policy (for example, 2f4qaesir4wxz71mazstq). Use "0" to remove user from this quota policy.
- (Optional) Change quota policy settings by entering the following command.
float quota-policy update ID --name NAME --limit LIMIT --action cancel|suspend --auto-resume=true|false --threshold ALERT
Choose between cancel or suspend and between true or false, and replace:- ID: quota policy id
- NAME: new name to associate with this quota policy
- LIMIT: amount in dollars that is the updated upper limit for monthly spending
- ALERT: updated percentage of monthly limit consumed that triggers an alert to users
Example
float quota-policy add bioteam --limit 25 --action suspend --auto-resume --threshold 90 id: 1c6zg1agw73x4dtmc7iy4 name: bioteam metric: Cost overageAction: suspend autoResume: true threshold: 90% limit: 25 float user add userone --passwd secret123 <---- Optional step: only if new user required username: userone uid: 5003 gid: 5003 role: normal group: "" email: "" type: builtin enabled: true ownGroup: "" float user update userone --quota-policy 1c6zg1agw73x4dtmc7iy4 username: userone uid: 5003 gid: 5003 role: normal group: "" email: "" type: builtin enabled: true ownGroup: "" quotaUsages: - id: p4lpx08sdevp5qs6eqec6 policyId: 1c6zg1agw73x4dtmc7iy4 policyName: bioteam metric: Cost limit: 25 threshold: 90% usage: 3.8295
Configuration using Web Interface
You can create and manage SurfZone policies using the CLI or the web interface. Similarly, you can assign users to (or remove from) SurfZone policies using the CLI or the web interface.
To create and manage a quota policy using the web interface, complete the following steps.
- From the left-hand panel, select
- On the SurfZone screen, click Create SurfZone on the top, right-hand side.
- Fill in the information in the pop-up window as follows.
- Name: name to associate with this policy
- Quota Amount: monthly spending limit in dollars
- Usage Notification Threshold: percentage of monthly limit consumed that triggers an alert
- Quota Exceeded Action: select Cancel or Suspend
- If Suspend selected, check (or uncheck) box, to select auto-resume (or no auto-resume)
- Click Create in the bottom, right-hand corner.
- From the left-hand panel, select
- On the Users and Groups screen, select the Users tab.
- Locate the user to add to SurfZone policy and then click Assign SurfZone icon under the Actions column.
- In the pop-up window, use the pull-down menu to select a SurfZone policy (choose None to remove user from SurfZone policy).
- Click Assign in the bottom, right-hand corner.
- (Optional) To change SurfZone settings, select
from the left-hand panel.
- Locate the quota policy to change and then click the edit icon under the Actions column.
- In the pop-up window, make changes and then click Edit in the bottom-right-hand corner.