ืฉืืื! ืฉืื ืืืืื ืืืืกืื, ืื ื ืืืืื ืืช ืืคืืชืื ืฉื ืคืืืคืืจืืช Avito System. ื ืืืจ ืืืชืจ ืืคืขื ืืืช ืืืฆื ืื ื ืืืืจื ืขืืืจืื ืืืจืืืืงืืืจื ืืื ืืืืืืช ืืืจืืืืงืืืจื ืฉื ืฉืืจืืชื ืืืงืจื. ืืืืข ืืืื ืืฉืชืฃ ืืืฆื ืฉืื ืื ื ืืช ืืชืฉืชืืช ืฉืื ื ืืื ืืืคืืง ืืช ืืืจื ืืฉืืจืืชื ืืืืงืจื ืืืื ืืข ืืขืฆืื ื ืืืืช ืืืืืื ืืื. ืืื PaaS ืขืืืจ ืื ื ืืื, ืืื ืคืืฉืื ื ืืช ืืคืจืืกื ืืฆืืฆืื ื ืืช ืืืฆืืจื ืฉื ืืืงืจื-ืฉืืจืืช ืืงืืืง ืืื - ืืืฉื ืืงืจืื. ืื ืื ืื ืฉืื ื ืืืชื ืขืืื ืืืื ืืืืฉื ืืืืืื ื-Avito, ืืืง ืืื ืืื ืืื ืื ืื ื ืืคืชืืื ืืช ืืคืืืคืืจืื ืฉืื ื.
(ืืืกืืฃ ืืืืืจ ืืื, ืืืืจ ืขื ืืืืืื ืืช ืืืฉืชืชืฃ ืืกืืื ืจ ืื ืฉืืืฉื ืืืื ืฉื ืืืืืื ืืืจืืืืงืืืจืช ืืืงืจื-ืฉืืจืืชืื ืืจืืก ืจืืฆ'ืจืืกืื).
ืืื ืืืขื ื ืืืืงืจื-ืฉืืจืืชืื
ืืืืื ืืื ืืื ืืืืชืจืื ืืืกืืืืื ืืืืืืื ืืขืืื, ืืืชืคืจืกืืืช ืื ืืืชืจ ื-15 ืืืืืื ืคืจืกืืืืช ืืืฉืืช ืืืื. ืืงืฆื ืืืืืจื ืฉืื ื ืืงืื ืืืชืจ ื-20 ืืืฃ ืืงืฉืืช ืืฉื ืืื. ืืฉ ืื ื ืืจืืข ืืื ืืืืช ืฉืืจืืชื ืืืงืจื.
ืื ืื ื ืืื ืื ืืจืืืืงืืืจืช ืืืงืจื-ืฉืืจืืชืื ืืืจ ืืื ืฉื ืื. ืืื ืืืืืง - ืืงืืืืืช ืฉืื ื ืืคืืจืื
ืืชืืืื, ืื ืืฆืจื ื ืืขืจืืช ืืงืืืืืืช ืฉืชืขืืืจ ืื ื ืืืืคื ืืงืืฃ ืืคืชื ืืืืฉืืง ืฉืืจืืชื ืืืงืจื. ืื ืคืฉืื ืืกืคื ืคืชืจืื ืืช ืืืืื ืืื ืืงืื ืคืชืื, ืืฉืืงื ืืืชื ืืืืช ืืืืืื ื ืืช ืืืคืชื ืืืชืืืื ืืืชื. ืืชืืฆืื ืืื ืืื ืืื ืืชืจืืกืจ ืืงืืืืช (ืืฉืืืจืืื, ืฉืืจืืชืื ืคื ืืืืื), ืืืืืจ ืืื ืืชืืืง ืืจืฆืื ื ืืืชืื ืงืื ืืืจื ืืืฉื ื, โโืืืื ืืืื. ืืฆืืข ืืืจืืง ืืชืจืฉืืืื ืืืื ืืฆืืืข ืขื ืื ืฉืืืคืชื ืขืืฉื ืืฆืืจื ืืื ืื ืืืจืช ืืื ืืืื, ืืืฆืืข ืืฆืืื ืืฆืืื ืืืืืืฆืื.
ืืขืช ืืืื ืืฉืืจืืช PaaS CLI ื ืืฆืจ ืฉืืจืืช ืืืฉ ืขื ืคืงืืื ืืืช, ืืืกื ื ืชืื ืื ืืืฉ ืืชืืืกืฃ ืขื ืฉื ืืื ื ืืกืคืื ืื ืคืจืก ื-Stage.
ืืื ืืืชืืืจ ืขื ืขืืื "ืคืืฆืื ืืืงืจื ืฉืืจืืชืื"
ืขื ืืจืืืืงืืืจื ืืื ืืืืืืช, ืืืขื ืขืงืืืืช ืืฉืื ืืืื ืืืืฆืจ, ืืคืชืืื ื ืืืฆื ืืืืื ืื ืงืืจื ืขื ืฉืื ืืื. ืืืฉืจ ืขืืืืื ืขื ืืืจืืืืงืืืจื ืืืืฉื, ืืงืฉืจื ืฉืืจืืช ืืื ื ืชืืืืื ืขืื ืื ืืื.
ืื ืืกืฃ, ืืื ืฉืืจืืืืงืืืจืช ืฉืืจืืช ืืืงืจื ืชืืื ืืคืงืืืืืช, ืฆืจืื ืืืงืื ืชืืืืืื ืจืืื, ืืืืืจ:
โข ืจืืฉืื;
โข ืืขืงื ืืืจ ืืงืฉื (ืืืืจ);
โข ืฆืืืจื ืฉื ืฉืืืืืช (Sentry);
โข ืกืืืืกืื, ืืืืขืืช, ืืืจืืขืื ื-Kubernetes (ืขืืืื ืืจื ืืืจืืขืื);
โข ืืืืืช ืืืจืืฅ / ืืคืกืง ืืจื (ื ืืชื ืืืฉืชืืฉ ื-Hystrix);
โข ืฉืืืื ืืงืืฉืืจืืืช ืืฉืืจืืช (ืื ื ืืฉืชืืฉืื ื-Netramesh);
โข ื ืืืืจ (Grafana);
โข ืืจืืื (TeamCity);
โข ืชืงืฉืืจืช ืืืชืจืื (Slack, ืืืื);
โข ืืขืงื ืืืจ ืืฉืืืืช; (ื'ืืจื)
โข ืืื ืช ืชืืขืื.
ืืื ืืืืืื ืฉืืืขืจืืช ืื ืชืืื ืืช ืฉืืืืชื ืืชืืฉืืจ ืืคืงืืืืืช ืืฉืืื ืืชืจืืืช, ืืฉืื ื ืืืืฉ ืขื ืืจืืื ืฉืืจืืชื ืืืืงืจื ื-Avito.
ืืื ืื ืื ื ืื ืืืื ืฉืืจืืชื ืืืงืจื
ืืืืจืื ืืืืื ืขืืืจืื ืืืืฉื "ืืืื ืืืช ืืคืืืชืืช" ืืืืืืช ืืื ืฉืืจืืชื ืืืงืจื ืฉื Avito:
- ืืืืงืช ืชืฉืชืืืช ืืฉืืืืช;
- ืชืคืืกืช ืคืืืคืืจืื ืืฉืืจืืช (PaaS);
- ืืขืงื ืืืจ ืื ืื ืฉืงืืจื ืขื ืฉืืจืืชื ืืืงืจื.
ืฉืืืืช ืืคืฉืืช ืชืฉืชืืช ืืืืืืช ืฉืืืฉ ืฉืืืืช. ืืื ื ืื ืืืืขืื ืืืื.
ื ืืืค - ืจืฉืช ืฉืืจืืช. ืืืชืืื ื ืืกืื ื ืืช Istio, ืืื ืืชืืจืจ ืฉืืื ืืฉืชืืฉ ืืืืชืจ ืืื ืืฉืืืื, ืืื ืืงืจ ืืื ืขืืืจ ืื ืคืืื ืฉืื ื. ืืื, ืืื ืืก ืืืืจ ืืฆืืืช ืืืืจืืืืืช ืืืืกื ืืจ ืืืงืืื ืฆ'ื ืงื ืคืืชื ืคืชืจืื ืืฉืื -
ื. ืืื ืื ื - Kubernetes. ืื ื ืคืืจืกืื ืืืคืขืืืื ืขืืื ืฉืืจืืชื ืืืงืจื.
ื. ืชืืชืืช - ืืชืืช ืืฉืืคื. ืื ืื ื ืื ืืฉืชืืฉืื ืืขื ื ืื ืื ืืืจืื ืืื OpenStack, ืืื ืืกืชืืืื ืืืืืืื ืขื ืืชืืช ืืฉืืคื.
ืื ืืฉืืืืช ืืฉืืืืืช ืขื ืืื PaaS. ืืืคืืืคืืจืื ืืื, ืืชืืจื, ืืืจืืืช ืืฉืืืฉื ืืืงืื.
I. ืื ืจืืืจืื, ื ืฉืื ืืืืฆืขืืช ืืื ืฉืืจืืช CLI. ืืื ืื ืฉืขืืืจืช ืืืคืชื ืืืฆืืจ ืืืงืจื-ืฉืืจืืช ืืฆืืจื ืื ืืื ื ืืืืื ืืืื ืืืืฅ.
II. ืืกืคื ืืืืื ืขื ืฉืืืื ืืื ืืืืื ืืืืฆืขืืช ืืื ืืืืื ืื ืืฉืืชืฃ.
III. ืึดืืกืึผื. ืืชืืืจ ืขื ืืชืืื ืื ืฉืืืืืจืื ืืืืคื ืืืืืืื ืืจืืืจืื ืืคืขืืืืช ืืฉืืขืืชืืืช. ืืืืืช ืืืขืจืืช ืืื, ืืฃ ืืฉืืื ืื ืืคืกืคืกืช ืจืง ืืืื ืฉืืืฉืื ืฉืื ืืืืืืจ ืืฉืืื ืื'ืืจื. ืืฉื ืื ืื ื ืืฉืชืืฉืื ืืืื ืคื ืืื ืืฉื ืืืืก.
ืืืืขืช ืฉืืจืืชื ืืืงืจื ื-Avito ืืชืืฆืขืช ืื ืืื ืืคื ืกืืื ืืืช, ืืืคืฉืืช ืืช ืืฉืืืื ืขืืืื ืืื ืฉืื ืฉื ืคืืชืื ืืืคืฆื.
ืืืฆื ืคืืขื ืฆืื ืืจ ืคืืชืื ืืืงืจื-ืฉืืจืืช ืกืื ืืจืื?
ืืืืคื ืืืื, ืฉืจืฉืจืช ืืฆืืจืช ืืืืงืจื-ืฉืืจืืชืื ื ืจืืืช ืื:
CLI-push โ ืืื ืืืจืฆืื ืืชืืฉืืช โ ืืคืืื โ ืคืจืืกื โ ืืืืงืืช ืืืืืืชืืืช โ ืืืืงืืช ืงื ืจืืืช โ ืืืืงืช ืกืืืื โ ืืืฆืืจ โ ืชืืืืงื.
ืืื ื ืขืืืจ ืขื ืื ืืืืืง ืืกืืจ ืืื.
CLI-ืืืืคื
โข ืืฆืืจืช ืืืงืจื-ืฉืืจืืช.
ื ืืืงื ื ืืืฉื ืืื ืจื ืืื ืืืื ืื ืืคืชื ืืื ืืขืฉืืช ืฉืืจืืชื ืืืงืจื. ืื ืืื ืืชืืืช ืืืจืืืช ืืคืืจืืืช ื-Confluence. ืืื ืืชืืื ืืืช ืืฉืชื ื ืืืืฉืืื. ืืชืืฆืื ืืื ืฉืฆืืืืจ ืืงืืืง ืืืคืืข ืืชืืืืช ืืืจื: ืืงื ืืจืื ืืืชืจ ืืื ืืืฉืืง ืืืงืจื-ืฉืืจืืชืื, ืืขืืืื ืืชืขืืจืจื ืืขืชืื ืงืจืืืืช ืืขืืืช ืืืืื ืืฆืืจืชื.
ืืกืืคื ืฉื ืืืจ, ืื ืื ื ืืื CLI ืคืฉืื ืฉืืืื ืืช ืืฉืืืื ืืืกืืกืืื ืืขืช ืืฆืืจืช ืืืงืจื-ืฉืืจืืช. ืืืขืฉื, ืื ืืืืืฃ ืืช ืืืืืคื ืืจืืฉืื ื ืฉื git. ืื ื ืื ืืืืืง ืืื ืขืืฉื.
- ืืืฆืจ ืฉืืจืืช ืืคื ืชืื ืืช - ืฆืขื ืืืจ ืฆืขื, ืืืฆื "ืืฉืฃ". ืืฉ ืื ื ืชืื ืืืช ืืฉืคืืช ืืชืื ืืช ืืขืืงืจืืืช ื-Avito backend: PHP, Golang ื-Python.
- ืคืงืืื ืืืช ืืื ืคืขื ืคืืจืกืช ืกืืืื ืืคืืชืื ืืงืืื ืืืืื ื ืกืคืฆืืคืืช - Minikube ืืืคืขืืช, ืชืจืฉืืื Helm ื ืืฆืจืื ืืืืืืืืช ืืืืคืขืืื ื-kubernetes ืืงืืืืื.
- ืืืืจ ืืช ืืกื ืื ืชืื ืื ืื ืืจืฉ. ืืืคืชื ืื ืฆืจืื ืืืขืช ืืช ื-IP, ืืื ืืกื ืืืกืืกืื ืืื ืืงืื ืืืฉื ืืืกื ืื ืชืื ืื ืฉืืื ืฆืจืื - ืืื ืื ืื ืืงืืื, ืืฉืื ืื ืืืืฆืืจ. ืืชืจื ืืื, ืืกื ืื ืชืื ืื ื ืคืจืก ืืืืคื ืืืืื ืืชืฆืืจื ืขืืืื ืืชืงืืืช ืืขื ืืืืื.
- ืืื ืืืฆืข ืืจืืื ืืื ืืขืฆืื. ื ื ืื ืฉืืคืชื ืชืืงื ืืฉืื ืืฉืืจืืช ืืืงืจื ืืืืฆืขืืช ื-IDE ืฉืื. ืืื ืืฉืืจืืช ืจืืื ืฉืื ืืืื ืืืขืจืืช ืืงืืฆืื ืืขื ืืกืืกื ืืื ื ืืืืฉ ืืช ืืืคืืืงืฆืื (ืขืืืจ Golang) ืืืคืขืื ืืืืฉ. ืขืืืจ PHP, ืื ืื ื ืคืฉืื ืืขืืืจืื ืืช ืืกืคืจืืื ืืชืื ืืงืืืื ืืฉื ืืชืงืืืช ืืขืื ื ืืืืฉ ืืื "ืืืืืืืืช".
- ืืืืฆืจ ืืืืงืืช ืืืืืืืืืช. ืืฆืืจื ืฉื ืจืืงืื, ืืื ืื ืืชืืื ืืฉืืืืฉ.
โข ืคืจืืกืช Microservice.
ืคืจืืกืช ืืืงืจื-ืฉืืจืืช ืืืืชื ืคืขื ืงืฆืช ืืืื ืขืืืจื ื. ื ืืจืฉื ืืืืจืื ืืืืื:
I. Dockerfile.
II. Config.
III. ืชืจืฉืื ืืื, ืฉืืื ืขืฆืื ืืกืืจืื ืืืืื:
- ืืชืจืฉืืืื ืขืฆืื;
- ืชืื ืืืช;
- ืขืจืืื ืกืคืฆืืคืืื ืชืื ืืชืืฉืืืช ืืกืืืืืช ืฉืื ืืช.
ืืืฆืื ื ืืช ืืืื ืืขืืืื ืืืืฉ ืฉื ืื ืืคืกืืื ืฉื Kubernetes ืื ืฉืื ื ืืฆืจืื ืืขืช ืืืืคื ืืืืืืื. ืืื ืืื ืืฉืื, ืื ืคืฉืื ืืช ืืคืจืืกื ืขื ืืงืฆื. ืืขืชื ืืืืื ืืฉ ืื ื Dockerfile, ืืืืคืชื ืืืชื ืืช ืื ืืชืฆืืจื ืืงืืืฅ app.toml ืงืฆืจ ืืื.
ืื, ืื-app.toml ืขืฆืื ืืื ืื ืืขืฉืืช ืืืงื. ืื ื ืืฆืืื ืื ืืืื ืืืื ืขืืชืงืื ืฉื ืืฉืืจืืช ืืืืืก (ืืฉืจืช ืืคืืชืื, ืืืืขืจืืืช, ืืืคืงื), ืืืฆืืื ืื ืืช ืืชืืืช ืฉืื. ืฉืืื ืื ืืืืื ืืงื = "ืงืื" ืืืืืง [ืื ืืข]. ืืืื ืืืืืื ืฉืชืืงืฆื ืืฉืืจืืช ืืืืฆืขืืช Kubernetes.
ืืืืจ ืืื, ืืืชืืกืก ืขื ืืชืฆืืจื, ื ืืฆืจืื ืืืืืืืืช ืื ืชืจืฉืืื ื-Helm ืืืจืืฉืื ืืืฆืืจืช ืืืืืจืื ืืืกืืกื ืื ืชืื ืื.
โข ืืืืืช ืืกืืกื. ืื ืืืืงืืช ืืืื ืื ืืืืืืืืืช.
ืฆืจืื ืืขืงืื ืืืจ:
- ืืื ืืฉ Dockerfile;
- ืืื ืืฉ app.toml;
- ืืื ืืฉ ืชืืขืื ืืืื?
- ืืื ืืชืืืช ืชืงืื ื?
- ืืื ื ืงืืขื ืืืื ืืชืจืื.
ืื ืงืืื ืืืืจืื ื: ืืขื ืืฉืืจืืช ืงืืืข ืืขืฆืื ืืืื ืืืื ืืืฆืจ ืื ืืจ.
โข ืืื ืช ืชืืขืื.
ืขืืืื ืืืืจ ืืขืืืชื. ื ืจืื ืฉืื ืืื ืืจืืจ, ืืื ืืืงืืื ืื ืื ืฉืื ืฉ"ื ืฉืื ืืขืชืื ืงืจืืืืช", ืืืื ืืืืื ืคืืืขื ืืฉืจืฉืจืช.
ืืฉ ืฆืืจื ืฉืืืื ืชืืขืื ืขืืืจ ืื ืฉืืจืืช ืืืงืจื. ืื ืืืื ืืช ืืืืืงืื ืืืืื.
I. ืชืืืืจ ืงืฆืจ ืฉื ืืฉืืจืืช. ืืืฉ ืืื ืืฉืคืืื ืขื ืื ืื ืขืืฉื ืืืื ืื ื ืืืฅ.
II. ืงืืฉืืจ ืืชืจืฉืื ืืืจืืืืืช. ืืฉืื ืฉืืืื ืืืืจ ืื ืงื ืืืืื, ืืืฉื, ืืื ืืชื ืืฉืชืืฉ ื-Redis ืืฉืืืจื ืืืืืื ืื ืืืืืจ ืื ืชืื ืื ืืจืืฉื ืืืฆื ืืชืืฉื. ื-Avito ืืขืช ืขืชื ืืื ืงืืฉืืจ ื-Confluence.
III. ืกืคืจ ืจืืฆื. ืืืจืื ืงืฆืจ ืขื ืืชืืืช ืืฉืืจืืช ืืืืจืืืืช ืืืืคืื ืื.
IV. ืฉืืืืช ื ืคืืฆืืช, ืฉืื ืืืื ืืื ืืฆืคืืช ืืจืืฉ ืืช ืืืขืืืช ืฉืขืืืชืื ืขืืืืื ืืืืชืงื ืืื ืืขืช โโืืขืืืื ืขื ืืฉืืจืืช.
V. ืชืืืืจ ื ืงืืืืช ืืงืฆื ืขืืืจ ื-API. ืื ืคืชืืื ืื ืฆืืื ืช ืืช ืืืขืืื, ืงืืืืืช ืฉืืืืงืจื-ืฉืืจืืชืื ืฉืืื ืงืฉืืจืื ืืฉืื ืืฉืืื ืขื ืื ืืืขื ืืืืืืืช. ืขืืฉืื ืื ืื ื ืืฉืชืืฉืื ื-Swagger ืืืคืชืจืื ืฉืื ื ืฉื ืงืจื ืืจืืฃ ืืฉืืื ืื.
VI. ืชืืืืืช. ืื ืกืื ืื ืฉืืจืืื ืืืืื ืืืฆืจ, ืคืื ืงืฆืืื ืืืืช ืื ืืืืื ืืื ืืช ืฉื ืืืืจื ืฉืืื ืืฉืืจืืช. ืื ืขืืืจืื ืื ืืืืื ืืืืืจืืช, ืืืฉื, ืื ืืชื ืืืชื ืคืื ืงืฆืืื ืืืืช ืฉืืขืืืชืื ืฉืื ืืืฆืืื ืืืืชื ืืืืื ืขืกืงืืช ืืคื ื ืฉืืืข.
VII. ืืืขืืื ืื ืืืขืืื ืฉื ืืฉืืจืืช. ืืจืื ืืืงืจืื, ืื - ืื ืืืชื - ื ืืชื ืืงืืืข ืืืืคื ืืืืืืื ืืืืฆืขืืช PaaS, ืื ืืืชืจ ืืืืืื, ืื ื ืืืจืฉืื ืืืืคืชื ืืฆืืื ืืืชื ืืืืคื ืืื ื.
ืืืกืืฃ, ื ืืื ืืื ืืขืืื ืืชืืขืื, ืืืืื ืืืืืงืช ืงืื.
ืืื ืืืจืฆืื ืืชืืฉืืช
- ืืื ืช ืืืืจืื.
- ืืฆืืจืช ืฆืื ืืจ ื-TeamCity.
- ืืืืจืช ืืืืืืช.
- ืืคืฉ ืืขืื ืฉืืจืืชืื. ืืฉ ืืื ืกืืื ืืืืจืืืืช - ืกืืืื ืืื ื ืืืืืืืฆืื ืืื ืืืืืช ื-PaaS. ืกืืืื ืืืืืืืืช ืืืืืืื ื ืืฉืืช ืืืฉืจ ืฉืืจืืชืื ืืืขืืจืื ืืชืืืื ืืฆืืืช ืคืืชืื ืืืจ ืื, ืืืฉื, ืื ืืคืชื ืืฉืืจืืช ืืืฆื.
- ืจืืฉืื ืฉืืจืืช ืืืืืก (ืจืื ืืขืื). ืขื ืื ืืขืืื ืืืชืืืช.
- ืืืืงืช ืืขืืจืืช. ืื ื ืืืืงืื ืื ืืื ืืื ืขืืื ืืืืืช ืืกืืื. ืืืืืื, ืืืื ืืื ืฆืฆื ืืืืช ืืฉืชื ื ืื ืืฉืื ืืืจ ืฉืืืื ืืฉืืืจ ืืช ืืชืืืืืช ืฉื ืกืืืืช ืื ืชืื ืื ืืื ืืจืกืืืช ืฉืื ืืช ืฉื ืืฉืืจืืช. ืืืืจ ืืื ืืืืืจื ืื ืืืืฆืขืช, ืืื ืืืืงืืช ืืื ืื - ื-PaaS ืืืื ืืืืชืช ืืืขื ืืฉืืจืืช ืืชื ืืืื ืืืฉืชืืฉ ืื.
ืึถืึฑืคืึนืช
ืืฉืื ืืื ืืื ืฉืืจืืชื ืืจืืื ืืคื ื ืืคืจืืกื.
- ืื ืืืช ืืืคืืืงืฆืื. ืืคื ืืงืืืกืืงื - ืืชืืื ืช ืืืงืจ.
- ืืฆืืจืช ืชืจืฉืืื Helm ืขืืืจ ืืฉืืจืืช ืขืฆืื ืืืฉืืืื ื ืืืืื. ืืืื ืขืืืจ ืืกืื ื ืชืื ืื ืืืืืื. ืื ื ืืฆืจืื ืืืืคื ืืืืืืื ืืืชืื ืืชืฆืืจืช app.toml ืฉื ืืฆืจื ืืฉืื ื-CLI-push.
- ืืฆืืจืช ืืจืืืกืื ืืื ืืื ืืขืจืืช ืืืฆืืืืช ืคืชืืืืช (ืืฉืื ื ืืจืฉ).
- ืืคืขืืช ืืืืงืืช ืืืืื ืืืืฉืื ืืืกืื ืงืื. ืื ืืืกืื ืืงืื ื ืืื ืืืกืฃ ืฉืฆืืื, ืกืืืจ ืืื ืื ืฉืืฉืืจืืช ืื ืืืฉืื ืืืื - ืืคืจืืกื. ืื ืื ืขื ืกืฃ ืืงืืื, ืืื ืืฉืืจืืช ืืืงืฆื ืืงืื "ืคืกืืื": ืืืืจ ืืื, ืื ืื ืื ืฉืืคืืจ ืืืืืื ืืืืจื ืืื, ืืืื ืืงืื ืืืืขื ืฉืืื ืืชืงืืืืช ืืืืื ืช ืืืืืงืืช ( ืืฆืจืื ืืขืฉืืช ืืฉืื ืื ืืืื).
- ืืชืืฉืืืช ืืืืืืืช ืืืืืจืื ืืืืขืื. ืื ืื ื ืืืชืืื ืืขืืงืจ ืฉืืจืืชื ืืืงืจื ืืืืื ื ืืืคืขืืืื ืืืชื ื-Kubernetes. ืืืื ืขืืื ืืช ืืืช ืืงืฉืืจื ืืืืืจืืช ืฉื ืฉืคืช ืืืืื ื: ืืืจืืจืช ืืืื, ืืขืช ืืืคืขืื, ื ืขืฉื ืฉืืืืฉ ืืื ืืืืืืช ืืืืื ื, ืื ืื ืืืืืจืื ืืืคืืจืฉ ืืช ืืืฉืชื ื GOMAXPROCS, ืืืืฉืจ ืืกืคืจ ืฉืืจืืชืื ืืืื ืืืคืขืืื ืขื ืืืชื ืืืื ื, ืื ืืชืืืืื ืืืชืืจืืช ืขื ืืฉืืืื, ืืืคืจืืข ืืื ืืฉื ื. ืืืจืคืื ืฉืืืื ืืจืืื ืืืฆื ืืื ืืืืฆืืข ืืฉืชื ื ืื ืืชื ืืคืขืื ืืช ืืืืฉืื ืืื ืืืืืงืช ืืืืฆื ืืืืจืืฅ ืืืจ ืืฉืืืื. (ืืงืืจืืช ืืืจืคืื ืื
ืืื ).
ืืื ืืืฆืืข, ืคืืืช ืขืืืฃ. ืืงืกืืืื: 643ms, ืืื ืืืื: 42ms. ืืชืืื ื ื ืืชื ืช ืืืืืฆื.
ืืื ืื ืืชืื, ืคืืืช ืขืืืฃ. ืืงืกืืืื: 14091 ns, ืืื ืืืื: 151 ns. ืืชืืื ื ื ืืชื ืช ืืืืืฆื.
ืืฉืื ืืื ืช ืืืจืืื, ืืชื ืืืื ืืืืืืจ ืืฉืชื ื ืื ืืืคืืจืฉ ืื ืฉืืชื ืืืื ืืืฉืชืืฉ ืืกืคืจืืื
ืืคืจืืก
โข ืืืืงืช ืืืกืืืืช. ืืคื ื ืฉืชืชืืื ืืกืคืง ืืืืืื ืฉืืจืืช ืืกืืืืืช ืืืืืขืืืช ืื, ืขืืื ืืืืืง ืืช ืืืืจืื ืืืืื:
- ื ืงืืืืช ืงืฆื API.
- ืชืืืืืช ืฉื ืชืืืืืช ื ืงืืืืช ืงืฆื API ืขื ืืกืืืื.
- ืคืืจืื ืืืื.
- ืืืืจืช ืืืชืจืืช ืืืงืฉืืช ืืฉืืจืืช (ืืจืืข ืื ื ืขืฉื ืขื ืืื netramesh)
โ ืืืืจืช ืืกืืืื ืืืขืืื ืืขืช ืฉืืืืช ืืืืขืืช ืืืืืืืืก ืืืืจืืข. ืื ื ืืืฅ ืืื ืืขืงืื ืืืจ ืืงืืฉืืจืืืช ืฉื ืืฉืืจืืชืื ืขื ืคื ื ืืืืืืืืก. ื ืืชื ืืฉืืื ืื ื ืชืื ืื ืืืืคืืื ืืืื ืืืืืืืืก, ืฉืื ืืืืืจืื ืืช ืงืืฉืืจืืืช ืืฉืืจืืชืื (ืฉืื ืืื), ืืื ื ืชืื ืื ืขืกืงืืื ืฉืืืืงืื ืืช ืงืืฉืืจืืืช ืืฉืืจืืชืื (ืฉืื ืจืข ืืืื!). ืืื ืงืืื ืฉืื ืืงืืฉืืจืืืช ืืื ืืืคืืช ืืืขืื, ืืืื ื ืื ืืืชื ืืงืืจื ืืช ืืืืืืืืก ืขืืืจืช ืืืคืจืื ื ืืื ืืื ืืฉืืจืืชืื.
ืขืืืื ืืื ืืจืื ืื ืกืื ืืืืืืื, ืืื ืืืืืจ ืฉืืื ืืชืจืื. ืืื ืฉืืกืืืื ืืืื ืืืื ืื ืืืชืจ ืืฆืืจื ืฉืืฆืืืช ืืืื ืืืืื ืืืืืื, ืื ืงื ืืืชืจ ืืฉืืืจ ืขื ืขืงืืืืช ืืื ืฉืืจืืชื ืืืืงืจื.
ืืืืงืืช ืกืื ืชืืืืช
โข ืืืืงืช ืืืืื ืกืืืจื. ืืฉื ืื ืื ื ืืฉืชืืฉืื ืืขืช ืืงืื ืคืชืื
โข ืืืื ืืืฅ. ืื ื ืื ืกืื ืืืืื ืืช ืื ืืฉืืจืืชืื ืืืืฆืืขืื ืืืืืืื. ืืื ืืืจืกืืืช ืฉื ืื ืฉืืจืืช ืืืืืืช ืืืืืช ืืคืืคืืช ืืืืืงืช ืขืืืก - ืื ื ืืื ืืืืื ืืช ืืืืฆืืขืื ืื ืืืืืื ืฉื ืืฉืืจืืช ืืืช ืืืืื ืขื ืืจืกืืืช ืงืืืืืช ืฉื ืืืชื ืฉืืจืืช. ืื ืืืืจ ืขืืืื ืฉืืจืืช, ืืืืฆืืขืื ืฉืื ืืจืื ืคื ืืืช ืืืฆื, ืืื ืืืชืืช ืืจืืจ ืืืขืืื: ืฆืจืื ืืืคืืจ ืืงืื ืืืชืงื ืืช ืืืฆื.
ืื ื ืืฉืชืืฉืื ืื ืชืื ืื ืฉื ืืกืคื, ืืืฉื, ืืื ืืืืฉื ื ืืื ืงื ื ืืืื ืืืืืืื ืืืกืืคื ืฉื ืืืจ, ืืืจื ืืื ืืืื ืื ืขื ืืื ืืฉืืจืืช ื ืืชื ืืืจืืื.
ืืืืื ืืืืงืช ืขืืืก, ืื ื ืืืืงืื ืื ืฆืจืืืช ืืืฉืืืื ืขืืืืช ืืืืืืืช ืฉื ืงืืขื. ืืื ืื ื ืืชืืงืืื ืืขืืงืจ ืืงืืฆืื ืืืช.
ื) ืื ื ืืกืชืืืื ืขื ืืขืืืก ืืืืื.
- ืงืื ืืื - ืกืืืจ ืืื ืื ืฉืืฉืื ืื ืขืืื ืืืื ืื ืืขืืืก ืืืจื ืคืชืืื ืืื ืคืขืืื.
- ืืืื ืืื - ื ืืจืฉ ืืืคืืืืืืฆืื.
ื) ืื ื ืืกืชืืืื ืขื ืืืชื ืืคื RPS.
ืืื ืื ื ืืกืชืืืื ืขื ืืืืื ืืื ืืืจืกื ืื ืืืืืช ืืงืืืืช ืืขื ืืืืืช ืืืืืืช. ืืืืืื, ืื ืฉืืจืืช ืืืืฆืจ 100 ืกื"ื, ืื ืืื ืืชืื ืืฆืืจื ืืจืืขื, ืื ืฉืื ืืกืคืฆืืคืืืช ืฉืื, ืืื ืืื ืืงืจื, ืื ืกืืื ืืืืื ืืช ืืฉืืจืืช ืืงืจืื ืืืื.
ืื, ืืืืคื, ืืฉ ืืืชืจ ืืื RPS, ืื ืืืื ืืฉ ืืืื ืืื ืืืืง ืื ืงืืืืช ืืงืฆื ืืคืกืืงื ืืืฆืข ืืช ืืืืขื, ืืืืช ืืืจืช ืคืฉืื ืืืคืขืืช return true;
ืืืืงืืช ืงื ืจืืืช
ืืืืจ ืฉืขืืจื ื ืืช ืืืืื ืื ืืกืื ืชืืืื, ืื ื ืืืืงืื ืืช ืืืืงืจื-ืฉืืจืืช ืขื ืืกืคืจ ืงืื ืฉื ืืฉืชืืฉืื. ืื ืื ื ืืชืืืืื ืืืืืจืืช, ืขื ื ืชื ืืขืืจ ืืืงืื ืืืืืขื ืฉื ืืฉืืจืืช - ืคืืืช ื-0,1%. ืืฉืื ืื, ืืฉืื ืืืื ืฉืืืืืื ืืืื ืืื ืืืืืฆืจืื ืื ืืื ืื ืืืืืื ืืืขืงื ืืื ืฉืืจืื ืืช ืืืขืื ืืฉืืจืืช ืืืืืจืืช ืืืคืฉืจืืช. ืืืื ืืืื ืืืื ืืืืื ืงื ืจื ืืื 5 ืืงืืช, ืืขืืงืจื ืืื ืฉืขืชืืื. ืขืืืจ ืฉืืจืืชืื ืืืจืืืื, ืื ื ืืืืืจืื ืืช ืืฉืขื ืืืืคื ืืื ื.
ืื ื ืื ืชืืื:
- ืืืืื ืกืคืฆืืคืืื ืืฉืคื, ืืคืจื, ืขืืืื php-fpm;
- ืฉืืืืืช ื- Sentry;
- ืกืืืืกื ืชืืืื;
- ืืื ืชืืืื, ืืืืืง ืืืืืฆืข;
- ืืืืื;
- ืืจืืืื, ืืขืืืืื ืืื ืืืืคืืื;
- ืืืื ืืืฆืจ.
ืืืืงืช ืกืืืื
ืืืืงืช ืืืืฆื ื ืงืจืืช ืื ืืืืงืช "ืกืืืื". ืฉื ืืืื ืืงื ืืืื ืก ืื ืืคืืืงืก. ืืืืืช ืฉืื ืืื ืฉืชืืืื ืื ื ืืืืืื ืืืคืข ืืื ืืชื ืืขื ืืืืชืืช ืขื ืืืืฉืืื ืืืื ืืฆืืืื ืืช ืืืืื ืฉืื. ืืืืจ ืืื ื ืืกืืฃ ืืืคืข ื ืืกืฃ ืื ืืขื ืืช ืืืื ืืื - ืฉืื ืืืงืกืืืื; ืื ื ืจืืืื ืืช ืืชืงืจื ืืืืืชื ืฉืืื ืขื ื"ืืืืฆื" ืืจืืฉืื ื. ืืื ืื ื ืืืืจืื ืืืคืข ืืื ืืื ืคืขื ืืืืฉืืื ืืช ืืคืืก ืืฉืื ืืืื.
ื ืชืื ื ืืืืงื ืืืืฆืขืืช "ืกืืืื" ืืืจืืื ืื ืืืืืจ ื ืชืื ืื ื ืคืืฅ ืฉื ืืืืื, ืฉื ืื ืืขืฉืืจืื ืืื ืืช ืชืืฆืืืช ืืขืืืก ืืืืืืืชื, ืื ืืคืืื ืืืืืคืื ืืื "ืกืื ืชืืืื".
ืืคืงื
โข ืงื ื ืืืื. ืืืฉืจ ืื ื ืืืฆืืืื ืฉืืจืืช ืืืืฆืืจ, ืื ื ืขืืงืืื ืืืจ ืืืคื ืืืจืืื ืฉืื. ืื ืืกืืื ื ื, ื ืืืืจ ืืืืื ื CPU ืืืื ืืื ื ืืขืื. ืงื ื ืืืื ืืืืืืื ืขื ืืืืื RPS ืืฆืืจืชื ืืืืืจื ืขืืื, ืืื ืจืง ืขืืืจ ืฉืืจืืชืื ืืกืืืืื, ืืืื ืกืืจืืืื ื ืืงืืื. ืื ืื ืื ื ืืกืชืืืื ืชืืืื ืขื ืืืื ืืืฆืจ ืกืคืฆืืคืืื ืืืคืืืงืฆืื.
ืืชืืฆืื ืืื, ืืขืช ืฉืื ืื ืงื ื ืืืื ืื ื ืื ืชืืื:
- ืืืืื ื ืืขืื ื-RAM,
- ืืกืคืจ ืืืงืฉืืช ืืชืืจ,
- ืืื ืชืืืื,
- ืชืืืืช ืืืืืกืกืช ืขื ื ืชืื ืื ืืืกืืืจืืื ืืฆืืืจืื.
ืืขืช ืฉืื ืื ืงื ื ืืืื ืฉื ืฉืืจืืช, ืืฉืื ืื ืื ืืจ ืืช ืืชืืืช ืฉืื ืืื ืฉืื ื ืจืืื ืืช ืืฉืืจืืช ืืจืืฉืื ืืฉืจืฉืจืช, ืืืื ืฉืืื ื ืืืฉ ืืืื ื ืืฉืืื ืืขืืืก. ืืื ืืงืืืข ืขืืืก ืืงืืื ืขืืืจ ืืืืจ ืืฉืืจืืชืื ืืืื, ืื ื ืืกืชืืืื ืขื ืื ืชืื ืื ืืืืกืืืจืืื ืฉื ืืฉืืจืืช ืืชืืื "ืืงืจืื ืืืืชืจ" (ืืืืกืก ืขื ืฉืืืื ืฉื ืืืืื ื ืืขืื ื-RAM, ืืื ืขื ืืืืื ืกืคืฆืืคืืื ืืืคืืืงืฆืื) ืืืฉืืืื ืืืชื ืขื ืื ืชืื ืื ืืืืกืืืจืืื ืฉื ืฉืืจืืช ืืืชืืื, ืืื ืืืื ืืืืจื "ืฉืจืฉืจืช ืืชืืืช", ืืืืขืื ืืืื.
ืฉืืจืืช
ืืืืจ ืฉืืืืงืจื-ืฉืืจืืช ืืืคืขื, ื ืืื ืืฆืจืฃ ืืืื ืืจืืืจืื.
ืืืื ืืฆืืื ืืืคืืื ืืื ืฉืืื ืืชืจืืฉืื ืืจืืืจืื.
- ืืืื ืืืืจื ืฉืขืืืื ืืืืืช ืืกืืื ืช.
- ืขืืืื ื ืืืืื ืฉืืืจืจื.
- ืืฉืืจืืช ืขืฆืื ืื ืขืืืื ืืืฉื ืืื ืจื.
- ืืขืืืก ืขื ืืฉืืจืืช ืืจื ืืืืคื ื ืืืจ ืื ืฉืืืง ืืืื ืืืืฆืจ ืฉืื ื ืืฆืืื ืืืืฅ ืืืืื ืืจืืื.
- ืืฉืืจืืช ืืืจ ืื ืขืืื ืืืจืืฉืืช ืืคืืืคืืจืื ืืืืฉืืช.
ืืืง ืืืืจืืืจืื ืืืจืืื ืืืฆืืืืช ืืคืขืืื, ืืืงื - ืืคืื ืงืฆืื ืฉื ืชืืืืงืช ืืืขืจืืช - ืืืฉื, ืฉืืจืืช ืืืฉืื ืื ื ืคืจืก ืืืฉื ืืื ืจื ืืชืืื ืช ืืืกืืก ืฉืื ืืคืกืืงื ืืขืืืจ ืืืืงืืช ืืืืื.
ืืึผืึท ืึทืืืึธื ึดืื
ืืงืืฆืืจ, ืืื ืืืืืื ืื ืืื ืืื ืืืงืจื ืฉื ืื ื-PaaS ืฉืื ื.
- ื ืงืืืช ืืืืข ืืืช ืขื ืืฉืืจืืช, ืขื ื ืชืื ืื ืขื ืืืกืื ืืืืืงื ืฉืื, ืืกืคืจ ืืชืืื ืืช ืฉืื, ืืกืคืจ ืขืืชืงื ืืืคืงื, ืืจืกืืืช ืืื'.
- ืืื ืืกืื ืื ื ืชืื ืื ืืคื ืฉืืจืืชืื ืืชืืืืืช (ืกืืื ื ืืฉืชืืืืืช ืืืืืืืช ืขืกืงืืืช, ืคืื ืงืฆืืื ืืืืช ืืืืฆืจ ืืื')
- ืืื ืืฉืืืื ืขื ืืื ืชืฉืชืืช ืืืขืงื, ืจืืฉืื ืื ืืืืจ.
- ืชืืขืื ื ืงืืืช ืฉืืจืืช ืืืืื.
- ื ืงืืืช ืืื ืืืช ืฉื ืื ืืืืจืืขืื ืขื ืคื ื ืืฉืืจืืชืื.
ืืกื ืืื
ืืคื ื ืืฆืืช PaaS, ืืคืชื ืืืฉ ืืืื ืืืฉืงืืข ืืกืคืจ ืฉืืืขืืช ืืืื ืช ืื ืืืืื ืืืจืืฉืื ืืืฉืืง ืืืงืจื-ืฉืืจืืช ืืืืฆืืจ: Kubernetes, Helm, ืชืืื ืืช TeamCity ืืคื ืืืืืช ืฉืื ื, ืืืืจืช ืืืืืจืื ืืืกืืกื ื ืชืื ืื ืืืืืื ืื ืืฆืืจื ืกืืืื ืืช ืืชืงืืืช ืืื'. ืืืงื ืืื ืฉืขืืช ืืงืจืื ืืช ืืืชืืื ืืืืืจื ืืืืฆืืจ ืืช ืืฉืืจืืช ืขืฆืื.
ื ืชืชื ืืื ืื ืืฉื ืื ืขืืืจ HighLoad++ 2018, ืืชื ืืืื ืืฆืคืืช ืื
ืจืฆืืขืช ืืื ืืก ืืื ืฉืงืืจื ืขื ืืกืืฃ
ืื ื ืืืืืืื ืืืจืื ืื ืืืจืื ืคื ืืืืช ืืช ืฉืืืฉื ืืืื ืืืคืชืืื ื
ืืืืืื ืืชืงืืื ืืื ื-5 ื-7 ืืืืืืกื ืืืืกืงืื. ืืื ืืื ืขืืืื ืฉืืืื ืืชืคืืกื ืืืื. ืืจืืืช ืฆืืจืืื ืืืืจืื ืืชืงืืืื ืืืฉืจืื ื, ืืืืฉืชืชืฃ ืื ืืืจ ืืฉืื ืืขืฆืื ืขืืืจ ื ืกืืขืืช ืืืื ื.
ื ืืชื ืืืืืฉ ืืงืฉื ืืืฉืชืชืคืืช
ืื ื ื ืืจืื ืขื ืฉื ืืืฉืชืชืฃ ืืืืจืื ืืขืืืื ืืคืืกื ืื ืืืจืฉืชืืช ืืืืจืชืืืช Avito ืืืคืชืืื (AvitoTech ื
ืืงืืจ: www.habr.com