Service mesh data plane vs. control plane

αžŸαž½αžŸαŸ’αžαžΈ αž αžΆαž”! αžαŸ’αž‰αž»αŸ†αžŸαžΌαž˜αž”αž„αŸ’αž αžΆαž‰αž‡αžΌαž“αž’αŸ’αž“αž€αž“αžΌαžœαž€αžΆαžšαž”αž€αž”αŸ’αžšαŸ‚αž’αžαŸ’αžαž”αž‘ "Service mesh data plane vs control plane" αž’αŸ’αž“αž€αž“αž·αž–αž“αŸ’αž’ αž˜αŸ‰αžΆαžαŸ‹αžαŸαž›αžΈαž“.

Service mesh data plane vs. control plane

αž›αžΎαž€αž“αŸαŸ‡ αžαŸ’αž‰αž»αŸ† "αž…αž„αŸ‹ αž“αž·αž„αž”αž€αž”αŸ’αžšαŸ‚" αž€αžΆαžšαž–αž·αž–αžŽαŸŒαž“αžΆαž“αŸƒαž•αŸ’αž“αŸ‚αž€αžŸαŸαžœαžΆαžŸαŸ†αžŽαžΆαž‰αŸ‹αž‘αžΆαŸ†αž„αž–αžΈαžš αž™αž“αŸ’αžαž αŸ„αŸ‡αž‘αž·αž“αŸ’αž“αž“αŸαž™ αž“αž·αž„αž™αž“αŸ’αžαž αŸ„αŸ‡αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αŸ” αž€αžΆαžšαž–αž·αž–αžŽαŸŒαž“αžΆαž“αŸαŸ‡αž αžΆαž€αŸ‹αžŠαžΌαž…αž‡αžΆαžαŸ’αž‰αž»αŸ†αž’αžΆαž…αž™αž›αŸ‹αž”αžΆαž“ αž“αž·αž„αž‚αž½αžšαž±αŸ’αž™αž…αžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαž”αŸ†αž•αž»αž αž αžΎαž™αžŸαŸ†αžαžΆαž“αŸ‹αž”αŸ†αž•αž»αžαžŠαŸ‚αž›αž“αžΆαŸ†αž‘αŸ…αžŠαž›αŸ‹αž€αžΆαžšαž™αž›αŸ‹αžŠαžΉαž„αž’αŸ†αž–αžΈ "αžαžΎαžœαžΆαž…αžΆαŸ†αž”αžΆαž…αŸ‹αž‘αžΆαž›αŸ‹αžαŸ‚αžŸαŸ„αŸ‡?"

αžŠαŸ„αž™αžŸαžΆαžšαž‚αŸ†αž“αž·αžαž“αŸƒ "Service mesh" αž˜αžΆαž“αž€αžΆαžšαž–αŸαž‰αž“αž·αž™αž˜αž€αžΆαž“αŸ‹αžαŸ‚αžαŸ’αž›αžΆαŸ†αž„αž‘αžΎαž„αž€αŸ’αž“αž»αž„αžšαž™αŸˆαž–αŸαž›αž–αžΈαžšαž†αŸ’αž“αžΆαŸ†αž…αž»αž„αž€αŸ’αžšαŸ„αž™αž“αŸαŸ‡ (αž’αžαŸ’αžαž”αž‘αžŠαžΎαž˜αžαŸ’αž„αŸƒαž‘αžΈ 10 αžαŸ‚αžαž»αž›αžΆ αž†αŸ’αž“αžΆαŸ† 2017) αž αžΎαž™αž…αŸ†αž“αž½αž“αž’αŸ’αž“αž€αž…αžΌαž›αžšαž½αž˜αž“αŸ…αž€αŸ’αž“αž»αž„αž›αŸ†αž αžšαž”αžΆαž“αž€αžΎαž“αž‘αžΎαž„ αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αžƒαžΎαž‰αž€αžΆαžšαž€αžΎαž“αž‘αžΎαž„αž“αŸƒαž€αžΆαžšαž—αžΆαž“αŸ‹αž…αŸ’αžšαž›αŸ†αž€αŸ’αž“αž»αž„αž…αŸ†αž“αŸ„αž˜αž˜αž“αž»αžŸαŸ’αžŸαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αŸ” αžŸαž αž‚αž˜αž“αŸαž”αž…αŸ’αž…αŸαž€αžœαž·αž‘αŸ’αž™αžΆαž‘αžΆαž€αŸ‹αž‘αž„αž“αžΉαž„αžšαž”αŸ€αž”αž”αŸ’αžšαŸ€αž”αž’αŸ€αž” αž“αž·αž„αžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αžαž»αžŸαž‚αŸ’αž“αžΆαŸ”

αžŸαŸ’αžαžΆαž“αž—αžΆαž–αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαž„αŸ’αžαŸαž”αž™αŸ‰αžΆαž„αž›αŸ’αž’αž”αŸ†αž•αž»αžαžŠαŸ„αž™αžŸαŸŠαŸαžšαžΈ tweets αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αžŠαŸ‚αž›αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αžŸαžšαžŸαŸαžšαž€αŸ’αž“αž»αž„αžαŸ‚αž€αž€αŸ’αž€αžŠαžΆαŸ–

αž—αžΆαž–αž…αŸ’αžšαž”αžΌαž€αž…αŸ’αžšαž”αž›αŸ‹αž“αŸƒαž”αžŽαŸ’αžαžΆαž‰αžŸαŸαžœαžΆ #1: Linkerd ~ = Nginx ~ = Haproxy ~ = αž”αŸ’αžšαŸαžŸαž·αžαŸ” αž‚αŸ’αž˜αžΆαž“αž“αžšαžŽαžΆαž˜αŸ’αž“αžΆαž€αŸ‹αž€αŸ’αž“αž»αž„αž…αŸ†αžŽαŸ„αž˜αž–αž½αž€αž‚αŸαžŸαŸ’αž˜αžΎαž“αžΉαž„ Istio αž‘αŸαŸ” Istio αž‚αžΊαž‡αžΆαž’αŸ’αžœαžΈαžŠαŸ‚αž›αžαž»αžŸαž‚αŸ’αž“αžΆαž‘αžΆαŸ†αž„αžŸαŸ’αžšαž»αž„αŸ” ៑/

αž‘αžΈαž˜αž½αž™αž‚αžΊαž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž‡αžΆαž™αž“αŸ’αžαž αŸ„αŸ‡αž‘αž·αž“αŸ’αž“αž“αŸαž™αŸ” αžŠαŸ„αž™αžαŸ’αž›αž½αž“αž―αž„αž–αž½αž€αž‚αŸαž˜αž·αž“αž’αŸ’αžœαžΎαž’αŸ’αžœαžΈαž‘αŸαŸ” αž–αž½αž€αž‚αŸαžαŸ’αžšαžΌαžœαžαŸ‚αžŸαŸ’αžαž·αžαž€αŸ’αž“αž»αž„αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αžœαžΈαž˜αž½αž™αž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ€αžαŸ” ្/

Istio αž‚αžΊαž‡αžΆαž§αž‘αžΆαž αžšαžŽαŸαž“αŸƒαž™αž“αŸ’αžαž αŸ„αŸ‡αž”αž‰αŸ’αž‡αžΆαžŠαŸ‚αž›αž—αŸ’αž‡αžΆαž”αŸ‹αž•αŸ’αž“αŸ‚αž€αž‡αžΆαž˜αž½αž™αž‚αŸ’αž“αžΆαŸ” αž“αŸαŸ‡αž‚αžΊαž‡αžΆαžŸαŸ’αžšαž‘αžΆαž”αŸ‹αž˜αž½αž™αž‘αŸ€αžαŸ” / αž”αž‰αŸ’αž…αž”αŸ‹

αž’αŸ’αžœαžΈαžαž’αžΊαž˜αž»αž“αŸ—αž“αž·αž™αžΆαž™αž’αŸ†αž–αžΈαž‚αž˜αŸ’αžšαŸ„αž„αž•αŸ’αžŸαŸαž„αŸ—αž‚αŸ’αž“αžΆαž‡αžΆαž…αŸ’αžšαžΎαž“ (Linkerd, NGINX, HAProxy, Envoy, αž“αž·αž„ Istio) αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžŸαŸ†αžαžΆαž“αŸ‹αž‡αžΆαž„αž“αŸαŸ‡αž‘αŸ…αž‘αŸ€αžαžŽαŸ‚αž“αžΆαŸ†αž’αŸ†αž–αžΈαž‚αŸ„αž›αž‚αŸ†αž“αž·αžαž‘αžΌαž‘αŸ…αž“αŸƒαž™αž“αŸ’αžαž αŸ„αŸ‡αž‘αž·αž“αŸ’αž“αž“αŸαž™ αž”αžŽαŸ’αžαžΆαž‰αžŸαŸαžœαžΆ αž“αž·αž„αž™αž“αŸ’αžαž αŸ„αŸ‡αž”αž‰αŸ’αž‡αžΆαŸ” αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž”αŸ’αžšαž€αžΆαžŸαž“αŸαŸ‡ αžαŸ’αž‰αž»αŸ†αž“αžΉαž„αž”αŸ„αŸ‡αž‡αŸ†αž αžΆαž“αžαž™αž€αŸ’αžšαŸ„αž™ αž αžΎαž™αž“αž·αž™αžΆαž™αž’αŸ†αž–αžΈαž’αŸ’αžœαžΈαžŠαŸ‚αž›αžαŸ’αž‰αž»αŸ†αž˜αžΆαž“αž“αŸαž™αžŠαŸ„αž™αž–αžΆαž€αŸ’αž™ "αž™αž“αŸ’αžαž αŸ„αŸ‡αž‘αž·αž“αŸ’αž“αž“αŸαž™" αž“αž·αž„ "αž™αž“αŸ’αžαž αŸ„αŸ‡αž”αž‰αŸ’αž‡αžΆ" αž“αŸ…αž€αž˜αŸ’αžšαž·αžαžαŸ’αž–αžŸαŸ‹αž”αŸ†αž•αž»αž αž αžΎαž™αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž“αž·αž™αžΆαž™αž’αŸ†αž–αžΈαžšαž”αŸ€αž”αžŠαŸ‚αž›αž›αž€αŸ’αžαžαžŽαŸ’αžŒαž’αž“αž»αžœαžαŸ’αžαž…αŸ†αž–αŸ„αŸ‡αž‚αž˜αŸ’αžšαŸ„αž„αžŠαŸ‚αž›αž”αžΆαž“αžšαŸ€αž”αžšαžΆαž”αŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αž’αŸ’αžœαžΈαžαŸ”

αžαžΎβ€‹αž’αŸ’αžœαžΈβ€‹αž‘αŸ…β€‹αž‡αžΆβ€‹αžŸαŸ†αžŽαžΆαž‰αŸ‹β€‹αžŸαŸαžœαžΆ?

Service mesh data plane vs. control plane
αžšαžΌαž”αž—αžΆαž–αž‘αžΈ 1: αž‘αž·αžŠαŸ’αž‹αž—αžΆαž–αž‘αžΌαž‘αŸ…αž“αŸƒαžŸαŸ†αžŽαžΆαž‰αŸ‹αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜

αžšαžΌαž”αž—αžΆαž–αž‘αžΈ 1 αŸ” αž”αž„αŸ’αž αžΆαž‰αž–αžΈαž‚αŸ†αž“αž·αžαž“αŸƒαžŸαŸαžœαžΆαžŸαŸ†αžŽαžΆαž‰αŸ‹αž“αŸ…αž€αž˜αŸ’αžšαž·αžαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž”αŸ†αž•αž»αžαžšαž”αžŸαŸ‹αžœαžΆαŸ” αž˜αžΆαž“αž…αž„αŸ’αž€αŸ„αž˜αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αž…αŸ†αž“αž½αž“αž”αž½αž“ (AD) αŸ” αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αž“αžΈαž˜αž½αž™αŸ—αžαŸ’αžšαžΌαžœαž”αžΆαž“αž—αŸ’αž‡αžΆαž”αŸ‹αž‡αžΆαž˜αž½αž™αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž”αŸ’αžšαžΌαž€αžŸαŸŠαžΈαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αŸ” αž…αžšαžΆαž…αžšαžŽαŸαž”αžŽαŸ’αžαžΆαž‰αž‘αžΆαŸ†αž„αž’αžŸαŸ‹ (HTTP, REST, gRPC, Redis αŸ” αžœαž·αž’αžΈαž“αŸαŸ‡ αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž˜αž·αž“β€‹αžŠαžΉαž„β€‹αž’αŸ†αž–αžΈβ€‹αž”αžŽαŸ’αžαžΆαž‰β€‹αž‘αžΆαŸ†αž„αž˜αžΌαž› αž αžΎαž™β€‹αžŠαžΉαž„β€‹αžαŸ‚β€‹αž”αŸ’αžšαžΌαž€αžŸαŸŠαžΈβ€‹αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“β€‹αžšαž”αžŸαŸ‹αžœαžΆβ€‹αž”αŸ‰αž»αžŽαŸ’αžŽαŸ„αŸ‡αŸ” αž‡αžΆαž’αžšαž˜αžΆαž“ αž”αžŽαŸ’αžαžΆαž‰αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž…αŸ‚αž€αž…αžΆαž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŠαž€αž…αŸαž‰αž–αžΈαžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αŸ”

αž™αž“αŸ’αžαž αŸ„αŸ‡αž‘αž·αž“αŸ’αž“αž“αŸαž™

αž“αŸ…αž€αŸ’αž“αž»αž„αž”αžŽαŸ’αžαžΆαž‰αžŸαŸαžœαžΆ αž”αŸ’αžšαžΌαž€αžŸαŸŠαžΈαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαžŠαŸ‚αž›αž˜αžΆαž“αž‘αžΈαžαžΆαŸ†αž„αž“αŸ…αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž’αž“αž»αžœαžαŸ’αžαž—αžΆαžšαž€αž·αž…αŸ’αž…αžŠαžΌαž…αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸˆ

  • αž€αžΆαžšαžšαž€αžƒαžΎαž‰αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜. αžαžΎαžŸαŸαžœαžΆαž€αž˜αŸ’αž˜/αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž’αŸ’αžœαžΈαžαŸ’αž›αŸ‡αžŠαŸ‚αž›αž˜αžΆαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€?
  • αž€αžΆαžšαž–αž·αž“αž·αžαŸ’αž™αžŸαž»αžαž—αžΆαž–. αžαžΎβ€‹αž€αžšαžŽαžΈβ€‹αž•αŸ’αžαž›αŸ‹β€‹αžŸαŸαžœαžΆβ€‹αžαŸ’αžšαž‘αž”αŸ‹β€‹αžŠαŸ„αž™β€‹αž€αžΆαžšβ€‹αžšαž€β€‹αžƒαžΎαž‰β€‹αžŸαŸαžœαžΆβ€‹αž˜αžΆαž“β€‹αžŸαž»αžαž—αžΆαž–β€‹αž›αŸ’αž’ αž“αž·αž„β€‹αžαŸ’αžšαŸ€αž˜β€‹αžαŸ’αž›αž½αž“β€‹αž‡αžΆβ€‹αžŸαŸ’αžšαŸαž…β€‹αžŠαžΎαž˜αŸ’αž”αžΈβ€‹αž‘αž‘αž½αž›β€‹αž™αž€β€‹αž…αžšαžΆαž…αžšαžŽαŸβ€‹αž”αžŽαŸ’αžαžΆαž‰β€‹αž¬β€‹αž‘αŸ? αž“αŸαŸ‡αž’αžΆαž…αžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž‘αžΆαŸ†αž„αžŸαž€αž˜αŸ’αž˜ (ឧ. αž€αžΆαžšαž†αŸ’αž›αžΎαž™αžαž”/αž€αžΆαžšαž–αž·αž“αž·αžαŸ’αž™αžŸαž»αžαž—αžΆαž–) αž“αž·αž„αž’αž€αž˜αŸ’αž˜ (ឧ. αž€αžΆαžšαž”αŸ’αžšαžΎ 3 αž€αŸ†αž αž»αžŸ 5xx αž‡αžΆαž”αŸ‹αŸ—αž‚αŸ’αž“αžΆαž‡αžΆαž€αžΆαžšαž…αž„αŸ’αž’αž»αž›αž”αž„αŸ’αž αžΆαž‰αž’αŸ†αž–αžΈαžŸαŸ’αžαžΆαž“αž—αžΆαž–αžŸαŸαžœαžΆαž˜αž·αž“αž›αŸ’αž’) αž€αžΆαžšαž–αž·αž“αž·αžαŸ’αž™αžŸαž»αžαž—αžΆαž–αŸ”
  • αž€αžΆαžšαž“αžΆαŸ†αž•αŸ’αž›αžΌαžœ. αž“αŸ…αž–αŸαž›αž‘αž‘αž½αž›αž”αžΆαž“αžŸαŸ†αžŽαžΎαž‘αŸ… "/foo" αž–αžΈαžŸαŸαžœαžΆαž€αž˜αŸ’αž˜ REST αžαžΎαž€αŸ’αžšαž»αž˜αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αž˜αž½αž™αžŽαžΆαž‚αž½αžšαž•αŸ’αž‰αžΎαžŸαŸ†αžŽαžΎαž‘αŸ…?
  • αž•αŸ’αž‘αž»αž€αžαž»αž›αŸ’αž™αž—αžΆαž–. αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž…αž„αŸ’αž€αŸ„αž˜αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαž€αŸ†αž‘αž»αž„αž–αŸαž›αž”αž‰αŸ’αž‡αžΌαž“ αžαžΎαžŸαŸ†αžŽαžΎαžšαž‚αž½αžšαžαŸ‚αž•αŸ’αž‰αžΎαž‘αŸ…αž€αžΆαž“αŸ‹αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αž˜αž½αž™αžŽαžΆ? αžαžΎαž’αžŸαŸ‹αž–αŸαž›αž”αŸ‰αž»αž“αŸ’αž˜αžΆαž“? αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž€αžΆαžšαž”αŸ†αž”αŸ‚αž€αžŸαŸ€αž‚αŸ’αžœαžΈαž’αŸ’αžœαžΈαžαŸ’αž›αŸ‡? αž”αŸ’αžšαžŸαž·αž“αž”αžΎαžŸαŸ†αžŽαžΎαž“αŸαŸ‡αž”αžšαžΆαž‡αŸαž™ αžαžΎαž‚αž½αžšαžŸαžΆαž€αž›αŸ’αž”αž„αž‘αžΎαž„αžœαž·αž‰αž‘αŸ?
  • αž€αžΆαžšαž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹ αž“αž·αž„αž€αžΆαžšαž’αž“αž»αž‰αŸ’αž‰αžΆαž. αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŸαŸ†αžŽαžΎαž…αžΌαž› αžαžΎαžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αž αŸ…αž‘αžΌαžšαžŸαž–αŸ’αž‘αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž€αŸ†αžŽαžαŸ‹αž’αžαŸ’αžαžŸαž‰αŸ’αž‰αžΆαžŽ/αž’αž“αž»αž‰αŸ’αž‰αžΆαžαžŠαŸ„αž™αž”αŸ’αžšαžΎ mTLS αž¬αž™αž“αŸ’αžαž€αžΆαžšαž•αŸ’αžŸαŸαž„αž‘αŸ€αžαžŠαŸ‚αžšαž¬αž‘αŸ? αž”αŸ’αžšαžŸαž·αž“αž”αžΎαžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž‘αž‘αž½αž›αžŸαŸ’αž‚αžΆαž›αŸ‹/αž’αž“αž»αž‰αŸ’αž‰αžΆαž αžαžΎαžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž αŸ…αž‘αŸ…αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαžŠαŸ‚αž›αž”αžΆαž“αžŸαŸ’αž“αžΎαžŸαž»αŸ† (αž…αŸ†αžŽαž»αž…αž”αž‰αŸ’αž…αž”αŸ‹) αž›αžΎαžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αž“αŸαŸ‡ αž¬αž‚αž½αžšαž†αŸ’αž›αžΎαž™αžαž”αžŠαŸ‚αž›αž˜αž·αž“αž”αžΆαž“αž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹αž—αžΆαž–αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž‰αŸ’αž‡αžΌαž“αž˜αž€αžœαž·αž‰αž‘αŸ?
  • αž€αžΆαžšαžŸαž„αŸ’αž€αŸαž. αžŸαŸ’αžαž·αžαž·αž›αž˜αŸ’αž’αž·αž αž€αŸ†αžŽαžαŸ‹αž αŸαžαž»/αž€αŸ†αžŽαžαŸ‹αž αŸαžαž» αž“αž·αž„αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαžΆαž“αžŠαŸ‚αž›αž”αžΆαž“αž…αŸ‚αž€αž…αžΆαž™αž‚αž½αžšαžαŸ‚αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŸαŸ†αžŽαžΎαž“αžΈαž˜αž½αž™αŸ— αžŠαžΎαž˜αŸ’αž”αžΈαž±αŸ’αž™αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžšαž’αžΆαž…αž™αž›αŸ‹αž’αŸ†αž–αžΈαž›αŸ†αž αžΌαžšαž…αžšαžΆαž…αžšαžŽαŸαžŠαŸ‚αž›αž”αžΆαž“αž…αŸ‚αž€αž…αžΆαž™ αž“αž·αž„αž”αž‰αŸ’αž αžΆαž”αŸ†αž”αžΆαžαŸ‹αž€αŸ†αž αž»αžŸαž“αŸ…αž–αŸαž›αž–αž½αž€αž‚αŸαž€αžΎαžαž‘αžΎαž„αŸ”

αž™αž“αŸ’αžαž αŸ„αŸ‡αž‘αž·αž“αŸ’αž“αž“αŸαž™αž‘αž‘αž½αž›αžαž»αžŸαžαŸ’αžšαžΌαžœαž…αŸ†αž–αŸ„αŸ‡αž…αŸ†αžŽαž»αž…αž–αžΈαž˜αž»αž“αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αž”αžŽαŸ’αžαžΆαž‰αžŸαŸαžœαžΆαŸ” αžαžΆαž˜αž–αž·αžαž”αŸ’αžšαžΌαž€αžŸαŸŠαžΈαž€αŸ’αž“αž»αž„αžŸαŸ’αžšαž»αž€αž‘αŸ…αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜ (sidecar) αž‚αžΊαž‡αžΆαž™αž“αŸ’αžαž αŸ„αŸ‡αž‘αž·αž“αŸ’αž“αž“αŸαž™αŸ” αž˜αŸ’αž™αŸ‰αžΆαž„αžœαž·αž‰αž‘αŸ€αž αž™αž“αŸ’αžαž αŸ„αŸ‡αž‘αž·αž“αŸ’αž“αž“αŸαž™αž‚αžΊαž‘αž‘αž½αž›αžαž»αžŸαžαŸ’αžšαžΌαžœαž…αŸ†αž–αŸ„αŸ‡αž€αžΆαžšαž•αŸ’αžŸαžΆαž™αžαžΆαž˜αž›αž€αŸ’αžαžαžŽαŸ’αžŒ αž€αžΆαžšαž”αž‰αŸ’αž‡αžΌαž“αž”αž“αŸ’αž αž“αž·αž„αž€αžΆαžšαžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αžšαžΆαž›αŸ‹αž€αž‰αŸ’αž…αž”αŸ‹αž”αžŽαŸ’αžαžΆαž‰αžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αž‰αžΎαž‘αŸ… αž¬αž˜αž€αž–αžΈαžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αž˜αž½αž™αŸ”

αž™αž“αŸ’αžαž αŸ„αŸ‡αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„

αž’αžšαžΌαž”αžΈαž”αžŽαŸ’αžαžΆαž‰αžŠαŸ‚αž›αž”αŸ’αžšαžΌαž€αžŸαŸŠαžΈαž€αŸ’αž“αž»αž„αžŸαŸ’αžšαž»αž€αž•αŸ’αžαž›αŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αž™αž“αŸ’αžαž αŸ„αŸ‡αž‘αž·αž“αŸ’αž“αž“αŸαž™αž‚αžΊαžœαŸαž‘αž˜αž“αŸ’αž(?)αŸ” αž‘αŸ„αŸ‡αž‡αžΆαž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™ αžαžΎαž”αŸ’αžšαžΌαž€αžŸαŸŠαžΈαžŠαžΉαž„αž™αŸ‰αžΆαž„αžŠαžΌαž…αž˜αŸ’αžŠαŸαž…αž’αŸ†αž–αžΈαž•αŸ’αž›αžΌαžœ "/foo" αž‘αŸ…αž€αžΆαž“αŸ‹αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜ B? αžαžΎαžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αžšαž€αžƒαžΎαž‰αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ‚αž›αž•αŸ’αž‘αž»αž€αžŠαŸ„αž™αžŸαŸ†αžŽαžΎαž”αŸ’αžšαžΌαž€αžŸαŸŠαžΈαžαŸ’αžšαžΌαžœαž”αŸ’αžšαžΎαž™αŸ‰αžΆαž„αžŠαžΌαž…αž˜αŸ’αžαŸαž…? αžαžΎβ€‹αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšβ€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž€αŸ†αžŽαžαŸ‹β€‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’β€‹αžŠαŸ„αž™β€‹αžšαž”αŸ€αž”β€‹αžŽαžΆβ€‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹β€‹αžαž»αž›αŸ’αž™αž—αžΆαž–β€‹αž”αž“αŸ’αž‘αž»αž€ αž€αžΆαžšβ€‹αž’αžŸαŸ‹β€‹αž–αŸαž› αž€αžΆαžšβ€‹αžŠαžΆαž…αŸ‹β€‹αžŸαŸ€αž‚αŸ’αžœαžΈβ€‹αž‡αžΆαžŠαžΎαž˜? αžαžΎβ€‹αž’αŸ’αž“αž€β€‹αžŠαžΆαž€αŸ‹β€‹αž±αŸ’αž™β€‹αž”αŸ’αžšαžΎβ€‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈβ€‹αžŠαŸ„αž™β€‹αžšαž”αŸ€αž”β€‹αžŽαžΆβ€‹αžŠαŸ„αž™β€‹αž”αŸ’αžšαžΎβ€‹αžœαž·αž’αžΈβ€‹αžαŸ€αžœ/αž”αŸƒαžαž„ αž¬β€‹αžœαž·αž’αžΈαžŸαžΆαžŸαŸ’αžαŸ’αžšβ€‹αž•αŸ’αž‘αŸαžšβ€‹αž…αžšαžΆαž…αžšαžŽαŸβ€‹αžŠαŸβ€‹αž›αŸ’αž’? αžαžΎαž’αŸ’αž“αž€αžŽαžΆαž€αŸ†αžŽαžαŸ‹αž€αžΆαžšαž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹αž”αŸ’αžšαž–αŸαž“αŸ’αž’ αž“αž·αž„αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž€αžΆαžšαž’αž“αž»αž‰αŸ’αž‰αžΆαž?

αž’αžΆαžαž»αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžαžΆαž„αž›αžΎαžŸαŸ’αžαž·αžαž“αŸ…αž€αŸ’αžšαŸ„αž˜αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž“αŸƒαž™αž“αŸ’αžαž αŸ„αŸ‡αžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž“αŸƒαžŸαŸ†αžŽαžΆαž‰αŸ‹αžŸαŸαžœαžΆαŸ” αž™αž“αŸ’αžαž αŸ„αŸ‡αžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αž‘αž‘αž½αž›αž”αžΆαž“αžŸαŸ†αžŽαž»αŸ†αž“αŸƒαž”αŸ’αžšαžΌαž€αžŸαŸŠαžΈαžŠαžΆαž…αŸ‹αžŠαŸ„αž™αž‘αŸ‚αž€αž˜αž½αž™αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž”αž˜αŸ’αžšαžΎ αž‚αŸ’αž˜αžΆαž“αžšαžŠαŸ’αž‹ αž αžΎαž™αž”αŸ’αžšαŸ‚αž€αŸ’αž›αžΆαž™αž–αž½αž€αž‚αŸαž‘αŸ…αž‡αžΆαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž…αŸ‚αž€αž…αžΆαž™.

αžαŸ’αž‰αž»αŸ†αž‚αž·αžαžαžΆαž αŸαžαž»αž•αž›αžŠαŸ‚αž›αž’αŸ’αž“αž€αž”αž…αŸ’αž…αŸαž€αžœαž·αž‘αŸ’αž™αžΆαž‡αžΆαž…αŸ’αžšαžΎαž“αžšαž€αžƒαžΎαž‰αž‚αŸ†αž“αž·αžαžŠαžΆαž…αŸ‹αžŠαŸ„αž™αž‘αŸ‚αž€αž“αŸƒαž™αž“αŸ’αžαž αŸ„αŸ‡αž‘αž·αž“αŸ’αž“αž“αŸαž™ αž“αž·αž„αž€αžΆαžšαž™αž›αŸ‹αž…αŸ’αžšαž‘αŸ†αž“αŸƒαž™αž“αŸ’αžαž αŸ„αŸ‡αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž‚αžΊαžŠαŸ„αž™αžŸαžΆαžšαžαŸ‚αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž˜αž“αž»αžŸαŸ’αžŸαž—αžΆαž‚αž…αŸ’αžšαžΎαž“ αž™αž“αŸ’αžαž αŸ„αŸ‡αž‘αž·αž“αŸ’αž“αž“αŸαž™αž‚αžΊαž’αŸ’αž›αžΆαž”αŸ‹αžŸαŸ’αž‚αžΆαž›αŸ‹ αžαžŽαŸˆαžŠαŸ‚αž›αž™αž“αŸ’αžαž αŸ„αŸ‡αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž‚αžΊαž”αžšαž‘αŸαžŸ/αž˜αž·αž“αž™αž›αŸ‹αŸ” αž™αžΎαž„αž”αžΆαž“αž’αŸ’αžœαžΎαž€αžΆαžšαž‡αžΆαž˜αž½αž™αžšαŸ‰αŸ„αžαž‘αŸαžšαž”αžŽαŸ’αžαžΆαž‰αžšαžΆαž„αž€αžΆαž™ αž“αž·αž„αž€αž»αž„αžαžΆαž€αŸ‹αž’αžŸαŸ‹αžšαž™αŸˆαž–αŸαž›αž‡αžΆαž™αžΌαžšαž˜αž€αž αžΎαž™αŸ” αž™αžΎαž„αž™αž›αŸ‹αžαžΆαž€αž‰αŸ’αž…αž”αŸ‹αž–αŸαžαŸŒαž˜αžΆαž“/αžŸαŸ†αžŽαžΎαžαŸ’αžšαžΌαžœαž…αŸαž‰αž–αžΈαž…αŸ†αžŽαž»αž… A αžŠαž›αŸ‹αž…αŸ†αžŽαž»αž… B αž αžΎαž™αž™αžΎαž„αž’αžΆαž…αž”αŸ’αžšαžΎαž•αŸ’αž“αŸ‚αž€αžšαžΉαž„ αž“αž·αž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαž€αž·αž…αŸ’αž…αž€αžΆαžšαž“αŸαŸ‡αŸ” αž‡αŸ†αž“αžΆαž“αŸ‹αžαŸ’αž˜αžΈαž“αŸƒαž”αŸ’αžšαžΌαž€αžŸαŸŠαžΈαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž‚αžΊαž‚αŸ’αžšαžΆαž“αŸ‹αžαŸ‚αž‡αžΆαž€αŸ†αžŽαŸ‚αž–αž»αž˜αŸ’αž–αž’αž€αŸ’αžŸαžšαž€αŸ’αž”αžΌαžšαž€αŸ’αž”αžΆαž…αŸ‹αž“αŸƒαž§αž”αž€αžšαžŽαŸαžŠαŸ‚αž›αž™αžΎαž„αž”αžΆαž“αž”αŸ’αžšαžΎαž‡αžΆαž™αžΌαžšαž˜αž€αž αžΎαž™αŸ”

Service mesh data plane vs. control plane
αžšαžΌαž”αž—αžΆαž–αž‘αžΈ 2: αž™αž“αŸ’αžαž αŸ„αŸ‡αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž˜αž“αž»αžŸαŸ’αžŸ

αž‘αŸ„αŸ‡αž‡αžΆαž™αŸ‰αžΆαž„αžŽαžΆαž€αŸαžŠαŸ„αž™ αž™αžΎαž„αž”αžΆαž“αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž™αž“αŸ’αžαž αŸ„αŸ‡αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž’αžŸαŸ‹αžšαž™αŸˆαž–αŸαž›αž‡αžΆαž™αžΌαžšαž˜αž€αž αžΎαž™ αž‘αŸ„αŸ‡αž”αžΈαž‡αžΆαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžšαž”αžŽαŸ’αžαžΆαž‰αž—αžΆαž‚αž…αŸ’αžšαžΎαž“αž”αŸ’αžšαž αŸ‚αž›αž‡αžΆαž˜αž·αž“αž—αŸ’αž‡αžΆαž”αŸ‹αž•αŸ’αž“αŸ‚αž€αž“αŸƒαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž“αŸαŸ‡αž‡αžΆαž˜αž½αž™αž“αžΉαž„αžŸαž˜αžΆαžŸαž’αžΆαžαž»αž”αž…αŸ’αž…αŸαž€αžœαž·αž‘αŸ’αž™αžΆαžŽαžΆαž˜αž½αž™αž€αŸαžŠαŸ„αž™αŸ” αž αŸαžαž»αž•αž›αž‚αžΊαžŸαžΆαž˜αž‰αŸ’αž‰αŸ–
αž™αž“αŸ’αžαž αŸ„αŸ‡αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž—αžΆαž‚αž…αŸ’αžšαžΎαž“αžŠαŸ‚αž›αž”αŸ’αžšαžΎαžŸαž–αŸ’αžœαžαŸ’αž„αŸƒαž‚αžΊ... αž™αžΎαž„.

αž“αŸ…αž›αžΎ αžšαžΌαž”αž—αžΆαž–αž‘αžΈ ៑ αž”αž„αŸ’αž αžΆαž‰αž–αžΈαž’αŸ’αžœαžΈαžŠαŸ‚αž›αžαŸ’αž‰αž»αŸ†αž αŸ…αžαžΆ "αž™αž“αŸ’αžαž αŸ„αŸ‡αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž˜αž“αž»αžŸαŸ’αžŸ"αŸ” αž“αŸ…αž€αŸ’αž“αž»αž„αž”αŸ’αžšαž—αŸαž‘αž“αŸƒαž€αžΆαžšαžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™αž“αŸαŸ‡ αžŠαŸ‚αž›αž“αŸ…αžαŸ‚αž‡αžΆαžšαžΏαž„αž’αž˜αŸ’αž˜αžαžΆαž”αŸ†αž•αž»αž αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžšαžšαž”αžŸαŸ‹αž˜αž“αž»αžŸαŸ’αžŸαžŠαŸ‚αž›αž‚αž½αžšαž±αŸ’αž™αžŸαŸ’αž’αž”αŸ‹αžαŸ’αž–αžΎαž˜ αž”αž„αŸ’αž€αžΎαžαž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž‹αž·αžαž·αžœαž“αŸ’αž - αžŸαž€αŸ’αžαžΆαž“αž»αž–αž›αžαžΆαž˜αžšαž™αŸˆαžŸαŸ’αž‚αŸ’αžšαžΈαž” αž αžΎαž™αžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™αž–αž½αž€αžœαžΆαžαžΆαž˜αžšαž™αŸˆαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž–αž·αžŸαŸαžŸαž˜αž½αž™αž…αŸ†αž“αž½αž“αž‘αŸ…αž€αžΆαž“αŸ‹αž”αŸ’αžšαžΌαž€αžŸαŸŠαžΈαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αŸ” αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž˜αž€αž”αŸ’αžšαžΌαž€αžŸαŸŠαžΈαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž”αŸ’αžšαžΎαž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž“αŸαŸ‡αž αžΎαž™αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž™αž“αŸ’αžαž αŸ„αŸ‡αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ„αž™αž”αŸ’αžšαžΎαž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžŠαŸ‚αž›αž”αžΆαž“αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αŸ”

Service mesh data plane vs. control plane
αžšαžΌαž”αž—αžΆαž–αž‘αžΈ 3αŸ– αž™αž“αŸ’αžαž αŸ„αŸ‡αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αžŸαŸ†αžŽαžΆαž‰αŸ‹αžŸαŸαžœαžΆαž€αž˜αŸ’αžšαž·αžαžαŸ’αž–αžŸαŸ‹

αž“αŸ…αž›αžΎ αžšαžΌαž”αž—αžΆαž–αž‘αžΈ ៑ αž”αž„αŸ’αž αžΆαž‰αž™αž“αŸ’αžαž αŸ„αŸ‡αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„ "αž–αž„αŸ’αžšαžΈαž€" αž“αŸƒαž”αžŽαŸ’αžαžΆαž‰αžŸαŸαžœαžΆαŸ” αžœαžΆαž˜αžΆαž“αž•αŸ’αž“αŸ‚αž€αžŠαžΌαž…αžαžΆαž„αž€αŸ’αžšαŸ„αž˜αŸˆ

  • αž˜αž“αž»αžŸαŸ’αžŸαŸ– αž“αŸ…αžαŸ‚αž˜αžΆαž“αž˜αž“αž»αžŸαŸ’αžŸαž˜αŸ’αž“αžΆαž€αŸ‹ (αžŸαž„αŸ’αžƒαžΉαž˜αžαžΆαž˜αž·αž“αžŸαžΌαžœαžαžΉαž„) αžŠαŸ‚αž›αž’αŸ’αžœαžΎαž€αžΆαžšαžŸαž˜αŸ’αžšαŸαž…αž…αž·αžαŸ’αžαž€αž˜αŸ’αžšαž·αžαžαŸ’αž–αžŸαŸ‹αž‘αžΆαž€αŸ‹αž‘αž„αž“αžΉαž„αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž‘αžΆαŸ†αž„αž˜αžΌαž›αž‘αžΆαŸ†αž„αž˜αžΌαž›αŸ”
  • αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„ UI αž™αž“αŸ’αžαž αŸ„αŸ‡αŸ– αž˜αž“αž»αžŸαŸ’αžŸαž˜αŸ’αž“αžΆαž€αŸ‹αž’αŸ’αžœαžΎαž’αž“αŸ’αžαžšαž€αž˜αŸ’αž˜αž‡αžΆαž˜αž½αž™αž”αŸ’αžšαž—αŸαž‘αž“αŸƒαž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž˜αž½αž™αž…αŸ†αž“αž½αž“αžŠαžΎαž˜αŸ’αž”αžΈαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž”αŸ’αžšαž–αŸαž“αŸ’αž’αŸ” αž“αŸαŸ‡αž’αžΆαž…αž‡αžΆαžœαž·αž”αž•αžαžαž› αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž”αž“αŸ’αž‘αžΆαžαŸ‹αž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆ (CLI) αž¬αž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαŸ” αžŠαŸ„αž™αž”αŸ’αžšαžΎαž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹αž’αŸ’αž“αž€αž”αŸ’αžšαžΎ αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžšαž˜αžΆαž“αžŸαž·αž‘αŸ’αž’αž·αž…αžΌαž›αž”αŸ’αžšαžΎαž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž”αŸ’αžšαž–αŸαž“αŸ’αž’αžŸαž€αž›αžŠαžΌαž…αž‡αžΆαŸ–
    • αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž€αžΆαžšαžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™ αž–αžŽαŸŒαžαŸ€αžœ/αž”αŸƒαžαž„ αž“αž·αž„/αž¬αž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαž…αžšαžΆαž…αžšαžŽαŸαž”αž“αŸ’αžαž·αž…αž˜αŸ’αžαž„αŸ—
    • αž‡αž˜αŸ’αžšαžΎαžŸαž“αŸƒαž€αžΆαžšαž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹ αž“αž·αž„αž€αžΆαžšαž’αž“αž»αž‰αŸ’αž‰αžΆαž
    • αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž•αŸ’αž›αžΌαžœαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžαžΆαžšαžΆαž„αž€αŸ†αžŽαžαŸ‹ αž§αž‘αžΆαž αžšαžŽαŸαž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ A αžŸαŸ’αž“αžΎαžŸαž»αŸ†αž–αŸαžαŸŒαž˜αžΆαž“αž’αŸ†αž–αžΈ "/foo" αž˜αžΆαž“αž’αŸ’αžœαžΈαž€αžΎαžαž‘αžΎαž„
    • αž•αŸ’αž‘αž»αž€αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžαž»αž›αŸ’αž™αž—αžΆαž– αžŠαžΌαž…αž‡αžΆαž€αžΆαžšαž’αžŸαŸ‹αž–αŸαž› αž€αžΆαžšαž–αŸ’αž™αžΆαž™αžΆαž˜αž‘αžΎαž„αžœαž·αž‰ αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž€αžΆαžšαž”αŸ†αž”αŸ‚αž€αžŸαŸ€αž‚αŸ’αžœαžΈαž‡αžΆαžŠαžΎαž˜αŸ”
  • αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž€αŸ†αžŽαžαŸ‹αž–αŸαž›αž”αž“αŸ’αž‘αž»αž€αž€αžΆαžšαž„αžΆαžšαŸ– αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž›αžΎαž αŸαžŠαŸ’αž‹αžΆαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžαžΆαž˜αžšαž™αŸˆαž”αŸ’αžšαž—αŸαž‘αž“αŸƒαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž€αŸ†αžŽαžαŸ‹αž–αŸαž›/αžœαž„αŸ‹αžαž“αŸ’αžšαŸ’αžαžΈαž˜αž½αž™αž…αŸ†αž“αž½αž“αžŠαžΌαž…αž‡αžΆ Kubernetes ឬ Nomad αŸ” αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž€αŸ†αžŽαžαŸ‹αž–αŸαž›αžαŸ’αžšαžΌαžœαž‘αž‘αž½αž›αžαž»αžŸαžαŸ’αžšαžΌαžœαž€αŸ’αž“αž»αž„αž€αžΆαžšαž•αŸ’αž‘αž»αž€αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αžšαž½αž˜αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž”αŸ’αžšαžΌαž€αžŸαŸŠαžΈαž€αŸ’αž“αž»αž„αžŸαŸ’αžšαž»αž€αžšαž”αžŸαŸ‹αžœαžΆαŸ”
  • αž€αžΆαžšαžšαž€αžƒαžΎαž‰αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜. αž“αŸ…αž–αŸαž›αž’αŸ’αž“αž€αž€αŸ†αžŽαžαŸ‹αž–αŸαž›αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜ αž“αž·αž„αž”αž‰αŸ’αžˆαž”αŸ‹αž€αžšαžŽαžΈαžŸαŸαžœαžΆαž€αž˜αŸ’αž˜ αžœαžΆαžšαžΆαž™αž€αžΆαžšαžŽαŸαž–αžΈαžŸαŸ’αžαžΆαž“αž—αžΆαž–αžŸαž»αžαž—αžΆαž–αž‘αŸ…αž€αžΆαž“αŸ‹αž”αŸ’αžšαž–αŸαž“αŸ’αž’αžŸαŸ’αžœαŸ‚αž„αžšαž€αžŸαŸαžœαžΆαŸ”
  • APIs αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž”αŸ’αžšαžΌαž€αžŸαŸŠαžΈ Sidecar αŸ– αž”αŸ’αžšαžΌαž€αžŸαŸŠαžΈαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž‘αžΆαž‰αž™αž€αžŸαŸ’αžαžΆαž“αž—αžΆαž–αž™αŸ‰αžΆαž„αžŸαŸ’αžœαžΆαž αžΆαž”αŸ‹αž–αžΈαžŸαž˜αžΆαžŸαž’αžΆαžαž»αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž•αŸ’αžŸαŸαž„αŸ—αžŠαŸ„αž™αž”αŸ’αžšαžΎαž‚αŸ†αžšαžΌαžŠαŸ‚αž›αžŸαŸ’αžšαž”αž‚αŸ’αž“αžΆαž‡αžΆαž™αžαžΆαž αŸαžαž»αžŠαŸ„αž™αž‚αŸ’αž˜αžΆαž“αž€αžΆαžšαž‡αŸ’αžšαŸ€αžαž‡αŸ’αžšαŸ‚αž€αž–αžΈαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžšαŸ” αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž‘αžΆαŸ†αž„αž˜αžΌαž› αžŠαŸ‚αž›αžšαž½αž˜αž˜αžΆαž“αž‘αžΆαŸ†αž„αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αžŠαŸ‚αž›αž€αŸ†αž–αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“ αž“αž·αž„αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž”αŸ’αžšαžΌαž€αžŸαŸŠαžΈαž€αŸ’αž“αž»αž„αžŸαŸ’αžšαž»αž€ αž‘αžΈαž”αŸ†αž•αž»αžαž”αžΆαž“αž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαž‘αŸ…αž‡αžΆαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž’αŸαž€αžΌαžαŸ‚αž˜αž½αž™αŸ” API αž™αž“αŸ’αžαž αŸ„αŸ‡αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŸαž€αž›αžšαž”αžŸαŸ‹αž”αŸαžŸαž€αž‡αž“ αž‚αžΊαž‡αžΆαž§αž‘αžΆαž αžšαžŽαŸαž˜αž½αž™αž“αŸƒαžšαž”αŸ€αž”αžŠαŸ‚αž›αžœαžΆαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αŸ’αž“αž»αž„αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αžαŸ”

αžŸαŸ†αžαžΆαž“αŸ‹ αž‚αŸ„αž›αž”αŸ†αžŽαž„αž“αŸƒαž™αž“αŸ’αžαž αŸ„αŸ‡αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž‚αžΊαžŠαžΎαž˜αŸ’αž”αžΈαž€αŸ†αžŽαžαŸ‹αž‚αŸ„αž›αž€αžΆαžšαžŽαŸαžŠαŸ‚αž›αž‘αžΈαž”αŸ†αž•αž»αžαž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž‘αž‘αž½αž›αž™αž€αžŠαŸ„αž™αž™αž“αŸ’αžαž αŸ„αŸ‡αž‘αž·αž“αŸ’αž“αž“αŸαž™αŸ” αž™αž“αŸ’αžαž αŸ„αŸ‡αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž€αž˜αŸ’αžšαž·αžαžαŸ’αž–αžŸαŸ‹αž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ€αžαž“αžΉαž„αžŠαž€αž•αŸ’αž“αŸ‚αž€αž‡αžΆαž…αŸ’αžšαžΎαž“αž“αŸƒαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž˜αž½αž™αž…αŸ†αž“αž½αž“αž…αŸαž‰αž–αžΈαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžš αž αžΎαž™αžαŸ’αžšαžΌαžœαž€αžΆαžšαž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαžŠαŸ„αž™αžŠαŸƒαžαž·αž…αž‡αžΆαž„αž˜αž»αž“ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαžœαžΆαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž”αžΆαž“αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœ!...

αž™αž“αŸ’αžαž αŸ„αŸ‡αž‘αž·αž“αŸ’αž“αž“αŸαž™ αž“αž·αž„αž™αž“αŸ’αžαž αŸ„αŸ‡αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αŸ” αž™αž“αŸ’αžαž αŸ„αŸ‡αž‘αž·αž“αŸ’αž“αž“αŸαž™αž’αŸ€αž”αž“αžΉαž„αž€αžΆαžšαžŸαž„αŸ’αžαŸαž”αž™αž“αŸ’αžαž αŸ„αŸ‡αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„

  • αž™αž“αŸ’αžαž αŸ„αŸ‡αž‘αž·αž“αŸ’αž“αž“αŸαž™αž”αžŽαŸ’αžαžΆαž‰αžŸαŸαžœαžΆαŸ– αž”αŸ‰αŸ‡αž–αžΆαž›αŸ‹αžŠαž›αŸ‹αžšαžΆαž›αŸ‹αž€αž‰αŸ’αž…αž”αŸ‹αž–αŸαžαŸŒαž˜αžΆαž“/αžŸαŸ†αžŽαžΎαž“αŸ…αž€αŸ’αž“αž»αž„αž”αŸ’αžšαž–αŸαž“αŸ’αž’αŸ” αž‘αž‘αž½αž›αžαž»αžŸαžαŸ’αžšαžΌαžœαž…αŸ†αž–αŸ„αŸ‡αž€αžΆαžšαžšαž€αžƒαžΎαž‰αž€αž˜αŸ’αž˜αžœαž·αž’αžΈ/αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜ αž€αžΆαžšαž–αž·αž“αž·αžαŸ’αž™αžŸαž»αžαž—αžΆαž– αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž•αŸ’αž›αžΌαžœ αžαž»αž›αŸ’αž™αž—αžΆαž–αž€αžΆαžšαž•αŸ’αž‘αž»αž€ αž€αžΆαžšαž•αŸ’αž‘αŸ€αž„αž•αŸ’αž‘αžΆαžαŸ‹/αž€αžΆαžšαž’αž“αž»αž‰αŸ’αž‰αžΆαž αž“αž·αž„αž€αžΆαžšαžŸαž„αŸ’αž€αŸαžαŸ”
  • αž™αž“αŸ’αžαž αŸ„αŸ‡αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αžŸαŸ†αžŽαžΆαž‰αŸ‹αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αŸ– αž•αŸ’αžαž›αŸ‹αž‚αŸ„αž›αž€αžΆαžšαžŽαŸ αž“αž·αž„αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž™αž“αŸ’αžαž αŸ„αŸ‡αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ‚αž›αž€αŸ†αž–αž»αž„αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αž”αžŽαŸ’αžαžΆαž‰αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αŸ” αž€αž»αŸ†αž”αŸ‰αŸ‡αž€αž‰αŸ’αž…αž”αŸ‹/αžŸαŸ†αžŽαžΎαžŽαžΆαž˜αž½αž™αž“αŸ…αž›αžΎαž”αŸ’αžšαž–αŸαž“αŸ’αž’αŸ” αž™αž“αŸ’αžαž αŸ„αŸ‡αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž”αŸ’αžšαŸ‚αž€αŸ’αž›αžΆαž™αž™αž“αŸ’αžαž αŸ„αŸ‡αž‘αž·αž“αŸ’αž“αž“αŸαž™αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž‘αŸ…αž‡αžΆαž”αŸ’αžšαž–αŸαž“αŸ’αž’αž…αŸ‚αž€αž…αžΆαž™αŸ”

αž‘αŸαžŸαž—αžΆαž–αž“αŸƒαž‚αž˜αŸ’αžšαŸ„αž„αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“

αžŠαŸ„αž™αž”αžΆαž“αž™αž›αŸ‹αž–αžΈαž€αžΆαžšαž–αž“αŸ’αž™αž›αŸ‹αžαžΆαž„αž›αžΎ αžŸαžΌαž˜αž€αŸ’αžšαž‘αŸαž€αž˜αžΎαž›αžŸαŸ’αžαžΆαž“αž—αžΆαž–αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž“αŸƒαž‚αž˜αŸ’αžšαŸ„αž„αžŸαŸαžœαžΆαžŸαŸ†αžŽαžΆαž‰αŸ‹αŸ”

  • αž™αž“αŸ’αžαž αŸ„αŸ‡αž‘αž·αž“αŸ’αž“αž“αŸαž™αŸ– Linkerd, NGINX, HAProxy, αž”αŸαžŸαž€αž‡αž“, Traefik
  • αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž™αž“αŸ’αžαž αŸ„αŸ‡αŸ– Istio, Nelson, SmartStack

αž‡αžΆαž‡αžΆαž„αž…αžΌαž›αž‘αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαžœαž·αž—αžΆαž‚αžŸαŸŠαžΈαž‡αž˜αŸ’αžšαŸ…αž“αŸƒαžŠαŸ†αžŽαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž“αžΈαž˜αž½αž™αŸ—αžαžΆαž„αž›αžΎ αžαŸ’αž‰αž»αŸ†αž“αžΉαž„αž“αž·αž™αžΆαž™αžŠαŸ„αž™αžŸαž„αŸ’αžαŸαž”αž“αžΌαžœαž…αŸ†αžŽαž»αž…αž˜αž½αž™αž…αŸ†αž“αž½αž“αžŠαŸ‚αž›αžαŸ’αž‰αž»αŸ†αž‡αžΏαžαžΆαž€αŸ†αž–αž»αž„αž”αž„αŸ’αž€αž±αŸ’αž™αž˜αžΆαž“αž€αžΆαžšαž—αŸαž“αŸ’αžαž…αŸ’αžšαž‘αŸ†αž‡αžΆαž…αŸ’αžšαžΎαž“αž“αŸ…αž€αŸ’αž“αž»αž„αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž’αŸαž€αžΌαž“αŸ…αž–αŸαž›αž“αŸαŸ‡αŸ”

Linkerd αž‚αžΊαž‡αžΆαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž”αŸ’αžšαžΌαž€αžŸαŸŠαžΈαž“αŸƒαž™αž“αŸ’αžαž αŸ„αŸ‡αž‘αž·αž“αŸ’αž“αž“αŸαž™αžŠαŸ†αž”αžΌαž„αž‚αŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŸαŸαžœαžΆαžŸαŸ†αžŽαžΆαž‰αŸ‹αž“αŸ…αžŠαžΎαž˜αž†αŸ’αž“αžΆαŸ† 2016 αž αžΎαž™αž”αžΆαž“αž’αŸ’αžœαžΎαž€αžΆαžšαž„αžΆαžšαžŠαŸαž’αžŸαŸ’αž…αžΆαžšαŸ’αž™αž€αŸ’αž“αž»αž„αž€αžΆαžšαž”αž„αŸ’αž€αžΎαž“αž€αžΆαžšαž™αž›αŸ‹αžŠαžΉαž„ αž“αž·αž„αž€αžΆαžšαž™αž€αž…αž·αžαŸ’αžαž‘αž»αž€αžŠαžΆαž€αŸ‹αž…αŸ†αž–αŸ„αŸ‡αž‚αŸ†αžšαžΌαžšαž…αž“αžΆαžŸαŸ†αžŽαžΆαž‰αŸ‹αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αŸ” αž”αŸ’αžšαž αŸ‚αž› 6 αžαŸ‚αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž“αŸ„αŸ‡ Envoy αž”αžΆαž“αž…αžΌαž›αžšαž½αž˜αž‡αžΆαž˜αž½αž™ Linkerd (αž‘αŸ„αŸ‡αž”αžΈαž‡αžΆαž‚αžΆαžαŸ‹αž”αžΆαž“αž“αŸ…αž‡αžΆαž˜αž½αž™ Lyft αžαžΆαŸ†αž„αž–αžΈαž…αž»αž„αž†αŸ’αž“αžΆαŸ† 2015)αŸ” Linkerd αž“αž·αž„ Envoy αž‚αžΊαž‡αžΆαž‚αž˜αŸ’αžšαŸ„αž„αž‘αžΆαŸ†αž„αž–αžΈαžšαžŠαŸ‚αž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž›αžΎαž€αž‘αžΎαž„αž‡αžΆαž‰αžΉαž€αž‰αžΆαž”αŸ‹αž”αŸ†αž•αž»αžαž“αŸ…αž–αŸαž›αž–αž·αž—αžΆαž€αŸ’αžŸαžΆαž’αŸ†αž–αžΈαžŸαŸαžœαžΆαžŸαŸ†αžŽαžΆαž‰αŸ‹αŸ”

Istio αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαž€αžΆαžŸαž“αŸ…αž€αŸ’αž“αž»αž„αžαŸ‚αž§αžŸαž—αžΆ 2017 αŸ” αž‚αŸ„αž›αžŠαŸ…αž“αŸƒαž‚αž˜αŸ’αžšαŸ„αž„ Istio αž‚αžΊαžŸαŸ’αžšαžŠαŸ€αž„αž‘αŸ…αž“αžΉαž„αž™αž“αŸ’αžαž αŸ„αŸ‡αž”αž‰αŸ’αž‡αžΆαžŠαŸ‚αž›αž”αžΆαž“αž–αž„αŸ’αžšαžΈαž€αžŠαŸ‚αž›αž”αžΆαž“αž”αž„αŸ’αž αžΆαž‰αž“αŸ…αž€αŸ’αž“αž»αž„ αžšαžΌαž”αž—αžΆαž–αž‘αžΈ ៑. αž”αŸαžŸαž€αž‡αž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Istio αž‚αžΊαž‡αžΆαž”αŸ’αžšαžΌαž€αžŸαŸŠαžΈαž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜αŸ” αžŠαžΌαž…αŸ’αž“αŸαŸ‡ Istio αž‚αžΊαž‡αžΆαž™αž“αŸ’αžαž αŸ„αŸ‡αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„ αž αžΎαž™ Envoy αž‚αžΊαž‡αžΆαž™αž“αŸ’αžαž αŸ„αŸ‡αž‘αž·αž“αŸ’αž“αž“αŸαž™αŸ” αž€αŸ’αž“αž»αž„αžšαž™αŸˆαž–αŸαž›αžŠαŸαžαŸ’αž›αžΈ Istio αž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž“αžΌαžœαž—αžΆαž–αžšαŸ†αž—αžΎαž”αž‡αžΆαž…αŸ’αžšαžΎαž“ αž αžΎαž™αž™αž“αŸ’αžαž αŸ„αŸ‡αž‘αž·αž“αŸ’αž“αž“αŸαž™αž•αŸ’αžŸαŸαž„αž‘αŸ€αžαž”αžΆαž“αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αž’αŸ’αžœαžΎαžŸαž˜αžΆαž αžšαžŽαž€αž˜αŸ’αž˜αž‡αžΆαž€αžΆαžšαž‡αŸ†αž“αž½αžŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Envoy (αž‘αžΆαŸ†αž„ Linkerd αž“αž·αž„ NGINX αž”αžΆαž“αž”αž„αŸ’αž αžΆαž‰αž–αžΈαž€αžΆαžšαžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž‡αžΆαž˜αž½αž™ Istio) αŸ” αž€αžΆαžšαž–αž·αžαžŠαŸ‚αž›αžαžΆαž™αž“αŸ’αžαž αŸ„αŸ‡αž‘αž·αž“αŸ’αž“αž“αŸαž™αž•αŸ’αžŸαŸαž„αž‚αŸ’αž“αžΆαž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαž“αŸ…αž€αŸ’αž“αž»αž„αž™αž“αŸ’αžαž αŸ„αŸ‡αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αžŠαžΌαž…αž‚αŸ’αž“αžΆ αž˜αžΆαž“αž“αŸαž™αžαžΆαž™αž“αŸ’αžαž αŸ„αŸ‡αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„ αž“αž·αž„αž™αž“αŸ’αžαž αŸ„αŸ‡αž‘αž·αž“αŸ’αž“αž“αŸαž™αž‚αžΊαž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αž—αŸ’αž‡αžΆαž”αŸ‹αž‚αŸ’αž“αžΆαž™αŸ‰αžΆαž„αžαžΉαž„αžšαŸ‰αžΉαž„αž“αŸ„αŸ‡αž‘αŸαŸ” API αžŠαžΌαž…αž‡αžΆ API αž™αž“αŸ’αžαž αŸ„αŸ‡αž‘αž·αž“αŸ’αž“αž“αŸαž™αž‘αžΌαž‘αŸ…αžšαž”αžŸαŸ‹ Envoy αž’αžΆαž…αž”αž„αŸ’αž€αžΎαžαž‡αžΆαžŸαŸ’αž–αžΆαž“αžšαžœαžΆαž„αž•αŸ’αž“αŸ‚αž€αž–αžΈαžšαž“αŸƒαž”αŸ’αžšαž–αŸαž“αŸ’αž’αŸ”

Nelson αž“αž·αž„ SmartStack αž‡αž½αž™αž”αž„αŸ’αž αžΆαž‰αž”αž“αŸ’αžαŸ‚αž˜αž’αŸ†αž–αžΈαž€αžΆαžšαž”αŸ†αž”αŸ‚αž€αž™αž“αŸ’αžαž αŸ„αŸ‡αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„ αž“αž·αž„αž™αž“αŸ’αžαž αŸ„αŸ‡αž‘αž·αž“αŸ’αž“αž“αŸαž™αŸ” Nelson αž”αŸ’αžšαžΎ Envoy αž‡αžΆαž”αŸ’αžšαžΌαž€αžŸαŸŠαžΈαžšαž”αžŸαŸ‹αžαŸ’αž›αž½αž“ αž“αž·αž„αž”αž„αŸ’αž€αžΎαžαž™αž“αŸ’αžαž αŸ„αŸ‡αžαŸ’αžšαž½αžαž–αž·αž“αž·αžαŸ’αž™αžŠαŸ‚αž›αž’αžΆαž…αž‘αž»αž€αž…αž·αžαŸ’αžαž”αžΆαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŸαŸαžœαžΆαžŸαŸ†αžŽαžΆαž‰αŸ‹αžŠαŸ„αž™αž•αŸ’αž’αŸ‚αž€αž›αžΎαž‡αž„αŸ‹ HashiCorp αž–αŸ„αž›αž‚αžΊαž§αŸ” Nomad αž‡αžΆαžŠαžΎαž˜αŸ” SmartStack αž”αŸ’αžšαž αŸ‚αž›β€‹αž‡αžΆβ€‹αžšαž›αž€β€‹αž‘αžΈαž˜αž½αž™β€‹αž“αŸƒβ€‹αž”αžŽαŸ’αžαžΆαž‰β€‹αžŸαŸαžœαžΆβ€‹αžαŸ’αž˜αžΈβ€‹αŸ” SmartStack αž”αž„αŸ’αž€αžΎαžαž™αž“αŸ’αžαž αŸ„αŸ‡αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž‡αž»αŸ†αžœαž·αž‰ HAProxy ឬ NGINX αžŠαŸ„αž™αž”αž„αŸ’αž αžΆαž‰αž–αžΈαžŸαž˜αžαŸ’αžαž—αžΆαž–αž€αŸ’αž“αž»αž„αž€αžΆαžšαž”αŸ†αž”αŸ‚αž€αž™αž“αŸ’αžαž αŸ„αŸ‡αž”αž‰αŸ’αž‡αžΆαž–αžΈαž”αžŽαŸ’αžαžΆαž‰αžŸαŸαžœαžΆαž–αžΈαž™αž“αŸ’αžαž αŸ„αŸ‡αž‘αž·αž“αŸ’αž“αž“αŸαž™αŸ”

αžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜αž˜αžΈαž€αŸ’αžšαžΌαžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αžŠαŸ‚αž›αž˜αžΆαž“αžŸαŸ†αžŽαžΆαž‰αŸ‹αžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αž€αŸ†αž–αž»αž„αž‘αž‘αž½αž›αž”αžΆαž“αž€αžΆαžšαž…αžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαž€αžΆαž“αŸ‹αžαŸ‚αž…αŸ’αžšαžΎαž“αž‘αžΎαž„ (αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœ!) αž αžΎαž™αž‚αž˜αŸ’αžšαŸ„αž„ αž“αž·αž„αž’αŸ’αž“αž€αž›αž€αŸ‹αž€αžΆαž“αŸ‹αžαŸ‚αž…αŸ’αžšαžΎαž“αž€αŸ†αž–αž»αž„αž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αŸ’αž“αž»αž„αž‘αž·αžŸαžŠαŸ…αž“αŸαŸ‡αŸ” αž€αŸ’αž“αž»αž„αžšαž™αŸˆαž–αŸαž›αž”αŸ‰αž»αž“αŸ’αž˜αžΆαž“αž†αŸ’αž“αžΆαŸ†αžαžΆαž„αž˜αž»αž αž™αžΎαž„αž“αžΉαž„αžƒαžΎαž‰αž€αžΆαžšαž…αŸ’αž“αŸƒαž”αŸ’αžšαžŒαž·αžαž‡αžΆαž…αŸ’αžšαžΎαž“αž‘αžΆαŸ†αž„αž“αŸ…αž€αŸ’αž“αž»αž„αž™αž“αŸ’αžαž αŸ„αŸ‡αž‘αž·αž“αŸ’αž“αž“αŸαž™ αž“αž·αž„αž™αž“αŸ’αžαž αŸ„αŸ‡αž”αž‰αŸ’αž‡αžΆ αž€αŸαžŠαžΌαž…αž‡αžΆαž€αžΆαžšαž›αžΆαž™αž”αž‰αŸ’αž…αžΌαž›αž‚αŸ’αž“αžΆαž”αž“αŸ’αžαŸ‚αž˜αž‘αŸ€αžαž“αŸƒαžŸαž˜αžΆαžŸαž’αžΆαžαž»αž•αŸ’αžŸαŸαž„αŸ—αž‚αŸ’αž“αžΆαŸ” αž“αŸ…αž‘αžΈαž”αŸ†αž•αž»αž αžŸαŸ’αžαžΆαž”αžαŸ’αž™αž€αž˜αŸ’αž˜αž˜αžΈαž€αŸ’αžšαžΌαžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αž‚αž½αžšαžαŸ‚αž€αžΆαž“αŸ‹αžαŸ‚αž˜αžΆαž“αžαž˜αŸ’αž›αžΆαž—αžΆαž– αž“αž·αž„αžœαŸαž‘αž˜αž“αŸ’αž (?) αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžšαŸ”
αžŸαž„αŸ’αžƒαžΉαž˜β€‹αžαž·αž…β€‹αž αžΎαž™β€‹αž†αžΆαž”αŸ‹β€‹αžαžΉαž„αŸ”

αž€αžΆαžšαžŠαž€αž™αž€αžŸαŸ†αžαžΆαž“αŸ‹αŸ—

  • αžŸαŸ†αžŽαžΆαž‰αŸ‹αžŸαŸαžœαžΆαž˜αžΆαž“αž–αžΈαžšαž•αŸ’αž“αŸ‚αž€αž•αŸ’αžŸαŸαž„αž‚αŸ’αž“αžΆαŸ– αž™αž“αŸ’αžαž αŸ„αŸ‡αž‘αž·αž“αŸ’αž“αž“αŸαž™ αž“αž·αž„αž™αž“αŸ’αžαž αŸ„αŸ‡αž”αž‰αŸ’αž‡αžΆαŸ” αžŸαž˜αžΆαžŸαž’αžΆαžαž»αž‘αžΆαŸ†αž„αž–αžΈαžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αž‘αžΆαž˜αž‘αžΆαžš αž αžΎαž™αž”αžΎαž‚αŸ’αž˜αžΆαž“αž–αž½αž€αžœαžΆ αž”αŸ’αžšαž–αŸαž“αŸ’αž’αž“αžΉαž„αž˜αž·αž“αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‘αŸαŸ”
  • αž‚αŸ’αžšαž”αŸ‹β€‹αž‚αŸ’αž“αžΆβ€‹αžŸαŸ’αž‚αžΆαž›αŸ‹β€‹αž™αž“αŸ’αžαž αŸ„αŸ‡β€‹αž”αž‰αŸ’αž‡αžΆ αž αžΎαž™β€‹αžαŸ’αžšαž„αŸ‹β€‹αž…αŸ†αžŽαž»αž…β€‹αž“αŸαŸ‡ αž™αž“αŸ’αžαž αŸ„αŸ‡β€‹αž”αž‰αŸ’αž‡αžΆβ€‹αž’αžΆαž…β€‹αž‡αžΆβ€‹αž’αŸ’αž“αž€!
  • αž™αž“αŸ’αžαž αŸ„αŸ‡αž‘αž·αž“αŸ’αž“αž“αŸαž™αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž”αŸ’αžšαž€αž½αžαž”αŸ’αžšαž‡αŸ‚αž„αž‚αŸ’αž“αžΆαž‘αŸ…αžœαž·αž‰αž‘αŸ…αž˜αž€αž›αžΎαž›αž€αŸ’αžαžŽαŸˆαž–αž·αžŸαŸαžŸ αž€αžΆαžšαž’αž“αž»αžœαžαŸ’αž αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’ αž“αž·αž„αž›αž‘αŸ’αž’αž—αžΆαž–αž–αž„αŸ’αžšαžΈαž€αŸ”
  • αž™αž“αŸ’αžαž αŸ„αŸ‡αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž”αŸ’αžšαž€αž½αžαž”αŸ’αžšαž‡αŸ‚αž„αž‚αŸ’αž“αžΆαž“αŸ…αž€αŸ’αž“αž»αž„αž›αž€αŸ’αžαžŽαŸˆαž–αž·αžŸαŸαžŸ αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’ αž€αžΆαžšαž–αž„αŸ’αžšαžΈαž€ αž“αž·αž„αž—αžΆαž–αž„αžΆαž™αžŸαŸ’αžšαž½αž›αž“αŸƒαž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αŸ”
  • αž™αž“αŸ’αžαž αŸ„αŸ‡αž”αž‰αŸ’αž‡αžΆαž˜αž½αž™αž’αžΆαž…αž•αŸ’αž‘αž»αž€ abstractions αž“αž·αž„ APIs αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœ αžŠαžΌαž…αŸ’αž“αŸαŸ‡αž’αžΆαž…αž”αŸ’αžšαžΎαž™αž“αŸ’αžαž αŸ„αŸ‡αž‘αž·αž“αŸ’αž“αž“αŸαž™αž…αŸ’αžšαžΎαž“αŸ”

αž”αŸ’αžšαž—αž–: www.habr.com

αž‘αž·αž‰αž€αžΆαžšαž”αž„αŸ’αž αŸ„αŸ‡αžŠαŸ‚αž›αž’αžΆαž…αž‘αž»αž€αž…αž·αžαŸ’αžαž”αžΆαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‚αŸαž αž‘αŸ†αž–αŸαžšαžŠαŸ‚αž›αž˜αžΆαž“αž€αžΆαžšαž€αžΆαžšαž–αžΆαžš DDoS, αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ VPS VDS πŸ”₯ αž‘αž·αž‰αžŸαŸαžœαžΆαž”αž„αŸ’αž αŸ„αŸ‡αž‚αŸαž αž‘αŸ†αž–αŸαžšαžŠαŸ‚αž›αž’αžΆαž…αž‘αž»αž€αž…αž·αžαŸ’αžαž”αžΆαž“αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž€αžΆαžšαž€αžΆαžšαž–αžΆαžš DDoS αž“αž·αž„αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸ VPS VDS | ProHoster