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

Initial nsm sandbox project proposal. #1

Open
wants to merge 17 commits into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
95 changes: 95 additions & 0 deletions proposals/networkservicemesh.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
== Network Service Mesh Proposal

*Name of project:* Network Service Mesh

*Description*

Network Service Mesh is a novel approach to solving complicated L2/L3 use cases in Kubernetes that are difficult or impossible to address with the existing Kubernetes Network Model. Inspired by Istio, Network Service Mesh maps the concept of a service mesh to L2/L3 payloads.

Choose a reason for hiding this comment

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

Inspired by Istio and Knative, ...


Network Service Mesh recognizes and respects that the existing Kubernetes Networking provides excellent service for common developer use cases.

Network Service Mesh requires no changes to the CNI plugin being used, or to Kubernetes itself to function. It runs as an additional layer of infrastructure on top of stock out of the box Kubernetes.

Copy link

@ramkri123 ramkri123 Mar 19, 2019

Choose a reason for hiding this comment

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

Network Service Mesh provides seamless Layer 2/3 interconnection for a variety of use cases across a single cloud or distributed clouds including infrastructure performance awareness for applications with stringent SLAs.

Choose a reason for hiding this comment

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

Network Service Mesh provides seamless Layer 2/3 interconnection for a variety of use cases across a single cloud or link:https://docs.google.com/document/d/1kibZLSd4BVcnyaVH8hjOJCkELg3BptqIgyAGk7K0NXo/ [distributed clouds] including infrastructure performance awareness for applications with stringent SLAs.

Can we href the usecase doc to distributed clouds. This will help people to relate NSM with more usecases.

When Network Service Mesh is installed on a K8s cluster, a developer can simply specify in an annotation on their Pod the name of the Network Service they want, such as "secure-intranet-connectivity". Network Service Mesh will ensure that Network Service is available to their Pods (not to the cluster as a whole) without using CNI. Standard Kubernetes Networking is still provided by CNI. Network Service Mesh takes care to insure that it is completely non-conflicting with Kubernetes Networking.

Network Service Mesh takes a true Cloud native approach to the problem space, maintaining loose coupling to the underlying Infrastructure it utilizes. This allows it to fit naturally into Kubernetes and also be used in other environments like VIMs, Physical Netorks, or Legacy Servers.

*Statement on alignment with CNCF mission*:

Network Service Mesh is designed to allow a workload to dynamically request at any point in its lifecycle the L2/L3 Network Service it needs. It makes networking itself Cloud native by loosely coupling with the existing immutable infrastrcture in K8s to deliver whatever non-standard Networking needs a workload has with minimal toil.

The Network Service Mesh model:

* Developers ask for what Network Service they want by name
* Developers can add metadata to their request for a Network Service with labels.
* Developers simply get the Network Service they asked for

Developers never have to know or think about 35 year old legacy Networking concepts like:

* Subnets
* Interfaces
* Routes
* IPAM

*Sponsor / Advisor from TOC*: Joe Beda, Matt Klein

*Unique identifier:* networkservicemesh

*Prefered Maturity Level*: Sandbox

*License*: Apache License v2.0

*Source control repositories*: link:https://github.com/networkservicemesh[GitHub]

*Initial Committers*:

* Frederick Kautz (doc.ai)
* Nikolay Nikolaev (VMWare)

Choose a reason for hiding this comment

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

Again, shall we use alphabetic order?

Copy link

Choose a reason for hiding this comment

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

line 25: Preferred

Copy link

Choose a reason for hiding this comment

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

Lines 15 and 19: "cloud native" can be lower case per CNCF style guide

* Ed Warnicke (Cisco)

Choose a reason for hiding this comment

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

Initial Use Case Contributors:

  • Ramki Krishnan (VMware)
  • Prem Sankar Gopannan (Lumina Networks)
  • Daniel Bernier (Bell Canada)
  • Mathieu Rohon (Orange)
  • Frederick Kautz (doc.ai)
  • John Mcdowall (Palo Alto Networks)

Copy link
Owner Author

Choose a reason for hiding this comment

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

Sadly not a part of the template :(

*Infrastructure requirements (CI / CNCF Cluster)*:

* CI (currently use CircleCI)
* Packet/GKE/AKS/EKS/etc time for system tests

*Communication Channels*:

* Mailing List: https://groups.google.com/forum/#!forum/networkservicemesh
* IRC: #networkservicemesh on Freenode
* Weekly Meetings:
- link:https://docs.google.com/document/d/1C9NKjo0PWNWypROEO9-Y6haw5h9Xmurvl14SXpciz2Y/edit[Main Meeting]
- link:https://docs.google.com/document/d/1113nzdL-DcDAWT3963IsS9LeekgXLTgGebxPO7ZnJaA/edit[Documentation subgroup meeting]
- link:https://docs.google.com/document/d/1L6kwLW6yvj1EfUgDbdurCpgw2qWrX3ZJJ8Vh3FRqrOo/edit[Use Case subgroup meeting]

*Issue Tracker*: link:https://github.com/networkservicemesh/networkservicemesh/issues[Github Issues]

*Website*: https://networkservicemesh.io/

*Release Methodology and Mechanics*: link:https://github.com/networkservicemesh/networkservicemesh/blob/master/docs/spec/release.md[Release Mechanics Defined in Github]

*Social Media Accounts*:

* link:https://www.linkedin.com/company/networkservicemesh[LinkedIn]
* link:https://twitter.com/nservicemesh[Twitter]

*Community size and existing sponsorship*:

* Github Stars: 127
* Github Forks: 42
* Code Contributors: 18
* Usual meeting census: ~20
* Youtube views of Weekly meetings: link:https://www.youtube.com/results?search_query=network+service+mesh+wg+2019[More than 100 typically]
* Youtube views of Network Service Mesh Intro talk at KubeCon NA 2018: link:https://www.youtube.com/watch?v=YeAKtUFaqQ0&t=2s[More than 1400]
* Existing Sponsors:
* Bell Canada
* Cisco
* doc.ai

Choose a reason for hiding this comment

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

Shall we order alphabetically here too?

Copy link
Owner Author

Choose a reason for hiding this comment

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

Sounds good :). Much easier with company names :)

Copy link
Owner Author

Choose a reason for hiding this comment

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

Fixed in update.

* Orange
* RedHat
* VMWare

Choose a reason for hiding this comment

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

Lumina Networks

Copy link
Owner Author

Choose a reason for hiding this comment

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

@gpremsankar Can you +1 this to confirm?

Choose a reason for hiding this comment

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

Lumina Networks

+1


*Other Reference Material*:

* Network Service Mesh Intro (from KubeCon NA 2018) link:https://docs.google.com/presentation/d/1Vzmhv5vc10NyAa08ny-CCbveo0_fWkDckbkCD_N0fPg/edit[Slides] (link:https://www.youtube.com/watch?v=YeAKtUFaqQ0[Video])
* Network Service Mesh Deep Dive (from KubeCon NA 2018) link:https://docs.google.com/presentation/d/1YWagIAT3hCqF8zZ3wpC6woZ038Y42lKpXv12kjKZC6Q/edit#slide=id.g49d60c8d41_2_46[Slides] (link:https://www.youtube.com/watch?v=SGi9LS870rk[Video])
* link:https://docs.google.com/presentation/d/18OrkofcPZnyBIRlPSSZV1gG8cY8kjYHsoN1mDlRu2Ro[Network Service Mesh Slide for Presentation to TOC]

Choose a reason for hiding this comment

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