Tech Kaizen

passion + usefulness = success .. change is the only constant in life

Search this Blog:

Vector Packet Processing (VPP) introduction

The Vector Packet Processing(VPP) platform is an extensible framework that provides out-of-the-box production quality switch/router functionality.It is the open source version of Cisco's Vector Packet Processing (VPP) technology(a high performance packet-processing stack that can run on commodity CPUs). The benefits of this implementation of VPP are its high performance, proven technology, its modularity and flexibility, and rich feature set.

VPP is open source high-performance packet processing software. It leverages the Data Plane Development Kit (DPDK) to take advantage of fast I/O. DPDK provides fast packet processing libraries and user space drivers. It receives and send packets with a minimum number of CPU cycles by bypassing the kernel and using a user poll mode driver. Details on how to configure DPDK can be found in the DPDK Documentation. One of the benefits of this implementation of VPP is its high performance on relatively low-power computing. 

This high level of performance is based on the following highlights:
  •  High-performance user-space network stack for commodity hardware
  • The same code for host, VMs, Linux containers
  • Integrated vhost-user virtio backend for high speed VM-to-VM connectivity
  • L2 and L3 functionality, multiple encapsulations
  • Leverages best-of-breed open source driver technology: DPDK
  • Extensible by use of plugins
  • Control-plane / orchestration-plane via standards-based APIs
ref:

Vector Packet Processing(VPP) -
  1. https://fd.io/technology/
  2. https://wiki.fd.io/view/VPP/What_is_VPP%3F
  3. https://buildmedia.readthedocs.org/media/pdf/fdio-vpp/latest/fdio-vpp.pdf
  4. https://object-storage-ca-ymq-1.vexxhost.net/swift/v1/6e4619c416ff4bd19e1c087f27a43eea/www-assets-prod/presentation-media/VPP-Barcelona.pdf
Data Plane Development Kit (DPDK) overview -
  1. https://www.linuxjournal.com/content/userspace-networking-dpdk
  2. https://pdfs.semanticscholar.org/e6d9/e0b89795005d7d5d4b0464bf7271ddd02ac0.pdf
  3. https://doc.dpdk.org/guides/prog_guide/overview.html
  4. https://blog.selectel.com/introduction-dpdk-architecture-principles/
Build a Fast Network Stack with Vector Packet Processing (VPP) on an Intel® Architecture Server - https://software.intel.com/en-us/articles/build-a-fast-network-stack-with-vpp-on-an-intel-architecture-server

VPP vs DPDK - https://www.dpdk.org/wp-content/uploads/sites/35/2016/08/Day02-Session04-ThomasHerbert-DPDKUSASummit2016.pdf

PVPP(Programmable Vector Packet Processing) - https://web.stanford.edu/~yo2seol/static/talks/pvpp-cisco.pdf

Labels: LATEST TECHNOLOGY, SYSTEM PROGRAMMING

Docker vs Kubernetes(K8s)

Containerization is a way of sharing parts of a single operating system among multiple isolated applications, as opposed to virtualization which will support multiple apps with their own OS on top of a single hypervisor. This means that where it can take minutes to spin up a virtual machine, it can take seconds to start a container because you aren't having to fire up the OS as well. This is beneficial for massive distributed applications with lots of discrete parts that need to be summoned, run, and then killed in short order. 

The interest in containers led to the formation of the OpenContainer Initiative (OCI) to define the standards of container runtime and image formats. The industry is also witnessing various implementations of containers, such as LXD by Canonical, rkt by CoreOS, Windows Containers by Microsoft, CRI-O by KubernetesIncubator project, and vSphereIntegrated Containers by VMware.

Docker is an open platform for developing, shipping, and running applications. Docker enables you to separate your applications from your infrastructure so you can deliver software quickly. With Docker, you can manage your infrastructure in the same ways you manage your applications. Docker provides the ability to package and run an application in a loosely isolated environment called a container. The isolation and security allow you to run many containers simultaneously on a given host. A Docker container is a standard unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another.

 
Kubernetes (K8s) is an open-source system for automating deployment, scaling, and management of containerized applications. It’s a container management platform designed to run enterprise-class, cloud-enabled and web-scalable IT workloads. It’s a Container Orchestration tool used mainly for provisioning containerized applications. Containers are microservices packaged with their dependencies and configurations. Kubernetes alternatives are Docker Swarm, Apache Mesos, OpenShift.

Docker vs Kubernetes: 

“Kubernetes vs Docker” is like comparing apples to oranges. One isn’t an alternative to the other, they are complementary to each other. Quite the contrary; Kubernetes can run without Docker and Docker can function without Kubernetes.

Docker is a standalone software that can be installed on any computer to run containerized applications. Containerization is an approach of running applications on an OS such that the application is isolated from the rest of the system. You create an illusion for your application that it is getting its very own OS instance(but shared same kernel as the host), although there may be other containers running on same system. Docker is what enables us to run, create and manage containers on a single operating system.

If you have Docker installed on a bunch of hosts (different operating systems), you can leverage Kubernetes. These nodes, or Docker hosts, can be bare-metal servers or virtual machines. Kubernetes can then allow you to automate container provisioning, networking, load-balancing, security and scaling across all these nodes from a single command line or dashboard. A collection of nodes that is managed by a single Kubernetes instance is referred to as a Kubernetes cluster.

Go is the programming language of the Cloud. A large part of tools for cloud (Docker, Kubernetes, Istio) written in Go language.

ref: 

Docker official website- https://www.docker.com/ 

Docker Documentation - https://docs.docker.com/ 

Docker Overview -
    1. https://docs.docker.com/engine/docker-overview/
    2. https://www.docker.com/resources/what-container
    3. https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux_atomic_host/7/html/overview_of_containers_in_red_hat_systems/introduction_to_linux_containers
    4. https://ericchiang.github.io/post/containers-from-scratch/


Kubernetes official website - https://kubernetes.io/ 

What is Kubernetes - https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/ 

Kubernetes basics - https://kubernetes.io/docs/tutorials/kubernetes-basics/ 

Kubernetes concepts - https://kubernetes.io/docs/concepts/

Kubernetes overview -
  1. https://thenewstack.io/kubernetes-an-overview/
  2. https://azure.microsoft.com/en-us/topic/what-is-kubernetes/?&OCID=AID2000586_SEM_uQFwC39m&lnkd=Google_Kubernetes_Nonbrand&MarinID=suQFwC39m_372584111946_%2Bkubernetes_b_c__75821059109_kwd-88228236663_
  3. https://justanotherdevblog.com/2017/02/22/kubernetes-an-overview-bf47b0af1865/
Why we use Go to develop Containerum platform for Kubernetes - https://medium.com/containerum/why-we-use-go-to-develop-containerum-platform-for-kubernetes-3a33d5bdc5ec 

Kubernetes vs. Docker: A Primer - https://containerjournal.com/topics/container-ecosystems/kubernetes-vs-docker-a-primer/ 

Go, the Programming Language of the Cloud - https://thenewstack.io/go-the-programming-language-of-the-cloud/

Labels: CLOUD COMPUTING, KUBERNETES

Cloud Metrics Monitoring - StatsD, Graphite, Grafana


StatsD is a set of tools that can be used to send, collect, and aggregate custom metrics from any application.  Graphite is enterprise-ready open source monitoring tool for storing and viewing time series data on any Cloud infrastructure. Grafana is an open source metric analytics & visualization suite. It is most commonly used for visualizing time series data for infrastructure and application analytics but many use it in other domains including industrial sensors, home automation, weather, and process control.

The most common setup is to use statsd to collect metrics, graphite to store those metrics, and Grafana to visualize those metrics(StatsD -> Graphite -> Grafana).

Graphite does not collect data by itself, but has a simple interface and integrates easily with third-party tools. Grafana allows you to connect to a Graphite installation (or other data source) and build dashboards to view and analyze the data. 

StatsD client (e.g. golang client library) to collect and send the statistics and aggregation data to StatsD server. stats data are aggregated and sent to Graphite server. The metric data would be stored into Graphite server (include a Whisper database). Grafana is a powerful dashboard for visualizing the metrics data stored in Graphite(whisper) time-series database.

Prometheus is an open source monitoring and alerting toolkit. Prometheus is now closely integrated into cloud-native ecosystem and has native support for containers and Kubernetes.

cAdvisor (Container Advisor) provides container users an understanding of the resource usage and performance characteristics of their running containers(examples docker containers). It is a running daemon that collects, aggregates, processes, and exports information about running containers.

A time series database (TSDB) is a database optimized for time-stamped or time series data. Time series data are simply measurements or events that are tracked, monitored, sampled and aggregated over time. Applications like Self-driving cars, Autonomous trading, Smart homes monitoring sensor data rely on a form of data that measures how things change over time. Where time isn’t just a metric, but a primary axis. This is time-series data and it’s starting to play a larger role in our world.


 

ref:

StatsD, Graphite, Grafana -
  • https://medium.com/@developersworkspace/statsd-graphite-grafana-328c0cdda5a0
  • http://www.markusz.io/posts/2016/03/06/grafana-graphite-statsd/
  • https://www.linode.com/docs/uptime/monitoring/install-graphite-and-grafana/
Docker image with StatsD, Graphite, Grafana 2 - https://github.com/kamon-io/docker-grafana-graphite

Monitoring your Kubernetes Deployments with Prometheus - https://supergiant.io/blog/monitoring-your-kubernetes-deployments-with-prometheus/

Prometheus vs Grafana –
  • https://www.loomsystems.com/blog/single-post/2017/06/07/prometheus-vs-grafana-vs-graphite-a-feature-comparison
  • https://stackshare.io/stackups/grafana-vs-prometheus
Grafana vs Kibana vs Prometheus - https://stackshare.io/stackups/grafana-vs-kibana-vs-prometheus

Labels: CLOUD COMPUTING, KUBERNETES
Newer Posts Older Posts Home
Subscribe to: Posts (Atom)

The Verge - YOUTUBE

Loading...

Google - YOUTUBE

Loading...

Microsoft - YOUTUBE

Loading...

MIT OpenCourseWare - YOUTUBE

Loading...

FREE CODE CAMP - YOUTUBE

Loading...

NEET CODE - YOUTUBE

Loading...

GAURAV SEN INTERVIEWS - YOUTUBE

Loading...

Y Combinator Discussions

Loading...

SUCCESS IN TECH INTERVIEWS - YOUTUBE

Loading...

IGotAnOffer: Engineering YOUTUBE

Loading...

Tanay Pratap YOUTUBE

Loading...

Ashish Pratap Singh YOUTUBE

Loading...

Questpond YOUTUBE

Loading...

Kantan Coding YOUTUBE

Loading...

CYBER SECURITY - YOUTUBE

Loading...

CYBER SECURITY FUNDAMENTALS PROF MESSER - YOUTUBE

Loading...

DEEPLEARNING AI - YOUTUBE

Loading...

STANFORD UNIVERSITY - YOUTUBE

Loading...

NPTEL IISC BANGALORE - YOUTUBE

Loading...

NPTEL IIT MADRAS - YOUTUBE

Loading...

NPTEL HYDERABAD - YOUTUBE

Loading...

MIT News

Loading...

MIT News - Artificial intelligence

Loading...

The Berkeley Artificial Intelligence Research Blog

Loading...

Microsoft Research

Loading...

MachineLearningMastery.com

Loading...

Harward Business Review(HBR)

Loading...

Wharton Magazine

Loading...
My photo
Krishna Kishore Koney
View my complete profile
" It is not the strongest of the species that survives nor the most intelligent that survives, It is the one that is the most adaptable to change "

View krishna kishore koney's profile on LinkedIn

Monthly Blog Archives

  • ►  2025 (2)
    • ►  May (1)
    • ►  April (1)
  • ►  2024 (18)
    • ►  December (1)
    • ►  October (2)
    • ►  September (5)
    • ►  August (10)
  • ►  2022 (2)
    • ►  December (2)
  • ►  2021 (2)
    • ►  April (2)
  • ►  2020 (17)
    • ►  November (1)
    • ►  September (7)
    • ►  August (1)
    • ►  June (8)
  • ▼  2019 (18)
    • ►  December (1)
    • ►  November (2)
    • ▼  September (3)
      • Vector Packet Processing (VPP) introduction
      • Docker vs Kubernetes(K8s)
      • Cloud Metrics Monitoring - StatsD, Graphite, Grafana
    • ►  May (8)
    • ►  February (1)
    • ►  January (3)
  • ►  2018 (3)
    • ►  November (1)
    • ►  October (1)
    • ►  January (1)
  • ►  2017 (2)
    • ►  November (1)
    • ►  March (1)
  • ►  2016 (5)
    • ►  December (1)
    • ►  April (3)
    • ►  February (1)
  • ►  2015 (15)
    • ►  December (1)
    • ►  October (1)
    • ►  August (2)
    • ►  July (4)
    • ►  June (2)
    • ►  May (3)
    • ►  January (2)
  • ►  2014 (13)
    • ►  December (1)
    • ►  November (2)
    • ►  October (4)
    • ►  August (5)
    • ►  January (1)
  • ►  2013 (5)
    • ►  September (2)
    • ►  May (1)
    • ►  February (1)
    • ►  January (1)
  • ►  2012 (19)
    • ►  November (1)
    • ►  October (2)
    • ►  September (1)
    • ►  July (1)
    • ►  June (6)
    • ►  May (1)
    • ►  April (2)
    • ►  February (3)
    • ►  January (2)
  • ►  2011 (20)
    • ►  December (5)
    • ►  August (2)
    • ►  June (6)
    • ►  May (4)
    • ►  April (2)
    • ►  January (1)
  • ►  2010 (41)
    • ►  December (2)
    • ►  November (1)
    • ►  September (5)
    • ►  August (2)
    • ►  July (1)
    • ►  June (1)
    • ►  May (8)
    • ►  April (2)
    • ►  March (3)
    • ►  February (5)
    • ►  January (11)
  • ►  2009 (113)
    • ►  December (2)
    • ►  November (5)
    • ►  October (11)
    • ►  September (1)
    • ►  August (14)
    • ►  July (5)
    • ►  June (10)
    • ►  May (4)
    • ►  April (7)
    • ►  March (11)
    • ►  February (15)
    • ►  January (28)
  • ►  2008 (61)
    • ►  December (7)
    • ►  September (6)
    • ►  August (1)
    • ►  July (17)
    • ►  June (6)
    • ►  May (24)
  • ►  2006 (7)
    • ►  October (7)

Blog Archives Categories

  • .NET DEVELOPMENT (38)
  • 5G (5)
  • AI (Artificial Intelligence) (9)
  • AI/ML (4)
  • ANDROID DEVELOPMENT (7)
  • BIG DATA ANALYTICS (6)
  • C PROGRAMMING (7)
  • C++ PROGRAMMING (24)
  • CAREER MANAGEMENT (6)
  • CHROME DEVELOPMENT (2)
  • CLOUD COMPUTING (45)
  • CODE REVIEWS (3)
  • CYBERSECURITY (12)
  • DATA SCIENCE (4)
  • DATABASE (14)
  • DESIGN PATTERNS (9)
  • DEVICE DRIVERS (5)
  • DOMAIN KNOWLEDGE (14)
  • EDGE COMPUTING (4)
  • EMBEDDED SYSTEMS (9)
  • ENTERPRISE ARCHITECTURE (10)
  • IMAGE PROCESSING (3)
  • INTERNET OF THINGS (2)
  • J2EE PROGRAMMING (10)
  • KERNEL DEVELOPMENT (6)
  • KUBERNETES (19)
  • LATEST TECHNOLOGY (18)
  • LINUX (9)
  • MAC OPERATING SYSTEM (2)
  • MOBILE APPLICATION DEVELOPMENT (14)
  • PORTING (4)
  • PYTHON PROGRAMMING (6)
  • RESEARCH AND DEVELOPMENT (1)
  • SCRIPTING LANGUAGES (8)
  • SERVICE ORIENTED ARCHITECTURE (SOA) (10)
  • SOFTWARE DESIGN (13)
  • SOFTWARE QUALITY (5)
  • SOFTWARE SECURITY (23)
  • SYSTEM and NETWORK ADMINISTRATION (3)
  • SYSTEM PROGRAMMING (4)
  • TECHNICAL MISCELLANEOUS (31)
  • TECHNOLOGY INTEGRATION (5)
  • TEST AUTOMATION (5)
  • UNIX OPERATING SYSTEM (4)
  • VC++ PROGRAMMING (44)
  • VIRTUALIZATION (8)
  • WEB PROGRAMMING (8)
  • WINDOWS OPERATING SYSTEM (13)
  • WIRELESS DEVELOPMENT (5)
  • XML (3)

Popular Posts

  • Observer Pattern - Push vs Pull Model
  • AI Agent vs AI Workflow
  • Microservices Architecture ..
  • SSCLI(Shared Source Common Language Infrastructure)

My Other Blogs

  • Career Management: Invest in Yourself
  • Color your Career
  • Attitude is everything(in Telugu language)
WINNING vs LOSING

Hanging on, persevering, WINNING
Letting go, giving up easily, LOSING

Accepting responsibility for your actions, WINNING
Always having an excuse for your actions, LOSING

Taking the initiative, WINNING
Waiting to be told what to do, LOSING

Knowing what you want and setting goals to achieve it, WINNING
Wishing for things, but taking no action, LOSING

Seeing the big picture, and setting your goals accordingly, WINNING
Seeing only where you are today, LOSING

Being determined, unwilling to give up WINNING
Gives up easily, LOSING

Having focus, staying on track, WINNING
Allowing minor distractions to side track them, LOSING

Having a positive attitude, WINNING
having a "poor me" attitude, LOSING

Adopt a WINNING attitude!

Total Pageviews

who am i

My photo
Krishna Kishore Koney

Blogging is about ideas, self-discovery, and growth. This is a small effort to grow outside my comfort zone.

Most important , A Special Thanks to my parents(Sri Ramachandra Rao & Srimathi Nagamani), my wife(Roja), my lovely daughter (Hansini) and son (Harshil) for their inspiration and continuous support in developing this Blog.

... "Things will never be the same again. An old dream is dead and a new one is being born, as a flower that pushes through the solid earth. A new vision is coming into being and a greater consciousness is being unfolded" ... from Jiddu Krishnamurti's Teachings.

Now on disclaimer :
1. Please note that my blog posts reflect my perception of the subject matter and do not reflect the perception of my Employer.

2. Most of the times the content of the blog post is aggregated from Internet articles and other blogs which inspired me. Due respect is given by mentioning the referenced URLs below each post.

Have a great time

My LinkedIn Profile
View my complete profile

Failure is not falling down, it is not getting up again. Success is the ability to go from failure to failure without losing your enthusiasm.

Where there's a Will, there's a Way. Keep on doing what fear you, that is the quickest and surest way to to conquer it.

Vision is the art of seeing what is invisible to others. For success, attitude is equally as important as ability.

Favourite RSS Syndications ...

Google Developers Blog

Loading...

Blogs@Google

Loading...

Berklee Blogs » Technology

Loading...

Martin Fowler's Bliki

Loading...

TED Blog

Loading...

TEDTalks (video)

Loading...

Psychology Today Blogs

Loading...

Aryaka Insights

Loading...

The Pragmatic Engineer

Loading...

Stanford Online

Loading...

MIT Corporate Relations

Loading...

AI at Wharton

Loading...

OpenAI

Loading...

AI Workshop

Loading...

Hugging Face - Blog

Loading...

BYTE BYTE GO - YOUTBUE

Loading...

Google Cloud Tech

Loading...

3Blue1Brown

Loading...

Bloomberg Originals

Loading...

Dwarkesh Patel Youtube Channel

Loading...

Reid Hoffman

Loading...

Aswath Damodaran

Loading...