αα½ααααΈ α αΆα! αααα»αααΌααααα αΆαααΌαα’αααααΌαααΆαααααααα’ααααα α’ααααα·αααα αααΆααααααΈα.

ααΎαααα αααα»α "α
αα αα·ααααααα" ααΆααα·αααααΆαααααααααααΆααααΆααααΆααααΈα ααααα αααα·αααααα αα·αααααα αααααααααααα ααΆααα·αααααΆαααα αΆααααΌα
ααΆαααα»αα’αΆα
αααααΆα αα·ααα½αα±ααα
αΆααα’αΆαααααααααα»α α αΎαααααΆαααααα»ααααααΆααα
αααααΆααααααΉαα’αααΈ "ααΎααΆα
αΆαααΆα
αααΆααααααα?"
αααααΆααααα·ααα "Service mesh" ααΆαααΆαααααα·ααααΆααααααααΆααα‘αΎααααα»αααααααααΈαααααΆαα
α»ααααααααα (α’αααααααΎαααααααΈ 10 αααα»ααΆ ααααΆα 2017) α αΎαα
ααα½αα’αααα
αΌααα½ααα
αααα»αααα αααΆαααΎαα‘αΎα αααα»αααΆαααΎαααΆαααΎαα‘αΎαααααΆαααΆααα
αααααααα»αα
ααααααα»αααααΆααα’ααα αα αααααα
αα
αααα·ααααΆααΆααααααΉααααααααααααα αα·ααααααααααΆααα»αααααΆα
ααααΆαααΆαααααΌαααΆααααααααααΆαααα’αααα»αααααααααΈ tweets ααΆααααααααααααα»αααΆαααααααααα»αααααααααΆα
ααΆαα ααααΌαα ααααααααααααΆαααααΆ #1: Linkerd ~ = Nginx ~ = Haproxy ~ = αααααα·αα ααααΆαααααΆααααΆαααααα»αα αααααα½αααααααΎααΉα Istio ααα Istio ααΊααΆα’αααΈααααα»αααααΆααΆαααααα»αα α‘/
ααΈαα½αααΊααααΆααααααΆααααα αααα·ααααααα ααααααα½αα―ααα½ααααα·αααααΎα’αααΈααα αα½αααααααΌααααααα·ααααα»αα’αΆαααααααααααΆααα’αααΈαα½ααααααααααα α’/
Istio ααΊααΆα§ααΆα αααααααααα αααααααΆαααααααΆαααααααααΆαα½αααααΆα αααααΊααΆαααααΆαααα½ααααα / αααα αα
ααααΈαααΊαα»αααα·ααΆαα’αααΈααααααααααααααααΆααΆα αααΎα (Linkerd, NGINX, HAProxy, Envoy, αα·α Istio) ααα»ααααααααΆααααΆαααααα αααααααΆαα’αααΈααααααα·αααΌαα ααααααα αααα·αααααα αααααΆαααααΆ αα·αααααα αααααααΆα αα αααα»αααΆααααααΆαααα αααα»αααΉααααααα αΆαααααααα α αΎααα·ααΆαα’αααΈα’αααΈααααααα»αααΆαααααααααΆααα "ααααα αααα·αααααα" αα·α "ααααα αααααααΆ" αα ααααα·αααααααααα»α α αΎααααααΆαααααα·ααΆαα’αααΈαααααααααααααααα’αα»ααααα αααααααααααααααΆααααααΆαααα αααα»αααααΈαα
ααΎβα’αααΈβαα βααΆβααααΆααβααααΆ?

ααΌαααΆαααΈ 1: αα·αααααΆαααΌαα
ααααααΆααααααΆαααα
ααΌαααΆαααΈ 1 α αααα αΆαααΈαααα·αααααααΆααααΆαααα ααααα·αααΌαααααΆααααα»αααααααΆα ααΆαα αααααααααΆααααα ααα½ααα½α (AD) α ααααΆααααααΈαα½ααααααΌαααΆαααααΆααααΆαα½ααααΆαααΈαααααααΌααααΈααΌαααααΆαα α ααΆα ααααααααΆαααΆααα’αα (HTTP, REST, gRPC, Redis α αα·ααΈααα αααααα·ααΈαα·αβααΉαβα’αααΈβαααααΆαβααΆααααΌα α αΎαβααΉαβααβααααΌααααΈβααΌαααααΆαβααααααΆβααα»αααααα ααΆααααΆα αααααΆαααααααααα ααα αΆαααααΌαααΆαααα ααααΈααααΆααααα
ααααα αααα·αααααα
αα αααα»ααααααΆαααααΆ ααααΌααααΈαααΆαααΈααααααααΆαααΈααΆαααα ααΌαααααΆααααααΆαααααααα·ααΈα’αα»ααααααΆααα·α αα ααΌα ααΆααααααα
- ααΆαααααΎαααααΆαααα. ααΎααααΆαααα/αααααα·ααΈα’αααΈαααααααααΆααααααΆαααααααα·ααΈααααα’ααα?
- ααΆααα·αα·ααααα»αααΆα. ααΎβααααΈβαααααβααααΆβαααα‘ααβαααβααΆαβααβααΎαβααααΆβααΆαβαα»αααΆαβααα’ αα·αβαααααβαααα½αβααΆβααααα βααΎααααΈβααα½αβααβα ααΆα αααβαααααΆαβα¬βαα? αααα’αΆα αα½ααααα αΌαααΆααααααα (α§. ααΆαααααΎααα/ααΆααα·αα·ααααα»αααΆα) αα·αα’αααα (α§. ααΆαααααΎ 3 ααα α»α 5xx ααΆαααααααΆααΆααΆαα ααα’α»ααααα αΆαα’αααΈααααΆαααΆαααααΆαα·αααα’) ααΆααα·αα·ααααα»αααΆαα
- ααΆαααΆαααααΌα. αα αααααα½αααΆαααααΎαα "/foo" ααΈααααΆαααα REST ααΎαααα»αααααΆαααααα½αααΆαα½αααααΎααααΎαα ?
- αααα»ααα»αααααΆα. αα ααααααα αααααααααΆααααααααΌαααΆαααααΎαααΎαααα‘α»αααααααααΌα ααΎααααΎααα½αααααααΎαα ααΆααααααΆαααααα½αααΆ? ααΎα’αααααααα»ααααΆα? ααΆαα½αααΉαααΆααααααααΆααααααααααααΈα’αααΈαααα? ααααα·αααΎααααΎααααααΆααα ααΎαα½αααΆαααααα‘αΎααα·ααα?
- ααΆααααααααααΆαα αα·αααΆαα’αα»ααααΆα. αααααΆααααααΎα αΌα ααΎααααΆααααα α ααΌαααααα’αΆα ααααΌαααΆααααααα’ααααααααΆα/α’αα»ααααΆααααααααΎ mTLS α¬ααααααΆααααααααααααα¬αα? ααααα·αααΎααΆααααΌαααΆαααα½αααααΆαα/α’αα»ααααΆα ααΎααΆααααΌαααΆαα’αα»ααααΆαα±ααα α αα ααααα·ααααα·ααΆααααααΆαααααΎαα»α (α ααα»α αααα αα) ααΎααααΆααααααα α¬αα½αααααΎαααααααα·αααΆααααααααααΆααααΆαααααΉαααααΌαααααΌαααΆααααααΌααααα·ααα?
- ααΆααααααα. αααα·αα·αααα’α·α αααααα ααα»/αααααα ααα» αα·ααα·ααααααααΆααααααΆαα ααα αΆααα½αααααααΌαααΆααααααΎααααααΆααααααΎααΈαα½αα ααΎααααΈα±ααααααα·ααααα·ααα’αΆα αααα’αααΈααα αΌαα ααΆα ααααααααΆαα ααα αΆα αα·ααααα αΆααααΆααααα α»ααα ααααα½αααααΎαα‘αΎαα
ααααα αααα·ααααααααα½ααα»αααααΌαα ααααα ααα»α ααΈαα»αααΆααα’αααα αααα»ααααααΆαααααΆα ααΆααα·αααααΌααααΈαααα»ααααα»ααα ααααΆαααα (sidecar) ααΊααΆααααα αααα·ααααααα αααααΆααα·αααα ααααα αααα·ααααααααΊααα½ααα»αααααΌαα ααααααΆαααααΆαααΆααααααααα ααΆααααααΌααααα αα·αααΆααααα½ααα·αα·αααααΆαααααα αααααααΆααααααααΌαααΆαααααΎαα α¬ααααΈααααΆαααααα½αα
ααααα ααααααααααα
α’ααΌααΈαααααΆααααααααΌααααΈαααα»ααααα»αααααααα αααα»αααααα αααα·ααααααααΊααααααα(?)α αααααΆαααΆαααΆααααα ααΎααααΌααααΈααΉααααΆαααΌα ααααα α’αααΈααααΌα "/foo" αα ααΆααααααΆαααα B? ααΎααααΆααααααααΎααα·ααααααααααααα»ααααααααΎααααΌααααΈααααΌαααααΎαααΆαααΌα ααααα ? ααΎβαααΆαααΆααααααβααααΌαβααΆαβαααααβαα ααΆααααααααβαααβααααβααΆβαααααΆααβαα»αααααΆαβααααα»α ααΆαβα’ααβααα ααΆαβααΆα αβααααααΈβααΆααΎα? ααΎβα’αααβααΆααβα±ααβααααΎβαααααα·ααΈβαααβααααβααΆβαααβααααΎβαα·ααΈβααα/αααα α¬βαα·ααΈααΆαααααβαααααβα ααΆα αααβααβααα’? ααΎα’αααααΆαααααααΆααααααααααΆαααααααααα αα·αααΆααααααααΆαα’αα»ααααΆα?
ααΆαα»ααΆααα’ααααΆαααΎαααα·ααα αααααααΆααααααααααααααααα αααααα½ααα·αα·αααααααααΆααααααΆα ααααα αααααα½ααα·αα·αααααα½αααΆααααα»αααααααΌααααΈααΆα ααααα‘αααα½ααααΆαααΈααααααΎ ααααΆααααα α αΎαααααααααΆααα½ααααα ααΆααααααααα ααα αΆα.
αααα»ααα·αααΆα ααα»αααααα’ααααα αα αααα·ααααΆααΆα αααΎαααααΎααααα·αααΆα ααααα‘ααααααααα αααα·αααααα αα·αααΆααααα ααα‘αααααααα αααααααααααααΊαααααΆααααααααΆααααα»αααααΆαα αααΎα ααααα αααα·ααααααααΊααααΆααααααΆαα ααααααααααα αααααααααααααΊααααα/αα·ααααα ααΎαααΆαααααΎααΆαααΆαα½αααααααααααααΆαααΆαααΆα αα·ααα»αααΆααα’ααααααααααΆααΌαααα αΎαα ααΎααααααΆαααα ααααααααΆα/ααααΎααααΌαα ααααΈα ααα»α A αααα ααα»α B α αΎαααΎαα’αΆα ααααΎαααααααΉα αα·ααααααα·ααΈααΎααααΈααααΎαα·α αα ααΆααααα ααααΆααααααΈααααααΌααααΈαααααα·ααΈααΊααααΆααααααΆαααααα»αααα’ααααααααΌαααααΆα αααα§ααααααααααΎαααΆαααααΎααΆααΌαααα αΎαα

ααΌαααΆαααΈ 2: ααααα αααααααααααααα»ααα
αααααΆαααΆαααΆααααα ααΎαααΆαααααΎααααΆααααααα αααααααααααα’ααααααααααΆααΌαααα αΎα αααααΈααΆααααα·ααααα·αααααααΆαααΆαα
αααΎααααα ααααΆαα·αααααΆααααααααααααααααααααααΆαα½αααΉααααΆαααΆαα»αα
αα
αααα·ααααΆααΆαα½ααααααα α ααα»ααααΊααΆααααα
ααααα αααααααααααααΆαα
αααΎααααααααΎααααααααααΊ... ααΎα.
αα ααΎ ααΌαααΆαααΈ α‘ αααα αΆαααΈα’αααΈααααααα»αα α ααΆ "ααααα αααααααααααααα»ααα"α αα αααα»αααααααααααΆαααΆαααααααΆαααα ααααα ααααΆααΏαααααααΆαααα»α ααααα·ααααα·ααααααααα»αααααααα½αα±ααααα’ααααααΎα αααααΎαααΆαααααααα ααΆαααααααααα·αα·αααα - αααααΆαα»ααααΆααααααααααΈα α αΎαααΆαααααααΆααα½αααΆααΆααααααααΎαααΆααα·ααααα½αα ααα½ααα ααΆααααααΌααααΈααΆααα’ααα αααααΆααααααααΌααααΈα αΆααααααΎαααααΎααΆαααααααααα αΎαα αΆααααααΎαααααΎαααΆαααααα αααα·αααααααααααααΎααΆαααααααααααΆαααααΎαα αα α»ααααααααΆαα

ααΌαααΆαααΈ 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
