๐Ÿ“ [Wiki] RustCost โ†’ A lightweight FinOps observability tool designed for intuitive cost visibility

:bookmark_tabs: RustCost Official Wiki

KR: ์ด ํŽ˜์ด์ง€๋Š” RustCost์˜ ๋น„์ „, ๊ธฐ์ˆ ์  ๋ฐฉํ–ฅ์„ฑ, ๊ทธ๋ฆฌ๊ณ  ํ˜‘์—… ๋ฐฉ์‹์„ ์ •์˜ํ•˜๋Š” ํ†ตํ•ฉ ๋ฌธ์„œ์ž…๋‹ˆ๋‹ค. ํŒ€์›๊ณผ ์™ธ๋ถ€ ๊ธฐ์—ฌ์ž๋“ค์ด ์กฐํ™”๋กญ๊ฒŒ ํ˜‘์—…ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋•๋Š” ๊ณต์‹ ๊ฐ€์ด๋“œ๋ผ์ธ์ž…๋‹ˆ๋‹ค.

EN: This page serves as the comprehensive documentation defining the vision, technical direction, and collaboration methods for RustCost. It is an official guideline to ensure seamless collaboration between the team and external contributors.

1. ํ”„๋กœ์ ํŠธ ๊ฐœ์š” (Project Overview)

  • Purpose:

  • Background / Introduction (KR):

    • Kubernetes ํ™˜๊ฒฝ์—์„œ์˜ Observability๋Š” ๋‹จ์ˆœํžˆ ์‹œ์Šคํ…œ์„ ๋ณด๋Š” ๊ฒƒ์„ ๋„˜์–ด, ์šด์˜ ๋น„์šฉ์„ ์ดํ•ดํ•˜๊ณ  ๊ฐœ์„ ํ•˜๋Š” ์ผ๋กœ ํ™•์žฅ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด๋Ÿฌํ•œ ๋น„์šฉ ์ธ์‹(Showback)๊ณผ ์ฑ…์ž„ ๊ธฐ๋ฐ˜ ๊ด€๋ฆฌ(Chargeback)์„ ์‹คํ˜„ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š”, ๋Œ€๊ทœ๋ชจ FinOps ํ”Œ๋žซํผ ์—†์ด๋„ ๊ฐ€๋ณ๊ณ  ํˆฌ๋ช…ํ•œ ๊ด€์ธก ๋„๊ตฌ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
    • RustCost๋Š” ๋ฐ”๋กœ ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์กŒ์Šต๋‹ˆ๋‹ค. ๋‹จ์ˆœํ•œ ๋ชจ๋‹ˆํ„ฐ๋ง ํˆด์ด ์•„๋‹Œ, ํด๋Ÿฌ์Šคํ„ฐ ๋‹จ์œ„์˜ ๋ฆฌ์†Œ์Šค ์‚ฌ์šฉ๋Ÿ‰๊ณผ ๋น„์šฉ ๊ตฌ์กฐ๋ฅผ ์ง๊ด€์ ์œผ๋กœ ์ดํ•ดํ•˜๋„๋ก ๋•๋Š” ๊ฒฝ๋Ÿ‰ FinOps Observability ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.
    • RustCost๋Š” ๋‘ ๊ฐ€์ง€ FinOps ์ ‘๊ทผ ๋ชจ๋ธ์„ ์ง€์›ํ•˜๋Š” ์ฒ ํ•™์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค.
      • Showback โ€” ๊ฐ ํŒ€๊ณผ ์„œ๋น„์Šค์˜ ๋ฆฌ์†Œ์Šค ์†Œ๋น„ ํ˜„ํ™ฉ์„ ํˆฌ๋ช…ํ•˜๊ฒŒ ๊ณต๊ฐœํ•˜์—ฌ ๋น„์šฉ ์ธ์‹์„ ๋†’์ด๋Š” ๊ฒƒ
      • Chargeback โ€” ํ•„์š” ์‹œ ์‹ค์ œ ๋น„์šฉ ์ฒญ๊ตฌ ๊ตฌ์กฐ๋ฅผ ํ†ตํ•ด ์ฑ…์ž„ ์žˆ๋Š” ๋ฆฌ์†Œ์Šค ์‚ฌ์šฉ์„ ์œ ๋„ํ•˜๋Š” ๊ฒƒ
    • RustCost๋Š” ์ด ๋‘ ๋ชจ๋ธ ๋ชจ๋‘๋ฅผ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•ด, ์ •ํ™•์„ฑ๊ณผ ํšจ์œจ์„ฑ์˜ ๊ท ํ˜•์„ ์œ ์ง€ํ•œ ์„ค๊ณ„ ์ฒ ํ•™์„ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค. Rust(Axum) ๊ธฐ๋ฐ˜์˜ ๊ณ ์„ฑ๋Šฅ ๋ฐฑ์—”๋“œ์™€ React ๊ธฐ๋ฐ˜์˜ ์ง๊ด€์ ์ธ UI๋ฅผ ๊ฒฐํ•ฉํ–ˆ์œผ๋ฉฐ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋Œ€์‹  ํŒŒ์ผ ๊ธฐ๋ฐ˜ ์Šคํ† ๋ฆฌ์ง€ ๊ตฌ์กฐ๋ฅผ ์ฑ„ํƒํ•˜์—ฌ ์•ฝ 10MB ์ˆ˜์ค€์˜ ๋ฉ”๋ชจ๋ฆฌ๋กœ๋„ ๋™์ž‘ ๊ฐ€๋Šฅํ•œ ์ดˆ๊ฒฝ๋Ÿ‰ ๊ตฌ์กฐ๋ฅผ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.
    • ๊ฒฐ๊ณผ์ ์œผ๋กœ RustCost๋Š” ๋ณต์žกํ•œ FinOps ํ”Œ๋žซํผ์„ ๋Œ€์ฒดํ•˜๊ธฐ๋ณด๋‹ค, ์šด์˜์ž๊ฐ€ ๋น„์šฉ์„ โ€˜์ •์˜โ€™ํ•˜๋Š” ๋Œ€์‹  โ€˜์ดํ•ดโ€™ํ•˜๊ณ  โ€˜๊ฐœ์„ โ€™ํ•˜๋„๋ก ๋•๋Š” ์กฐ์šฉํ•˜์ง€๋งŒ ๊ฐ•๋ ฅํ•œ ๊ด€์ธก ๋„๊ตฌ๋ฅผ ์ง€ํ–ฅํ•ฉ๋‹ˆ๋‹ค.
  • Background / Introduction (EN):

    • Observability in Kubernetes environments is expanding beyond simply monitoring systems to understanding and optimizing operational costs. However, achieving cost awareness (Showback) and responsibility-based management (Chargeback) requires a lightweight and transparent observation tool that doesnโ€™t demand a large-scale FinOps platform.
    • RustCost was created to solve this specific problem. It is more than just a monitoring tool; it is a lightweight FinOps Observability tool designed to help users intuitively understand cluster-level resource usage and cost structures.
    • RustCost is built on a philosophy that supports two core FinOps approach models:
      • Showback โ€” Increasing cost awareness by transparently disclosing the resource consumption status of each team and service.
      • Chargeback โ€” Encouraging responsible resource usage through actual cost billing structures when necessary.
    • To support both models, RustCost follows a design philosophy that balances accuracy and efficiency. It combines a high-performance backend based on Rust (Axum) with an intuitive React-based UI. By adopting a file-based storage structure instead of a database, it achieves an ultra-lightweight architecture capable of running on approximately 10MB of memory.
    • Ultimately, rather than replacing complex FinOps platforms, RustCost aims to be a quiet yet powerful observation tool that helps operators โ€œunderstandโ€ and โ€œimproveโ€ costs, rather than just โ€œdefiningโ€ them.
  • Core Values:

    • Knowledge Sovereignty (์ง€์‹ ์ฃผ๊ถŒ), Open Source (์˜คํ”ˆ ์†Œ์Šค)

2. ํŒ€ ๊ตฌ์„ฑ (The Team)

Roles and responsibilities for the member team.

์ด๋ฆ„ (Name) ID ์—ญํ•  (Role) SNS ์ฃผ์š” ์ฑ…์ž„ (Responsibilities - KR/EN)
์œ ๋Œ€๊ด‘ @newwor Team Leader Link ๋กœ๋“œ๋งต ๋ฐ ์ตœ์ข… ์˜์‚ฌ๊ฒฐ์ • / Roadmap & Final decision-making
๊น€์†กํ˜„ @manager Core Dev Link ํ•ต์‹ฌ ๊ธฐ๋Šฅ ๊ตฌํ˜„ / Core logic & API implementation
๊น€์ค€์„ฑ @devops.jean DevOps Link ์ธํ”„๋ผ ๋ฐ CI/CD ๊ด€๋ฆฌ / Infrastructure & CI/CD management
๋ฐ•๋™ํœ˜ Core Dev Link ํ•ต์‹ฌ ๊ธฐ๋Šฅ ๊ตฌํ˜„ / UI/UX implementation & client-side logic

3. ๊ธฐ์ˆ  ์Šคํƒ (Tech Stack)

  • Language: TypeScript, Rust
  • Infra: Kubernetes, Docker
  • Communication: Discord, GitHub Issues

4. ๋กœ๋“œ๋งต (Roadmap)

  • Phase 1: MVP ์š”๊ตฌ์‚ฌํ•ญ ์ •์˜ (MVP Requirement Definition)
  • Phase 2: ํ•ต์‹ฌ ๋ชจ๋“ˆ ๊ฐœ๋ฐœ ๋ฐ ์•ŒํŒŒ ํ…Œ์ŠคํŠธ (Core Module Dev & Alpha Test)
  • Phase 3: ๊ธ€๋กœ๋ฒŒ ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ณต๊ฐœ (Global Community Launch)

5. ์ฐธ์—ฌ ๋ฐฉ๋ฒ• (How to Contribute)

  • Issues: ๋ฒ„๊ทธ๋‚˜ ๊ธฐ๋Šฅ ์ œ์•ˆ์€ GitHub Issues๋ฅผ ํ™œ์šฉํ•˜์„ธ์š”. (Please use GitHub Issues for bug reports or feature requests.)
  • PRs: ๋ชจ๋“  Pull Request๋Š” Tech Lead์˜ ๊ฒ€ํ†  ํ›„ ๋ณ‘ํ•ฉ๋ฉ๋‹ˆ๋‹ค. (All PRs will be merged after review by the Tech Lead.)
  • Guide: [CONTRIBUTING.md] ํŒŒ์ผ์„ ์ฐธ๊ณ ํ•˜์„ธ์š”. (Please refer to the [CONTRIBUTING.md] file.)
  • Discord (Official): [RustCost Invite Link]
    • KR: ์‹ค์‹œ๊ฐ„ ์†Œํ†ต ๋ฐ ๊ธฐ์ˆ  ์ง€์›์„ ์œ„ํ•œ ์ฑ„๋„์ž…๋‹ˆ๋‹ค.
    • EN: Official channel for real-time communication and technical support.

6. ๋ฆฌ์†Œ์Šค ๋ฐ ๋งํฌ (Resources & Links)

| This is a space where knowledge is not merely consumed, but respected, sovereign, and connectedโ€”shared together with cloud industry professionals (Bros).|
| ์ง€์‹์ด ์†Œ๋น„๋˜์ง€ ์•Š๊ณ  ์กด์ค‘ยท์ฃผ๊ถŒ๋ณด์žฅยท์—ฐ๊ฒฐ๋˜๋Š” ๊ณต๊ฐ„์œผ๋กœ ํด๋ผ์šฐ๋“œ ํ˜„์—… ์ „๋ฌธ๊ฐ€(Bro)์™€ ํ•จ๊ป˜ ๊ณต์œ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. |

2 Likes