Devops Talks
Open in Telegram
ΠΠΎΠ²ΠΎΡΡΠΈ, ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΈ ΠΊΠΎΡΠΎΡΠΊΠΈΠ΅ ΠΏΠΎΡΡΡ Π½Π° ΡΠ΅ΠΌΡ DevOps ΠΈ OpenSource.
Show more459
Subscribers
No data24 hours
+27 days
+230 days
Posts Archive
459
Manage Kubernetes Clusters on AWS Using CoreOS Tectonic - https://aws.amazon.com/blogs/compute/kubernetes-clusters-aws-coreos-tectonic/
459
Kubernetes on Amazon Web Services - https://github.com/kubernetes/community/blob/master/sig-aws/kubernetes-on-aws.md
459
Manage Kubernetes Clusters on AWS Using Kops - https://aws.amazon.com/blogs/compute/kubernetes-clusters-aws-kops/
459
ΠΡΠ΅Π½Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΉ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π» ΠΎ Π½ΠΎΠ²ΠΎΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Nginx, Π±ΡΡΡ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠ²Π½ΡΠΌ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ (NGINX Unit) ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ (PHP, Go, Python)
Π’Π°ΠΊ ΠΆΠ΅ ΠΎΠΆΠΈΠ΄Π°Π΅ΡΡΡ ΡΡΠΎ Π² Π±Π»ΠΈΠΆΠ°ΠΉΡΠ΅ΠΌ Π±ΡΠ΄ΡΡΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΡΡ Java ΠΈ JS.
ΠΠ΄Π΅Π°Π»ΡΠ½ΠΎ Π΄Π»Ρ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠ»Π΅Π½ΠΈΡ Ρ Nginx Unit, Nginx waf, Nginx controller
459
Istio β Π½ΠΎΠ²ΡΠΉ service mesh ΠΎΡ Google, IBM ΠΈ Lyft Π΄Π»Ρ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ Kubernetes
ΠΡΠ΅ΡΠ° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Google, IBM ΠΈ Lyft Π°Π½ΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π»ΠΈ Π½ΠΎΠ²ΡΠΉ Open Source-ΠΏΡΠΎΠ΅ΠΊΡ Istio, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠΈΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ service mesh (Β«ΡΠ΅ΡΠΊΠΈ Π΄Π»Ρ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ²Β») Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠΉ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠΎΠΉ.
Service mesh β ΡΡΠΎ Π½ΠΎΠ²Π°Ρ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ, ΠΎΠ±ΡΠ΅ΡΠ°ΡΡΠ°Ρ Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎΡΡΡ Π² ΡΠ²ΡΠ·ΠΈ Ρ ΡΠ°ΡΡΡΡΠ΅ΠΉ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΡΡ ΠΎΠ±Π»Π°ΡΠ½ΡΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (cloud native), ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ², ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ ΠΈΡ
ΠΎΡΠΊΠ΅ΡΡΡΠΎΠ²ΠΊΠΈ. ΠΠΎ ΡΠ²ΠΎΠ΅ΠΉ ΡΡΡΠΈ ΡΡΠΎ Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΠΉ ΡΠ»ΠΎΠΉ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠΈΠΉ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ (Π΄ΠΎΡΡΠ°Π²ΠΊΡ Π·Π°ΠΏΡΠΎΡΠΎΠ²) ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ, ΡΠ°Π·Π½Π΅ΡΡΠ½Π½ΡΠΌΠΈ ΠΏΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°ΠΌ Ρ ΡΡΡΡΠΎΠΌ ΠΈΠΌΠ΅ΡΡΠ΅ΠΉΡΡ ΡΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΠΈ. ΠΠ·Π²Π΅ΡΡΠ½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ»ΡΠΆΠ±Ρ service mesh β ΡΡΠΎ ΠΏΡΠΎΠ΅ΠΊΡ linkerd, ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΠΌΡΠΉ ΡΠΎΠ½Π΄ΠΎΠΌ CNCF (Cloud Native Computing Foundation).
Π ΠΎΡΠ½ΠΎΠ²Ρ Π°Π½ΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π²ΡΠ΅ΡΠ° Istio Π»ΡΠ³ Π΄ΡΡΠ³ΠΎΠΉ Open Source-ΠΏΡΠΎΠ΅ΠΊΡ Envoy, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠΉ Π² Lyft ΠΈ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π½Π° ΡΠ·ΡΠΊΠ΅ C++11, Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΠ·ΡΠ΅ΠΌΡΠΉ ΠΊΠ°ΠΊ Β«ΠΏΡΠΎΠΊΡΠΈ ΡΠ΅Π΄ΡΠΌΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ (L7) ΠΈ ΡΠΈΠ½Π° Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡΒ». Envoy ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠΈΠ»ΡΡΡΡ ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½Ρ, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠ΅ ΠΊΠ°ΠΊ Π½Π° ΡΠ΅ΡΠ΅Π²ΠΎΠΌ ΡΡΠΎΠ²Π½Π΅ (TCP/IP), ΡΠ°ΠΊ ΠΈ HTTP (ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΠΈ HTTP/2), ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ gRPC, ΠΈΠΌΠ΅Π΅Ρ ΠΏΠ°ΡΡΠ΅ΡΡ Π΄Π»Ρ ΡΠ±ΠΎΡΠ° ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΈ Π² NoSQL-Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
MongoDB ΠΈ DynamoDB, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π΄Π»Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² (Service Discovery) ΠΈ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΠΊΡ Π½Π°Π³ΡΡΠ·ΠΊΠΈ (Ρ ΡΡΡΡΠΎΠΌ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ Π±ΡΠΊΠ΅Π½Π΄-ΡΠ΅ΡΠ²Π΅ΡΠΎΠ²).
Istio Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Β«ΠΎΡΠΊΡΡΡΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΎΠΉ Π΄Π»Ρ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ², ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈΠΌΠΈ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈΒ». Istio ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ Π³ΠΎΡΠΎΠ²ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ°ΠΊΠΈΡ
Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΡ
Π΄Π»Ρ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ½ΡΡ
ΠΈ ΠΎΠ±Π»Π°ΡΠ½ΡΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π·Π°Π΄Π°Ρ, ΠΊΠ°ΠΊ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠ΅ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ², Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΠΊΠ° Π½Π°Π³ΡΡΠ·ΠΊΠΈ, ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΡ, ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ ΠΊΠΎΠ½Π΅ΡΠ½ΡΡ
ΡΠΎΡΠ΅ΠΊ, Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΡ Π΄Π»Ρ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΡ
Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ, ΠΎΠ±ΡΠ°Ρ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡΡ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ.
Π Istio Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ° ΡΠ°Π·Π²ΠΎΡΠ°ΡΠΈΠ²Π°Π΅ΡΡΡ ΠΏΡΠΎΠΊΡΠΈ-ΡΠ΅ΡΠ²Π΅Ρ Envoy ΠΊΠ°ΠΊ sidecar-ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Π²Π½ΡΡΡΠΈ ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΠΏΠΎΠ΄Π° Kubernetes. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ·ΡΡΠ°ΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΡΠ°ΡΠΈΠΊΠ° ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π½ΡΠΆΠ½ΡΠ΅ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ Β«Π½Π° ΠΌΠ΅ΡΡΠ΅Β», Π½ΠΎ ΠΈ ΡΠ°Π·Π²ΠΎΡΠ°ΡΠΈΠ²Π°ΡΡ Istio Π² ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ
ΠΈΠ½ΡΡΠ°Π»Π»ΡΡΠΈΡΡ
ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ½ΡΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°ΡΡ ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ ΠΌΠ΅Π½ΡΡΡ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ. ΠΠ° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Istio ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Ρ Kubernetes, Π½ΠΎ Π² Π±Π»ΠΈΠΆΠ°ΠΉΡΠ΅ΠΌ Π±ΡΠ΄ΡΡΠ΅ΠΌ Π°Π²ΡΠΎΡΡ ΠΎΠ±Π΅ΡΠ°ΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ Cloud Foundry, Mesos ΠΈ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΡ
ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² (bare metal). Π‘Π°ΠΉΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΉ Π½Π° Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅ β https:istio.io. ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ Istio Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° ΡΠ·ΡΠΊΠ΅ Go, ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ Π½Π° ΡΡΠ»ΠΎΠ²ΠΈΡΡ
ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠΉ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΈ Apache License v2 ΠΈ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ Π½Π° Github.
https://istio.io
459
Linkerd 1.0 Ββ ΡΠ²ΡΠ·ΡΡΡΠ΅Π΅ Π·Π²Π΅Π½ΠΎ Π΄Π»Ρ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Π² ΠΎΠ±Π»Π°ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ΅
Π ΠΌΠΈΠ½ΡΠ²ΡΠΈΠΉ Π²ΡΠΎΡΠ½ΠΈΠΊ ΡΠΎΡΡΠΎΡΠ»ΡΡ ΡΠ΅Π»ΠΈΠ· 1.0 ΠΏΡΠΎΠ΅ΠΊΡΠ° linkerd, ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ Π² ΡΠ°ΠΌΠΊΠ°Ρ
ΡΠΎΠ½Π΄Π° CNCF (Cloud Native Computing Foundation) ΠΊΠ°ΠΊ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡΠΈΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π΄Π»Ρ ΠΎΠ±Π»Π°ΡΠ½ΡΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
Π€ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ Π°Π²ΡΠΎΡΡ linkerd Π½Π°Π·ΡΠ²Π°ΡΡ ΡΠ²ΠΎΠΉ ΠΏΡΠΎΠ΄ΡΠΊΡ Β«ΡΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΊΠΎΠΉΒ» (service mesh) Π΄Π»Ρ ΡΠΎΠ΄Π½ΡΡ
ΠΎΠ±Π»Π°ΡΠ½ΡΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΡΠ»ΠΈ Π²ΡΡΠ°ΠΆΠ°ΡΡΡΡ Π² Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΈΠ²ΡΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, linkerd β ΡΡΠΎ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΡΠΉ ΠΏΡΠΎΠΊΡΠΈ-ΡΠ΅ΡΠ²Π΅Ρ, Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΠΈΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ², ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΠΈ, ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΡΠΊΠ°Π·ΠΎΠ² ΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ Π²Π½ΡΡΡΠΈ ΠΎΠ±Π»Π°ΠΊΠ°.
Π‘ΡΠ΅Π΄ΠΈ Π΅Π³ΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠ΅ΠΉ ΠΎΡΠΌΠ΅ΡΠ°ΡΡΡΡ: ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ (ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠ΅ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ Π΄Π΅ΡΡΡΠΊΠΎΠ² ΡΡΡΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π² ΡΠ΅ΠΊΡΠ½Π΄Ρ ΠΎΠ΄Π½ΠΈΠΌ ΡΠ·Π»ΠΎΠΌ + Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅), Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΠΈ (Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΡΡ
Π΅ΠΌ Π΄Π»Ρ staging-ΠΏΠ»ΠΎΡΠ°Π΄ΠΎΠΊ, ΠΎΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΠΈ ΠΈ Π΄Ρ.), Π²ΡΡΡΠΎΠ΅Π½Π½Π°Ρ ΡΠ»ΡΠΆΠ±Π° ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ², Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΠΊΠ° ΡΡΠ°ΡΠΈΠΊΠ° Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ Π½Π°Π³ΡΡΠ·ΠΊΠΎΠΉ, Π³ΠΎΡΠΎΠ²Π½ΠΎΡΡΡ ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² production Π΄Π°ΠΆΠ΅ Π² ΠΊΡΡΠΏΠ½ΡΡ
ΠΌΠ°ΡΡΡΠ°Π±Π°Ρ
.
Π‘ΡΠ΅Π΄ΠΈ Π½ΠΎΠ²ΡΡ
Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ
Π² ΡΠ΅Π»ΠΈΠ·Π΅ linkerd 1.0, ΠΎΡΠΌΠ΅ΡΠ°ΡΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΡΠΎΡΡΠΈΠ½Π³Π° ΠΏΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌ (Ρ.Π΅. Π·Π°Π΄Π°Π²Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ
ΡΠ΅ΡΠ²ΠΈΡΠΎΠ²), ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΡ
ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π΄Π»Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ
ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠ², Π½ΠΎΠ²ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ Π΄Π»Ρ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ², ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ Π»ΡΡΡΠ΅ ΡΠ°Π·Π³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡ ΠΏΡΠ°Π²Π° Π΄ΠΎΡΡΡΠΏΠ°.
ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ linkerd Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° Scala, ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ Π½Π° GitHub ΠΈ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ Π½Π° ΡΡΠ»ΠΎΠ²ΠΈΡΡ
ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠΉ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΈ Apache License 2.0. ΠΠ° ΡΠ°ΠΉΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π³ΠΎΡΠΎΠ²Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΏΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ linkerd Π²ΠΌΠ΅ΡΡΠ΅ Ρ Kubernetes, DC/OS ΠΈ Docker.
ΠΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΏΡΠΎΠ΄ΡΠΊΡΠ° β ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ Buoyant, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΠ»ΡΠ³ΠΈ ΠΏΠΎ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π½Π° ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡΡ
.
P.S. Π ΡΠΎΠΌ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ service mesh ΠΈ Π·Π°ΡΠ΅ΠΌ ΠΎΠ½ Π½ΡΠΆΠ΅Π½, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π² Π±Π»ΠΎΠ³Π΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Β«Π€Π»Π°Π½ΡΒ» (ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π° ΠΎΡ ΡΠΎΠ·Π΄Π°ΡΠ΅Π»Π΅ΠΉ Linkerd, ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊ ΡΠ΅Π»ΠΈΠ·Ρ 1.0).
https://m.habrahabr.ru/company/flant/blog/327536/
459
NGINX Unit β Π½ΠΎΠ²ΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΠΎΡΠ½ΠΎΠ²Π° Π΄Π»Ρ service mesh ΠΎΡ ΡΠΎΠ·Π΄Π°ΡΠ΅Π»Π΅ΠΉ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠ° nginx
Π ΠΌΠΈΠ½ΡΠ²ΡΡΡ ΡΡΠ΅Π΄Ρ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ NGINX Inc, ΡΡΠΎΡΡΠ°Ρ Π·Π° ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌ ΠΎΠ΄Π½ΠΎΠΈΠΌΡΠ½Π½ΡΠΌ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ (nginx), Π°Π½ΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π»Π° ΡΠ²ΠΎΠΉ Π½ΠΎΠ²ΡΠΉ Open Source-ΠΏΡΠΎΠ΄ΡΠΊΡ β NGINX Unit.
NGINX Unit β ΡΡΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΎΡ nginx ΠΏΡΠΎΠ΄ΡΠΊΡ, ΡΠ²Π»ΡΡΡΠΈΠΉΡΡ Π»Π΅Π³ΠΊΠΎΠ²Π΅ΡΠ½ΡΠΌ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (application server) Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΠΈ ΠΏΡΠΈΠ·Π²Π°Π½Π½ΡΠΌ Β«ΠΎΡΠ²Π΅ΡΠΈΡΡ Π½Π° Π·Π°ΠΏΡΠΎΡΡ ΡΠ΅Π³ΠΎΠ΄Π½ΡΡΠ½ΠΈΡ
Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ
ΠΈ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉΒ». ΠΠ° Π΄Π°Π½Π½ΠΎΠΌ ΡΡΠ°ΠΏΠ΅ ΠΎΠ½ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π·Π°ΠΏΡΡΠΊ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° ΡΡΡΡ
ΡΠ·ΡΠΊΠ°Ρ
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ: Go, PHP ΠΈ Python, β Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Java ΠΈ Node.JS ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΡΡΡ Π² Β«Π±Π»ΠΈΠΆΠ°ΠΉΡΠ΅ΠΌ Π±ΡΠ΄ΡΡΠ΅ΠΌΒ».
NGINX Unit ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΡΠ°Π·Π½ΡΡ
ΡΠ·ΡΠΊΠ°Ρ
, Π½ΠΎ ΠΈ Π½Π° ΡΠ°Π·Π½ΡΡ
Π²Π΅ΡΡΠΈΡΡ
ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠΎΠ² (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, PHP 5 ΠΈ PHP 7, Python 2.7 ΠΈ Python 3).
ΠΡΡΠ³ΠΎΠΉ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΡ NGINX Unit ΡΠ²Π»ΡΠ΅ΡΡΡ Π΅Π³ΠΎ Β«ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ΅ΠΌΠΎΡΡΡΒ»: ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΏΠΎ REST API, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΡΠΌΠ°ΡΠ° JSON Π΄Π»Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΉ, graceful-ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΉ Π΄Π»Ρ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΡΡΠΎΠ΅Π² ΡΠ΅ΡΠ²ΠΈΡΠ°.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, ΠΏΡΠΎΠ΄ΡΠΊΡ Π°Π΄Π°ΠΏΡΠΈΡΠΎΠ²Π°Π½ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π±Π°Π·Ρ Π΄Π»Ρ Β«ΡΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΊΠΈΒ» (service mesh; ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ
ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΉ β linkerd ΠΈ Istio) Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌΡ ΡΠ΅ΡΠ΅Π²ΠΎΠΌΡ ΡΡΠ΅ΠΊΡ Π΄Π»Ρ Π±ΡΡΡΡΠΎΠ³ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠ΅ΡΠ΅Π²ΠΎΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (Π²ΠΌΠ΅ΡΡΠΎ ΠΊΠΎΠ΄Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ). ΠΡΠΊΠΎΡΠ΅ ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ±Π΅ΡΠ°ΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠ² SSL/TLS ΠΈ HTTP/2.
Π’Π΅ΠΊΡΡΠΈΠΉ ΡΡΠ°ΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ NGINX Unit β Π±Π΅ΡΠ°-Π²Π΅ΡΡΠΈΡ 0.1, ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°ΡΠ°ΡΡ Ρ ΡΠ°ΠΉΡΠ° unit.nginx.org. ΠΡΡ
ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ NGINX Unit Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° ΡΠ·ΡΠΊΠ΅ Π‘ΠΈ ΠΈ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΏΠΎΠ΄ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠΉ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ Apache License 2.0 Π½Π° GitHub.
http://unit.nginx.org
459
ΠΡΠ»ΠΈΡΠ½Π°Ρ ΡΡΠ°ΡΡΡ ΠΎΡ ΠΠ»Π΅ΠΊΡΠ΅Ρ ΠΠ²Π°Π½ΠΎΠ²Π° Π² Π±Π»ΠΎΠ³Π΅ Dropbox ΠΏΡΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π²Π΅Π± ΡΠ΅ΡΠ²Π΅ΡΠΎΠ².
ΠΠ½ΡΡΡΠΈ perf, ΡΠ»Π΅ΠΉΠΌΠ³ΡΠ°ΡΡ, Π³ΡΠ°ΡΠΈΠΊΠΈ, Π±Π΅Π½ΡΠΌΠ°ΡΠΊΠΈ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎΠ³ΠΎ.
https://goo.gl/9sntjq
459
https://www.cyberciti.biz/faq/how-to-set-up-a-firewall-with-pf-on-freebsd-to-protect-a-web-server/ - ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π±ΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Packet Filter ΡΠ°ΠΉΡΠ²ΠΎΠ»Π»ΠΎΠΌ Π² BSD ΡΠΈΡΡΠ΅ΠΌΠ°Ρ
.
459
https://medium.com/statuscode/dockercheatsheet-9730ce03630d - ΡΠΏΠ°ΡΠ³Π°Π»ΠΊΠ° ΠΏΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ Docker.
