Cloud Native Computing
Foundation Projects
Neependra Khare, CloudYuga
@neependra
About the Presenter
• Founder and Principal Consultant at CloudYuga

• Docker Captain

• Author of “Introduction to Kubernetes” course on Edx

• Author of Docker Cookbook 

• Co-author of “Introduction to Cloud Infrastructure Technologies” course on Edx

• Self Paced online courses at school.cloudyuga.guru
• Containers Fundamentals - Docker, runC & rkt, online self paced course (2017)

• Containers (Docker) for Dev and QA , online self paced course (2017)
CNCF
• A Linux Foundation Project

• Aims to acceleration adoption of containers,
microservices and cloud native application

• CNCF hosts procjects like Containerd, Kubernetes but
they work under their pre-existing governance structure.

• New projects can be added
Container Runtime
Containerd
• Container runtime
• Available as daemon on Linux and Windows
• Uses runC to run containers
• Manages complete life-cycle of containers
• image transfer and storage
• container execution and supervision
• low level storage
• network attachment
• Exposes gRPC APIs over local Unix socket
Container Runtime
Containerd
Container Runtime
rkt
• Container runtime
• Available on Linux
• Supports swappable execution engines
• Can run Docker and OCI images
• Currently it based on appc specification.
Development is progress to fully support OCI
images and runtimes.
Remote Procedure Call
• High performance
• Open source Universal RPC
• With gRPC, we define a service
• specifies methods that can be called remotely
• uses Protocol Buffers as Interface Definition Language (IDL)
• Protocol Buffers are a language and platform neutral
mechanism to serialise structured data
• Bi-directional streaming with integrated auth
https://grpc.io
Container Networking
Container Network Interface (CNI)
Container Runtime
Container Network Interface
Loopback
Plugin
Bridge
Plugin
MACvlan
Plugin
IPvlan
Plugin
3rd Party
Plugins
Orchestration
Kubernetes
Kubernetes is an open-source system for automating deployment, scaling,
and management of containerized applications.
• Kubernetes features
• Automatic binpacking
• Self-healing
• Horizontal scaling
• Service discovery and load balancing
• Automated rollouts and rollbacks
• Secrets and configuration management
• Storage orchestration
• Batch execution
DNS & Service Discovery
CoreDNS
• Provides DNS and Service Discovery
• DNS functions are implemented as middlewares like
• Kubernetes Service Discovery
• Re-writing queries
• loadbalance
• …
• CoreDNS chains middlewares, based on requirement
• Can replace kube-dns in Kubernetes
Service Mesh
Linkerd
• Layer 5 Proxy
• Work with HTTP, HTTP/2, gRPC (not raw TCP)
• Provides
• Service Discovery ( Kubernetes, Marathon, Swarm)
• Intelligent Load Balancing
• Retries (Improve success rate)
• Circuit Breakers (Improve resilience)
• Metrics and Tracing
Monitoring and Alerting
Prometheus
https://prometheus.io
Logging
Fluentd
• Unified Logging with JSON
• Pluggable Architecture
• Minimum Resources Required
• Built-in Reliability
https://www.fluentd.org/architecture
Tracing
OpenTracing
• Standard instrumentation APIs
• Tracing tools, that uses OpenTracing
• Zipkin
• LightStep
• Jaeger
• Hawkular
• ….
References
• http://cncf.io
• http://kubernetes.io/
• https://prometheus.io/
• http://opentracing.io/
• http://fluentd.org/
• https://www.linkerd.io/
• http://www.grpc.io/
• https://coredns.io/
• http://containerd.io/
• https://github.com/rkt/rkt
• https://github.com/containernetworking
Thanks
neependra@cloudyuga.guru
https://www.linkedin.com/in/neependra/
@neependra

CNCF Projects Overview

  • 1.
    Cloud Native Computing FoundationProjects Neependra Khare, CloudYuga @neependra
  • 2.
    About the Presenter •Founder and Principal Consultant at CloudYuga • Docker Captain • Author of “Introduction to Kubernetes” course on Edx • Author of Docker Cookbook • Co-author of “Introduction to Cloud Infrastructure Technologies” course on Edx • Self Paced online courses at school.cloudyuga.guru • Containers Fundamentals - Docker, runC & rkt, online self paced course (2017) • Containers (Docker) for Dev and QA , online self paced course (2017)
  • 3.
    CNCF • A LinuxFoundation Project • Aims to acceleration adoption of containers, microservices and cloud native application • CNCF hosts procjects like Containerd, Kubernetes but they work under their pre-existing governance structure. • New projects can be added
  • 4.
    Container Runtime Containerd • Containerruntime • Available as daemon on Linux and Windows • Uses runC to run containers • Manages complete life-cycle of containers • image transfer and storage • container execution and supervision • low level storage • network attachment • Exposes gRPC APIs over local Unix socket
  • 5.
  • 6.
    Container Runtime rkt • Containerruntime • Available on Linux • Supports swappable execution engines • Can run Docker and OCI images • Currently it based on appc specification. Development is progress to fully support OCI images and runtimes.
  • 7.
    Remote Procedure Call •High performance • Open source Universal RPC • With gRPC, we define a service • specifies methods that can be called remotely • uses Protocol Buffers as Interface Definition Language (IDL) • Protocol Buffers are a language and platform neutral mechanism to serialise structured data • Bi-directional streaming with integrated auth https://grpc.io
  • 8.
    Container Networking Container NetworkInterface (CNI) Container Runtime Container Network Interface Loopback Plugin Bridge Plugin MACvlan Plugin IPvlan Plugin 3rd Party Plugins
  • 9.
    Orchestration Kubernetes Kubernetes is anopen-source system for automating deployment, scaling, and management of containerized applications. • Kubernetes features • Automatic binpacking • Self-healing • Horizontal scaling • Service discovery and load balancing • Automated rollouts and rollbacks • Secrets and configuration management • Storage orchestration • Batch execution
  • 10.
    DNS & ServiceDiscovery CoreDNS • Provides DNS and Service Discovery • DNS functions are implemented as middlewares like • Kubernetes Service Discovery • Re-writing queries • loadbalance • … • CoreDNS chains middlewares, based on requirement • Can replace kube-dns in Kubernetes
  • 11.
    Service Mesh Linkerd • Layer5 Proxy • Work with HTTP, HTTP/2, gRPC (not raw TCP) • Provides • Service Discovery ( Kubernetes, Marathon, Swarm) • Intelligent Load Balancing • Retries (Improve success rate) • Circuit Breakers (Improve resilience) • Metrics and Tracing
  • 12.
  • 13.
    Logging Fluentd • Unified Loggingwith JSON • Pluggable Architecture • Minimum Resources Required • Built-in Reliability https://www.fluentd.org/architecture
  • 14.
    Tracing OpenTracing • Standard instrumentationAPIs • Tracing tools, that uses OpenTracing • Zipkin • LightStep • Jaeger • Hawkular • ….
  • 15.
    References • http://cncf.io • http://kubernetes.io/ •https://prometheus.io/ • http://opentracing.io/ • http://fluentd.org/ • https://www.linkerd.io/ • http://www.grpc.io/ • https://coredns.io/ • http://containerd.io/ • https://github.com/rkt/rkt • https://github.com/containernetworking
  • 16.