Skip to content

Commit

Permalink
Breaking Changes Doc for 1.1 (#1496)
Browse files Browse the repository at this point in the history
* Add initial 1.1 breaking changes

* update shadow notebook

* update metrics breaking change
  • Loading branch information
ukclivecox authored Apr 14, 2020
1 parent 7723bb9 commit c949408
Show file tree
Hide file tree
Showing 3 changed files with 71 additions and 6 deletions.
5 changes: 2 additions & 3 deletions doc/source/analytics/analytics.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,10 @@ Each metric has the following key value pairs for further filtering which will b
* service
* deployment_name
* predictor_name
* predictor_version
* This will be derived from the predictor metadata labels
* predictor_version (This will be derived from the predictor metadata labels)
* model_name
* model_image
* model_image
* model_version


## Helm Analytics Chart
Expand Down
50 changes: 50 additions & 0 deletions doc/source/reference/upgrading.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,17 +13,64 @@ As we moved to 1.x+ there are several breaking changes that need to be considere

### New Features / Breaking Changes

#### Deployment Naming and Rolling Updates

The deployments created by Seldon Core have been changed to follow a fixed scheme. It will now be:

```
<seldondeployment name>-<predictor name>-<podspec idx>-<container names>
```

So for example:

```
apiVersion: machinelearning.seldon.io/v1
kind: SeldonDeployment
metadata:
name: rest-seldon
spec:
name: restseldon
protocol: seldon
transport: rest
predictors:
- componentSpecs:
- spec:
containers:
- image: seldonio/mock_classifier_rest:1.3
name: classifier
graph:
name: classifier
type: MODEL
name: model
replicas: 1
```

For the above resource, one Deployment will be created with name:

```
rest-seldon-model-0-classifier
```

This will change how rolling updates are done. Now any change to the first PodSpec above will be updated via a rolling update as expected if the names of the containers are not changed. If however you changed "classifier" to "classifier2" you would get a new deployment created which would replace the old deployment when running.


#### New Service Orchestrator

From version 1.1 Seldon Core comes with a new service orchestrator written in Go which replaces the previous Java engine. Some breaking changes are present:

* Metadata fields in the Seldon Protocol are no longer added. Any custom metata data will need to be added and exposed to Prometheus metrics by the individual components in the graph
* All components in the graph must either be REST or gRPC and only the given protocol is exposed externally.
* The metric names placed in Prometheus have changed to include the `executor` name rather than `engine` : see the [analytics docs](../analytics/analytics.html)

The new service orchestrator comes with several advantages including ability to handle Tensorflow REST and gRPC protocols and full metrics and tracing support for both REST and gRPC.

For those wishing to use the deprecated Java engine service orchestrator see [the service orchestrator docs](../graph/svcorch.md) for details.

#### Ambassador Retries

Ambassador retries has been removed from the previous hardwired value of 3. Retries is now available via an [annotation for Ambassador](../ingress/ambassador.html).


### Python Wrapper Tag Update

The Python Wrapper was using naming convention in the format 0.1 ... 0.18. In this release we have renamed the version of the Python Wrapper tag to match the same convention as the Executor, Operator, etc. This means that the Python Wrapper tag for this release is 1.1, and the snapshot would be 1.1.1-SNAPSHOT
Expand Down Expand Up @@ -107,3 +154,6 @@ The Helm chart `seldon-core-operator` will require clusterwide RBAC and should b
##### Dropping support for KSonnet

Ksonnet is now deprecated. You should convert to using Helm to install Seldon Core.



22 changes: 19 additions & 3 deletions examples/ambassador/shadow/ambassador_shadow.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@
"metadata": {},
"outputs": [],
"source": [
"!kubectl create -f model.json"
"!kubectl apply -f model.json"
]
},
{
Expand Down Expand Up @@ -192,21 +192,37 @@
"assert(int(default_count[0])==11)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Return to previous model"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"!kubectl delete -f shadow.json"
"!kubectl apply -f model.json"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## TearDown"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
"source": [
"!kubectl delete -f model.json"
]
}
],
"metadata": {
Expand Down

0 comments on commit c949408

Please sign in to comment.