AdminWeb Product and Price Information Guide - cloud-barista/cb-spider GitHub Wiki

โ€ป CB-Spider Multi-Cloud Price Information Documentation


[AdminWeb Multi-Cloud Price Information Guide]

  * AdminWeb์€ ์‰ฝ๊ณ  ๋น ๋ฅธ ๋ฐฉ๋ฒ•์œผ๋กœ CB-Spider์˜ ๊ธฐ๋Šฅ์„ ๊ฒฝํ—˜ํ•ด๋ณผ ์ˆ˜ ์žˆ๋‹ค. 
  * ๋ณธ ๊ฐ€์ด๋“œ๋Š” AdminWeb ๊ธฐ๋ฐ˜ ๋ฉ€ํ‹ฐ ํด๋ผ์šฐ๋“œ ๊ฐ€๊ฒฉ ์ •๋ณด ์กฐํšŒ ๋ฐฉ๋ฒ•์„ ๊ธฐ์ˆ  ํ•œ๋‹ค.
  * ์šฉ์–ด ๋ฐ ์ค„์ž„๋ง
    - Cloud: ๋ฌธ๋งฅ์ƒ CSP ์˜๋ฏธ๋กœ ํ™œ์šฉ๋  ์ˆ˜ ์žˆ์Œ
    - ์ œํ’ˆ ๋ฐ ๊ฐ€๊ฒฉ ์ •๋ณด, Product and Price Information, ๊ฐ€๊ฒฉ ์ •๋ณด, Price Info: ๋™์ผํ•œ ์˜๋ฏธ๋กœ ํ™œ์šฉ
  • ๋ณธ ๊ฐ€์ด๋“œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด 3๊ฐ€์ง€ ๋‹จ๊ณ„๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.
    • [์„ ์ˆ˜ ๊ณผ๋ชฉ] CB-Spider๊ฐ€ ์ œ๊ณตํ•˜๋Š” ์ œํ’ˆ ๋ฐ ๊ฐ€๊ฒฉ ์ •๋ณด์˜ ๊ธฐ๋Šฅ ๋ฐ ๊ทœ๊ฒฉ์„ ์ดํ•ดํ•˜๋Š” ๋‹จ๊ณ„

    • [์ค€๋น„ ๋‹จ๊ณ„] CB-Spider ์„ค์น˜ ๋ฐ ๋Œ€์ƒ CSP ์—ฐ๊ฒฐ ์„ค์ •์„ ๋“ฑ๋กํ•˜๋Š” ๋‹จ๊ณ„

    • [๊ธฐ๋Šฅ ํ™œ์šฉ] Multi-Cloud Price Info ์กฐํšŒ ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•˜๋Š” ๋‹จ๊ณ„

  • โ€ป ์ฐธ๊ณ : ๋Œ€๊ทœ๋ชจ PriceInfo์˜ AdminWeb ์ œ๊ณต ๋ฐฉ๋ฒ•


[์„ ์ˆ˜ ๊ณผ๋ชฉ]

[์ค€๋น„ ๋‹จ๊ณ„]

  1. CB-Spider ์„ค์น˜ ๋ฐ AdminWeb ์ ‘์†
  2. AdminWeb ๊ธฐ๋ฐ˜ Cloud ์—ฐ๊ฒฐ ์„ค์ • ๋ฐ ๋“ฑ๋ก

[๊ธฐ๋Šฅ ํ™œ์šฉ]

1. ๋Œ€์ƒ Cloud ์—ฐ๊ฒฐ ์„ ํƒ ๋ฐ Price ๋ฉ”๋‰ด ์„ ํƒ

  • โ‘  2.CONNECTION ๋ฉ”๋‰ด ์„ ํƒ
  • โ‘ก ๋“ฑ๋กํ•œ Cloud ์—ฐ๊ฒฐ ์ค‘ ๊ฐ€๊ฒฉ ์ •๋ณด๋ฅผ ์›ํ•˜๋Š” Cloud ์—ฐ๊ฒฐ ์„ ํƒ
  • โ‘ข ํ˜„์žฌ ์„ ํƒ๋œ CSP, Region/Zone ์ •๋ณด๊ฐ€ ํ‘œ์‹œ
  • โ‘ฃ Price ๋ฉ”๋‰ด ์„ ํƒ

2. ๋Œ€์ƒ ๋ฆฌ์ „ ๋ฐ Product Family ์„ ํƒ ๋ฐ Fetch(์กฐํšŒ) ์š”์ฒญ

  • Price ๋ฉ”๋‰ด ์„ ํƒ์œผ๋กœ ์—ด๋ฆฐ ์•„๋ž˜ ํ™”๋ฉด์—์„œ ๋Œ€์ƒ ๋ฆฌ์ „๊ณผ Product Family ์„ค์ • ํ›„ ๊ฐ€๊ฒฉ ์ •๋ณด ์กฐํšŒ ์š”์ฒญ
  • โ‘  Region ์„ ํƒ
  • โ‘ก Product Family ์„ ํƒ (Product Family๋Š” CSP ๋ฐ Region๋ณ„๋กœ ๋‹ค๋ฆ„)
  • โ‘ข Fetch ์š”์ฒญ (no filter ์š”์ฒญ ์˜ˆ์‹œ)

3. ํด๋ผ์šฐ๋“œ ์ œํ’ˆ ๋ฐ ๊ฐ€๊ฒฉ ์ •๋ณด Table View ์ œ๊ณต

  • ์กฐํšŒ ๊ฒฐ๊ณผ ์ œ๊ณต๋˜๋Š” ์ œํ’ˆ ๋ฐ ๊ฐ€๊ฒฉ ์ •๋ณด Table View ์ •๋ณด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.
  • โ‘  Product Info: ์„ ํƒํ•œ Product Family๋ฅผ ์„ค๋ช…ํ•˜๋Š” ์ œํ’ˆ ์ •๋ณด
  • โ‘ก {Cloud} Product Info: ๋Œ€์ƒ CSP๊ฐ€ ์ œ๊ณตํ•˜๋Š” ์›๋ณธ ์ œํ’ˆ ์ •๋ณด
    • {...} ํด๋ฆญ์‹œ CSP๊ฐ€ ์ œ๊ณตํ•˜๋Š” Json ํ˜•์‹์˜ ์›๋ณธ ์ œํ’ˆ ์ •๋ณด๊ฐ€ ํ‘œ์‹œ/์ˆจ๊ธฐ๊ธฐ ํ† ๊ธ€๋จ
  • โ‘ข Pricing Policies: ํ˜„์žฌ ์ œํ’ˆ์— ๋Œ€ํ•ด ์ œ๊ณต๋˜๋Š” ๊ฐ€๊ฒฉ ์ •์ฑ… ๋ฐ ๊ฐ€๊ฒฉ ์กฐ๊ฑด ๋“ฑ์˜ ์ •๋ณด ์ œ๊ณต
  • โ‘ฃ {Cloud} Price Info: ๋Œ€์ƒ CSP๊ฐ€ ์ œ๊ณตํ•˜๋Š” ์›๋ณธ ๊ฐ€๊ฒฉ ์ •์ฑ… ๋ฐ ๊ฐ€๊ฒฉ ์ •๋ณด
    • {...} ํด๋ฆญ์‹œ CSP๊ฐ€ ์ œ๊ณตํ•˜๋Š” Json ํ˜•์‹์˜ ์›๋ณธ ๊ฐ€๊ฒฉ ์ •์ฑ… ๋ฐ ๊ฐ€๊ฒฉ ์ •๋ณด๊ฐ€ ํ‘œ์‹œ/์ˆจ๊ธฐ๊ธฐ ํ† ๊ธ€๋จ

4. ํด๋ผ์šฐ๋“œ ์ œํ’ˆ ๋ฐ ๊ฐ€๊ฒฉ ์ •๋ณด Json View ์ œ๊ณต

  • โ‘  JSON View ๋ฒ„ํŠผ: ํด๋ฆญํ•˜๋ฉด Table View์—์„œ Json View ๋ชจ๋“œ๋กœ ์ „ํ™˜
  • โ‘  Table View ๋ฒ„ํŠผ: Json View์—์„œ Table View ๋ชจ๋“œ๋กœ ์ „ํ™˜
  • โ‘ก ๋ณต์‚ฌ ๋ฒ„ํŠผ: โ‘ข Json ๋‚ด์šฉ์„ ํด๋ฆฝ๋ณด๋“œ์— ๋ณต์‚ฌ
  • โ‘ข Json ๋ฌธ์ž์—ด: CB-Spider Multi-Cloud Price Info JSON ๊ทœ๊ฒฉ์„ ์ค€์ˆ˜ํ•˜๋Š” Json Price Info ๊ฐ€๊ฒฉ ์ •๋ณด
  • โ‘ฃ X ๋ฒ„ํŠผ: ํ˜„์žฌ ์ฐฝ์„ ๋‹ซ๊ณ , Cloud ๊ฐ€๊ฒฉ ์ •๋ณด ์กฐํšŒ ์„ค์ • ํ™”๋ฉด์œผ๋กœ ๋Œ์•„๊ฐ

5. Filter ํ™œ์šฉํ•œ ํด๋ผ์šฐ๋“œ ์ œํ’ˆ ๋ฐ ๊ฐ€๊ฒฉ ์ •๋ณด ์กฐํšŒ

  • Cloud ๊ฐ€๊ฒฉ ์ •๋ณด๋Š” ๋Œ€์ฒด๋กœ ์–‘์ด ๋ฐฉ๋Œ€ํ•˜๋ฉฐ, ์‚ฌ์šฉ์ž๋Š” Filter๋ฅผ ๊ฑธ์–ด์„œ ๋ฐ˜ํ™˜ ๋˜๋Š” ๊ฒฐ๊ณผ๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค.
  • ์‚ฌ์šฉ์ž๋Š” ๋ฐ˜ํ™˜๋˜๋Š” ๊ฒฐ๊ณผ JSON ๊ตฌ์กฐ ๋ฐ ๊ฐ’์„ ํ™•์ธ ํ›„ Filter์˜ ๊ฐœ์„  ๋ฐ ์žฌ ์š”์ฒญํ•˜์—ฌ ๋ฐ˜ํ™˜ ๊ฒฐ๊ณผ์˜ ์–‘ ๋ฐ ๋งŒ์กฑ๋„๋ฅผ ํ–ฅ์ƒ ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค.
  • Filter ๊ด€๋ จ ์ฐธ๊ณ 
  • Filter ํ™œ์šฉํ•œ ์ œํ’ˆ ๋ฐ ๊ฐ€๊ฒฉ ์ •๋ณด ์กฐํšŒ ์„ค์ • ๋ฐฉ๋ฒ•
    • โ‘  Gen... ๋ฒ„ํŠผ: Filter ์ƒ์„ฑ ๋„๊ตฌ ์š”์ฒญ (์•„๋ž˜ Filter ์ƒ์„ฑ ๋„๊ตฌ ์ฐธ๊ณ )
    • โ‘ก Filter ์ฐฝ: ์‚ฌ์šฉ์ž ์ž…๋ ฅ ๋˜๋Š” Filter ์ƒ์„ฑ ๋„๊ตฌ๋ฅผ ์ด์šฉํ•ด ์ƒ์„ฑํ•œ Json ํ˜•์‹์˜ Filter ๋ฌธ์ž์—ด ์ž…๋ ฅ
      • Filter ์ฐฝ์— ์œ ํšจํ•œ Filter ์กด์žฌ์‹œ ๊ฐ€๊ฒฉ ์ •๋ณด fetch์‹œ Filter ์กฐ๊ฑด์— ๋งŒ์กฑํ•˜๋Š” ์ •๋ณด๋งŒ ์ œ๊ณตํ•œ๋‹ค.

6. Filter ์ƒ์„ฑ ๋„๊ตฌ

  • AdminWeb์€ Json ํ˜•์‹์˜ Filter ์ž‘์„ฑ ํŽธ์˜์„ฑ ์ œ๊ณต ๋ฐ json Validation ๋ณด์žฅ์„ ์œ„ํ•˜์—ฌ

  • ๋‹ค์Œ๊ณผ ๊ฐ™์€ Filter ์ƒ์„ฑ ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•˜๋ฉฐ, ์‚ฌ์šฉ ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  • โ‘  ์ œํ’ˆ ๋ฐ ๊ฐ€๊ฒฉ ์ •๋ณด ์†์„ฑ๋ณ„ Filter ์ž…๋ ฅ ์ฐฝ์— ์„ ํƒํ•˜๊ณ ์ž ํ•˜๋Š” ์ œํ’ˆ ๋ฐ ๊ฐ€๊ฒฉ ์ •๋ณด๋ฅผ ์ž…๋ ฅ

    • Filter ์ •๋ณด๊ฐ€ ์ž…๋ ฅ๋˜๋ฉด, โ‘ข Filter ์ฐฝ์— ์œ ํšจํ•œ Json Filter ์ •๋ณด๊ฐ€ ์ƒ์„ฑ๋œ๋‹ค.
  • โ‘ก Clear, Confirm, Close ๋ฒ„ํŠผ ์ œ๊ณต

    • Clear ๋ฒ„ํŠผ: ์ž‘์—… ์ค‘์ธ ์ž…๋ ฅ ์ฐฝ ๋ฐ Filter ์ฐฝ์˜ ์ •๋ณด๋ฅผ ์ง€์šด๋‹ค.
    • Confirm ๋ฒ„ํŠผ: ํ˜„์žฌ Filter ์ƒ์„ฑ ๋„๊ตฌ๋ฅผ ๋‹ซ๊ณ ,
      • Filter ์ƒ์„ฑ ๋„๊ตฌ Filter ์ฐฝ์˜ ๋‚ด์šฉ์„ Cloud ๊ฐ€๊ฒฉ ์ •๋ณด ์กฐํšŒ ์„ค์ • ํ™”๋ฉด์˜ Filter ์ฐฝ์˜ Filter ๊ฐ’์œผ๋กœ ์„ค์ •
    • Close ๋˜๋Š” โ‘ค X ๋ฒ„ํŠผ : ํ˜„์žฌ ์ฐฝ์„ ๋‹ซ๊ณ , Cloud ๊ฐ€๊ฒฉ ์ •๋ณด ์กฐํšŒ ์„ค์ • ํ™”๋ฉด์œผ๋กœ ๋Œ์•„๊ฐ
  • โ‘ข Filter ์ฐฝ: โ‘  ์ž…๋ ฅ ์ฐฝ์— ์˜ํ•œ ์ƒ์„ฑ๋œ Json ํ˜•์‹ Filter ๋ฌธ์ž์—ด ์ œ๊ณต

  • โ‘ฃ ๋ณต์‚ฌ ๋ฒ„ํŠผ: โ‘ข Json Filter ๋‚ด์šฉ์„ ํด๋ฆฝ๋ณด๋“œ์— ๋ณต์‚ฌ

[์ฐธ๊ณ ] ๋Œ€๊ทœ๋ชจ PriceInfo์˜ AdminWeb ์ œ๊ณต ๋ฐฉ๋ฒ•

  • ๋Œ€๊ทœ๋ชจ PriceInfo์˜ ๊ฒฝ์šฐ Browser์—์„œ ํ‘œ์‹œ ๋ถˆ๊ฐ€๋Šฅํ•จ
  • AdminWeb์—์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฐฉ๋ฒ•์œผ๋กœ ์ถ•์•ฝํ•˜์—ฌ ์ œ๊ณต
  • Browser๋กœ๋Š” 200 product ์ •๋ณด๋งŒ ์ œ๊ณต(์•„๋ž˜ ๊ทธ๋ฆผ ์ฐธ๊ณ )
    • Fetch ๊ฒฐ๊ณผ๋กœ ์–ป์€ ์ „์ฒด ์ œํ’ˆ/๊ฐ€๊ฒฉ ๊ฐœ์ˆ˜๋ฅผ ์ œ๊ณต
    • ๊ฒฐ๊ณผ๊ฐ€ 200๊ฐœ ์ด์ƒ์ผ ๊ฒฝ์šฐ์—๋Š” ๊ด€๋ จ ๊ฐ€์ด๋“œ ๋ฉ”์‹œ์ง€ ์ œ๊ณต
    • JSON Veiw ๋˜๋Š” Table View๋Š” 200๊ฐœ ๊นŒ์ง€์˜ ์ œํ’ˆ/๊ฐ€๊ฒฉ ์ •๋ณด๋งŒ ์ œ๊ณต
    • ์ „์ฒด ์ œํ’ˆ/๊ฐ€๊ฒฉ ์ •๋ณด๋ฅผ ์›ํ•  ๊ฒฝ์šฐ Json ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œํ•˜์—ฌ ํ™œ์šฉ(JSON Download ๋ฒ„ํŠผ ํด๋ฆญ)
    • โ€ป 200๊ฐœ ๊ธฐ์ค€์€ ๋ณ€๊ฒฝ/์ €์ •๋  ์ˆ˜ ์žˆ์Œ
  • 200๊ฐœ ์ด์ƒ์„ ์ œ๊ณตํ•˜๋Š” AWS ์ œ๊ณต ํ™”๋ฉด ์˜ˆ์‹œ
    • image
  • ์ฐธ๊ณ : ํ•„์š”์‹œ, Caching๋œ PriceInfo json ํŒŒ์ผ ์ฐธ๊ณ  ๊ฐ€๋Šฅ(์œ ์ง€:1Day)
    • ์บ์‹œ ์œ„์น˜: cb-spider/cache/priceinfo

      • image
    • ์บ์‹ฑ ํŒŒ์ผ ์ €์žฅํ•  ๋•Œ ๋งˆ๋‹ค, ํ•˜๋ฃจ ์ด์ƒ ์ง€๋‚œ ๋ชจ๋“  ์บ์‹œ ํŒŒ์ผ์€ ์‚ญ์ œ๋จ