рд╕рд░реНрд╡реНрд╣рд┐рд╕ рдореЗрд╢ рдбреЗрдЯрд╛ рдкреНрд▓реЗрди рд╡рд┐ рдХрдВрдЯреНрд░реЛрд▓ рдкреНрд▓реЗрди

рдЕрд╣реЛ рд╣рд╛рдмреНрд░! рд▓реЗрдЦрд╛рдЪрд╛ рдЕрдиреБрд╡рд╛рдж рдореА рддреБрдордЪреНрдпрд╛ рд▓рдХреНрд╖рд╛рдд рдЖрдгреВрди рджреЗрдд рдЖрд╣реЗ "рд╕рд░реНрд╡реНрд╣рд┐рд╕ рдореЗрд╢ рдбреЗрдЯрд╛ рдкреНрд▓реЗрди рд╡рд┐ рдХрдВрдЯреНрд░реЛрд▓ рдкреНрд▓реЗрди" рд▓реЗрдЦрдХ рдореЕрдЯ рдХреНрд▓реАрди.

рд╕рд░реНрд╡реНрд╣рд┐рд╕ рдореЗрд╢ рдбреЗрдЯрд╛ рдкреНрд▓реЗрди рд╡рд┐ рдХрдВрдЯреНрд░реЛрд▓ рдкреНрд▓реЗрди

рдпрд╛ рд╡реЗрд│реА, рдорд▓рд╛ рд╕рд░реНрд╡реНрд╣рд┐рд╕ рдореЗрд╢ рдШрдЯрдХ, рдбреЗрдЯрд╛ рдкреНрд▓реЗрди рдЖрдгрд┐ рдХрдВрдЯреНрд░реЛрд▓ рдкреНрд▓реЗрди рдпрд╛ рджреЛрдиреНрд╣реАрдВрдЪреЗ рд╡рд░реНрдгрди тАЬрд╣рд╡рдВ рдЖрдгрд┐ рднрд╛рд╖рд╛рдВрддрд░рд┐рддтАЭ рдХреЗрд▓реЗ. рд╣реЗ рд╡рд░реНрдгрди рдорд▓рд╛ рд╕рд░реНрд╡рд╛рдд рд╕рдордЬрдгреНрдпрд╛рдЬреЛрдЧреЗ рдЖрдгрд┐ рдордиреЛрд░рдВрдЬрдХ рд╡рд╛рдЯрд▓реЗ рдЖрдгрд┐ рд╕рд░реНрд╡рд╛рдд рдорд╣рддреНрддреНрд╡рд╛рдЪреЗ рдореНрд╣рдгрдЬреЗ "рд╣реЗ рдЕрдЬрд┐рдмрд╛рдд рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рдХрд╛?"

"рд╕реЗрд╡рд╛ рдЬрд╛рд│реА" рдЪреА рдХрд▓реНрдкрдирд╛ рдЧреЗрд▓реНрдпрд╛ рджреЛрди рд╡рд░реНрд╖рд╛рдВрдд (рдореВрд│ рд▓реЗрдЦ рдСрдХреНрдЯреЛрдмрд░ 10, 2017) рдЕрдзрд┐рдХрд╛рдзрд┐рдХ рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реЛрдд рдЕрд╕рд▓реНрдпрд╛рдиреЗ рдЖрдгрд┐ рд╕реНрдкреЗрд╕рдордзреАрд▓ рд╕рд╣рднрд╛рдЧреАрдВрдЪреА рд╕рдВрдЦреНрдпрд╛ рд╡рд╛рдврд▓реНрдпрд╛рдореБрд│реЗ, рдореА рд╕рдВрдкреВрд░реНрдг рд▓реЛрдХрд╛рдВрдордзреНрдпреЗ рдЧреЛрдВрдзрд│рд╛рдд рд╕рдорд╛рди рд╡рд╛рдв рдкрд╛рд╣рд┐рд▓реА рдЖрд╣реЗ. рд╡рд┐рд╡рд┐рдз рд╕реЛрд▓реНрдпреВрд╢рдиреНрд╕рдЪреА рддреБрд▓рдирд╛ рдЖрдгрд┐ рдХреЙрдиреНрдЯреНрд░рд╛рд╕реНрдЯ рдХрд╕реЗ рдХрд░рд╛рд╡реЗ рдпрд╛рд╕рдВрдмрдВрдзреА рддрдВрддреНрд░рдЬреНрдЮрд╛рди рд╕рдореБрджрд╛рдп.

рдореА рдЬреБрд▓реИрдордзреНрдпреЗ рд▓рд┐рд╣рд┐рд▓реЗрд▓реНрдпрд╛ рдЯреНрд╡рд┐рдЯрдЪреНрдпрд╛ рдкреБрдвреАрд▓ рдорд╛рд▓рд┐рдХреЗрджреНрд╡рд╛рд░реЗ рдкрд░рд┐рд╕реНрдерд┐рддреАрдЪрд╛ рд╕рд╛рд░рд╛рдВрд╢ рджрд┐рд▓рд╛ рдЬрд╛рддреЛ:

рд╕реЗрд╡рд╛ рдЬрд╛рд│реА рдЧреЛрдВрдзрд│ #1: Linkerd ~ = Nginx ~ = Haproxy ~ = рджреВрдд. рдпрд╛рдкреИрдХреА рдХреЛрдгреАрд╣реА рдЗрд╕реНрдЯрд┐рдУрдЪреНрдпрд╛ рдмрд░реЛрдмрд░реАрдЪреЗ рдирд╛рд╣реА. Istio рдХрд╛рд╣реАрддрд░реА рдкреВрд░реНрдгрдкрдгреЗ рд╡реЗрдЧрд│реЗ рдЖрд╣реЗ. рез/

рдкреНрд░рдердо рдлрдХреНрдд рдбреЗрдЯрд╛ рдкреНрд▓реЗрди рдЖрд╣реЗрдд. рддреЗ рд╕реНрд╡рддрдГрд╣реВрди рдХрд╛рд╣реА рдХрд░рдд рдирд╛рд╣реАрдд. рддреЗ рдЖрдгрдЦреА рдХрд╛рд╣реАрддрд░реА рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдореВрдбрдордзреНрдпреЗ рдЕрд╕рд▓реЗ рдкрд╛рд╣рд┐рдЬреЗрдд. реи/

Istio рд╣реЗ рдПрдХ рдирд┐рдпрдВрддреНрд░рдг рд╡рд┐рдорд╛рдирд╛рдЪреЗ рдЙрджрд╛рд╣рд░рдг рдЖрд╣реЗ рдЬреЗ рднрд╛рдЧрд╛рдВрдирд╛ рдПрдХрддреНрд░ рдмрд╛рдВрдзрддреЗ. рд╣рд╛ рджреБрд╕рд░рд╛ рдерд░ рдЖрд╣реЗ. /рд╢реЗрд╡рдЯ

рдорд╛рдЧреАрд▓ рдЯреНрд╡рд┐рдЯреНрд╕рдордзреНрдпреЗ рдЕрдиреЗрдХ рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рдкреНрд░рдХрд▓реНрдкрд╛рдВрдЪрд╛ рдЙрд▓реНрд▓реЗрдЦ рдЖрд╣реЗ (рд▓рд┐рдВрдХрд░реНрдб, рдПрдирдЬреАрдЖрдпрдПрдирдПрдХреНрд╕, рдПрдЪрдПрдкреНрд░реЙрдХреНрд╕реА, рджреВрдд рдЖрдгрд┐ рдЗрд╕реНрдЯрд┐рдУ), рдкрд░рдВрддреБ рддреНрдпрд╛рд╣реВрдирд╣реА рдорд╣рддреНрддреНрд╡рд╛рдЪреЗ рдореНрд╣рдгрдЬреЗ рдбреЗрдЯрд╛ рдкреНрд▓реЗрди, рд╕рд░реНрд╡реНрд╣рд┐рд╕ рдореЗрд╢ рдЖрдгрд┐ рдХрдВрдЯреНрд░реЛрд▓ рдкреНрд▓реЗрдирдЪреНрдпрд╛ рд╕рд╛рдорд╛рдиреНрдп рд╕рдВрдХрд▓реНрдкрдирд╛ рд╕рд╛рджрд░ рдХрд░рд╛. рдпрд╛ рдкреЛрд╕реНрдЯрдордзреНрдпреЗ, рдореА рдПрдХ рдкрд╛рдКрд▓ рдорд╛рдЧреЗ рдШреЗрдИрди рдЖрдгрд┐ "рдбреЗрдЯрд╛ рдкреНрд▓реЗрди" рдЖрдгрд┐ "рдХрдВрдЯреНрд░реЛрд▓ рдкреНрд▓реЗрди" рдпрд╛ рд╢рдмреНрджрд╛рдВрдЪрд╛ рдорд▓рд╛ рдХрд╛рдп рдЕрд░реНрде рдЖрд╣реЗ рддреНрдпрд╛рдмрджреНрджрд▓ рдЙрдЪреНрдЪ рд╕реНрддрд░рд╛рд╡рд░ рдмреЛрд▓реЗрди рдЖрдгрд┐ рдирдВрддрд░ рдЯреНрд╡рд┐рдЯрдордзреНрдпреЗ рдирдореВрдж рдХреЗрд▓реЗрд▓реНрдпрд╛ рдкреНрд░рдХрд▓реНрдкрд╛рдВрдирд╛ рдЕрдЯреА рдХрд╢рд╛ рд▓рд╛рдЧреВ рд╣реЛрддрд╛рдд рдпрд╛рдмрджреНрджрд▓ рдмреЛрд▓реЗрди.

╨з╤В╨╛ ╤В╨░╨║╨╛╨╡ ╤Б╨╡╤А╨▓╨╕╤Б╨╜╨░╤П ╤Б╨╡╤В╤М (What is a service mesh, really)?

рд╕рд░реНрд╡реНрд╣рд┐рд╕ рдореЗрд╢ рдбреЗрдЯрд╛ рдкреНрд▓реЗрди рд╡рд┐ рдХрдВрдЯреНрд░реЛрд▓ рдкреНрд▓реЗрди
рдЖрдХреГрддреА 1: рд╕реЗрд╡рд╛ рдЬрд╛рд│реА рд╡рд┐рд╣рдВрдЧрд╛рд╡рд▓реЛрдХрди

1 рдЖрдХреГрддреА рд╕реЗрд╡рд╛ рдЬрд╛рд│реАрдЪреА рд╕рдВрдХрд▓реНрдкрдирд╛ рддреНрдпрд╛рдЪреНрдпрд╛ рд╕рд░реНрд╡рд╛рдд рдореВрд▓рднреВрдд рд╕реНрддрд░рд╛рд╡рд░ рд╕реНрдкрд╖реНрдЯ рдХрд░рддреЗ. рдЪрд╛рд░ рд╕реЗрд╡рд╛ рдХреНрд▓рд╕реНрдЯрд░ (AD) рдЖрд╣реЗрдд. рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрд╡рд╛ рдЙрджрд╛рд╣рд░рдг рд╕реНрдерд╛рдирд┐рдХ рдкреНрд░реЙрдХреНрд╕реА рд╕рд░реНрд╡реНрд╣рд░рд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдЖрд╣реЗ. рд╕рд░реНрд╡ рдиреЗрдЯрд╡рд░реНрдХ рдЯреНрд░реЕрдлрд┐рдХ (HTTP, REST, gRPC, Redis, рдЗ.) рдПрдХрд╛рдЪ рдНрдкреНрд▓рд┐рдХреЗрд╢рди рдЗрдВрд╕реНрдЯрдиреНрд╕рдордзреВрди рд╕реНрдерд╛рдирд┐рдХ рдкреНрд░реЙрдХреНрд╕реАрджреНрд╡рд╛рд░реЗ рдпреЛрдЧреНрдп рдмрд╛рд╣реНрдп рд╕реЗрд╡рд╛ рдХреНрд▓рд╕реНрдЯрд░реНрд╕рдХрдбреЗ рдкрд╛рдард╡рд▓реЗ рдЬрд╛рддреЗ. рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ, рдНрдкреНрд▓рд┐рдХреЗрд╢рди рдЗрдиреНрд╕реНрдЯрдиреНрд╕ рд╕рдВрдкреВрд░реНрдг рдиреЗрдЯрд╡рд░реНрдХрдмрджреНрджрд▓ рдЕрдирднрд┐рдЬреНрдЮ рдЖрд╣реЗ рдЖрдгрд┐ рдХреЗрд╡рд│ рддреНрдпрд╛рдЪреНрдпрд╛ рд╕реНрдерд╛рдирд┐рдХ рдкреНрд░реЙрдХреНрд╕реАрдмрджреНрджрд▓ рдорд╛рд╣рд┐рддреА рдЖрд╣реЗ. рдкреНрд░рднрд╛рд╡реАрдкрдгреЗ, рд╡рд┐рддрд░рд┐рдд рд╕рд┐рд╕реНрдЯрдо рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗрд╡реЗрдордзреВрди рдХрд╛рдврд▓реЗ рдЧреЗрд▓реЗ.

рдбреЗрдЯрд╛ рдкреНрд▓реЗрди

рд╕реЗрд╡рд╛ рдЬрд╛рд│реАрдордзреНрдпреЗ, рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рд╕рд╛рдареА рд╕реНрдерд╛рдирд┐рдХ рдкрд╛рддрд│реАрд╡рд░ рд╕реНрдерд┐рдд рдкреНрд░реЙрдХреНрд╕реА рд╕рд░реНрд╡реНрд╣рд░ рдЦрд╛рд▓реАрд▓ рдХрд╛рд░реНрдпреЗ рдХрд░рддреЛ:

  • рд╕реЗрд╡рд╛ рд╢реЛрдз. рддреБрдордЪреНрдпрд╛ рдЕрд░реНрдЬрд╛рд╕рд╛рдареА рдХреЛрдгрддреНрдпрд╛ рд╕реЗрд╡рд╛/рдЕрд░реНрдЬ рдЙрдкрд▓рдмреНрдз рдЖрд╣реЗрдд?
  • рдЖрд░реЛрдЧреНрдп рддрдкрд╛рд╕рдгреА. рд╕реЗрд╡рд╛ рд╢реЛрдзрд╛рджреНрд╡рд╛рд░реЗ рдкрд░рдд рдХреЗрд▓реЗрд▓реА рд╕реЗрд╡рд╛ рдЙрджрд╛рд╣рд░рдгреЗ рдирд┐рд░реЛрдЧреА рдЖрдгрд┐ рдиреЗрдЯрд╡рд░реНрдХ рд░рд╣рджрд╛рд░реА рд╕реНрд╡реАрдХрд╛рд░рдгреНрдпрд╛рд╕ рддрдпрд╛рд░ рдЖрд╣реЗрдд рдХрд╛? рдпрд╛рдордзреНрдпреЗ рд╕рдХреНрд░рд┐рдп (рдЙрджрд╛. рдкреНрд░рддрд┐рд╕рд╛рдж/рдЖрд░реЛрдЧреНрдп рддрдкрд╛рд╕рдгреА) рдЖрдгрд┐ рдирд┐рд╖реНрдХреНрд░реАрдп (рдЙрджрд╛. рдЕрд╕реНрд╡рд╛рд╕реНрдереНрдпрдХрд░ рд╕реЗрд╡рд╛ рд╕реНрдерд┐рддреАрдЪреЗ рд╕рдВрдХреЗрдд рдореНрд╣рдгреВрди 3 рд╕рд▓рдЧ 5xx рддреНрд░реБрдЯреА рд╡рд╛рдкрд░рдгреЗ) рджреЛрдиреНрд╣реА рдЖрд░реЛрдЧреНрдп рддрдкрд╛рд╕рдгреА рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЕрд╕реВ рд╢рдХрддрд╛рдд.
  • рд░рд╛рдЙрдЯрд┐рдВрдЧ. REST рд╕реЗрд╡реЗрдХрдбреВрди "/foo" рдЪреА рд╡рд┐рдирдВрддреА рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛рдирд╛, рд╡рд┐рдирдВрддреА рдХреЛрдгрддреНрдпрд╛ рд╕реЗрд╡рд╛ рдХреНрд▓рд╕реНрдЯрд░рд▓рд╛ рдкрд╛рдард╡рд▓реА рдЬрд╛рд╡реА?
  • рд▓реЛрдб рдмреЕрд▓рдиреНрд╕рд┐рдВрдЧ. рд░рд╛рдЙрдЯрд┐рдВрдЧ рджрд░рдореНрдпрд╛рди рд╕реЗрд╡рд╛ рдХреНрд▓рд╕реНрдЯрд░ рдирд┐рд╡рдбрд▓реНрдпрд╛рдирдВрддрд░, рд╡рд┐рдирдВрддреА рдХреЛрдгрддреНрдпрд╛ рд╕реЗрд╡реЗрдЪреНрдпрд╛ рдЙрджрд╛рд╣рд░рдгрд╛рд╡рд░ рдкрд╛рдард╡рд▓реА рдЬрд╛рд╡реА? рдХреЛрдгрддреНрдпрд╛ рдХрд╛рд▓рдмрд╛рд╣реНрдпрддреЗрд╕рд╣? рдХреЛрдгрддреНрдпрд╛ рд╕рд░реНрдХрд┐рдЯ рдмреНрд░реЗрдХрд┐рдВрдЧ рд╕реЗрдЯрд┐рдВрдЧреНрдЬрд╕рд╣? рд╡рд┐рдирдВрддреА рдЕрдпрд╢рд╕реНрд╡реА рдЭрд╛рд▓реНрдпрд╛рд╕, рдкреБрдиреНрд╣рд╛ рдкреНрд░рдпрддреНрди рдХрд░рд╛рд╡рд╛ рдХрд╛?
  • рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдЖрдгрд┐ рдЕрдзрд┐рдХреГрддрддрд╛. рдпреЗрдгрд╛рд░реНтАНрдпрд╛ рд╡рд┐рдирдВрддреНрдпрд╛рдВрд╕рд╛рдареА, mTLS рдХрд┐рдВрд╡рд╛ рдЗрддрд░ рдХрд╛рд╣реА рдпрдВрддреНрд░рдгрд╛ рд╡рд╛рдкрд░реВрди рдХреЙрд▓рд┐рдВрдЧ рд╕реЗрд╡рд╛ рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлрд┐рдХрд░рд┐рддреНрдпрд╛ рдУрд│рдЦрд▓реА рдЬрд╛рдК рд╢рдХрддреЗ/рдЕрдзрд┐рдХреГрдд рдХреЗрд▓реА рдЬрд╛рдК рд╢рдХрддреЗ? рдЬрд░ рддреЗ рдУрд│рдЦрд▓реЗ/рдЕрдзрд┐рдХреГрдд рдЕрд╕реЗрд▓, рддрд░ рд╕реЗрд╡реЗрд╡рд░ рд╡рд┐рдирдВрддреА рдХреЗрд▓реЗрд▓реНрдпрд╛ рдСрдкрд░реЗрд╢рдирд▓рд╛ (рдПрдВрдбрдкреЙрдИрдВрдЯ) рдХреЙрд▓ рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рдЖрд╣реЗ рдХрд╛ рдХрд┐рдВрд╡рд╛ рдЕрдирдзрд┐рдХреГрдд рдкреНрд░рддрд┐рд╕рд╛рдж рдкрд░рдд рдХрд░рд╛рд╡рд╛?
  • рдирд┐рд░реАрдХреНрд╖рдгрдХреНрд╖рдорддрд╛. рддрдкрд╢реАрд▓рд╡рд╛рд░ рдЖрдХрдбреЗрд╡рд╛рд░реА, рд▓реЙрдЧ/рд▓реЙрдЧ рдЖрдгрд┐ рд╡рд┐рддрд░рд┐рдд рдЯреНрд░реЗрд╕ рдбреЗрдЯрд╛ рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рдирдВрддреАрд╕рд╛рдареА рд╡реНрдпреБрддреНрдкрдиреНрди рдХреЗрд▓рд╛ рдкрд╛рд╣рд┐рдЬреЗ рдЬреЗрдгреЗрдХрд░реВрди рдСрдкрд░реЗрдЯрд░ рд╡рд┐рддрд░рд┐рдд рд╡рд╛рд╣рддреВрдХ рдкреНрд░рд╡рд╛рд╣ рдЖрдгрд┐ рдбреАрдмрдЧрд┐рдВрдЧ рд╕рдорд╕реНрдпрд╛ рдЙрджреНрднрд╡рддрд╛рдд рддреЗрд╡реНрд╣рд╛ рддреНрдпрд╛рдВрдирд╛ рд╕рдордЬреВ рд╢рдХрддреАрд▓.

рд╕рд░реНрд╡реНрд╣рд┐рд╕ рдореЗрд╢рдордзреАрд▓ рд╕рд░реНрд╡ рдорд╛рдЧреАрд▓ рдкреЙрдЗрдВрдЯреНрд╕рд╕рд╛рдареА рдбреЗрдЯрд╛ рдкреНрд▓реЗрди рдЬрдмрд╛рдмрджрд╛рд░ рдЖрд╣реЗ. рдЦрд░рдВ рддрд░, рд╕реЗрд╡реЗрд╕рд╛рдареА рдкреНрд░реЙрдХреНрд╕реА рд▓реЛрдХрд▓ (рд╕рд╛рдЗрдбрдХрд╛рд░) рдбреЗрдЯрд╛ рдкреНрд▓реЗрди рдЖрд╣реЗ. рджреБрд╕рд▒реНрдпрд╛ рд╢рдмреНрджрд╛рдВрдд, рдбреЗрдЯрд╛ рдкреНрд▓реЗрди рд╕рд╢рд░реНрддрдкрдгреЗ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдлреЙрд░рд╡рд░реНрдб рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рд╕реЗрд╡реЗрдХрдбреВрди рдкрд╛рдард╡рд▓реЗрд▓реНрдпрд╛ рдкреНрд░рддреНрдпреЗрдХ рдиреЗрдЯрд╡рд░реНрдХ рдкреЕрдХреЗрдЯрдЪреЗ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЬрдмрд╛рдмрджрд╛рд░ рдЖрд╣реЗ.

рдирд┐рдпрдВрддреНрд░рдг рд╡рд┐рдорд╛рди

рдбреЗрдЯрд╛ рдкреНрд▓реЗрдирдордзреНрдпреЗ рд╕реНрдерд╛рдирд┐рдХ рдкреНрд░реЙрдХреНрд╕реА рдкреНрд░рджрд╛рди рдХрд░рддреЗ рддреЗ рдиреЗрдЯрд╡рд░реНрдХ рдЕреЕрдмреНрд╕реНрдЯреНрд░реЕрдХреНрд╢рди рдЬрд╛рджреБрдИ(?) рдЖрд╣реЗ. рддрдерд╛рдкрд┐, рд╕реЗрд╡рд╛ B рдЪреНрдпрд╛ "/foo" рдорд╛рд░реНрдЧрд╛рдмрджреНрджрд▓ рдкреНрд░реЙрдХреНрд╕реАрд▓рд╛ рдкреНрд░рддреНрдпрдХреНрд╖рд╛рдд рдХрд╕реЗ рдХрд│рддреЗ? рдкреНрд░реЙрдХреНрд╕реА рд╡рд┐рдирдВрддреНрдпрд╛рдВрдиреА рднрд░рд▓реЗрд▓рд╛ рд╕реЗрд╡рд╛ рд╢реЛрдз рдбреЗрдЯрд╛ рдХрд╕рд╛ рд╡рд╛рдкрд░рд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ? рд▓реЛрдб рдмреЕрд▓рдиреНрд╕рд┐рдВрдЧ, рдЯрд╛рдЗрдордЖрдЙрдЯ, рд╕рд░реНрдХрд┐рдЯ рдмреНрд░реЗрдХрд┐рдВрдЧ рдЗрддреНрдпрд╛рджреАрд╕рд╛рдареА рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рдХрд╕реЗ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд? рддреБрдореНрд╣реА рдирд┐рд│реНрдпрд╛/рд╣рд┐рд░рд╡реНрдпрд╛ рдкрджреНрдзрддреАрдЪрд╛ рдХрд┐рдВрд╡рд╛ рдЖрдХрд░реНрд╖рдХ рд░рд╣рджрд╛рд░реА рд╕рдВрдХреНрд░рдордг рдкрджреНрдзрддреАрдЪрд╛ рд╡рд╛рдкрд░ рдХрд░реВрди рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХрд╕рд╛ рдЙрдкрдпреЛрдЬрд┐рдд рдХрд░рд╛рд▓? рд╕рд┐рд╕реНрдЯрдо-рд╡реНрдпрд╛рдкреА рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдЖрдгрд┐ рдЕрдзрд┐рдХреГрддрддрд╛ рд╕реЗрдЯрд┐рдВрдЧреНрдЬ рдХреЛрдг рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рддреЗ?

рд╡рд░реАрд▓ рд╕рд░реНрд╡ рдЖрдпрдЯрдо рд╕рд░реНрд╡реНрд╣рд┐рд╕ рдореЗрд╢рдЪреНрдпрд╛ рдХрдВрдЯреНрд░реЛрд▓ рдкреНрд▓реЗрдирдЪреНрдпрд╛ рдирд┐рдпрдВрддреНрд░рдгрд╛рдЦрд╛рд▓реА рдЖрд╣реЗрдд. рдХрдВрдЯреНрд░реЛрд▓ рдкреНрд▓реЗрди рд╡реЗрдЧрд│реНрдпрд╛ рд╕реНрдЯреЗрдЯрд▓реЗрд╕ рдкреНрд░реЙрдХреНрд╕реАрдЪрд╛ рд╕рдВрдЪ рдШреЗрддреЗ рдЖрдгрд┐ рддреНрдпрд╛рдВрдирд╛ рд╡рд┐рддрд░рд┐рдд рдкреНрд░рдгрд╛рд▓реАрдордзреНрдпреЗ рдмрджрд▓рддреЗ.

рдорд▓рд╛ рд╡рд╛рдЯрддреЗ рдХреА рдЕрдиреЗрдХ рддрдВрддреНрд░рдЬреНрдЮрд╛рдВрдирд╛ рдбреЗрдЯрд╛ рдкреНрд▓реЗрди рдЖрдгрд┐ рдХрдВрдЯреНрд░реЛрд▓ рдкреНрд▓реЗрдирдЪреНрдпрд╛ рд╡реЗрдЧрд│реНрдпрд╛ рд╕рдВрдХрд▓реНрдкрдирд╛ рдЧреЛрдВрдзрд│рд╛рдд рдЯрд╛рдХрдгреНрдпрд╛рдЪреЗ рдХрд╛рд░рдг рдЖрд╣реЗ рдХрд╛рд░рдг рдмрд╣реБрддреЗрдХ рд▓реЛрдХрд╛рдВрд╕рд╛рдареА рдбреЗрдЯрд╛ рдкреНрд▓реЗрди рдкрд░рд┐рдЪрд┐рдд рдЖрд╣реЗ рддрд░ рдХрдВрдЯреНрд░реЛрд▓ рдкреНрд▓реЗрди рдкрд░рджреЗрд╢реА/рди рд╕рдордЬрд▓реЗрд▓реЗ рдЖрд╣реЗ. рдЖрдореНрд╣реА рдмрд░реНрдпрд╛рдЪ рдХрд╛рд│рд╛рдкрд╛рд╕реВрди рднреМрддрд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ рд░рд╛рдЙрдЯрд░ рдЖрдгрд┐ рд╕реНрд╡рд┐рдЪрд╕рд╣ рдХрд╛рдо рдХрд░рдд рдЖрд╣реЛрдд. рдЖрдореНтАНрд╣реА рд╕рдордЬрддреЛ рдХреА рдкреЕрдХреЗрдЯ/рд╡рд┐рдирдВрддреА рдмрд┐рдВрджреВ A рдкрд╛рд╕реВрди рдмрд┐рдВрджреВ B рдкрд░реНрдпрдВрдд рдЬрд╛рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рдЖрдгрд┐ рд╣реЗ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдореНрд╣реА рд╣рд╛рд░реНрдбрд╡реЗрдЕрд░ рдЖрдгрд┐ рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░ рд╡рд╛рдкрд░реВ рд╢рдХрддреЛ. рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░ рдкреНрд░реЙрдХреНрд╕реАрдЪреА рдирд╡реАрди рдкрд┐рдвреА рдЖрдореНрд╣реА рдмрд░реНрдпрд╛рдЪ рдХрд╛рд│рд╛рдкрд╛рд╕реВрди рд╡рд╛рдкрд░рдд рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рд╕рд╛рдзрдирд╛рдВрдЪреНрдпрд╛ рдлрдХреНрдд рдлреЕрдиреНрд╕реА рдЖрд╡реГрддреНрддреНрдпрд╛ рдЖрд╣реЗрдд.

рд╕рд░реНрд╡реНрд╣рд┐рд╕ рдореЗрд╢ рдбреЗрдЯрд╛ рдкреНрд▓реЗрди рд╡рд┐ рдХрдВрдЯреНрд░реЛрд▓ рдкреНрд▓реЗрди
рдЖрдХреГрддреА 2: рдорд╛рдирд╡реА рдирд┐рдпрдВрддреНрд░рдг рд╡рд┐рдорд╛рди

╨Ю╨┤╨╜╨░╨║╨╛, ╨╝╤Л ╤Г╨╢╨╡ ╨┤╨╛╨╗╨│╨╛╨╡ ╨▓╤А╨╡╨╝╤П ╨╕╤Б╨┐╨╛╨╗╤М╨╖╨╛╨▓╨░╨╗╨╕ ╨┐╨╗╨╛╤Б╨║╨╛╤Б╤В╨╕ ╤Г╨┐╤А╨░╨▓╨╗╨╡╨╜╨╕╤П (control plane), ╤Е╨╛╤В╤П ╨▒╨╛╨╗╤М╤И╨╕╨╜╤Б╤В╨▓╨╛ ╤Б╨╡╤В╨╡╨▓╤Л╤Е ╨╛╨┐╨╡╤А╨░╤В╨╛╤А╨╛╨▓ ╨╝╨╛╨│╤Г╤В ╨╜╨╡ ╤Б╨▓╤П╨╖╤Л╨▓╨░╤В╤М ╤Н╤В╤Г ╤З╨░╤Б╤В╤М ╤Б╨╕╤Б╤В╨╡╨╝╤Л ╤Б ╨║╨░╨║╨╕╨╝-╨╗╨╕╨▒╨╛ ╤В╨╡╤Е╨╜╨╛╨╗╨╛╨│╨╕╤З╨╡╤Б╨║╨╕╨╝ ╨║╨╛╨╝╨┐╨╛╨╜╨╡╨╜╤В╨╛╨╝. ╨Я╤А╨╕╤З╨╕╨╜╨░ ╤Н╤В╨╛╨│╨╛ ╨┐╤А╨╛╤Б╤В╨░:
рдЖрдЬ рд╡рд╛рдкрд░рд╛рдд рдЕрд╕рд▓реЗрд▓реА рдмрд╣реБрддреЗрдХ рдирд┐рдпрдВрддреНрд░рдг рд╡рд┐рдорд╛рдиреЗ... рдЖрдореНрд╣реА рдЖрд╣реЛрдд.

рд╡рд░ рдЖрдХреГрддреА 2 рдореА рдЬреНрдпрд╛рд▓рд╛ "рдорд╛рдирд╡реА рдирд┐рдпрдВрддреНрд░рдг рд╡рд┐рдорд╛рди" рдореНрд╣рдгрддреЛ рддреЗ рджрд╛рдЦрд╡рддреЗ. рдпрд╛ рдкреНрд░рдХрд╛рд░рдЪреНрдпрд╛ рддреИрдирд╛рддреАрдордзреНрдпреЗ, рдЬреЗ рдЕрдЬреВрдирд╣реА рдЦреВрдк рд╕рд╛рдорд╛рдиреНрдп рдЖрд╣реЗ, рдмрд╣реБрдзрд╛ рдЪрд┐рдбрд▓реЗрд▓рд╛ рдорд╛рдирд╡реА рдСрдкрд░реЗрдЯрд░ рд╕реНрдерд┐рд░ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рддрдпрд╛рд░ рдХрд░рддреЛ - рд╕рдВрднрд╛рд╡реНрдпрддрдГ рд╕реНрдХреНрд░рд┐рдкреНрдЯрджреНрд╡рд╛рд░реЗ - рдЖрдгрд┐ рд╕рд░реНрд╡ рдкреНрд░реЙрдХреНрд╕реАрдВрдирд╛ рдХрд╛рд╣реА рд╡рд┐рд╢реЗрд╖ рдкреНрд░рдХреНрд░рд┐рдпреЗрджреНрд╡рд╛рд░реЗ рддреИрдирд╛рдд рдХрд░рддреЛ. рдкреНрд░реЙрдХреНрд╕реА рдирдВрддрд░ рд╣реЗ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕ рдкреНрд░рд╛рд░рдВрдн рдХрд░рддрд╛рдд рдЖрдгрд┐ рдЕрджреНрдпрддрдирд┐рдд рд╕реЗрдЯрд┐рдВрдЧреНрдЬ рд╡рд╛рдкрд░реВрди рдбреЗрдЯрд╛ рдкреНрд▓реЗрдирд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рдгреНрдпрд╛рд╕ рдкреНрд░рд╛рд░рдВрдн рдХрд░рддрд╛рдд.

рд╕рд░реНрд╡реНрд╣рд┐рд╕ рдореЗрд╢ рдбреЗрдЯрд╛ рдкреНрд▓реЗрди рд╡рд┐ рдХрдВрдЯреНрд░реЛрд▓ рдкреНрд▓реЗрди
рдЖрдХреГрддреА 3: рдкреНрд░рдЧрдд рд╕реЗрд╡рд╛ рдЬрд╛рд│реА рдирд┐рдпрдВрддреНрд░рдг рд╡рд┐рдорд╛рди

рд╡рд░ рдЖрдХреГрддреА 3 рд╕рд░реНрд╡реНрд╣рд┐рд╕ рдореЗрд╢рдЪреЗ тАЬрд╡рд┐рд╕реНрддрд╛рд░рд┐рддтАЭ рдХрдВрдЯреНрд░реЛрд▓ рдкреНрд▓реЗрди рджрд╛рдЦрд╡рддреЗ. рддреНрдпрд╛рдд рдЦрд╛рд▓реАрд▓ рднрд╛рдЧ рдЕрд╕рддрд╛рдд:

  • рдорд╛рдирд╡: рдЕрдЬреВрдирд╣реА рдПрдХ рд╡реНрдпрдХреНрддреА (рдЖрд╢реЗрдиреЗ рдХрдореА рд░рд╛рдЧрд╛рд╡рд▓реЗрд▓реА) рдЖрд╣реЗ рдЬреА рд╕рдВрдкреВрд░реНрдг рд╡реНрдпрд╡рд╕реНрдереЗрдмрд╛рдмрдд рдЙрдЪреНрдЪ рд╕реНрддрд░реАрдп рдирд┐рд░реНрдгрдп рдШреЗрддреЗ.
  • рдкреНрд▓реЗрди UI рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рд╛: рдкреНрд░рдгрд╛рд▓реА рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдПрдЦрд╛рджреА рд╡реНрдпрдХреНрддреА рдХрд╛рд╣реА рдкреНрд░рдХрд╛рд░рдЪреНрдпрд╛ рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлреЗрд╕рд╢реА рд╕рдВрд╡рд╛рдж рд╕рд╛рдзрддреЗ. рд╣реЗ рд╡реЗрдм рдкреЛрд░реНрдЯрд▓, рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдНрдкреНрд▓рд┐рдХреЗрд╢рди (CLI) рдХрд┐рдВрд╡рд╛ рдЗрддрд░ рдХрд╛рд╣реА рдЗрдВрдЯрд░рдлреЗрд╕ рдЕрд╕реВ рд╢рдХрддреЗ. рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлреЗрд╕ рд╡рд╛рдкрд░реВрди, рдСрдкрд░реЗрдЯрд░рд▓рд╛ рдЧреНрд▓реЛрдмрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕рдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдЕрд╕рддреЛ рдЬрд╕реЗ рдХреА:
    • рдЙрдкрдпреЛрдЬрди рдирд┐рдпрдВрддреНрд░рдг, рдирд┐рд│рд╛/рд╣рд┐рд░рд╡рд╛ рдЖрдгрд┐/рдХрд┐рдВрд╡рд╛ рд╣рд│реВрд╣рд│реВ рд░рд╣рджрд╛рд░реА рд╕рдВрдХреНрд░рдордг
    • рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдЖрдгрд┐ рдЕрдзрд┐рдХреГрддрддрд╛ рдкрд░реНрдпрд╛рдп
    • рд░рд╛рдЙрдЯрд┐рдВрдЧ рдЯреЗрдмрд▓ рд╕реНрдкреЗрд╕рд┐рдлрд┐рдХреЗрд╢рдиреНрд╕, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде рдЬреЗрд╡реНрд╣рд╛ рдНрдкреНрд▓рд┐рдХреЗрд╢рди A "/foo" рдмрджреНрджрд▓ рдорд╛рд╣рд┐рддреАрдЪреА рд╡рд┐рдирдВрддреА рдХрд░рддреЛ рддреЗрд╡реНрд╣рд╛ рдХрд╛рдп рд╣реЛрддреЗ
    • рд▓реЛрдб рдмреЕрд▓рдиреНрд╕рд░ рд╕реЗрдЯрд┐рдВрдЧреНрдЬ, рдЬрд╕реЗ рдХреА рдХрд╛рд▓рдмрд╛рд╣реНрдп, рдкреБрдиреНрд╣рд╛ рдкреНрд░рдпрддреНрди, рд╕рд░реНрдХрд┐рдЯ рдмреНрд░реЗрдХрд┐рдВрдЧ рд╕реЗрдЯрд┐рдВрдЧреНрдЬ рдЗ.
  • рд╡рд░реНрдХрд▓реЛрдб рд╢реЗрдбреНрдпреВрд▓рд░: рд╕реЗрд╡рд╛ рдХрд╛рд╣реА рдкреНрд░рдХрд╛рд░рдЪреНрдпрд╛ рд╢реЗрдбреНрдпреБрд▓рд┐рдВрдЧ/рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрд╢рди рдкреНрд░рдгрд╛рд▓реАрджреНрд╡рд╛рд░реЗ рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛рдВрд╡рд░ рдЪрд╛рд▓рд╡рд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд, рдЬрд╕реЗ рдХреА рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рдХрд┐рдВрд╡рд╛ рдиреЛрдореЕрдб. рд╢реЗрдбреНрдпреБрд▓рд░ рддреНрдпрд╛рдЪреНрдпрд╛ рд╕реНрдерд╛рдирд┐рдХ рдкреНрд░реЙрдХреНрд╕реАрд╕рд╣ рд╕реЗрд╡рд╛ рд▓реЛрдб рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЬрдмрд╛рдмрджрд╛рд░ рдЖрд╣реЗ.
  • рд╕реЗрд╡рд╛ рд╢реЛрдз. рдЬреЗрд╡реНрд╣рд╛ рд╢реЗрдбреНрдпреБрд▓рд░ рд╕реЗрд╡рд╛ рдЙрджрд╛рд╣рд░рдгреЗ рд╕реБрд░реВ рдХрд░рддреЛ рдЖрдгрд┐ рдерд╛рдВрдмрд╡рддреЛ, рддреЗрд╡реНрд╣рд╛ рддреЛ рд╕реЗрд╡рд╛ рд╢реЛрдз рдкреНрд░рдгрд╛рд▓реАрд▓рд╛ рдЖрд░реЛрдЧреНрдп рд╕реНрдерд┐рддреАрдЪрд╛ рдЕрд╣рд╡рд╛рд▓ рджреЗрддреЛ.
  • рд╕рд╛рдЗрдбрдХрд╛рд░ рдкреНрд░реЙрдХреНрд╕реА рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди API : рд╕реНрдерд╛рдирд┐рдХ рдкреНрд░реЙрдХреНрд╕реА рдСрдкрд░реЗрдЯрд░рдЪреНрдпрд╛ рд╣рд╕реНрддрдХреНрд╖реЗрдкрд╛рд╢рд┐рд╡рд╛рдп рдЕрдЦреЗрд░реАрд╕ рд╕реБрд╕рдВрдЧрдд рдореЙрдбреЗрд▓ рд╡рд╛рдкрд░реВрди рд╡рд┐рд╡рд┐рдз рд╕рд┐рд╕реНрдЯрдо рдШрдЯрдХрд╛рдВрдордзреВрди рдЧрддрд┐рд╢реАрд▓рдкрдгреЗ рд╕реНрдерд┐рддреА рдХрд╛рдврддрд╛рдд. рд╕рдзреНрдпрд╛ рдЪрд╛рд▓реВ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рд╕рд░реНрд╡ рд╕реЗрд╡рд╛ рдЙрджрд╛рд╣рд░рдгреЗ рдЖрдгрд┐ рд╕реНрдерд╛рдирд┐рдХ рдкреНрд░реЙрдХреНрд╕реА рд╕рд░реНрд╡реНрд╣рд░рдЪрд╛ рд╕рдорд╛рд╡реЗрд╢ рдЕрд╕рд▓реЗрд▓реА рд╕рдВрдкреВрд░реНрдг рдкреНрд░рдгрд╛рд▓реА, рд╢реЗрд╡рдЯреА рдПрдХрд╛ рдЗрдХреЛрд╕рд┐рд╕реНрдЯрдордордзреНрдпреЗ рд░реВрдкрд╛рдВрддрд░рд┐рдд рд╣реЛрддреЗ. рджреВрддрд╛рдЪреЗ рдпреБрдирд┐рд╡реНрд╣рд░реНрд╕рд▓ рдбреЗрдЯрд╛ рдкреНрд▓реЗрди API рд╣реЗ рд╡реНрдпрд╡рд╣рд╛рд░рд╛рдд рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ рдпрд╛рдЪреЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЖрд╣реЗ.

рдореВрд▓рдд:, рдХрдВрдЯреНрд░реЛрд▓ рдкреНрд▓реЗрдирдЪрд╛ рдЙрджреНрджреЗрд╢ рдзреЛрд░рдг рд╕реЗрдЯ рдХрд░рдгреЗ рдЖрд╣реЗ рдЬреЗ рд╢реЗрд╡рдЯреА рдбреЗрдЯрд╛ рдкреНрд▓реЗрдирджреНрд╡рд╛рд░реЗ рд╕реНрд╡реАрдХрд╛рд░рд▓реЗ рдЬрд╛рдИрд▓. рдЕрдзрд┐рдХ рдкреНрд░рдЧрдд рдирд┐рдпрдВрддреНрд░рдг рд╡рд┐рдорд╛рдиреЗ рдСрдкрд░реЗрдЯрд░рдХрдбреВрди рдХрд╛рд╣реА рдкреНрд░рдгрд╛рд▓реАрдВрдЪреЗ рдЕрдзрд┐рдХ рднрд╛рдЧ рдХрд╛рдвреВрди рдЯрд╛рдХрддреАрд▓ рдЖрдгрд┐ рддреНрдпрд╛рдВрдирд╛ рдХрдореА рдореЕрдиреНрдпреБрдЕрд▓ рдСрдкрд░реЗрд╢рдирдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрд╕реЗрд▓, рдЬрд░ рддреЗ рдпреЛрдЧреНрдпрд░рд┐рддреНрдпрд╛ рдХрд╛рд░реНрдп рдХрд░рддрд╛рдд!...

рдбреЗрдЯрд╛ рдкреНрд▓реЗрди рдЖрдгрд┐ рдХрдВрдЯреНрд░реЛрд▓ рдкреНрд▓реЗрди. рдбреЗрдЯрд╛ рдкреНрд▓реЗрди рд╡рд┐. рдХрдВрдЯреНрд░реЛрд▓ рдкреНрд▓реЗрди рд╕рд╛рд░рд╛рдВрд╢

  • ╨Я╨╗╨╛╤Б╨║╨╛╤Б╤В╤М ╨┤╨░╨╜╨╜╤Л╤Е c╨╡╤А╨▓╨╕╤Б╨╜╨╛╨╣ ╤Б╨╡╤В╨╕ (Service mesh data plane): рд╕рд┐рд╕реНрдЯрдордордзреАрд▓ рдкреНрд░рддреНрдпреЗрдХ рдкреЕрдХреЗрдЯ/рд╡рд┐рдирдВрддреА рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреЗ. рдЕрдиреБрдкреНрд░рдпреЛрдЧ/рд╕реЗрд╡рд╛ рд╢реЛрдз, рдЖрд░реЛрдЧреНрдп рддрдкрд╛рд╕рдгреА, рд░рд╛рдЙрдЯрд┐рдВрдЧ, рд▓реЛрдб рдмреЕрд▓рдиреНрд╕рд┐рдВрдЧ, рдкреНрд░рдорд╛рдгреАрдХрд░рдг/рдЕрдзрд┐рдХреГрддрддрд╛ рдЖрдгрд┐ рдирд┐рд░реАрдХреНрд╖рдгрд╛рд╕рд╛рдареА рдЬрдмрд╛рдмрджрд╛рд░.
  • рд╕реЗрд╡рд╛ рдЬрд╛рд│реА рдирд┐рдпрдВрддреНрд░рдг рд╡рд┐рдорд╛рди: рд╕реЗрд╡рд╛ рдиреЗрдЯрд╡рд░реНрдХрдордзреАрд▓ рд╕рд░реНрд╡ рдЪрд╛рд▓реВ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдбреЗрдЯрд╛ рдкреНрд▓реЗрдирд╕рд╛рдареА рдзреЛрд░рдг рдЖрдгрд┐ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдкреНрд░рджрд╛рди рдХрд░рддреЗ. рд╕рд┐рд╕реНрдЯрдорд╡рд░реАрд▓ рдХреЛрдгрддреНрдпрд╛рд╣реА рдкреЕрдХреЗрдЬреЗрд╕/рд╡рд┐рдирдВрддреНрдпрд╛рдВрдирд╛ рд╕реНрдкрд░реНрд╢ рдХрд░рдд рдирд╛рд╣реА. рдХрдВрдЯреНрд░реЛрд▓ рдкреНрд▓реЗрди рд╕рд░реНрд╡ рдбреЗрдЯрд╛ рдкреНрд▓реЗрдирд▓рд╛ рд╡рд┐рддрд░рд┐рдд рд╕рд┐рд╕реНрдЯрдордордзреНрдпреЗ рдмрджрд▓рддреЗ.

рд╡рд░реНрддрдорд╛рди рдкреНрд░рдХрд▓реНрдк рд▓рдБрдбрд╕реНрдХреЗрдк

╨а╨░╨╖╨╛╨▒╤А╨░╨▓╤И╨╕╤Б╤М ╤Б ╨╛╨▒╤К╤П╤Б╨╜╨╡╨╜╨╕╨╡╨╝ ╨▓╤Л╤И╨╡, ╨┤╨░╨▓╨░╨╣╤В╨╡ ╨┐╨╛╤Б╨╝╨╛╤В╤А╨╕╨╝ ╨╜╨░ ╤В╨╡╨║╤Г╤Й╨╡╨╡ ╤Б╨╛╤Б╤В╨╛╤П╨╜╨╕╨╡ ╨┐╤А╨╛╨╡╨║╤В╨░ ┬л╤Б╨╡╤А╨▓╨╕╤Б╨╜╨╛╨╣ ╤Б╨╡╤В╨╕ (service mesh)┬╗.

  • рдбреЗрдЯрд╛ рдкреНрд▓реЗрди: Linkerd, NGINX, HAProxy, Envoy, Traefik
  • рдирд┐рдпрдВрддреНрд░рдг рд╡рд┐рдорд╛рдиреЗ: Istio, рдиреЗрд▓реНрд╕рди, SmartStack

рд╡рд░реАрд▓ рдкреНрд░рддреНрдпреЗрдХ рдЙрдкрд╛рдпрд╛рдЪреНрдпрд╛ рд╕рдЦреЛрд▓ рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рдд рдЬрд╛рдгреНрдпрд╛рдРрд╡рдЬреА, рдореА рдХрд╛рд╣реА рдореБрджреНрджреЗ рдереЛрдбрдХреНрдпрд╛рдд рд╕рдВрдмреЛрдзрд┐рдд рдХрд░реЗрди рдЬреНрдпрд╛рдВрдЪрд╛ рдорд▓рд╛ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдЖрд╣реЗ рдХреА рд╕рдзреНрдпрд╛ рдЗрдХреЛрд╕рд┐рд╕реНрдЯрдордордзреНрдпреЗ рдЧреЛрдВрдзрд│ рдирд┐рд░реНрдорд╛рдг рд╣реЛрдд рдЖрд╣реЗ.

Linkerd рд╣реЗ 2016 рдЪреНрдпрд╛ рд╕реБрд░реБрд╡рд╛рддреАрд╕ рд╕рд░реНрд╡реНрд╣рд┐рд╕ рдореЗрд╢рд╕рд╛рдареА рдкрд╣рд┐рд▓реНрдпрд╛ рдбреЗрдЯрд╛ рдкреНрд▓реЗрди рдкреНрд░реЙрдХреНрд╕реА рд╕рд░реНрд╡реНрд╣рд░рдкреИрдХреА рдПрдХ рд╣реЛрддреЗ рдЖрдгрд┐ рддреНрдпрд╛рдВрдиреА рд╕рд░реНрд╡реНрд╣рд┐рд╕ рдореЗрд╢ рдбрд┐рдЭрд╛рдЗрди рдореЙрдбреЗрд▓рдХрдбреЗ рдЬрд╛рдЧрд░реВрдХрддрд╛ рдЖрдгрд┐ рд▓рдХреНрд╖ рд╡рд╛рдврд╡рдгреНрдпрд╛рдЪреЗ рдЙрддреНрдХреГрд╖реНрдЯ рдХрд╛рдо рдХреЗрд▓реЗ рдЖрд╣реЗ. рддреНрдпрд╛рдирдВрддрд░ рд╕реБрдорд╛рд░реЗ 6 рдорд╣рд┐рдиреНрдпрд╛рдВрдирдВрддрд░, рджреВрдд рд▓рд┐рдВрдХрд░реНрдбрдордзреНрдпреЗ рд╕рд╛рдореАрд▓ рдЭрд╛рд▓рд╛ (рдЬрд░реА рддреЛ 2015 рдЪреНрдпрд╛ рдЙрддреНрддрд░рд╛рд░реНрдзрд╛рдкрд╛рд╕реВрди рд▓рд┐рдлреНрдЯрдордзреНрдпреЗ рд╣реЛрддрд╛). Linkerd рдЖрдгрд┐ Envoy рд╣реЗ рджреЛрди рдкреНрд░рдХрд▓реНрдк рдЖрд╣реЗрдд рдЬреНрдпрд╛рдВрдЪрд╛ рдЙрд▓реНрд▓реЗрдЦ рд╕рд░реНрд╡реНрд╣рд┐рд╕ рдореЗрд╢рд╡рд░ рдЪрд░реНрдЪрд╛ рдХрд░рддрд╛рдирд╛ рдХреЗрд▓рд╛ рдЬрд╛рддреЛ.

Istio рдЪреА рдШреЛрд╖рдгрд╛ рдореЗ 2017 рдордзреНрдпреЗ рдХрд░рдгреНрдпрд╛рдд рдЖрд▓реА. Istio рдкреНрд░рдХрд▓реНрдкрд╛рдЪреА рдЙрджреНрджрд┐рд╖реНрдЯреЗ рджрд░реНрд╢рд╡рд┐рд▓реЗрд▓реНрдпрд╛ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдирд┐рдпрдВрддреНрд░рдг рд╡рд┐рдорд╛рдирд╛рд╕рд╛рд░рдЦреАрдЪ рдЖрд╣реЗрдд рдЖрдХреГрддреА 3. Istio рд╕рд╛рдареА рджреВрдд рд╣реА рдбреАрдлреЙрд▓реНрдЯ рдкреНрд░реЙрдХреНрд╕реА рдЖрд╣реЗ. рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ, Istio рд╣реЗ рдирд┐рдпрдВрддреНрд░рдг рд╡рд┐рдорд╛рди рдЖрд╣реЗ рдЖрдгрд┐ рджреВрдд рд╣реЗ рдбреЗрдЯрд╛ рдкреНрд▓реЗрди рдЖрд╣реЗ. рдЕрд▓реНрдкрд╛рд╡рдзреАрдд, Istio рдиреЗ рдЦреВрдк рдЦрд│рдмрд│ рдирд┐рд░реНрдорд╛рдг рдХреЗрд▓реА рдЖрдгрд┐ рдЗрддрд░ рдбреЗрдЯрд╛ рдкреНрд▓реЗрди рджреВрддрд╛рдЪреНрдпрд╛ рдмрджрд▓реА рдореНрд╣рдгреВрди рдПрдХрддреНрд░рд┐рдд рд╣реЛрдК рд▓рд╛рдЧрд▓реЗ (Linkerd рдЖрдгрд┐ NGINX рдпрд╛ рджреЛрдШрд╛рдВрдиреА Istio рд╕рд╣ рдПрдХреАрдХрд░рдг рдкреНрд░рджрд░реНрд╢рд┐рдд рдХреЗрд▓реЗ). рдПрдХрд╛рдЪ рдХрдВрдЯреНрд░реЛрд▓ рдкреНрд▓реЗрдирдордзреНрдпреЗ рд╡реЗрдЧрд╡реЗрдЧрд│реЗ рдбреЗрдЯрд╛ рдкреНрд▓реЗрди рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рдК рд╢рдХрддрд╛рдд рдпрд╛рдЪрд╛ рдЕрд░реНрде рдЕрд╕рд╛ рдЖрд╣реЗ рдХреА рдХрдВрдЯреНрд░реЛрд▓ рдкреНрд▓реЗрди рдЖрдгрд┐ рдбреЗрдЯрд╛ рдкреНрд▓реЗрди рдПрдХрдореЗрдХрд╛рдВрд╢реА рдШрдЯреНрдЯ рдЬреЛрдбрд▓реЗрд▓реЗ рдирд╛рд╣реАрдд. рдПрдкреАрдЖрдп рдЬрд╕реЗ рдХреА рдПрдиреНрд╡реЙрдпрд╕ рдЬреЗрдиреЗрд░рд┐рдХ рдбреЗрдЯрд╛ рдкреНрд▓реЗрди рдПрдкреАрдЖрдп рд╕рд┐рд╕реНрдЯрдордЪреНрдпрд╛ рджреЛрди рднрд╛рдЧрд╛рдВрдордзреНрдпреЗ рдкреВрд▓ рдмрдирд╡реВ рд╢рдХрддреЗ.

рдиреЗрд▓реНрд╕рди рдЖрдгрд┐ рд╕реНрдорд╛рд░реНрдЯрд╕реНрдЯреЕрдХ рдХрдВрдЯреНрд░реЛрд▓ рдкреНрд▓реЗрди рдЖрдгрд┐ рдбреЗрдЯрд╛ рдкреНрд▓реЗрдирдЪреЗ рд╡реЗрдЧрд│реЗрдкрдгрд╛ рд╕реНрдкрд╖реНрдЯ рдХрд░рдгреНрдпрд╛рдд рдорджрдд рдХрд░рддрд╛рдд. рдиреЗрд▓реНрд╕рди рдПрдиреНрд╡реЙрдпрдЪрд╛ рдкреНрд░реЙрдХреНрд╕реА рдореНрд╣рдгреВрди рд╡рд╛рдкрд░ рдХрд░рддреЛ рдЖрдгрд┐ рд╣реЕрд╢реАрдХреЙрд░реНрдк рд╕реНрдЯреЕрдХрд╡рд░ рдЖрдзрд╛рд░рд┐рдд рд╕рд░реНрд╡реНрд╣рд┐рд╕ рдореЗрд╢рд╕рд╛рдареА рдПрдХ рд╡рд┐рд╢реНрд╡рд╛рд╕рд╛рд░реНрд╣ рдХрдВрдЯреНрд░реЛрд▓ рдкреНрд▓реЗрди рддрдпрд╛рд░ рдХрд░рддреЛ, рдЙрджрд╛. рднрдЯрдХреНрдпрд╛ рдЗ. SmartStack рдХрджрд╛рдЪрд┐рдд рд╕реЗрд╡рд╛ рдореЗрд╢рдЪреНрдпрд╛ рдирд╡реАрди рд▓рд╛рдЯреЗрдкреИрдХреА рдкрд╣рд┐рд▓реЗ рд╣реЛрддреЗ. SmartStack HAProxy рдХрд┐рдВрд╡рд╛ NGINX рдЪреНрдпрд╛ рдЖрд╕рдкрд╛рд╕ рдХрдВрдЯреНрд░реЛрд▓ рдкреНрд▓реЗрди рдмрдирд╡рддреЗ, рдЬреЗ рдбреЗрдЯрд╛ рдкреНрд▓реЗрдирдордзреАрд▓ рд╕рд░реНрд╡реНрд╣рд┐рд╕ рдореЗрд╢рдордзреВрди рдХрдВрдЯреНрд░реЛрд▓ рдкреНрд▓реЗрди рдбреАрдХрдкрд▓ рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рджрд╛рдЦрд╡рддреЗ.

рд╕рд░реНрд╡реНрд╣рд┐рд╕ рдореЗрд╢рд╕рд╣ рдорд╛рдпрдХреНрд░реЛрд╕рд░реНрд╡реНрд╣рд┐рд╕ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдЕрдзрд┐рдХрд╛рдзрд┐рдХ рд▓рдХреНрд╖ рд╡реЗрдзреВрди рдШреЗрдд рдЖрд╣реЗ (рдпреЛрдЧреНрдпрдЪ!), рдЖрдгрд┐ рдЕрдзрд┐рдХрд╛рдзрд┐рдХ рдкреНрд░рдХрд▓реНрдк рдЖрдгрд┐ рд╡рд┐рдХреНрд░реЗрддреЗ рдпрд╛ рджрд┐рд╢реЗрдиреЗ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рд╕ рд╕реБрд░рд╡рд╛рдд рдХрд░рдд рдЖрд╣реЗрдд. рдкреБрдвреАрд▓ рдХрд╛рд╣реА рд╡рд░реНрд╖рд╛рдВрдордзреНрдпреЗ рдЖрдкрдг рдбреЗрдЯрд╛ рдкреНрд▓реЗрди рдЖрдгрд┐ рдХрдВрдЯреНрд░реЛрд▓ рдкреНрд▓реЗрди рдпрд╛ рджреЛрдиреНрд╣реАрдордзреНрдпреЗ рдЦреВрдк рдирд╛рд╡реАрдиреНрдпрдкреВрд░реНрдг рдХрд╛рдо рдкрд╛рд╣рдгрд╛рд░ рдЖрд╣реЛрдд, рддрд╕реЗрдЪ рд╡рд┐рд╡рд┐рдз рдШрдЯрдХрд╛рдВрдЪреЗ рдкреБрдвреАрд▓ рдорд┐рд╢реНрд░рдг рдкрд╛рд╣рдгрд╛рд░ рдЖрд╣реЛрдд. рд╢реЗрд╡рдЯреА, рдорд╛рдпрдХреНрд░реЛрд╕рд░реНрд╡реНрд╣рд┐рд╕ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдСрдкрд░реЗрдЯрд░рд╕рд╛рдареА рдЕрдзрд┐рдХ рдкрд╛рд░рджрд░реНрд╢рдХ рдЖрдгрд┐ рдЬрд╛рджреБрдИ (?) рдмрдирд▓реЗ рдкрд╛рд╣рд┐рдЬреЗ.
рдЖрд╢реЗрдиреЗ рдХрдореА рдЖрдгрд┐ рдХрдореА рдЪрд┐рдбрдЪрд┐рдб.

рдорд╣рддреНрд╡рд╛рдЪреЗ рдореБрджреНрджреЗ

  • рд╕рд░реНрд╡реНрд╣рд┐рд╕ рдореЗрд╢рдордзреНрдпреЗ рджреЛрди рднрд┐рдиреНрди рднрд╛рдЧ рдЕрд╕рддрд╛рдд: рдбреЗрдЯрд╛ рдкреНрд▓реЗрди рдЖрдгрд┐ рдХрдВрдЯреНрд░реЛрд▓ рдкреНрд▓реЗрди. рджреЛрдиреНрд╣реА рдШрдЯрдХ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗрдд рдЖрдгрд┐ рддреНрдпрд╛рдВрдЪреНрдпрд╛рд╢рд┐рд╡рд╛рдп рд╕рд┐рд╕реНрдЯрдо рдХрд╛рд░реНрдп рдХрд░рдгрд╛рд░ рдирд╛рд╣реА.
  • ╨Т╤Б╨╡ ╨╖╨╜╨░╨║╨╛╨╝╤Л ╤Б ╨┐╨╗╨╛╤Б╨║╨╛╤Б╤В╤М╤О ╤Г╨┐╤А╨░╨▓╨╗╨╡╨╜╨╕╤П (control plane), ╨╕ ╨╜╨░ ╨┤╨░╨╜╨╜╤Л╨╣ ╨╝╨╛╨╝╨╡╨╜╤В ╨┐╨╗╨╛╤Б╨║╨╛╤Б╤В╤М╤О ╤Г╨┐╤А╨░╨▓╨╗╨╡╨╜╨╕╤П (control plane) ╨╝╨╛╨╢╨╡╤В╨╡ ╨▒╤Л╤В╤М ╨▓╤Л!
  • рд╕рд░реНрд╡ рдбреЗрдЯрд╛ рдкреНрд▓реЗрди рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ, рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди, рдХреЙрдиреНрдлрд┐рдЧрд░реЗрдмрд┐рд▓рд┐рдЯреА рдЖрдгрд┐ рд╡рд┐рд╕реНрддрд╛рд░рдХреНрд╖рдорддрд╛ рдпрд╛рд╡рд░ рдПрдХрдореЗрдХрд╛рдВрд╢реА рд╕реНрдкрд░реНрдзрд╛ рдХрд░рддрд╛рдд.
  • рд╕рд░реНрд╡ рдирд┐рдпрдВрддреНрд░рдг рд╡рд┐рдорд╛рдиреЗ рд╡реИрд╢рд┐рд╖реНрдЯреНрдпреЗ, рдХреЙрдиреНрдлрд┐рдЧрд░реЗрдмрд┐рд▓рд┐рдЯреА, рдПрдХреНрд╕реНрдЯреЗрдВрд╕рд┐рдмрд┐рд▓рд┐рдЯреА рдЖрдгрд┐ рд╡рд╛рдкрд░рдгреА рд╕реБрд▓рднрддрд╛ рдпрд╛рдордзреНрдпреЗ рдПрдХрдореЗрдХрд╛рдВрд╢реА рд╕реНрдкрд░реНрдзрд╛ рдХрд░рддрд╛рдд.
  • ╨Ю╨┤╨╜╨░ ╨┐╨╗╨╛╤Б╨║╨╛╤Б╤В╤М ╤Г╨┐╤А╨░╨▓╨╗╨╡╨╜╨╕╤П (control plane) ╨╝╨╛╨╢╨╡╤В ╤Б╨╛╨┤╨╡╤А╨╢╨░╤В╤М ╨┐╤А╨░╨▓╨╕╨╗╤М╨╜╤Л╨╡ ╨░╨▒╤Б╤В╤А╨░╨║╤Ж╨╕╨╕ ╨╕ API, ╤З╤В╨╛╨▒╤Л ╨╝╨╛╨╢╨╜╨╛ ╨▒╤Л╨╗╨╛ ╨╕╤Б╨┐╨╛╨╗╤М╨╖╨╛╨▓╨░╤В╤М ╨╜╨╡╤Б╨║╨╛╨╗╤М╨║╨╛ ╨┐╨╗╨╛╤Б╨║╨╛╤Б╤В╨╡╨╣ ╨┤╨░╨╜╨╜╤Л╤Е (data plane).

рд╕реНрддреНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛