แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒกแƒขแƒ แƒแƒขแƒ”แƒ’แƒ˜แƒ”แƒ‘แƒ˜ Kubernetes-แƒจแƒ˜: แƒ›แƒแƒซแƒ แƒแƒ•แƒ˜, แƒฎแƒ”แƒšแƒแƒฎแƒšแƒ แƒจแƒ”แƒฅแƒ›แƒœแƒ, แƒšแƒฃแƒ แƒฏแƒ˜/แƒ›แƒฌแƒ•แƒแƒœแƒ”, แƒ™แƒแƒœแƒแƒ แƒ˜แƒก, แƒ›แƒฃแƒฅแƒ˜ (A/B แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ)

แƒจแƒ”แƒœแƒ˜แƒจแƒ•แƒœแƒ แƒ—แƒแƒ แƒ’แƒ›แƒแƒœแƒ˜: Weaveworks-แƒ˜แƒก แƒ”แƒก แƒ›แƒ˜แƒ›แƒแƒฎแƒ˜แƒšแƒ•แƒ แƒฌแƒแƒ แƒ›แƒแƒ’แƒ˜แƒ“แƒ’แƒ”แƒœแƒ— แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ•แƒ แƒชแƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒžแƒแƒžแƒฃแƒšแƒแƒ แƒฃแƒš แƒกแƒขแƒ แƒแƒขแƒ”แƒ’แƒ˜แƒ”แƒ‘แƒก แƒ“แƒ แƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒก, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ“แƒ”แƒก แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒ›แƒแƒฌแƒ˜แƒœแƒแƒ•แƒ”แƒ”แƒ‘แƒ˜ Kubernetes Flagger แƒแƒžแƒ”แƒ แƒแƒขแƒแƒ แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—. แƒ˜แƒก แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜ แƒ”แƒœแƒ˜แƒ— แƒแƒ แƒ˜แƒก แƒ“แƒแƒฌแƒ”แƒ แƒ˜แƒšแƒ˜ แƒ“แƒ แƒจแƒ”แƒ˜แƒชแƒแƒ•แƒก แƒ•แƒ˜แƒ–แƒฃแƒแƒšแƒฃแƒ  แƒ“แƒ˜แƒแƒ’แƒ แƒแƒ›แƒ”แƒ‘แƒก, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ“แƒแƒ›แƒฌแƒงแƒ”แƒ‘ แƒ˜แƒœแƒŸแƒ˜แƒœแƒ แƒ”แƒ‘แƒกแƒแƒช แƒ™แƒ˜ แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒแƒซแƒšแƒ”แƒ•แƒก แƒ’แƒแƒ˜แƒ’แƒแƒœ แƒ”แƒก แƒกแƒแƒ™แƒ˜แƒ—แƒฎแƒ˜.

แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒกแƒขแƒ แƒแƒขแƒ”แƒ’แƒ˜แƒ”แƒ‘แƒ˜ Kubernetes-แƒจแƒ˜: แƒ›แƒแƒซแƒ แƒแƒ•แƒ˜, แƒฎแƒ”แƒšแƒแƒฎแƒšแƒ แƒจแƒ”แƒฅแƒ›แƒœแƒ, แƒšแƒฃแƒ แƒฏแƒ˜/แƒ›แƒฌแƒ•แƒแƒœแƒ”, แƒ™แƒแƒœแƒแƒ แƒ˜แƒก, แƒ›แƒฃแƒฅแƒ˜ (A/B แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ)
แƒ“แƒ˜แƒแƒ’แƒ แƒแƒ›แƒ แƒแƒฆแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒกแƒแƒ˜แƒ“แƒแƒœ แƒ™แƒ˜แƒ“แƒ”แƒ• แƒ”แƒ แƒ—แƒ˜ แƒ›แƒ˜แƒ›แƒแƒฎแƒ˜แƒšแƒ•แƒ แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒกแƒขแƒ แƒแƒขแƒ”แƒ’แƒ˜แƒ”แƒ‘แƒ˜ แƒ“แƒแƒ›แƒ–แƒแƒ“แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ Container Solutions-แƒจแƒ˜

แƒ“แƒฆแƒ”แƒก แƒฆแƒ แƒฃแƒ‘แƒšแƒแƒ•แƒแƒœแƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ˜แƒก แƒ”แƒ แƒ—-แƒ”แƒ แƒ—แƒ˜ แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒ“แƒ˜แƒ“แƒ˜ แƒ’แƒแƒ›แƒแƒฌแƒ•แƒ”แƒ•แƒ แƒแƒ แƒ˜แƒก แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒฉแƒฅแƒแƒ แƒ”แƒ‘แƒ. แƒ›แƒ˜แƒ™แƒ แƒแƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒ“แƒ’แƒแƒ›แƒ˜แƒ—, แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒ”แƒ‘แƒ˜ แƒฃแƒ™แƒ•แƒ” แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ”แƒœ แƒ“แƒ แƒฅแƒ›แƒœแƒ˜แƒแƒœ แƒกแƒ แƒฃแƒšแƒ˜แƒแƒ“ แƒ›แƒแƒ“แƒฃแƒšแƒฃแƒ  แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒก, แƒ แƒแƒช แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒ’แƒฃแƒœแƒ“แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒแƒซแƒšแƒ”แƒ•แƒก แƒ”แƒ แƒ—แƒ“แƒ แƒแƒฃแƒšแƒแƒ“ แƒ“แƒแƒฌแƒ”แƒ แƒแƒœ แƒ™แƒแƒ“แƒ˜ แƒ“แƒ แƒ’แƒแƒœแƒแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒแƒœ แƒชแƒ•แƒšแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒจแƒ˜.

แƒฎแƒแƒœแƒ›แƒแƒ™แƒšแƒ” แƒ“แƒ แƒฃแƒคแƒ แƒ แƒฎแƒจแƒ˜แƒ แƒ˜ แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ แƒแƒฅแƒ•แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒฃแƒžแƒ˜แƒ แƒแƒขแƒ”แƒกแƒแƒ‘แƒ”แƒ‘แƒ˜:

  • แƒ‘แƒแƒ–แƒแƒ แƒ–แƒ” แƒ’แƒแƒกแƒ•แƒšแƒ˜แƒก แƒ“แƒ แƒ แƒจแƒ”แƒ›แƒชแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ.
  • แƒแƒฎแƒแƒšแƒ˜ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜ แƒฃแƒคแƒ แƒ แƒกแƒฌแƒ แƒแƒคแƒแƒ“ แƒแƒฆแƒฌแƒ”แƒ•แƒก แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒก.
  • แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒ’แƒแƒ›แƒแƒฎแƒ›แƒแƒฃแƒ แƒ”แƒ‘แƒ แƒฃแƒคแƒ แƒ แƒกแƒฌแƒ แƒแƒคแƒแƒ“ แƒแƒฆแƒฌแƒ”แƒ•แƒก แƒ’แƒแƒœแƒ•แƒ˜แƒ—แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒ’แƒฃแƒœแƒ“แƒก. แƒ”แƒก แƒœแƒ˜แƒจแƒœแƒแƒ•แƒก, แƒ แƒแƒ› แƒ’แƒฃแƒœแƒ“แƒก แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒ“แƒแƒแƒ›แƒแƒขแƒแƒก แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒ›แƒแƒแƒ’แƒ•แƒแƒ แƒแƒก แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒฃแƒคแƒ แƒ แƒกแƒฌแƒ แƒแƒคแƒแƒ“.
  • แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒ˜แƒก แƒ›แƒแƒ แƒแƒšแƒ˜ แƒ˜แƒ–แƒ แƒ“แƒ”แƒ‘แƒ: แƒฃแƒคแƒ แƒ แƒกแƒแƒฎแƒแƒšแƒ˜แƒกแƒแƒ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ แƒ’แƒแƒœแƒ•แƒ˜แƒ—แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒžแƒ แƒแƒชแƒ”แƒกแƒจแƒ˜.


แƒ›แƒแƒ’แƒ แƒแƒ› แƒ แƒแƒช แƒ˜แƒ–แƒ แƒ“แƒ”แƒ‘แƒ แƒ’แƒแƒ›แƒแƒจแƒ•แƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒฎแƒจแƒ˜แƒ แƒ”, แƒแƒกแƒ”แƒ•แƒ” แƒ˜แƒ–แƒ แƒ“แƒ”แƒ‘แƒ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒกแƒแƒœแƒ“แƒแƒแƒ‘แƒแƒ–แƒ” แƒแƒœ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒ’แƒแƒ›แƒแƒชแƒ“แƒ˜แƒšแƒ”แƒ‘แƒแƒ–แƒ” แƒฃแƒแƒ แƒงแƒแƒคแƒ˜แƒ—แƒ˜ แƒ–แƒ”แƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒ˜แƒก แƒจแƒแƒœแƒกแƒ”แƒ‘แƒ˜. แƒกแƒฌแƒแƒ แƒ”แƒ“ แƒแƒ›แƒ˜แƒขแƒแƒ› แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœแƒ˜แƒ แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒกแƒ แƒ“แƒ DevOps แƒ’แƒฃแƒœแƒ“แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒแƒœ แƒžแƒ แƒแƒชแƒ”แƒกแƒ”แƒ‘แƒ˜ แƒ“แƒ แƒ›แƒแƒ แƒ—แƒแƒœ แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒกแƒขแƒ แƒแƒขแƒ”แƒ’แƒ˜แƒ”แƒ‘แƒ˜ แƒ˜แƒกแƒ”, แƒ แƒแƒ› แƒ›แƒ˜แƒœแƒ˜แƒ›แƒฃแƒ›แƒแƒ›แƒ“แƒ” แƒ“แƒแƒ˜แƒงแƒ•แƒแƒœแƒแƒœ แƒ แƒ˜แƒกแƒ™แƒ˜ แƒžแƒ แƒแƒ“แƒฃแƒฅแƒขแƒ˜แƒกแƒ แƒ“แƒ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. (แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ’แƒแƒ˜แƒ’แƒแƒ— แƒ›แƒ”แƒขแƒ˜ CI/CD แƒ›แƒ˜แƒšแƒกแƒแƒ“แƒ”แƒœแƒ˜แƒก แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ แƒแƒฅ.)

แƒแƒ› แƒžแƒแƒกแƒขแƒจแƒ˜ แƒ’แƒแƒœแƒ•แƒ˜แƒฎแƒ˜แƒšแƒแƒ•แƒ— Kubernetes-แƒจแƒ˜ แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒกแƒขแƒ แƒแƒขแƒ”แƒ’แƒ˜แƒแƒก, แƒ›แƒแƒ— แƒจแƒแƒ แƒ˜แƒก แƒ›แƒแƒซแƒ แƒแƒ•แƒ˜ แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒกแƒ แƒ“แƒ แƒฃแƒคแƒ แƒ แƒ›แƒแƒฌแƒ˜แƒœแƒแƒ•แƒ” แƒ›แƒ”แƒ—แƒแƒ“แƒ”แƒ‘แƒก, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ แƒ™แƒแƒœแƒแƒ แƒ˜แƒก แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ แƒ“แƒ แƒ›แƒแƒ—แƒ˜ แƒ•แƒแƒ แƒ˜แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜.

แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒกแƒขแƒ แƒแƒขแƒ”แƒ’แƒ˜แƒ”แƒ‘แƒ˜

แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒ’แƒแƒœแƒกแƒฎแƒ•แƒแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒขแƒ˜แƒžแƒ˜แƒก แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒกแƒขแƒ แƒแƒขแƒ”แƒ’แƒ˜แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒ— แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒ›แƒ˜แƒ–แƒœแƒ˜แƒ“แƒแƒœ แƒ’แƒแƒ›แƒแƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ”. แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ“แƒแƒ’แƒญแƒ˜แƒ แƒ“แƒ”แƒ— แƒชแƒ•แƒšแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒขแƒแƒœแƒ แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒš แƒ’แƒแƒ แƒ”แƒ›แƒแƒจแƒ˜ แƒจแƒ”แƒ›แƒ“แƒ’แƒแƒ›แƒ˜ แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒแƒœ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜แƒก/แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ”แƒ‘แƒ˜แƒก แƒฅแƒ•แƒ”แƒฏแƒ’แƒฃแƒคแƒจแƒ˜, แƒแƒœ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ“แƒแƒ’แƒญแƒ˜แƒ แƒ“แƒ”แƒ— แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒจแƒ”แƒ–แƒฆแƒฃแƒ“แƒฃแƒšแƒ˜ แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒฉแƒแƒขแƒแƒ แƒ”แƒ‘แƒ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒแƒ›แƒ“แƒ”. แƒกแƒแƒฏแƒแƒ แƒ.

แƒ›แƒแƒซแƒ แƒแƒ•แƒ˜ (แƒ”แƒขแƒแƒžแƒแƒ‘แƒ แƒ˜แƒ•แƒ˜, โ€žแƒ›แƒแƒซแƒ แƒแƒ•แƒ˜โ€œ แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ)

แƒ”แƒก แƒแƒ แƒ˜แƒก แƒกแƒขแƒแƒœแƒ“แƒแƒ แƒขแƒฃแƒšแƒ˜ แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒกแƒขแƒ แƒแƒขแƒ”แƒ’แƒ˜แƒ Kubernetes-แƒจแƒ˜. แƒ˜แƒก แƒ—แƒแƒœแƒ“แƒแƒ—แƒแƒœ, แƒกแƒแƒ—แƒ˜แƒ—แƒแƒแƒ“, แƒแƒœแƒแƒชแƒ•แƒšแƒ”แƒ‘แƒก แƒžแƒแƒ“แƒ”แƒ‘แƒก แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒซแƒ•แƒ”แƒšแƒ˜ แƒ•แƒ”แƒ แƒกแƒ˜แƒ˜แƒ— แƒžแƒแƒ“แƒ”แƒ‘แƒ˜แƒ— แƒแƒฎแƒแƒšแƒ˜ แƒ•แƒ”แƒ แƒกแƒ˜แƒ˜แƒ— - แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒฃแƒšแƒ˜ แƒจแƒ”แƒคแƒ”แƒ แƒฎแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”.

แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒกแƒขแƒ แƒแƒขแƒ”แƒ’แƒ˜แƒ”แƒ‘แƒ˜ Kubernetes-แƒจแƒ˜: แƒ›แƒแƒซแƒ แƒแƒ•แƒ˜, แƒฎแƒ”แƒšแƒแƒฎแƒšแƒ แƒจแƒ”แƒฅแƒ›แƒœแƒ, แƒšแƒฃแƒ แƒฏแƒ˜/แƒ›แƒฌแƒ•แƒแƒœแƒ”, แƒ™แƒแƒœแƒแƒ แƒ˜แƒก, แƒ›แƒฃแƒฅแƒ˜ (A/B แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ)

Kubernetes แƒ”แƒšแƒแƒ“แƒ”แƒ‘แƒ, แƒกแƒแƒœแƒแƒ› แƒแƒฎแƒแƒšแƒ˜ แƒ แƒ’แƒแƒšแƒ”แƒ‘แƒ˜ แƒ›แƒ–แƒแƒ“ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒกแƒแƒ›แƒฃแƒจแƒแƒแƒ“ (แƒจแƒ”แƒแƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒก แƒ›แƒแƒ— แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— แƒ›แƒ–แƒแƒ“แƒงแƒแƒคแƒœแƒ˜แƒก แƒขแƒ”แƒกแƒขแƒ”แƒ‘แƒ˜), แƒกแƒแƒœแƒแƒ› แƒซแƒ•แƒ”แƒšแƒ”แƒ‘แƒก แƒ“แƒแƒ˜แƒฌแƒงแƒ”แƒ‘แƒ—. แƒ—แƒฃ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ แƒฌแƒแƒ แƒ›แƒแƒ˜แƒฅแƒ›แƒœแƒ”แƒ‘แƒ, แƒ”แƒก แƒ›แƒแƒซแƒ แƒแƒ•แƒ˜ แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒจแƒ”แƒฌแƒงแƒ“แƒ”แƒก แƒ›แƒ—แƒ”แƒšแƒ˜ แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜แƒก แƒจแƒ”แƒฉแƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”. YAML แƒคแƒแƒ˜แƒšแƒจแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒฆแƒฌแƒ”แƒ แƒก แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒขแƒ˜แƒžแƒก, แƒแƒฎแƒแƒšแƒ˜ แƒกแƒฃแƒ แƒแƒ—แƒ˜ แƒชแƒ•แƒšแƒ˜แƒก แƒซแƒ•แƒ”แƒš แƒกแƒฃแƒ แƒแƒ—แƒก:

apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: awesomeapp
spec:
  replicas: 3
  template:
    metadata:
      labels:
        app: awesomeapp
    spec:
      containers:
        - name: awesomeapp
          image: imagerepo-user/awesomeapp:new
          ports:
            - containerPort: 8080

rollover แƒ’แƒแƒœแƒแƒฎแƒšแƒ”แƒ‘แƒ˜แƒก แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ”แƒ‘แƒ˜ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ›แƒ˜แƒ—แƒ˜แƒ—แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ˜แƒงแƒแƒก manifest แƒคแƒแƒ˜แƒšแƒจแƒ˜:

spec:
  replicas: 3
  strategy:
    type: RollingUpdate
    rollingUpdate:
       maxSurge: 25%
       maxUnavailable: 25%  
  template:
  ...

แƒฎแƒ”แƒšแƒแƒฎแƒšแƒ แƒจแƒ”แƒฅแƒ›แƒœแƒ

แƒแƒ› แƒฃแƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ”แƒกแƒ˜ แƒขแƒ˜แƒžแƒ˜แƒก แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒกแƒแƒก, แƒซแƒ•แƒ”แƒšแƒ˜ แƒฆแƒ”แƒ แƒแƒ”แƒ‘แƒ˜ แƒ”แƒ แƒ—แƒ“แƒ แƒแƒฃแƒšแƒแƒ“ แƒ˜แƒฆแƒฃแƒžแƒ”แƒ‘แƒ แƒ“แƒ แƒ˜แƒชแƒ•แƒšแƒ”แƒ‘แƒ แƒแƒฎแƒšแƒ˜แƒ—:

แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒกแƒขแƒ แƒแƒขแƒ”แƒ’แƒ˜แƒ”แƒ‘แƒ˜ Kubernetes-แƒจแƒ˜: แƒ›แƒแƒซแƒ แƒแƒ•แƒ˜, แƒฎแƒ”แƒšแƒแƒฎแƒšแƒ แƒจแƒ”แƒฅแƒ›แƒœแƒ, แƒšแƒฃแƒ แƒฏแƒ˜/แƒ›แƒฌแƒ•แƒแƒœแƒ”, แƒ™แƒแƒœแƒแƒ แƒ˜แƒก, แƒ›แƒฃแƒฅแƒ˜ (A/B แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ)

แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒ˜ แƒ›แƒแƒœแƒ˜แƒคแƒ”แƒกแƒขแƒ˜ แƒแƒกแƒ” แƒ’แƒแƒ›แƒแƒ˜แƒงแƒฃแƒ แƒ”แƒ‘แƒ:

spec:
  replicas: 3
  strategy:
    type: Recreate
  template:
  ...

แƒšแƒฃแƒ แƒฏแƒ˜/แƒ›แƒฌแƒ•แƒแƒœแƒ” (แƒšแƒฃแƒ แƒฏแƒ˜-แƒ›แƒฌแƒ•แƒแƒœแƒ” แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ)

แƒšแƒฃแƒ แƒฏ-แƒ›แƒฌแƒ•แƒแƒœแƒ” แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒกแƒขแƒ แƒแƒขแƒ”แƒ’แƒ˜แƒ (แƒ–แƒแƒ’แƒฏแƒ”แƒ  แƒ›แƒแƒก แƒฌแƒ˜แƒ—แƒ”แƒš/แƒจแƒแƒ•แƒกแƒแƒช แƒฃแƒฌแƒแƒ“แƒ”แƒ‘แƒ”แƒœ) แƒ›แƒแƒ˜แƒชแƒแƒ•แƒก แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒซแƒ•แƒ”แƒšแƒ˜ (แƒ›แƒฌแƒ•แƒแƒœแƒ”) แƒ“แƒ แƒแƒฎแƒแƒšแƒ˜ (แƒšแƒฃแƒ แƒฏแƒ˜) แƒ•แƒ”แƒ แƒกแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ”แƒ แƒ—แƒ“แƒ แƒแƒฃแƒš แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒแƒก. แƒแƒ แƒ˜แƒ•แƒ” แƒ•แƒ”แƒ แƒกแƒ˜แƒ˜แƒก แƒ’แƒแƒ›แƒแƒฅแƒ•แƒ”แƒงแƒœแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒ แƒ”แƒ’แƒฃแƒšแƒแƒ แƒฃแƒš แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒก แƒแƒฅแƒ•แƒ— แƒฌแƒ•แƒ“แƒแƒ›แƒ แƒ›แƒฌแƒ•แƒแƒœแƒ”แƒ–แƒ”, แƒฎแƒแƒšแƒ แƒšแƒฃแƒ แƒฏแƒ˜ แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ›แƒ˜แƒ QA แƒ’แƒฃแƒœแƒ“แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒขแƒ”แƒกแƒขแƒ”แƒ‘แƒ˜แƒก แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒชแƒแƒšแƒ™แƒ” แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒแƒœ แƒžแƒ˜แƒ แƒ“แƒแƒžแƒ˜แƒ แƒ˜ แƒžแƒแƒ แƒขแƒ˜แƒก แƒ’แƒแƒ’แƒ–แƒแƒ•แƒœแƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ—:

แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒกแƒขแƒ แƒแƒขแƒ”แƒ’แƒ˜แƒ”แƒ‘แƒ˜ Kubernetes-แƒจแƒ˜: แƒ›แƒแƒซแƒ แƒแƒ•แƒ˜, แƒฎแƒ”แƒšแƒแƒฎแƒšแƒ แƒจแƒ”แƒฅแƒ›แƒœแƒ, แƒšแƒฃแƒ แƒฏแƒ˜/แƒ›แƒฌแƒ•แƒแƒœแƒ”, แƒ™แƒแƒœแƒแƒ แƒ˜แƒก, แƒ›แƒฃแƒฅแƒ˜ (A/B แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ)

apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: awesomeapp-02
spec:
  template:
    metadata:
      labels:
        app: awesomeapp
        version: "02"

แƒšแƒฃแƒ แƒฏแƒ˜ (แƒแƒฎแƒแƒšแƒ˜) แƒ•แƒ”แƒ แƒกแƒ˜แƒ˜แƒก แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒกแƒ แƒ“แƒ แƒ›แƒ˜แƒกแƒ˜ แƒ’แƒแƒ›แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒ›แƒขแƒ™แƒ˜แƒชแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜ แƒ’แƒแƒ“แƒแƒ“แƒ˜แƒก แƒ›แƒแƒกแƒ–แƒ” แƒ“แƒ แƒ˜แƒ™แƒ”แƒชแƒ”แƒ‘แƒ แƒ›แƒฌแƒ•แƒแƒœแƒ” (แƒซแƒ•แƒ”แƒšแƒ˜) แƒ•แƒ”แƒ แƒกแƒ˜แƒ:

apiVersion: v1
kind: Service
metadata:
  name: awesomeapp
spec:
  selector:
    app: awesomeapp
    version: "02"
...

แƒ™แƒแƒœแƒแƒ แƒ˜ (แƒ™แƒแƒœแƒแƒ แƒ˜แƒก แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ)

Canary Rollouts แƒ›แƒกแƒ’แƒแƒ•แƒกแƒ˜แƒ แƒšแƒฃแƒ แƒฏ-แƒ›แƒแƒ›แƒฌแƒ•แƒแƒœแƒ แƒ แƒฃแƒšแƒแƒœแƒ”แƒ‘แƒ˜แƒก, แƒ›แƒแƒ’แƒ แƒแƒ› แƒแƒฅแƒ•แƒก แƒฃแƒ™แƒ”แƒ—แƒ”แƒกแƒ˜ แƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ˜ แƒ“แƒ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒžแƒ แƒแƒ’แƒ แƒ”แƒกแƒฃแƒšแƒ˜ แƒœแƒแƒ‘แƒ˜แƒฏ-แƒœแƒแƒ‘แƒ˜แƒฏ แƒ›แƒ˜แƒ“แƒ’แƒแƒ›แƒ. แƒ”แƒก แƒขแƒ˜แƒžแƒ˜ แƒ›แƒแƒ˜แƒชแƒแƒ•แƒก แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒ’แƒแƒœแƒกแƒฎแƒ•แƒแƒ•แƒ”แƒ‘แƒฃแƒš แƒกแƒขแƒ แƒแƒขแƒ”แƒ’แƒ˜แƒแƒก, แƒ›แƒแƒ— แƒจแƒแƒ แƒ˜แƒก โ€žแƒกแƒขแƒ”แƒšแƒกแƒ˜แƒกโ€œ แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒแƒก แƒ“แƒ A/B แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒแƒก.

แƒ”แƒก แƒกแƒขแƒ แƒแƒขแƒ”แƒ’แƒ˜แƒ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒ›แƒแƒจแƒ˜แƒœ, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒกแƒแƒญแƒ˜แƒ แƒแƒ แƒแƒฎแƒแƒšแƒ˜ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒชแƒ“แƒ, แƒ แƒแƒ’แƒแƒ แƒช แƒฌแƒ”แƒกแƒ˜, แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒฃแƒ™แƒแƒœแƒ แƒœแƒแƒฌแƒ˜แƒšแƒจแƒ˜. แƒ›แƒ˜แƒ“แƒ’แƒแƒ›แƒ˜แƒก แƒแƒ แƒกแƒ˜ แƒแƒ แƒ˜แƒก แƒแƒ แƒ˜ แƒ—แƒ˜แƒ—แƒฅแƒ›แƒ˜แƒก แƒ˜แƒ“แƒ”แƒœแƒขแƒฃแƒ แƒ˜ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ: แƒ”แƒ แƒ—แƒ˜ แƒ”แƒ›แƒกแƒแƒฎแƒฃแƒ แƒ”แƒ‘แƒ แƒ—แƒ˜แƒ—แƒฅแƒ›แƒ˜แƒก แƒงแƒ•แƒ”แƒšแƒ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒก, แƒฎแƒแƒšแƒ แƒ›แƒ”แƒแƒ แƒ”, แƒแƒฎแƒแƒšแƒ˜ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒ—, แƒ”แƒ›แƒกแƒแƒฎแƒฃแƒ แƒ”แƒ‘แƒ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ—แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ›แƒชแƒ˜แƒ แƒ” แƒฅแƒ•แƒ”แƒฏแƒ’แƒฃแƒคแƒก, แƒ แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒแƒช แƒฎแƒ“แƒ”แƒ‘แƒ แƒ›แƒแƒ—แƒ˜ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒก แƒจแƒ”แƒ“แƒ”แƒ’แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ“แƒแƒ แƒ”แƒ‘แƒ. แƒ—แƒฃ แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ” แƒ›แƒ˜แƒ“แƒ˜แƒก, แƒแƒฎแƒแƒšแƒ˜ แƒ•แƒ”แƒ แƒกแƒ˜แƒ แƒ—แƒแƒœแƒ“แƒแƒ—แƒแƒœ แƒ•แƒ แƒชแƒ”แƒšแƒ“แƒ”แƒ‘แƒ แƒ›แƒ—แƒ”แƒš แƒ˜แƒœแƒคแƒ แƒแƒกแƒขแƒ แƒฃแƒฅแƒขแƒฃแƒ แƒแƒ–แƒ”.

แƒ›แƒ˜แƒฃแƒฎแƒ”แƒ“แƒแƒ•แƒแƒ“ แƒ˜แƒ›แƒ˜แƒกแƒ, แƒ แƒแƒ› แƒ”แƒก แƒกแƒขแƒ แƒแƒขแƒ”แƒ’แƒ˜แƒ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ“แƒ”แƒก แƒ”แƒฅแƒกแƒ™แƒšแƒฃแƒ–แƒ˜แƒฃแƒ แƒแƒ“ Kubernetes-แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—, แƒซแƒ•แƒ”แƒšแƒ˜ แƒซแƒแƒคแƒ”แƒ‘แƒ˜แƒก แƒฉแƒแƒœแƒแƒชแƒ•แƒšแƒ”แƒ‘แƒ แƒแƒฎแƒšแƒ˜แƒ—, แƒ’แƒแƒชแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒ— แƒ›แƒแƒกแƒแƒฎแƒ”แƒ แƒฎแƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ“แƒ แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜แƒ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒฅแƒกแƒ”แƒšแƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ แƒ˜แƒกแƒขแƒ˜แƒ.

แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒฅแƒแƒœแƒ“แƒ”แƒ— แƒแƒ แƒ˜ แƒ’แƒแƒœแƒกแƒฎแƒ•แƒแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ›แƒแƒœแƒ˜แƒคแƒ”แƒกแƒขแƒ˜ Git-แƒจแƒ˜: แƒฉแƒ•แƒ”แƒฃแƒšแƒ”แƒ‘แƒ แƒ˜แƒ•แƒ˜ แƒ›แƒแƒœแƒ˜แƒคแƒ”แƒกแƒขแƒ˜ แƒขแƒ”แƒ’แƒ˜แƒ— 0.1.0 แƒ“แƒ แƒ™แƒแƒœแƒแƒ แƒ˜แƒก แƒ›แƒแƒœแƒ˜แƒคแƒ”แƒกแƒขแƒ˜ แƒขแƒ”แƒ’แƒ˜แƒ— 0.2.0. Istio แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ™แƒแƒ แƒ˜แƒ‘แƒญแƒ˜แƒก แƒ›แƒแƒœแƒ˜แƒคแƒ”แƒกแƒขแƒจแƒ˜ แƒฌแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒชแƒ•แƒšแƒ˜แƒ—, แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒแƒ™แƒแƒœแƒขแƒ แƒแƒšแƒแƒ— แƒขแƒ แƒแƒคแƒ˜แƒ™แƒ˜แƒก แƒ’แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒ แƒแƒ› แƒแƒ  แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒแƒก แƒจแƒแƒ แƒ˜แƒก:

แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒกแƒขแƒ แƒแƒขแƒ”แƒ’แƒ˜แƒ”แƒ‘แƒ˜ Kubernetes-แƒจแƒ˜: แƒ›แƒแƒซแƒ แƒแƒ•แƒ˜, แƒฎแƒ”แƒšแƒแƒฎแƒšแƒ แƒจแƒ”แƒฅแƒ›แƒœแƒ, แƒšแƒฃแƒ แƒฏแƒ˜/แƒ›แƒฌแƒ•แƒแƒœแƒ”, แƒ™แƒแƒœแƒแƒ แƒ˜แƒก, แƒ›แƒฃแƒฅแƒ˜ (A/B แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ)

Istio-แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— แƒ™แƒแƒœแƒแƒ แƒ˜แƒก แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒœแƒแƒ‘แƒ˜แƒฏ-แƒœแƒแƒ‘แƒ˜แƒฏ แƒกแƒแƒฎแƒ”แƒšแƒ›แƒซแƒฆแƒ•แƒแƒœแƒ”แƒšแƒ แƒ˜แƒฎ GitOps แƒกแƒแƒ›แƒฃแƒจแƒแƒ แƒœแƒแƒ™แƒแƒ“แƒ”แƒ‘แƒ˜ Istio-แƒกแƒ—แƒแƒœ แƒ”แƒ แƒ—แƒแƒ“. (แฒจแƒ”แƒœแƒ˜แƒจแƒ•แƒœแƒ. แƒ—แƒแƒ แƒ’แƒ›แƒœแƒ: แƒฉแƒ•แƒ”แƒœ แƒแƒกแƒ”แƒ•แƒ” แƒ•แƒ—แƒแƒ แƒ’แƒ›แƒœแƒ”แƒ— แƒ›แƒแƒกแƒแƒšแƒ แƒ™แƒแƒœแƒแƒ แƒ˜แƒก แƒ’แƒแƒ›แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ Istio-แƒ–แƒ” แƒแƒฅ.)

แƒ™แƒแƒœแƒแƒ แƒ˜แƒก แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ Weaveworks Flagger-แƒ˜แƒ—

Weaveworks Flagger แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒแƒ“ แƒ“แƒ แƒ”แƒคแƒ”แƒฅแƒขแƒฃแƒ แƒแƒ“ แƒ›แƒแƒ แƒ—แƒแƒ— แƒ™แƒแƒœแƒแƒ แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ•แƒแƒœแƒ.

Flagger แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒ˜แƒ–แƒ˜แƒ แƒ”แƒ‘แƒก แƒ›แƒแƒ—แƒ—แƒแƒœ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒแƒก. แƒ˜แƒก แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒก Istio-แƒก แƒแƒœ AWS App Mesh-แƒก แƒขแƒ แƒแƒคแƒ˜แƒ™แƒ˜แƒก แƒ›แƒแƒ แƒจแƒ แƒฃแƒขแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ“แƒ แƒ’แƒแƒ“แƒแƒ แƒ—แƒ•แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒฎแƒแƒšแƒ Prometheus-แƒ˜แƒก แƒ›แƒ”แƒขแƒ แƒ˜แƒ™แƒแƒก แƒจแƒ”แƒ“แƒ”แƒ’แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒกแƒแƒแƒœแƒแƒšแƒ˜แƒ–แƒ”แƒ‘แƒšแƒแƒ“. แƒ’แƒแƒ แƒ“แƒ แƒแƒ›แƒ˜แƒกแƒ, แƒ™แƒแƒœแƒแƒ แƒ˜แƒก แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒแƒœแƒแƒšแƒ˜แƒ–แƒก แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ“แƒแƒ”แƒ›แƒแƒขแƒแƒก webhooks แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒ˜แƒก แƒขแƒ”แƒกแƒขแƒ”แƒ‘แƒ˜แƒก, แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒขแƒ”แƒกแƒขแƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒ˜ แƒกแƒฎแƒ•แƒ แƒขแƒ˜แƒžแƒ˜แƒก แƒจแƒ”แƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒ˜แƒก แƒฉแƒแƒกแƒแƒขแƒแƒ แƒ”แƒ‘แƒšแƒแƒ“.

Kubernetes-แƒ˜แƒก แƒ“แƒแƒœแƒ”แƒ แƒ’แƒ•แƒ˜แƒกแƒ แƒ“แƒ แƒแƒฃแƒชแƒ˜แƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, pods-แƒ”แƒ‘แƒ˜แƒก แƒฐแƒแƒ แƒ˜แƒ–แƒแƒœแƒขแƒแƒšแƒฃแƒ  แƒ›แƒแƒกแƒจแƒขแƒแƒ‘แƒ˜แƒ แƒ”แƒ‘แƒแƒ–แƒ” (HPA) แƒกแƒแƒคแƒฃแƒซแƒ•แƒ”แƒšแƒ–แƒ”, Flagger แƒฅแƒ›แƒœแƒ˜แƒก แƒแƒ‘แƒ˜แƒ”แƒฅแƒขแƒ”แƒ‘แƒ˜แƒก แƒ™แƒแƒ›แƒžแƒšแƒ”แƒฅแƒขแƒก (Kubernetes-แƒ˜แƒก แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ, ClusterIP แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜ แƒ“แƒ Istio แƒแƒœ App Mesh แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜) แƒ™แƒแƒœแƒแƒ แƒ˜แƒก แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒกแƒแƒแƒœแƒแƒšแƒ˜แƒ–แƒ”แƒ‘แƒšแƒแƒ“ แƒ“แƒ แƒ’แƒแƒœแƒกแƒแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒšแƒแƒ“:

แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒกแƒขแƒ แƒแƒขแƒ”แƒ’แƒ˜แƒ”แƒ‘แƒ˜ Kubernetes-แƒจแƒ˜: แƒ›แƒแƒซแƒ แƒแƒ•แƒ˜, แƒฎแƒ”แƒšแƒแƒฎแƒšแƒ แƒจแƒ”แƒฅแƒ›แƒœแƒ, แƒšแƒฃแƒ แƒฏแƒ˜/แƒ›แƒฌแƒ•แƒแƒœแƒ”, แƒ™แƒแƒœแƒแƒ แƒ˜แƒก, แƒ›แƒฃแƒฅแƒ˜ (A/B แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ)

แƒกแƒแƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ แƒ›แƒแƒ แƒงแƒฃแƒŸแƒ˜แƒก แƒ’แƒแƒœแƒฎแƒแƒ แƒชแƒ˜แƒ”แƒšแƒ”แƒ‘แƒ (แƒกแƒแƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ แƒชแƒ˜แƒ™แƒšแƒ˜),Flagger แƒ—แƒแƒœแƒ“แƒแƒ—แƒแƒœ แƒชแƒ•แƒšแƒ˜แƒก แƒขแƒ แƒแƒคแƒ˜แƒ™แƒก แƒ™แƒแƒœแƒแƒ แƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ–แƒ” แƒ“แƒ แƒžแƒแƒ แƒแƒšแƒ”แƒšแƒฃแƒ แƒแƒ“ แƒ’แƒแƒ–แƒแƒ›แƒแƒ•แƒก แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“ แƒ˜แƒœแƒ“แƒ˜แƒ™แƒแƒขแƒแƒ แƒ”แƒ‘แƒก, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ แƒฌแƒแƒ แƒ›แƒแƒขแƒ”แƒ‘แƒฃแƒšแƒ˜ HTTP แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ”แƒ‘แƒ˜แƒก แƒ—แƒแƒœแƒแƒคแƒแƒ แƒ“แƒแƒ‘แƒ, แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ แƒฎแƒแƒœแƒ’แƒ แƒซแƒšแƒ˜แƒ•แƒแƒ‘แƒ แƒ“แƒ แƒžแƒแƒ“แƒ”แƒ‘แƒ˜แƒก แƒฏแƒแƒœแƒ›แƒ แƒ—แƒ”แƒšแƒแƒ‘แƒ. KPI (Key Performance Indicators) แƒแƒœแƒแƒšแƒ˜แƒ–แƒ˜แƒก แƒกแƒแƒคแƒฃแƒซแƒ•แƒ”แƒšแƒ–แƒ”, แƒ™แƒแƒœแƒแƒ แƒ˜ แƒแƒœ แƒ˜แƒ–แƒ แƒ“แƒ”แƒ‘แƒ แƒแƒœ แƒ˜แƒจแƒšแƒ”แƒ‘แƒ แƒ“แƒ แƒแƒœแƒแƒšแƒ˜แƒ–แƒ˜แƒก แƒจแƒ”แƒ“แƒ”แƒ’แƒ”แƒ‘แƒ˜ แƒ’แƒแƒ›แƒแƒฅแƒ•แƒ”แƒงแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ Slack-แƒจแƒ˜. แƒแƒ› แƒžแƒ แƒแƒชแƒ”แƒกแƒ˜แƒก แƒแƒฆแƒฌแƒ”แƒ แƒ แƒ“แƒ แƒ“แƒ”แƒ›แƒแƒœแƒกแƒขแƒ แƒ˜แƒ แƒ”แƒ‘แƒ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ˜แƒฎแƒ˜แƒšแƒแƒ— แƒ›แƒแƒกแƒแƒšแƒแƒจแƒ˜ แƒžแƒ แƒแƒ’แƒ แƒ”แƒกแƒฃแƒšแƒ˜ แƒ›แƒ˜แƒฌแƒแƒ“แƒ”แƒ‘แƒ App Mesh-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.

แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒกแƒขแƒ แƒแƒขแƒ”แƒ’แƒ˜แƒ”แƒ‘แƒ˜ Kubernetes-แƒจแƒ˜: แƒ›แƒแƒซแƒ แƒแƒ•แƒ˜, แƒฎแƒ”แƒšแƒแƒฎแƒšแƒ แƒจแƒ”แƒฅแƒ›แƒœแƒ, แƒšแƒฃแƒ แƒฏแƒ˜/แƒ›แƒฌแƒ•แƒแƒœแƒ”, แƒ™แƒแƒœแƒแƒ แƒ˜แƒก, แƒ›แƒฃแƒฅแƒ˜ (A/B แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ)

แƒ›แƒฃแƒฅแƒ˜ (แƒ“แƒแƒ›แƒแƒšแƒฃแƒšแƒ˜) แƒแƒœ A/B แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ

Stealth-แƒ˜แƒก แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ แƒแƒ แƒ˜แƒก แƒ™แƒแƒœแƒแƒ แƒ˜แƒก แƒกแƒขแƒ แƒแƒขแƒ”แƒ’แƒ˜แƒ˜แƒก แƒ™แƒ˜แƒ“แƒ”แƒ• แƒ”แƒ แƒ—แƒ˜ แƒ•แƒแƒ แƒ˜แƒแƒชแƒ˜แƒ (แƒ แƒแƒ›แƒ”แƒšแƒ—แƒแƒœแƒแƒช, แƒกแƒฎแƒ•แƒแƒ—แƒ แƒจแƒแƒ แƒ˜แƒก, Flagger-แƒกแƒแƒช แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒ˜แƒ›แƒฃแƒจแƒแƒแƒก). แƒกแƒขแƒ”แƒšแƒกแƒ˜แƒกแƒ แƒ“แƒ แƒ™แƒแƒœแƒแƒ แƒ˜แƒก แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒแƒก แƒจแƒแƒ แƒ˜แƒก แƒ’แƒแƒœแƒกแƒฎแƒ•แƒแƒ•แƒ”แƒ‘แƒ แƒ˜แƒกแƒแƒ, แƒ แƒแƒ› แƒกแƒขแƒ”แƒšแƒกแƒ˜แƒก แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ แƒ”แƒฎแƒ”แƒ‘แƒ แƒฌแƒ˜แƒœแƒ แƒ›แƒฎแƒแƒ แƒ”แƒก แƒ“แƒ แƒแƒ แƒ แƒฃแƒ™แƒแƒœแƒ แƒ›แƒฎแƒแƒ แƒ”แƒก, แƒ แƒแƒ’แƒแƒ แƒช แƒ™แƒแƒœแƒแƒ แƒ˜แƒก แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ.

แƒแƒ› แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒ™แƒ˜แƒ“แƒ”แƒ• แƒ”แƒ แƒ—แƒ˜ แƒกแƒแƒฎแƒ”แƒšแƒ˜แƒ A/B แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ. แƒ˜แƒ›แƒ˜แƒก แƒœแƒแƒชแƒ•แƒšแƒแƒ“, แƒ แƒแƒ› แƒแƒฎแƒแƒšแƒ˜ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ›แƒ˜ แƒ’แƒแƒฎแƒ“แƒ”แƒก แƒงแƒ•แƒ”แƒšแƒ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ˜แƒก แƒจแƒ”แƒกแƒ—แƒแƒ•แƒแƒ–แƒ”แƒ‘แƒก แƒ›แƒแƒ— แƒ›แƒฎแƒแƒšแƒแƒ“ แƒจแƒ”แƒ–แƒฆแƒฃแƒ“แƒฃแƒš แƒœแƒแƒฌแƒ˜แƒšแƒก. แƒ แƒแƒ’แƒแƒ แƒช แƒฌแƒ”แƒกแƒ˜, แƒแƒ› แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ›แƒ แƒแƒ  แƒ˜แƒชแƒ˜แƒแƒœ, แƒ แƒแƒ› แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒแƒ แƒ˜แƒแƒœ แƒžแƒ˜แƒแƒœแƒ”แƒ แƒ”แƒ‘แƒ˜ แƒขแƒ”แƒกแƒขแƒ”แƒ แƒ”แƒ‘แƒ˜ (แƒแƒฅแƒ”แƒ“แƒแƒœ แƒ’แƒแƒ›แƒแƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ”, แƒขแƒ”แƒ แƒ›แƒ˜แƒœแƒ˜ "แƒ“แƒแƒคแƒแƒ แƒ•แƒ˜แƒก แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ").

แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒœแƒแƒšแƒฃแƒ แƒ˜ แƒ’แƒแƒ“แƒแƒ›แƒ แƒ—แƒ•แƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ (แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ˜แƒก แƒ’แƒแƒ“แƒแƒ แƒ—แƒ•แƒ) แƒ“แƒ แƒกแƒฎแƒ•แƒ แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ”แƒ‘แƒ˜แƒ—, แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ—แƒ•แƒแƒšแƒงแƒฃแƒ แƒ˜ แƒแƒ“แƒ”แƒ•แƒœแƒแƒ—, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒฃแƒ แƒ—แƒ˜แƒ”แƒ แƒ—แƒแƒ‘แƒ”แƒœ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜ แƒแƒฎแƒแƒš แƒ›แƒแƒฎแƒแƒกแƒ˜แƒแƒ—แƒ”แƒ‘แƒšแƒ—แƒแƒœ, แƒแƒ แƒ˜แƒแƒœ แƒ—แƒฃ แƒแƒ แƒ แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒฉแƒแƒ แƒ—แƒฃแƒšแƒ”แƒ‘แƒ˜ แƒ›แƒแƒกแƒจแƒ˜, แƒแƒœ แƒ›แƒ˜แƒแƒฉแƒœแƒ˜แƒแƒ— แƒ—แƒฃ แƒแƒ แƒ แƒ›แƒแƒ—แƒ—แƒ•แƒ˜แƒก แƒ“แƒแƒ›แƒแƒ‘แƒœแƒ”แƒ•แƒ”แƒšแƒ˜ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒแƒฎแƒแƒšแƒ˜ แƒ˜แƒœแƒขแƒ”แƒ แƒคแƒ”แƒ˜แƒกแƒ˜ แƒ“แƒ แƒกแƒฎแƒ•แƒ แƒกแƒแƒฎแƒ˜แƒก แƒ›แƒ”แƒขแƒ แƒ˜แƒ™แƒ.

แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒกแƒขแƒ แƒแƒขแƒ”แƒ’แƒ˜แƒ”แƒ‘แƒ˜ Kubernetes-แƒจแƒ˜: แƒ›แƒแƒซแƒ แƒแƒ•แƒ˜, แƒฎแƒ”แƒšแƒแƒฎแƒšแƒ แƒจแƒ”แƒฅแƒ›แƒœแƒ, แƒšแƒฃแƒ แƒฏแƒ˜/แƒ›แƒฌแƒ•แƒแƒœแƒ”, แƒ™แƒแƒœแƒแƒ แƒ˜แƒก, แƒ›แƒฃแƒฅแƒ˜ (A/B แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ)

Flagger แƒ“แƒ A/B แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ

แƒฌแƒแƒœแƒแƒ–แƒ” แƒ“แƒแƒคแƒฃแƒซแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ›แƒแƒ แƒจแƒ แƒฃแƒขแƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒก แƒ’แƒแƒ แƒ“แƒ, Flagger-แƒก แƒแƒกแƒ”แƒ•แƒ” แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒขแƒ แƒแƒคแƒ˜แƒ™แƒ˜แƒก แƒ’แƒแƒ“แƒแƒงแƒ•แƒแƒœแƒ แƒ™แƒแƒœแƒแƒ แƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ–แƒ” HTTP แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒคแƒฃแƒซแƒ•แƒ”แƒšแƒ–แƒ”. A/B แƒขแƒ”แƒกแƒขแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒกแƒแƒก, แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒ— HTTP แƒกแƒแƒ—แƒแƒฃแƒ แƒ”แƒ‘แƒ˜ แƒแƒœ แƒฅแƒฃแƒฅแƒ˜แƒ”แƒ‘แƒ˜ แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜แƒก แƒ™แƒแƒœแƒ™แƒ แƒ”แƒขแƒฃแƒšแƒ˜ แƒกแƒ”แƒ’แƒ›แƒ”แƒœแƒขแƒ˜แƒก แƒกแƒแƒ›แƒ˜แƒ–แƒœแƒ”แƒ“. แƒ”แƒก แƒ’แƒแƒœแƒกแƒแƒ™แƒฃแƒ—แƒ แƒ”แƒ‘แƒ˜แƒ— แƒ”แƒคแƒ”แƒฅแƒขแƒฃแƒ แƒ˜แƒ แƒฌแƒ˜แƒœแƒ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒกแƒแƒญแƒ˜แƒ แƒแƒ”แƒ‘แƒ”แƒœ แƒกแƒ”แƒกแƒ˜แƒ˜แƒก แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒแƒก แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ—แƒแƒœ (แƒกแƒ”แƒกแƒ˜แƒ˜แƒก แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ˜). แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒ˜แƒœแƒคแƒแƒ แƒ›แƒแƒชแƒ˜แƒ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ˜แƒฎแƒ˜แƒšแƒแƒ— Flagger-แƒ˜แƒก แƒ“แƒแƒ™แƒฃแƒ›แƒ”แƒœแƒขแƒแƒชแƒ˜แƒแƒจแƒ˜.

แƒแƒ•แƒขแƒแƒ แƒ˜ แƒ›แƒแƒ“แƒšแƒ˜แƒ”แƒ แƒ”แƒ‘แƒแƒก แƒ’แƒแƒ›แƒแƒฎแƒแƒขแƒแƒ•แƒก แƒกแƒขแƒ”แƒคแƒแƒœ แƒžแƒ แƒแƒ“แƒแƒœแƒ˜, Weaveworks แƒ˜แƒœแƒŸแƒ˜แƒœแƒ”แƒ แƒ˜ (แƒ“แƒ Flagger-แƒ˜แƒก แƒจแƒ”แƒ›แƒฅแƒ›แƒœแƒ”แƒšแƒ˜), แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒงแƒ•แƒ”แƒšแƒ แƒแƒ› แƒกแƒแƒแƒชแƒแƒ แƒ˜ แƒœแƒ˜แƒ›แƒฃแƒจแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.

PS แƒ›แƒ—แƒแƒ แƒ’แƒ›แƒœแƒ”แƒšแƒ˜แƒกแƒ’แƒแƒœ

แƒแƒกแƒ”แƒ•แƒ” แƒฌแƒแƒ˜แƒ™แƒ˜แƒ—แƒฎแƒ”แƒ— แƒฉแƒ•แƒ”แƒœแƒก แƒ‘แƒšแƒแƒ’แƒ–แƒ”:

แƒฌแƒงแƒแƒ แƒ: www.habr.com

แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ