-
Notifications
You must be signed in to change notification settings - Fork 24
ec2 4.1 Resource Quotas Architectural Analysis
- Description
- Tracking
- Use Cases
- Elements
- Interactions
-
Abstractions
- Node: Instance
- Resource State Manager: Resource Token
- Instance Resource Tracker: Resource
- Instance Resource Quota Evaluator: Instance Resource Quota
-
Behaviours
- Policy Manager: Policy: Create
- Policy Manager: Policy: Delete
- Instance Resource Tracker: Resource: Refresh
- Instance Resource Tracker: Resource: Query
- Instance Resource Quota Evaluator: Instance Resource Quota: Evaluate Usage
- Instance Resource Quota Evaluator
As a cloud resource administrator, I should be able to specify quotas and policies on the number of CPUs, RAM and disk space, so that my users have more flexibility in how they will utilize their quota across the different instance types.
- PRD-215
- ARCH-61
- Status: Step #1, initial draft
A cloud account administrator restricts the resources available to an account in terms of CPU, RAM and disk. The restricting quota statement is contained in a policy attached to the restricted account. The quota statement can be seen when describing the containing policy.
An accounts admin user restricts the resources available to a user in terms of CPU, RAM and disk. The restricting quota statement is contained in a policy attached to the restricted user. The quota statement can be seen when describing the containing policy.
A cloud user requests start / runs of X instances. Quotas are evaluated to determine resource availability for the instances, account and user quotas are evaluated. Policy evaluation checks the resources currently in use plus the resources requested against any limits and fails the request if sufficient resources are not available in the region.
The instance resource tracker tracks resources usage for instances. Instances reference their instance type but this may no longer relate to the resources in use by an instance.
Evaluates instance resource quotas, determining the requested resources using current instance type information and existing resource usage via the instance resource tracker.
Creates IAM policies and attaches to an account or user. Policies are broken down into Authorizations for later use in policy evaluation.
For each requested resource type (CPU, disk, RAM) resource quotas are evaluated, the resource quantity is determined by the instance type and count.
When the policy engine evaluates a resource quota, the instance resource quota evaluator is used to obtain the current resource usage which is then compared against the quota.
Queries in-flight resource usage for CPU, disk or RAM resources for the relevant scope (user or account)
Resource usage for CPU, disk or RAM resources is obtained from the Instance Resource Tracker for the relevant scope (user or account)
Describes instances to determine resources used. Records usage by user/account for use during quota evaluation.
Node controller representation of an instance, including that instances resource usage in terms of CPU, RAM and disk via the (historical) instance type definition.
Record of resources that have been allocated but may not yet be known outside of the EC2 service.
Instance resource trackers record of resources used by instance obtained from the owning node.
A quota for an instance resource.
Create a policy containing a quota.
Delete a policy containing a quota.
Refresh resources used for a cluster
Query the resources in use by a user or account
Evaluate the current usage for a resource.