-
Notifications
You must be signed in to change notification settings - Fork 102
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add SLA (Experts) support #3162
Changes from 7 commits
f6df9bd
5463d2c
2f15244
3393058
a3e29f4
3938420
e40697c
62a0a73
8237302
5d8f8cb
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,149 +1,257 @@ | ||
Title: Managed solutions under SLA | ||
Title: Managed solutions | ||
|
||
# Managed solutions under SLA | ||
# Managed solutions | ||
|
||
[Juju experts](https://jujucharms.com/experts) may designate a Juju | ||
model as a managed, supported solution by setting an SLA. | ||
A Juju Expert is a partner backed by professional support at Canonical Ltd. | ||
Such a partner deploys and supports an infrastructure based on Juju. We call | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. (remove an) There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Hmm. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Hmm? You support infrastructure, deploy infrastructure, manage infrastructure. I don't really think there's a case where you prefix it with an. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🆗 |
||
this a *managed solution*. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. ok, I see the managed solution bit. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. ✅ |
||
|
||
There are three support levels that may be set on a model: | ||
Any support requests beyond the build, workload, and operation of a particular | ||
solution can be escalated to Canonical by means of their Ubuntu Advantage | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. so this is written to the end user who might work with an expert. Does the expert do the escalation or the end user? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The Expert. I will specify. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. So if this is the expert why put it here in end user documentation? They're not going to do the escalating and it's in the Experts area of wrapping things for the end user. This seems like sharing implementation details. We can just say we support the experts and you can trust them. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Knowing that the Expert can escalate to Canonical, but only for certain things, is a huge part of the deal. More transparency. |
||
support framework. Prime examples of such requests are for issues relating to | ||
Juju itself, Ubuntu-specific software, or the operating system kernel. The | ||
escalated support case will be treated by Canonical at the same support level | ||
currently ascribed to the partner. Hence, support level names used by both a | ||
Juju Expert and by Canonical are the same: | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'd just state that there's a common set of support levels and not get into the customer vs the canonical one. Especially since they're common as part of the expert program it's like telling the user "they could be different words for this, but we've made sure both parties use the same words" There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This is fairly innovative and non-intuitive and I wanted to dispel any confusion by making it transparent. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. but the end user isn't going to the ubuntu UA page and buying a product. They're going through their experts right? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We don't know. They can very well be looking for a solution in both camps. It's better to be transparent so the customer will be in a better position to take a decision. |
||
|
||
- Essential | ||
- Standard | ||
- Advanced | ||
- Essential | ||
- Standard | ||
- Advanced | ||
|
||
Our Juju expert partners support the managed solution itself, including its | ||
workloads and operation. Support for Juju and Ubuntu is provided by | ||
Canonical. See [Ubuntu Advantage for Servers](https://www.ubuntu.com/support/plans-and-pricing#server) | ||
for more information on Canonical support levels. | ||
See [Ubuntu Advantage for Servers][ubuntu-advantage-servers] for more | ||
information on Canonical support levels. | ||
|
||
Juju experts will provide details on the solution-specific support provided | ||
under each SLA, with budget estimates. | ||
The Juju Expert will provide details such as support levels and costs on a | ||
per-solution basis but ultimately an SLA will be conferred upon a specific Juju | ||
model (see [Models][models]). | ||
|
||
## Setting an SLA on a model | ||
Consult the external [Juju Experts][juju-experts] page to find a managed | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'd remove "external" here. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🆗 |
||
solution partner for your project. | ||
|
||
An SLA is set on a model with a monthly budget limit. Support costs will not be | ||
billed for more than this amount. If metered costs exceed this amount, the | ||
budget limit will need to be increased in order to continue to access support. | ||
## Requirements | ||
|
||
Set an Essential SLA on the current model _marketdata_, with a monthly budget | ||
limit of $100 USD: | ||
The following requirements need to be met before setting an SLA for the first | ||
time: | ||
|
||
1. The Juju operator will need an [Ubuntu SSO][ubuntu-sso] account. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. but is the operator the expert or the end user? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The term "Juju operator" is what the documentation uses to refer to the person who operates Juju. It is distinguished from a "Juju user" ( There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Sorry, maybe my question is more is that if the Expert is the Juju operator I'd not put it here. Again, it's more details for end users they don't need to know or worry about. Just that they have a way to get expertise and Canonical has their back. They're trustworthy and we're attaching our name/trust to them. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The Juju operator is the customer. Everything in this document is for the customer, except the bit about escalation being done by the Expert. |
||
1. The Juju operator will need to have logged in to [Launchpad][launchpad] | ||
(via Ubuntu SSO) at least once. | ||
|
||
## Setting an SLA | ||
|
||
Once you have contracted out a Juju Expert you are ready to set an SLA. This is | ||
done within Juju itself via the `sla` command, which will trigger a dialog to | ||
authenticate to your Ubuntu SSO account. | ||
|
||
An SLA is set on a per-model basis, and includes two key parameters in order | ||
for support to become active: | ||
|
||
1. Support level | ||
1. Budget limit | ||
|
||
Support costs will not be billed for more than the budget limit. If metered | ||
costs exceed this amount, the limit will need to be increased in order for | ||
support to remain active. | ||
|
||
For example, to set an Essential SLA on model 'default', with a monthly budget | ||
limit of USD 100: | ||
|
||
```bash | ||
juju sla essential --budget 100 | ||
juju sla -m default essential --budget 100 | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. can we use a different model name vs default for the example. It's almost certainly not "default" in any real case and might confuse folks. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This was deliberate and is often used throughout the documentation. The base documentation should not be using exotic names when introducing new topics. Tutorials and blogs and documented use cases are better for that. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. k |
||
``` | ||
|
||
```no-highlight | ||
Model SLA Message | ||
lxd:admin/default essential the new sla will become effective on 2018-11-05 | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Same here, I'd change lxd to something more intersting. Maybe use an expert company name or something. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. See above. |
||
19:22:31.433640933 +0000 UTC | ||
``` | ||
Model SLA Message | ||
jaas:bob/marketdata essential the new sla will become effective on 2018-10-31 | ||
16:24:53.80664498 +0000 UTC | ||
``` | ||
|
||
An SLA may be increased (from _essential_ to _standard_, or _standard_ to | ||
_advanced_) effective immediately. Lowering the SLA becomes effective in the | ||
next monthly billing cycle. | ||
The SLA for a model is shown at the top of the output to the `status` command: | ||
|
||
``` | ||
Model Controller Cloud/Region Version SLA Timestamp | ||
default lxd localhost/localhost 2.5-beta1 essential 19:42:28Z | ||
. | ||
. | ||
``` | ||
|
||
The SLA for a model is shown at the top of Juju status. | ||
It is possible to simply set a support level with the `sla` command: | ||
|
||
```bash | ||
juju status | ||
juju sla -m default essential | ||
``` | ||
|
||
``` | ||
Model Controller Cloud/Region Version SLA Timestamp | ||
marketdata jaas azure/westeurope 2.4.3 essential 11:21:41-05:00 | ||
... | ||
``` | ||
The model's budget will then need to be set separately. We'll show how this is | ||
done later on. | ||
|
||
## Changing an SLA | ||
|
||
An SLA is increased when it moves "up" levels: 'essential' to 'standard' to | ||
'advanced'. An SLA is decreased when it moves "down" levels: 'advanced' to | ||
'standard' to 'essential'. | ||
|
||
When an SLA is **increased** the resulting support level becomes effective | ||
immediately. When an SLA is **decreased** the resulting support level becomes | ||
effective in the next monthly billing cycle. | ||
|
||
# Budgeting managed models | ||
## Budgeting managed models | ||
|
||
SLA budgets are organized into wallets. The sum of all budgets in a wallet | ||
cannot exceed the wallet limit. | ||
SLA budgets are organized into *wallets*. A wallet called 'primary' is created | ||
when the `sla` command is run for the first time. It gets hardcoded as the | ||
default wallet. The sum of all budgets in a wallet cannot exceed the wallet | ||
limit. | ||
|
||
## Managing wallets | ||
### Managing wallets | ||
|
||
List your wallets with: | ||
List your wallets with the `wallets` command: | ||
|
||
```bash | ||
juju wallets | ||
``` | ||
|
||
``` | ||
Sample output: | ||
|
||
```no-highlight | ||
Wallet Monthly Budgeted Available Spent | ||
primary* 1000 100 1000.00 0.00 | ||
Total 1000 100 1000.00 0.00 | ||
primary* 1000 100 999.89 0.11 | ||
Total 1000 100 999.89 0.11 | ||
|
||
Credit limit: 10000 | ||
Credit limit: 10000 | ||
``` | ||
|
||
The default wallet is shown with an asterisk "\*". SLA budgets are allocated | ||
from this wallet if the wallet name is not specified. | ||
|
||
The credit limit is the maximum monthly limit approved to spend on SLAs. If you | ||
need to increase this limit, you may [contact JAAS support](https://jujucharms.com/support/create) | ||
to raise it. | ||
The credit limit is the maximum monthly limit approved to spend on SLAs and is | ||
determined between you and the Expert. You can submit a request to have this | ||
limit increased using this link: | ||
|
||
[https://jujucharms.com/support/create][jaas-support] | ||
|
||
View the budgets allocated from a wallet: | ||
View the budgets allocated from a wallet with the `show-wallet` command: | ||
|
||
```bash | ||
juju show-wallet primary | ||
``` | ||
|
||
``` | ||
Model Spent Budgeted By Usage | ||
jaas:bob/marketing-campaign 0.00 100 bob 0% | ||
|
||
Total 0.00 100 0% | ||
Wallet 1000 | ||
Unallocated 900 | ||
Sample output: | ||
|
||
```no-highlight | ||
Model Spent Budgeted By Usage | ||
lxd:admin/default 0.22 100 bob 0% | ||
|
||
Total 0.22 100 0% | ||
Wallet 1000 | ||
Unallocated 900 | ||
``` | ||
|
||
You may increase the budget limit for a model: | ||
You may update the budget limit for a model with the `budget` command: | ||
|
||
```bash | ||
juju budget -m demo-izae7oj5:admin/doctest-03 250 | ||
juju budget -m lxd:admin/default 200 | ||
``` | ||
|
||
``` | ||
budget limit updated to 250 | ||
``` | ||
Finally, to view all the budgets associated with a wallet the `show-wallet` | ||
command is used: | ||
|
||
```bash | ||
juju show-wallet personal | ||
juju show-wallet primary | ||
``` | ||
|
||
Sample output: | ||
|
||
``` | ||
Model Spent Budgeted By Usage | ||
jaas:bob/marketing-campaign 0.00 250 bob 0% | ||
|
||
Total 0.00 250 0% | ||
Wallet 1000 | ||
Unallocated 750 | ||
Model Spent Budgeted By Usage | ||
lxd:admin/default 2.42 200 bob 1% | ||
lxd:admin/alpha 0.00 150 bob 0% | ||
|
||
Total 2.42 350 1% | ||
Wallet 1000 | ||
Unallocated 650 | ||
``` | ||
|
||
The budget limit may be lowered, but not below the current spend. | ||
The budget limit may be lowered for a model, but not below its current spent | ||
value. | ||
|
||
## Advanced budgeting | ||
### Advanced budgeting | ||
|
||
You may create additional wallets for accounting or organizational purposes. | ||
Additional wallets may be created for accounting or organizational purposes | ||
with the `create-wallet` command: | ||
|
||
```bash | ||
juju create-wallet demo-poc 200 | ||
wallet created | ||
juju create-wallet demo 50 | ||
``` | ||
|
||
Verify the creation of the new wallet by listing the wallets again: | ||
|
||
```bash | ||
juju wallets | ||
``` | ||
|
||
Sample output: | ||
|
||
```no-highlight | ||
Wallet Monthly Budgeted Available Spent | ||
demo-poc 200 0 200.00 0.00 | ||
personal* 1000 100 1000.00 0.00 | ||
Total 1200 100 1200.00 0.00 | ||
demo 50 0 50.00 0.00 | ||
primary* 1000 350 997.58 2.42 | ||
Total 1050 350 1047.58 2.42 | ||
|
||
Credit limit: 10000 | ||
Credit limit: 10000 | ||
``` | ||
|
||
To allocate a budget from a specific wallet, use _wallet_:_limit_ when setting | ||
the budget on an SLA. | ||
To allocate a budget (using either the `sla` command or the `budget` command) | ||
from a specific wallet use the form: `<wallet>:<limit>`. Here are two | ||
examples: | ||
|
||
```bash | ||
juju sla essential demo-poc:50 | ||
juju sla essential demo:40 | ||
juju budget primary:25 | ||
``` | ||
|
||
## Metering | ||
|
||
Metering begins once the following have occurred: | ||
|
||
- an SLA has been assigned to a model | ||
- a budget has been allocated to a model | ||
- the model takes on a workload | ||
|
||
When metering is underway the output to the `status` command will include an | ||
extra section: | ||
|
||
```no-highlight | ||
. | ||
. | ||
Entity Meter status Message | ||
model green | ||
. | ||
. | ||
``` | ||
|
||
A 'Meter' value of **green** (displayed with a green colour in the terminal) | ||
indicates that the customer’s payment method is in good standing. A value of | ||
**amber** indicates a condition puts future payment for continued use at risk | ||
(e.g. spending is occurring at a rate likely to exceed the monthly limit). A | ||
value of **red** indicates that continued use of the workload will not be paid | ||
for (e.g. budget limit exceeded, problem with payment method). The 'Message' | ||
column will be updated with appropriate details. | ||
|
||
Determining factors for actual metering costs (e.g. fixed per-hour rate, | ||
per-unit hour, etc.) are negotiated between you and your Expert. | ||
|
||
## Creating a support case | ||
|
||
When it comes time to request help from your Expert you can file a support case | ||
using the same URL for requesting a credit limit increase: | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'd not tie the url to the credit limit. Just show it as the correct url for someone looking to file an issue. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. OK, but I thought it would be simpler on the user to know that there is just one URL and not a bunch to keep track of. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Right, but if they come looking for a URL for X they're looking for X and anything not X is just noise to have to filter through. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It's not a big issue for me. I'll remove the extra words. |
||
|
||
[https://jujucharms.com/support/create][jaas-support] | ||
|
||
|
||
<!-- LINKS --> | ||
|
||
[juju-experts]: https://jujucharms.com/experts | ||
[ubuntu-advantage-servers]: https://www.ubuntu.com/support/plans-and-pricing#server | ||
[models]: ./models.md | ||
[ubuntu-sso]: https://login.ubuntu.com/+login | ||
[launchpad]: https://launchpad.net/+login | ||
[jaas-support]: https://jujucharms.com/support/create |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should this be Juju Experts as that's the branding of the offering?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think so. The software allows for "managed solutions". It does not manage the Juju Experts program.