This page based on Using Helm for personal notes. If you want to learn more, please visit the official website.
Theree Big Concepts
A Chart is a Helm package. It contains all of the resource definitions necessary to run an application, tool, or service inside of a Kubernetes cluster. Think of it like the Kubernetes equivalent of a Homebrew formula, an Apt dpkg, or a Yum RPM file.
A Repository is the place where charts can be collected and shared. It’s like Perl’s CPAN archive or the Fedora Package Database, but for Kubernetes packages.
What is Helm?
Helm helps you manage Kubernetes applications — Helm Charts help you define, install, and upgrade even the most complex Kubernetes application.
Charts are easy to create, version, share, and publish — so start using Helm and stop the copy-and-paste.
The Purpose of Helm
Helm is a tool for managing Kubernetes packages called charts. Helm can do the following:
- Create new charts from scratch
- Package charts into chart archive (tgz) files
- Interact with chart repositories where charts are stored
- Install and uninstall charts into an existing Kubernetes cluster
- Manage the release cycle of charts that have been installed with Helm
For Helm, there are three important concepts:
If you provide feedback, it is important to also include suggestions for improvement
C++ to Go
Introducing Ziegel
박재완
Luft
- OLAP database for analize the analyzing user behavior in real-time
- Use TrailDB as a storage
- Written in C/C++ and Go
- TrailDB is an efficient tool for storing and querying series of events
- Written in C
- New storage engine for the Luft
- Written in Go
Why?
- TrailDB has been a suitable solution for the Luft
- But development was halted in 2019
- Issues with peformance and productivity
Issues
- Inefficient multi-core utilization
// finalize. this could take a while with idle CPU usage but don't panic.
// it's not freeze;
// it's because TrailDB indexing process is not parallelized yet :(
- Row store data structure
- Use multiple language: C/C++ and Go
Journey for the migration
- Add more tests for consistency verification
- Add interface for engine replacement
- With this interface, we can easily replace the engine(partial or full)
- Implement storage engine
- Peformance tuning
- 2x fater for the ingestion, 1.2 slower for the query
Go provides great tools for measuring performance.
December 2022
Guido van Rossum: Python and the Future of Programming | Lex Fridman Podcast #341
Are programmers jobs threatend by the existence of stack overflow? I don’t think so.
Agreed.
If it is truly important to you, you’ll find a way; if it is not, you’ll find an excuse. - anonymous
2022년 10월
일단 마음 내키는대로 결정하고, 그 뒤에 벌어질 일들을 담대하게 마주하라
코호트 분석
원하는 유저군(코호트)을 잡아서 해당 유저들의 행동을 분석하는 기법
예: “지난 6개월간 우리 앱에서 한달에 10만원 이상 소비한 30대 여성"이란 유저군을 잡은 후,
해당 유저군의 리텐션 (재방문률)을 분석
분석방법
- Amplitude, Google Analytics 등의 외부 솔루션 사용
- RDB(OLTP) 사용
- 장점: 익숙함
- 단점: 일정 규모를 넘어가면 성능문제로 문제해결 불가능함
- 데이터 파이프라인을 구축(Snowflake, Apache Kafka 등 활용)
- 코호트 분석용 OALP 데이터베이스를 직접 개발: https://engineering.ab180.co/stories/introducing-luft
- 장점: 고성능의 입맛대로 동작하는 데이터베이스를 가질 수도 있음
- 단점: 직접 개발해야 함
Go module에서 GitHub private 저장소를 사용하는 방법입니다.
git 설정에서 GitHub 접근을 계정과 토큰을 사용하게 변경
git config --global url."https://${GITHUB_USER}:${{GITHUB_TOKEN}}@github.com".insteadOf "https://github.com"
GOPRIVATE 환경변수에 private 저장소 등록
GOPRIVATE="github.com/hueypark/asset"