NexClipper is an open source software to monitor and manage performance for cloud native computing - Docker and Kubernetes. NexClipper features the following capabilities:
Fullstack dashboard (Kubernetes and Infrastructure)
Container Cluster (Kuberentes cluster, nodes and worklodas)
Infrastruture Monitoring (Docker Container, Host, Resource)
Incidents Management (Rule set and alert manager) (#30)
Rest API service (Soon)
Dashboard Enhancement to replace k8s dashboard (Soon)
Dashboard Enhancement for customizing (Plan)
Global view and multi tenancy (Plan)
Prometheus Integration (Plan)
Workload management and deployment (Plan)
Resource analytics and forecasting (Plan)
2. 5/7/2019
Background
1Copyright@2018 by NexCloud
Image: Instana
5/7/2019 1Copyright@2019 by NexCloud
Cloud Native Application refer to
• Microservice Oriented
• Container Packaged
• Dynamically Scheduled
• Predominantly Open Source
클라우드 네이티브 애플리케이션 정의:
“컨테이너로 패키지화하고, 확정성 있는 가상 인프라에 효율적으로 사용하는
마이크로서비스로 디자인 하는 최신 애플리케이션”
3. Speed, freedom, and trust
Speed of releases
Freedom to switch vendors
Trust between
contributors
Multiple vendor open source
Background
5/7/2019 2Copyright@2019 by NexCloud
http://techgenix.com/cloud-native-in-the-container-era/
What Cloud Native means in the Container Era?
5. 쿠버네티스 도입 확산
쿠버네티스 도입으로 많은 문제의 해결 및 자동화가 가능하나 안정적인 운영을 위한 새로운 문제가 발생
• 복잡하고 어려움
쿠버네티스 설치 및 관리가 어려움
• Unknowingly 자원 분배로 인한 역효과
Pod가 작동을 하지 않음
많은 워크로드에 의해 Pod 깨짐
• 모든 요소의 헬스 체크
• 파이프라인 구성
쿠버네티스를 적합한 규모로 운영하기
위해 자동화 및 통합 필요
• YAML 학습 필요
• 별도의 모니터링 필요
인프라, 쿠버네티스, 어플리케이션
서비스의 관계를 이해하기 위해 별도의
모니터링 툴 필요
쿠버네티스의 자동화 기능:
• 서비스 어플리케이션 배포 자동화
• 어플리케이션 네트워크 설치 자동화
• 인프라 전반에 서비스 분배
• 어플리케이션 서비스 자원 할당
• 어플리케이션 구성 사이에 로드 밸런싱
• 서비스 구성 페일오버
• 어플리케이션 서비스 스케일링
• 다양한 컨테이너에 저장 공유
Problems Solved Using Kubernetes
Problems Created Using Kubernetes
5/7/2019 4Copyright@2019 by NexCloud
6. 쿠버네티스 모니터링 솔루션 필요성
(1) 모니터링 대상 컴포넌트의 증가와 마이크로 서비스로 인한 대상 서비스의 증가
5/7/2019 5Copyright@2019 by NexCloud
7. Host Host Host Host
App1 App2 App5App4App3 App3 App4
쿠버네티스 모니터링 솔루션 필요성
(2) 끊임 없이 이동하는 어플리케이션의 상시적인 모니터링 필요
Applications are constantly moving.
5/7/2019 6Copyright@2019 by NexCloud
8. 쿠버네티스 모니터링 솔루션 필요성
(3) Tag, Label을 통한 모니터링의 중요성, (4) 멀티 클러스터에 어플리케이션 배포로 인한 운영
모니터링 복잡성 증가
5/7/2019 7Copyright@2019 by NexCloud
9. App App App App
Host
2
1
3
4
O
R
C
H
E
S
T
R
A
T
E
쿠버네티스 모니터링 솔루션 필요성
쿠버네티스 모니터링 대상
쿠버네티스 클러스터
클러스터 헬스(API,etcd, Controller)
워크로드 상태
클러스터 레벨 자원 모니터링
전용 APM 필요
Rest API 지원
URL,IP 헬스 체크
POD/컨테이너 모니터링
쿠버네티스 Pods 레벨 모니터링
Native Docker Container 지원
Node/호스트 레벨 모니터링
쿠버네티스 노드 레벨 모니터링
인프라 호스트(베어메탈, 가상서버)
자원(CPU,MEM,DISK,Net등)
5/7/2019 8Copyright@2019 by NexCloud
10. 쿠버네티스 모니터링 솔루션 비교
프로메테우스는 쿠버네티스의 대표적인 오픈소스 모니터링 솔루션
프로메테우스
5/7/2019 9Copyright@2019 by NexCloud
A monitoring & alerting system.
Open Source, now part of the CNCF
Reliable operational model
Powerful query language
Scraping capabilities beyond the casual usage
Local metric storage
11. 쿠버네티스 모니터링 솔루션 비교
1. Scale up and out – Prometheus
5/7/2019 10Copyright@2019 by NexCloud
Cluster-nCluster-1
Pulling 방식을 사용하는 Prometheus의 서버의 경우 모니터링 대상(Target) Endpoint 가 증가함에 따라 Prometheus (수지) 서버에
대한 Scale Up으로는 한계가 있으며 Scale Out 이 필요함
Alertmanager
Grafana
Exporters Exporters
Scaled out
By each Prometheus Server
& each dashboard
(case1) One Prometheus server 4 cores and 26GB of RAM for 200 machines (case2) 12 CPUs and 102GB of RAM to monitor ~1200 machines.
(Source): https://www.perimeterx.com/blog/scaling-out-with prometheus/?fbclid=IwAR26VWx85Pt5E5xjbiAFIetRWaUrQ6Zqe5gk11LHxgFXlJN3YcjCZyo9teE
Cluster-nCluster-1
Alertmanager
Grafana
Single Prometheus Server
For Multi cluster/endpoints
Scape 성능의 한계
12. 쿠버네티스 모니터링 솔루션 비교
2. Global View – Prometheus with Federation
5/7/2019 11Copyright@2019 by NexCloud
Cluster-nCluster-1
Grafana에서 다수의 데이타소스를 지정할 수 있으나 한번에
한개의 Prometheus 서버의 데이타만 조회가 가능
Cluster-nCluster-1
로컬 Prometheus를 Federation을 통해 Global Prometheus를
구성 할 수 있으나 구성과 확장이 복잡하고 어려며 중복의
데이타 관리 필요
Alertmanager
Grafana
Alertmanager
Grafana
Global Prometheus
By Federation
13. 쿠버네티스 모니터링 솔루션 비교
5/7/2019 12Copyright@2019 by NexCloud
2. Global View – NexClipper for global view and multi tenancy
Cluster-nCluster-1
Alert Manager
Dashboard
Cluster-nCluster-1
Alertmanager
Grafana
Global Prometheus
By Federation
NexAgent
Global NexClipper
Integrated Dashboard
& alert manager
NexClipper는 멀티 클러스터에 대한 데이터를 Agent(Push)방식을 통한 단일화된 통합 데이타 저장소를 관리하므로 Global View를
제공하며 멀티 클러스터에 대한 Multi Tenancy를 기본적으로 제공함. Prometheus 서버가 존재하는 클러스터에 대해서도 데이타
통합(To-Be) 및 Global View 지원
14. 쿠버네티스 모니터링 솔루션 비교
3. Long Term Data – Prometheus with 3rd party storage
5/7/2019 13Copyright@2019 by NexCloud
Prometheus's local storage is limited by single nodes in its scalability and durability. Instead of trying to solve clustered storage
in Prometheus itself, Prometheus has a set of interfaces that allow integrating with remote storage systems.
[Source] Prometheus Docs: https://prometheus.io/docs/prometheus/latest/storage/
Remote storage integrations
• AppOptics : write
• Chronix : write
• Cortex : read and write
• CrateDB : read and write
• Elasticsearch : write
• Gnocchi : write
• Graphite : write
• InfluxDB : read and write
• IRONdb : read and write
• Kafka : write
Prometheus
Adaptor
Custom
Protocol
3rd party
Long Term
Data Storage
Write
sample
Request
receive
• M3DB : read and write
• OpenTSDB : write
• PostgreSQL/TimescaleDB : read and write
• SignalFx : write
• Splunk : write
• TiKV : read and write
• VictoriaMetrics : write
• Wavefront : write
15. 쿠버네티스 모니터링 솔루션 비교
5/7/2019 14Copyright@2019 by NexCloud
3. Long Term Data - NexClipper
Prometheus
InfluxDB
OepnTSDB
……
Main Central Database Optional
InfluxDB
OepnTSDB
……
• Central and consolidated database (InfluxDB,
OpenTSDB,etc)
• Long term data storage
• HA 구성
• Backup
• Prometheus 사용시 별도 Long term storage 연동
Cluster-nCluster-1
NexAgent
Adaptor
16. 쿠버네티스 모니터링 솔루션 비교
NexClipper 는 Prometheus를 보완하는 최적의 엔터프라이즈용 Kubernetes 운영 및 관리 툴입니다.
5/7/2019 15Copyright@2019 by NexCloud
NexClipper
Agent
K8S cluster x n
Alert Manager
Dashboard
Storage
NexClipper
Agent
NexAgent
Event Alarm
NexClipper
Dashboard
API Client
K8S cluster x n
w/Prometheus
……
Cluster
Manager
AI &
Analytics
Comparison with Prometheus
• Global View for multi cluster
• Multi Tenancy
• Horizontal Scalable
• Long term data storage
• Integrated dashboard and alert manager
• Rest API for customer dashboard
Comparison with (Thanos & Cortex)
• Enhanced k8s dashboard
• Deployment manager
• Support cluster without Prometheus
And More
• Integration with AI & Analytics
• Cluster Manager for provisioning, service
catalog and deploy manager.(To-Be)
• Integration with Log analysis & APM tool
(To-Be)
18. NexClipper – 쿠버네티스 모니터링
5/7/2019 17Copyright@2019 by NexCloud
NexClipper Ops Architecture
WorkflowCollector
Service
Message Queue
K8s Dashboard UI
Ruleset manager
Rest API (Metric, Event)
Multi Tenancy
Workload Management
Catalog service
Storage
Redis MySQL (MariaDB)
Slack
Email
……
GrafanaNexClipper UI
RabbitMQ
(Kafka)
Notify
Alert Manager
Store API
Snapshot data Account, Rule, Alert,
Event, Access
API Clients
Metric Collect
Store API
TSDB
InfluxDB (Prometheus)
Main Metrics
Kubernetes Cluster-1
Master Node
Worker Node
Worker Node
Agent
Agent
Agent
……
Metrics
Collect Metric
( Cluster ,Docker
Host)
Exporters
Prometheus Server
Kubernetes Cluster-n
DC/OS, Mesosphere Cluster-n
Optional (Remote Write)
Your Apps
Exporters
Exporters
NexClipper
ComponentDeploy workload
19. NexClipper Ops Product
NexClipper – Product Comparison
5/7/2019 18Copyright@2019 by NexCloud5/7/2019 18Copyright@2018 by NexCloud
Open Source(OSS)
구축형(On-Premise)
Enterprise Edition
Version Support Features Support
NexClipper
Ops
Open Source
(OSS)
• Kubernetes
• Docker
• Host
• Full stack dashboard and Rest API
• Incident and alert manager
• Integration with Prometheus (3rd Party exporter)
Community
Enterprise OSS Version +
• DC/OS, Mesosphere
• Integration with APM & Log
OSS Version +
• Multi Cluster & Tenancy,
• Workload deployment and manager
• AI analysis and forecasting, anomaly detect, etc
Tech support
Subscription
NexClipper
Ops Cloud
Free • Kubernetes, Docker, Host, DC/OS,
Mesosphere
• Up to 5 host , 1 Day retention
• Full stack dashboard
• Incident and alert manager
Community
Basic~
Enterprise
Free Version +
• No limited Host,
• ~18 M retention depend on plan
Free Version +
• AI analysis and forecasting, anomaly detect, etc
Tech support
Subscription
NexClipper Ops
클라우드 서비스형(SaaS)
Subscription Plan
- Free
- Basic
- Standard
- Enterprise
20. NexClipper Ops 특장점 요약 : Cloud Native(Kubernetes) 운영 모니터링 최적화
Full stack dashboard for Kubernetes
Enhanced Kubernetes Dashboard – deployment and
monitoring
Integration with Prometheus
Support Prometheus 3rd part exporters
Global view with out Prometheus federation
Natively support multi cluster and tenancy
Support cluster without Prometheus
Integration with AI algorithms for analyzing and forecasting
NexClipper - 쿠버네티스 운영 모니터링
1 2Cloud Native 최적화- new k8s dashboard CNCF Ecosystem -Prometheus 보완 및 활용
엔터프라이즈 지원 아키텍처 확장성 - 분석 예측 플랫폼 연계3 4
5/7/2019 19Copyright@2019 by NexCloud
21. NexClipper Cloud Native Platform 개요
Cloud Native Ops Cloud Native Platform
(Soon)
AI & Analytics
클라우드 풀스택 대시보드
컨테이너 클러스터 모니터링
컨테이너 배포 및 관리
인프라 호스트 모니터링
이벤트 알람 관리
이상징후, 장애 예측, 리소스 분석
컨테이너 클러스터(k8s) 생성 관리
서비스 카탈로그
워크로드 배포 및 관리
컨테이너 이미지 레파지토리
CI/CI 파이프라인
포털서비스 (빌링, 미터링 ,인증)
컨테이너 클러스터 기반 운영 분석
이상징후, 장애 예측
잉여, 부족 리소스 예측
리소스 사용 최적화
Cloud Native(Kubernetes, Container) 최적화된 구축 및 운영 모니터링 솔루션
컨테이너 클러스터(쿠버네티스)
운영 모니터링 운영 데이터 분석 및 예측 플랫폼
컨테이너 클러스터(쿠버네티스)
구축 및 관리 솔루션
22. NexClipper Cloud Native Platform Architecture
DevOps
물리 서버
(Bare metal)
프라이빗 클라우드
(VM, Openstack등)
퍼블릭 클라우드
서비스 카탈로그
클러스터 관리 CI/CD AI & Analytics 인증/빌링
워크로드 배포
c컨테이너 오케스트레이션
셀프 서비스
Bigdata & AI Framework SW
Container Orchestration
Infrastructure / Server
모니터링
Cloud Native Platform
Cloud Native Ops
NexClipper
Service/Product
X as a service
Service and Platform
AI Analytics as a service
Blockchain as a service
Docker
Containerized App
AI & Analytics
Private HCI
5/7/2019 21Copyright@2019 by NexCloud