Purer: Visibility into Cloud Native Applications
Download and open it in presentation mode for better viewing of demo(video)
Presenters: Gurusreekanth C, Krishna Karthik Reddy
Professional Resume Template for Software Developers
Purser
1. Purser: Visibility into Cloud Native Applications
https://github.com/vmware/purser
Presenters
Gurusreekanth C
Krishna Karthik Reddy
2. Purser(from Wikipedia)
A ship's purser (also purser or pusser) is the person on
a ship principally responsible for the handling of money on board. On
modern merchant ships, the purser is the officer responsible for all
administration (including the ship's cargo and passenger manifests) and
supply.
3. Purser Features
• Single view of the complete cluster hierarchy.
• Logical grouping of resources to provide higher level visibility.
• Capacity allocations(CPU, memory, storage) for K8S native / custom
resources.
• Workload cost associated with the K8S native / custom resources.
• Saving opportunities associated with storage and compute.
• Interactions among associated resources such as pods and services.
• Webhook implementation for inventory change notifications.
4. How does it work?
Get me
the
insights
Custom
Controller
User Kubectl / UI
Kubernetes API
Resources
Metric Store / Dgraph DB
Web crawler
Kubernetes
5. Implementation Details…
• Kubernetes libraries
• k8s.io/apimachinery
• k8s.io/client-go
• Logical Groups Grammar - Conjunctive Normal Form(CNF)
• AND of ORs
• Pod and Service Interaction graph
• /proc/pid/net/tcp, /ptoc/pid/net/tcp6 – linux path
• IP’s are matched with Pod IPs
7. Technology Stack
• Written in Golang
• Dgraph for persistence
• Kubernetes plugin
• Custom Resource Definitions of Kubernetes for logical grouping
• UI – Angular
8.
9.
10. Need Community help…
• Multi cloud support for costing
• Crawlers for price lists are implemented only for AWS and VKE.
• Resource mapping with cloud infrastructure (KOPS support - WIP).
• Network costing
• Enhancing Savings Opportunities
• Budget based resource provisioning
• UI Enhancements
11. References
• Purser Github - https://github.com/vmware/purser
• Open Source blog -
https://blogs.vmware.com/opensource/2018/12/13/purser-open-
source/
• Conjunctive Normal Form -
https://en.wikipedia.org/wiki/Conjunctive_normal_form
• /proc/pid/net/tcp output reference