1 of 30

CNCF TOC Meeting

October 5th, 2016

2 of 30

LF Antitrust Policy Notice

CNCF meetings involve participation by industry competitors, and it is the intention of the Linux Foundation to conduct all of its activities in accordance with applicable antitrust and competition laws. It is therefore extremely important that attendees adhere to meeting agendas, and be aware of, and not participate in, any activities that are prohibited under applicable US state, federal or foreign antitrust and competition laws.

Examples of types of actions that are prohibited at CNCF meetings and in connection with Linux Foundation activities are described in the Linux Foundation Antitrust Policy available at http://www.linuxfoundation.org/antitrust-policy. If you have questions about these matters, please contact your company counsel, or if you are a member of the Linux Foundation, feel free to contact Andrew Updegrove of the firm of Gesmer Updegrove LLP, which provides legal counsel to the Linux Foundation.

2

3 of 30

Meeting Logistics

Time: October 5 8AM (Pacific)

http://uberconference.com/cloudnative

Conference Number: +1-415-579-0198 No Pin Needed

3

4 of 30

TOC - Members Present Today

4

Company

Independent

Cisco

CoreOS

Docker

Google

Google

Joyent

Mesosphere

Weaveworks

Note: TOC meetings shall require a quorum of two-thirds of the TOC total members to take a vote or make any decision. If a TOC meeting fails to meet the quorum requirement, discussions may proceed, however there shall be no voting or decisions.

Name

Camille Fournier

Ken Owens

Jonathan Boulle

Solomon Hykes

Elissa Murphy

Brian Grant

Bryan Cantrill

Benjamin Hindman

Alexis Richardson

5 of 30

Agenda

  • Updates, News & Events
    • OpenTracing
    • November Conferences
    • Ken Owens: RA vote, Security
  • Projects: Pipeline, Incubation
    • Presentation: OpenZipkin/Zipkin
    • Presentation: linkerd
    • Reminder: CoC & GB Developers
    • Graduation Criteria Discussion & Timeline

  • AOB
    • Next Time

5

6 of 30

Updates, News & Events

  • Review: OpenTracing project proposal
    • https://github.com/cncf/toc/pull/15
    • Votes 7/9 (passes but would like 2 more TOC votes)
    • Plan to announce on Oct 11th

  • CloudNativeCon/KubeCon/PrometheusDay

6

7 of 30

Ken Owens

End User Reference Architecture ready for vote

    • Provide Clear Definition around Cloud Native Definition of:
      • Containerized
      • Distributed Orchestration and Management
      • Micro-services Architecture
    • Serve as End User Community and CNCF marketing architecture

CNCF End user reference architecture

ChrisA will call a vote for approval via cncf-toc!

KenO on talking with NIST and CSA about security standards/best practices for microservices

7

8 of 30

Project: Zipkin (Adrian Cole)

8

9 of 30

Zipkin’s UI looks like this

9

10 of 30

Zipkin architecture looks like this!

10

11 of 30

Zipkin’s history in short

2011-12: Zipkin developed at Twitter

2012: Zipkin open sourced

2015: Zipkin -> OpenZipkin

2015-16: OpenZipkin boom

In the last year, we’ve opened dozens of repos and performed hundreds of releases.

11

12 of 30

A selection of the Zipkin ecosystem

Zipkin contributions come from many types of companies including Twitter, Uber, Presi, Sound Cloud, Dealer.com, Salesforce, Pivotal, LINE.me, Coursera, Yelp, Jive, Buoyant and Finn.no.

Zipkin libraries exist for most languages and popular libraries like Spring Boot and go-kit.

12

13 of 30

Zipkin’s community flows like this

13

OpenZipkin GitHub Org

3rd party tracers and servers that interop with Zipkin

2rd party Zipkin tracers and servers

Gitter

Google groups

Twitter (the app)

Blogs, Events

1st party tracers and servers

Docs and specs

14 of 30

OpenZipkin Tools and Process

Tools:

  • GitHub for development, PRs, issues and longer discussions
  • Gitter.im for real time communication
  • Google mailing lists (zipkin-user and zipkin-dev) for various questions (but are not as much in use, is my impression?)
  • Circle CI/Travis/Quay/Docker Hub/Maven central/npmjs for building and publishing releases
  • @abesto's build and deployment scripts that streamline the release processes, so that they can be made on a daily basis

Process

Process; or rather the lack of process, which facilitates agility, at least on trivial changes like bug fixes. Somewhat more involved PRs are usually code reviewed, and wait for +1 from a few more developers before they are merged. Major decisions, typically independent from the day-to-day releases, are made in GitHub issues. They are also discussed in the workshops/meetups, that are held every few months or so.

14

15 of 30

Org-related interests expressed at Zipkin

  • We have easy and efficient release processes we want to keep
  • We want autonomy to choose the best tools and repositories.
  • We don’t scare off people with CLAs or burdensome process.

  • We like orgs with “cool projects” which lead to symbiotic effects
  • We want legal protection without switching tools or changing release process
  • We want autonomy to choose our leadership approach (ex BDFL)
  • Some concerns about source or guarantees of funds for events or perks

15

16 of 30

Q&A

16

17 of 30

Presenter: William Morgan

18 of 30

What is it?

A service mesh for cloud-native apps. Request-level proxy + load balancer + router. Built on Finagle.

  • Out of process: inserted via http_proxy envvar, or other mechanisms
  • Request-level resilience: retries, timeouts (retry budgets & deadline propagation), circuit breaking
  • Protocol upgrades: thrift⟺mux, HTTP⟺HTTPS, HTTP/1.1⟺HTTP/2
  • Metrics and tracing: pluggable emitters, fine-grained output
  • Routing: per-request routing ⟹ ad-hoc staging & canarying, blue-greens, etc.

linkerd.io // github.com/BuoyantIO/linkerd

19 of 30

Why do I need it?

Goal: move “communications management” out of application code and into the underlying infrastructure.

  • Service-to-service communication increasingly important (microservices!)
  • Timeouts & retries, failure & latency handling, circuit-breaking, handling stale service discovery data--really hard to get right, really critical to do well.
  • Libraries hard to coordinate in a polyglot, multi-service world.

Similar Other Implementations: Envoy (Lyft), SmartStack, Vulcand, Marathon-lb

20 of 30

linkerd by the numbers

  • ~8 months old
  • ~1000 Github stars
  • ~20 contributors, 60% non-Buoyant
  • ~250 Slack members

Public users include: Monzo, WePay, Quid, NCBI, Douban, Medallia, Fitbit, Expedia. (Non-public: some Very Large Companies)

21 of 30

Ecosystem & foci

Strong focus on working w/existing stacks. Pluggable arch, many integrations:

  • Service discovery: Consul, ZooKeeper, etcd, Kubernetes API, Marathon API
  • Protocols: HTTP/1.1, gRPC (alpha), HTTP/2 (alpha), Thrift, Mux
  • Metrics: Twitter-server, Prometheus
  • Tracing: Zipkin (later, OpenTracing?)

Strong focus on production-worthiness & modern operational affordances. Retry budgets. Deadline propagation. Comprehensive instrumentation. Advisory service discovery. Etc.

22 of 30

What we’re looking for

  • Friends. Young project, eating our veggies & growing fast. Friends are always good to have!
  • Contextualization. Need help telling the story of where we fit. linkerd is useful primarily in a cloud-native ecosystem--scheduled, multi-service environments. CNCF context could be really useful for this!
  • Tactics. E.g. we have zero-config Kubernetes “packages” for linkerd DaemonSet deployment plus snazzy Prometheus+Grafana service dashboards. What... now?

23 of 30

CNCF Governance

  • Reminder about GB Developers: CNCF is proposing to add two seats to the Governing Board made up of project committers
  • Reminder to look at CoC docs - discuss next time
  • Discuss Code of Conduct

https://github.com/cncf/foundation/issues/2

https://xkcd.com/927/

23

24 of 30

CNCF Seed Projects & Incubation Criteria

  • RFC: Discuss Graduation Criteria

24

25 of 30

Next Time

  • TBD: SPIFFE related topic potentially
  • What other projects should we talk too?
  • ?

25

26 of 30

Cadence

  • Last meeting slides on 9/21/2016

  • Meeting Cadence Reminder
    • First and third Wednesday of every month
    • Calls without TOC quorum will still be used to review issues

  • Next Meeting: 10/19/2016

26

27 of 30

Thank You

27

28 of 30

Projects: Pipeline

  • NATS (pubsub)
    • TOC sponsor: Alexis Richardson (working on project proposal and legal issues moving to ALv2)
  • Fluentd (logging)
    • needs discussion and sponsor
  • Heron (real time stream processing)
    • Discussion. TOC Sponsor: Ben Hindman (working on project proposal)
  • Minio (storage)
    • needs discussion and more maturity in terms of adoption
  • OpenTracing
    • proposal in progress; TOC Sponsor: Bryan Cantrill
  • OpenZipkin (need to reach out and needs more discussion)
  • CoreDNS (proposal is out for vote, see mailing list; needs votes from a few TOC members)
  • CockroachDB (distributed SQL DB)
    • scheduled TOC community presentation and needs sponsor

28

29 of 30

Other topics to discuss in the future

  • Example Apps & Patterns
  • Website “how we help” etc.
  • “Below the waterline”: Define Incubation, Development Model & other community management issues; Advice; Advocacy; ..

29

30 of 30

CNCF Reference Architecture

  • Any comments? Vote?
  • See slides

30

Application Definition / Development

Cloud Native Services

Cloud Native Runtime

Cloud Native OS / Provisioning

Infrastructure (Bare Metal/Cloud)