You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/getting-started/concepts.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -56,7 +56,7 @@ Iter8 provides three inter-related components to support the above use-cases.
56
56
## Advantages
57
57
Iter8 has several advantages compared to other tooling in this space.
58
58
59
-
First, Iter8 has no restrictions on the types of resources that make up a version of an application. The definition of a version is declarative. While there is a default set of resource types that can be referenced, it is easy to [declaratively extend](../user-guide/topics/extensions.md) this set. Furthermore, this same extension mechanism allows Iter8 to be used with any service mesh.
59
+
First, Iter8 has no restrictions on the types of resources that make up a version of an application. This includes custom resources; that is, those defined by a custom resource definition (CRD). Because the set of resources that comprise a version is declarative, it is easy to [extend](../user-guide/topics/extensions.md). Note that this same extension mechanism also allows Iter8 to be used with any service mesh.
60
60
61
61
Second, the Iter8 client SDK addresses a key challenge to [A/B/n testing](../user-guide/topics/ab_testing.md): the decoupling of the front-end release process from that of the back-end. It allows the front-end to reliably associate business metrics with the contributing version of the back-end.
Copy file name to clipboardExpand all lines: docs/getting-started/first-abn.md
+23-34Lines changed: 23 additions & 34 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,7 +20,7 @@ This tutorial describes how to do A/B testing of a backend component using the [
20
20
21
21
## Install the Iter8 controller
22
22
23
-
--8<-- "docs/tutorials/installiter8controller.md"
23
+
--8<-- "docs/getting-started/install.md"
24
24
25
25
## Deploy the sample application
26
26
@@ -55,47 +55,28 @@ A sample application using the Iter8 SDK is provided. Deploy both the frontend a
55
55
56
56
## Describe the application
57
57
58
-
In order to support `Lookup()`, Iter8 needs to know what the application component versions look like. A `ConfigMap` is used to describe the make up of possible versions:
58
+
In order to support `Lookup()`, Iter8 needs to know what the application component versions look like. A _routemap_ is created to do this. A routemap contains a description of each version of an application and may contain [routing templates](../user-guide/topics/routemap.md). To create the routemap:
In this definition, each version of the application is composed of a `Service` and a `Deployment`. In the primary version, both are named `backend`. In any candidate version they are named `backend-candidate-1`. Iter8 uses this definition to identify when any of the versions of the application are available. It can then respond appropriately to `Lookup()` requests.
71
+
The `initialize` action (with strategy `none`) creates a routemap that only defines the resources that make up each version of the application. In this case, two versions: `backend` and `backend-candidate-1`. Each version is comprised of a `Service` and a `Deployment`. Iter8 uses this information to identify when any of the versions of the application are available. It can then respond appropriately to `Lookup()` requests.
92
72
93
73
## Generate load
94
74
95
-
In separate shells, port-forward requests to the frontend component and generate load for multiple users. A [script](https://raw.githubusercontent.com/iter8-tools/docs/main/samples/abn-sample/generate_load.sh) is provided to do this. To use it:
75
+
In one shell, port-forward requests to the frontend component:
96
76
```shell
97
77
kubectl port-forward service/frontend 8090:8090
98
78
```
79
+
In another shell, run a script to generate load from multiple users:
99
80
```shell
100
81
curl -s https://raw.githubusercontent.com/iter8-tools/docs/v0.17.3/samples/abn-sample/generate_load.sh | sh -s --
@@ -104,7 +104,6 @@ To send inference requests to the model:
104
104
```
105
105
HTTP/1.1 200 OK
106
106
app-version: httpbin-0
107
-
<p>A simple HTTP Request & Response Service.
108
107
```
109
108
110
109
Note that the model version responding to each inference request is noted in the response header `app-version`. In the requests above, we display only the response code and this header.
In this tutorial, the image is the same as for the primary version. In a real world example, it would be different.
123
+
In this tutorial, the candidate image is the same as the one for the primary version. In a real world example, it would be different. The version label (`app.kubernetes.io/version`) can be used to distinguish between versions.
125
124
126
125
### Verify routing changes
127
126
@@ -141,14 +140,12 @@ You can send additional inference requests as described above. They will be hand
0 commit comments