summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQuinton Hoole <quinton.hoole@huawei.com>2017-11-17 10:43:25 -0800
committerQuinton Hoole <quinton.hoole@huawei.com>2017-11-17 10:57:36 -0800
commit4f8e451ba9ae8c505c821cfd7b021f1fbccf0a8a (patch)
treef8d9005d78da1182c41c4134b0a587e354394380
parent6d7bb500daf6004755474760e0367bf69732e653 (diff)
Added summary section.
-rw-r--r--contributors/devel/architectural-roadmap.md46
1 files changed, 39 insertions, 7 deletions
diff --git a/contributors/devel/architectural-roadmap.md b/contributors/devel/architectural-roadmap.md
index 85eef610..e7c57410 100644
--- a/contributors/devel/architectural-roadmap.md
+++ b/contributors/devel/architectural-roadmap.md
@@ -35,17 +35,49 @@ Intended audience: Kubernetes contributors
## Summary/TL;DR
-TBD - for those who want an overview, but don't want to read a 20 page document.
+This document describes the ongoing architectural development of the Kubernetes system, and the
+motivations behind it. System developers wanting to extend or customize
+Kubernetes should use this document as a guide to inform where and how best to implement these
+enhancements. Application developers wanting to develop large, portable and/or future-proof
+Kubernetes applications may refer to this document for guidance on which parts of Kubernetes they
+can rely on being present now and in the future.
+
+The layers of the architecture are named and described (see the diagram below). Distinctions are
+drawn between what exists today and what we plan to provide in future, and why.
+
+Succinctly, the layers comprise:
+
+1. **_The Nucleus_** which provides standardized API and execution machinery, including basic REST
+ mechanics, security, individual Pod, container, network interface and storage volume management,
+ all of which are extensible via well-defined interfaces. The Nucleus is non-optional and
+ expected to be the most stable part of the system.
+
+2. **_The Application Management Layer_** which provides basic deployment and routing, including
+ self-healing, scaling, service discovery, load balancing and traffic routing. This is
+ often referred to as orchestration and the service fabric. Default implementations of all
+ functions are provided, but conformant replacements are permitted.
+
+3. **_The Governance Layer_** which provides higher level automation and policy enforcement,
+ including single- and multi-tenancy, metrics, intelligent autoscaling and provisioning, and
+ schemes for authorization, quota, network, and storage policy expression and enforcement. These
+ are optional, and achievable via other solutions.
+
+4. **_The Interface Layer_** which provides commonly used libraries, tools, UI's and systems used to
+ interact with the Kubernetes API.
+
+5. **_The Ecosystem_** which includes everything else associated with Kubernetes, and is not really
+ "part of" Kubernetes at all. This is where most of the development happens, and includes CI/CD,
+ middleware, logging, monitoring, data processing, PaaS, serverless/FaaS systems, workflow,
+ container runtimes, image registries, node and cloud provider management, and many others.
+
## Background
-Kubernetes is a platform for deploying and managing containers. For
-more information about the mission, scope, and design of Kubernetes,
-see [What Is Kubernetes](http://kubernetes.io/docs/whatisk8s/) and the
-[architectural
+Kubernetes is a platform for deploying and managing containers. For more information about the
+mission, scope, and design of Kubernetes, see [What Is
+Kubernetes](http://kubernetes.io/docs/whatisk8s/) and the [architectural
overview](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/architecture/architecture.md). The
-latter also describes the current breakdown of the system into
-components/processes.
+latter also describes the current breakdown of the system into components/processes.
Contributors to Kubernetes need to know what functionality they can
rely upon when adding new features to different parts of the system.