Skip to content
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

Merged
merged 10 commits into from
Nov 8, 2018
266 changes: 187 additions & 79 deletions src/en/experts-sla.md
Original file line number Diff line number Diff line change
@@ -1,149 +1,257 @@
Title: Managed solutions under SLA
Title: Managed solutions
Copy link
Contributor

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?

Copy link
Contributor Author

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.


# 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
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(remove an)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm.

Copy link
Contributor

Choose a reason for hiding this comment

The 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.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🆗

this a *managed solution*.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok, I see the managed solution bit.

Copy link
Contributor Author

Choose a reason for hiding this comment

The 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
Copy link
Contributor

Choose a reason for hiding this comment

The 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?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Expert. I will specify.

Copy link
Contributor

Choose a reason for hiding this comment

The 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.

Copy link
Contributor Author

Choose a reason for hiding this comment

The 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:
Copy link
Contributor

Choose a reason for hiding this comment

The 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"

Copy link
Contributor Author

Choose a reason for hiding this comment

The 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.

Copy link
Contributor

Choose a reason for hiding this comment

The 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?

Copy link
Contributor Author

Choose a reason for hiding this comment

The 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
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd remove "external" here.

Copy link
Contributor Author

Choose a reason for hiding this comment

The 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.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

but is the operator the expert or the end user?

Copy link
Contributor Author

Choose a reason for hiding this comment

The 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" (add-user). I can just say "you" if that is clearer. We do not use the term "end user" in the documentation as it is too vague.

Copy link
Contributor

Choose a reason for hiding this comment

The 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.

Copy link
Contributor Author

Choose a reason for hiding this comment

The 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
Copy link
Contributor

Choose a reason for hiding this comment

The 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.

Copy link
Contributor Author

Choose a reason for hiding this comment

The 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.

Copy link
Contributor

Choose a reason for hiding this comment

The 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
Copy link
Contributor

Choose a reason for hiding this comment

The 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.

Copy link
Contributor Author

Choose a reason for hiding this comment

The 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:
Copy link
Contributor

Choose a reason for hiding this comment

The 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.

Copy link
Contributor Author

Choose a reason for hiding this comment

The 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.

Copy link
Contributor

Choose a reason for hiding this comment

The 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.

Copy link
Contributor Author

Choose a reason for hiding this comment

The 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
6 changes: 4 additions & 2 deletions src/en/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,10 @@ homepage: true
</li>
<li class="p-list__item">
<i class="p-icon" style="background-image:url('https://assets.ubuntu.com/v1/fa38eb81-picto-business-midaubergine.svg');
height:1.5rem;width: 1.5rem;top: 2px;margin-right:.5rem;"></i>
<a class="p-link--external" href="https://jujucharms.com/experts">Professional support</a>
height:1.5rem;width: 1.5rem;top:
2px;margin-right:.5rem;"></i> <a
class="p-link--external"
href="https://docs.jujucharms.com/stable/experts-sla">Managed solutions</a>
</li>
<li class="p-list__item">
<i class="p-icon" style="background-image:url('https://assets.ubuntu.com/v1/4ef84d88-picto-quote-warmgrey.svg');
Expand Down
6 changes: 0 additions & 6 deletions src/en/metadata.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -52,12 +52,6 @@ navigation:
- title: Juju logs
location: troubleshooting-logs.md

- title: Juju Experts

children:
- title: Managed solutions under SLA
location: experts-sla.md

- title: Advanced topics

children:
Expand Down