From fad06083136a1bfdef360ec30feea29d767df683 Mon Sep 17 00:00:00 2001 From: Clive Cox Date: Fri, 29 Jun 2018 18:40:06 +0100 Subject: [PATCH] update istio docs with diagrams --- docs/istio.md | 8 ++++++++ docs/svc-graph-istio.png | Bin 0 -> 34771 bytes docs/svc-graph.png | Bin 0 -> 32000 bytes 3 files changed, 8 insertions(+) create mode 100644 docs/svc-graph-istio.png create mode 100644 docs/svc-graph.png diff --git a/docs/istio.md b/docs/istio.md index 139a82d469..166be5432c 100644 --- a/docs/istio.md +++ b/docs/istio.md @@ -2,7 +2,15 @@ [Istio](https://istio.io/) provides service mesh functionality and can be a useful addition to Seldon to provide extra traffic management, end-to-end security and policy enforcement in your runtime machine learning deployment graph. Seldon-core can be seen as providing a service graph for machine learning deployments. As part of that it provdes an Operator which takes your ML deployment graph definition described as a SeldonDeployment kubernetes resource and deploys and manages it on a kubernetes cluster so you can connect your business applications that need to access machine learning services. Data scientists can focus on building pluggable docker containers for parts of their runtime machine learning graph, such as runtime inference, transformations, outlier detection, ensemblers etc. These can be composed together as needed to satisfy your runtime ML functionality. To allow modules to be built without knowing what service graph they will exist in means Seldon also deploys a Service Orchestrator as part of each deployment which manages the request/reponse flow to satisfy the defined ML service graph for multi-component graphs. +The components are illustrated below. A user's graph resource definition (graph.yaml) is sent over the Kubernetes API and the Seldon Operator manages the creation and update of the underlying components including the seldon service orchestrator which manages the request/response flow logic through the deployed graph. + +![svc-graph](./svc-graph.png) + Out of the box Seldon provides rolling updates to SeldonDeployment service graphs provided by the underlying kubernetes functionality. However, there are cases where you want to manage updates to your ML deployments in a more controlled way with fine grained traffic management including canary updates, blue-green deployments and shadowing. This is where Istio can help in combination with Seldon. +The addition of istio is complementary to Seldon and is illustrated below where Envoy sidecars are injected into the defined Kubernetes Deployments and the user can manage the service mesh using the Istio control plane. + +![svc-graph-istio](./svc-graph-istio.png) + [An example step-by-step guide to canary deployments using Istio and Seldon is provided](../examples/istio/canary_update/canary.ipynb). diff --git a/docs/svc-graph-istio.png b/docs/svc-graph-istio.png new file mode 100644 index 0000000000000000000000000000000000000000..caf8a197dd6e0f149df43c77461603b623b91818 GIT binary patch literal 34771 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