เบžเบงเบเป€เบฎเบปเบฒเบฎเบนเป‰เบซเบเบฑเบ‡เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบˆเบธเบฅเบฐเบžเบฒเบ

เบชเบฐเบšเบฒเบเบ”เบต! เบ‚เป‰เบญเบเบŠเบทเปˆ Vadim Madison, เบ‚เป‰เบญเบเป€เบ›เบฑเบ™เบœเบนเป‰เบ™เปเบฒเบžเบฒเบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบ‚เบญเบ‡ Avito System Platform. เบกเบฑเบ™เป„เบ”เป‰เบ–เบทเบเป€เบงเบปเป‰เบฒเบซเบผเบฒเบเบเบงเปˆเบฒเบซเบ™เบถเปˆเบ‡เบ„เบฑเป‰เบ‡เบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเบขเบนเปˆเปƒเบ™เบšเปเบฅเบดเบชเบฑเบ”เบเปเบฒเบฅเบฑเบ‡เป€เบ„เบทเปˆเบญเบ™เบเป‰เบฒเบเบˆเบฒเบเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒ monolithic เป„เบ›เบชเบนเปˆ microservices เปเบ™เบงเปƒเบ”. เบกเบฑเบ™เป€เบ–เบดเบ‡เป€เบงเบฅเบฒเปเบฅเป‰เบงเบ—เบตเปˆเบˆเบฐเปเบšเปˆเบ‡เบ›เบฑเบ™เบงเบดเบ—เบตเบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบซเบฑเบ™เบ›เปˆเบฝเบ™เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเป€เบžเบทเปˆเบญเปƒเบซเป‰เป„เบ”เป‰เบ›เบฐเป‚เบซเบเบ”เบชเบนเบ‡เบชเบธเบ”เบˆเบฒเบเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบˆเบธเบฅเบฐเบžเบฒเบ เปเบฅเบฐเบ›เป‰เบญเบ‡เบเบฑเบ™เบ•เบปเบงเป€เบฎเบปเบฒเป€เบญเบ‡เบˆเบฒเบเบเบฒเบ™เบชเบนเบ™เป€เบชเบเบžเบงเบเบกเบฑเบ™. PaaS เบŠเปˆเบงเบเบžเบงเบเป€เบฎเบปเบฒเปเบ™เบงเปƒเบ”เบขเบนเปˆเบ—เบตเปˆเบ™เบตเป‰, เบงเบดเบ—เบตเบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเป€เบฎเบฑเบ”เปƒเบซเป‰เบเบฒเบ™เปƒเบŠเป‰เบ‡เบฒเบ™เบ‡เปˆเบฒเบเบ‚เบถเป‰เบ™ เปเบฅเบฐเบซเบผเบธเบ”เบœเปˆเบญเบ™เบเบฒเบ™เบชเป‰เบฒเบ‡ microservice เปƒเบซเป‰เบ„เบฅเบดเบเบ”เบฝเบง - เบญเปˆเบฒเบ™เบ•เปเปˆ. เบšเปเปˆเปเบกเปˆเบ™เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เบ—เบตเปˆเบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบ‚เบฝเบ™เบเปˆเบฝเบงเบเบฑเบšเบ‚เป‰เบฒเบ‡เบฅเบธเปˆเบกเบ™เบตเป‰เปเบกเปˆเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบขเปˆเบฒเบ‡เป€เบ•เบฑเบกเบชเปˆเบงเบ™เปƒเบ™ Avito, เบšเบฒเบ‡เบชเปˆเบงเบ™เบ‚เบญเบ‡เบกเบฑเบ™เปเบกเปˆเบ™เบงเบดเบ—เบตเบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบžเบฑเบ”เบ—เบฐเบ™เบฒเป€เบงเบ—เบตเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ.

(เปเบฅเบฐเปƒเบ™เบ•เบญเบ™เบ—เป‰เบฒเบเบ‚เบญเบ‡เบšเบปเบ”เบ„เบงเบฒเบกเบ™เบตเป‰, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบˆเบฐเป€เบงเบปเป‰เบฒเบเปˆเบฝเบงเบเบฑเบšเป‚เบญเบเบฒเบ”เบ—เบตเปˆเบˆเบฐเป€เบ‚เบปเป‰เบฒเบฎเปˆเบงเบกเบเบฒเบ™เบชเปเบฒเบกเบฐเบ™เบฒเบชเบฒเบกเบกเบทเป‰เบˆเบฒเบเบœเบนเป‰เบŠเปˆเบฝเบงเบŠเบฒเบ™เบ”เป‰เบฒเบ™เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒ microservice Chris Richardson).

เบžเบงเบเป€เบฎเบปเบฒเบฎเบนเป‰เบซเบเบฑเบ‡เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบˆเบธเบฅเบฐเบžเบฒเบ

เบžเบงเบเป€เบฎเบปเบฒเบกเบฒเบฎเบญเบ”เบšเปเบฅเบดเบเบฒเบ™เบˆเบธเบฅเบฐเบžเบฒเบเปเบ™เบงเปƒเบ”

Avito เป€เบ›เบฑเบ™โ€‹เบซเบ™เบถเปˆเบ‡โ€‹เปƒเบ™โ€‹เบชเบฐโ€‹เบ–เบฒเบ™โ€‹เบ—เบตเปˆโ€‹เบˆเบฑเบ”โ€‹เบ›เบฐโ€‹เป€เบžเบ”โ€‹เบ—เบตเปˆโ€‹เปƒเบซเบเปˆโ€‹เบ—เบตเปˆโ€‹เบชเบธเบ”โ€‹เปƒเบ™โ€‹เป‚เบฅเบโ€‹, เบซเบผเบฒเบโ€‹เบโ€‹เปˆโ€‹เบงเบฒ 15 เบฅเป‰เบฒเบ™โ€‹เบเบฒเบ™โ€‹เป‚เบ„โ€‹เบชเบฐโ€‹เบ™เบฒโ€‹เปƒเบซเบกเปˆโ€‹เป„เบ”เป‰โ€‹เบ–เบทเบโ€‹เบˆเบฑเบ”โ€‹เบžเบตเบกโ€‹เบกเบฒโ€‹เปƒเบ™โ€‹เบกเบฑเบ™โ€‹เบ•เปเปˆโ€‹เบกเบทเป‰โ€‹. backend เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบเบญเบกเบฎเบฑเบšเบซเบผเบฒเบเบเบงเปˆเบฒ 20 เบžเบฑเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบ•เปเปˆเบงเบดเบ™เบฒเบ—เบต. เบ›เบฐเบˆเบธเบšเบฑเบ™เบžเบงเบเป€เบฎเบปเบฒเบกเบตเบšเปเบฅเบดเบเบฒเบ™เบˆเบธเบฅเบฐเบžเบฒเบเบซเบผเบฒเบเบฎเป‰เบญเบเปœเปˆเบงเบ.

เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบชเป‰เบฒเบ‡เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒ microservice เบชเปเบฒเบฅเบฑเบšเบซเบผเบฒเบเบ›เบตเปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™. เปเบ™เบงเปƒเบ”เปเบ—เป‰ - เป€เบžเบทเปˆเบญเบ™เบฎเปˆเบงเบกเบ‡เบฒเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเปƒเบ™เบฅเบฒเบเบฅเบฐเบญเบฝเบ” เบšเบญเบ เบขเบนเปˆเบžเบฒเบเบชเปˆเบงเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบ—เบตเปˆ RIT ++ 2017. เบ—เบตเปˆ CodeFest 2017 (เป€เบšเบดเปˆเบ‡. ะฒะธะดะตะพ), Sergey Orlov เปเบฅเบฐ Mikhail Prokopchuk เป„เบ”เป‰เบญเบฐเบ—เบดเบšเบฒเบเบขเปˆเบฒเบ‡เบฅเบฐเบญเบฝเบ”เบงเปˆเบฒเป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เบเบฒเบ™เบซเบฑเบ™เบ›เปˆเบฝเบ™เป„เบ›เบชเบนเปˆ microservices เปเบฅเบฐเบšเบปเบ”เบšเบฒเบ”เบ‚เบญเบ‡ Kubernetes เบขเบนเปˆเบ—เบตเปˆเบ™เบตเป‰. เปเบฅเป‰เบง, เบ•เบญเบ™เบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเบเปเบฒเบฅเบฑเบ‡เป€เบฎเบฑเบ”เบ—เบธเบเบขเปˆเบฒเบ‡เป€เบžเบทเปˆเบญเบซเบผเบธเบ”เบœเปˆเบญเบ™เบ„เปˆเบฒเปƒเบŠเป‰เบˆเปˆเบฒเบเปƒเบ™เบ‚เบฐเบซเบ™เบฒเบ”เบ—เบตเปˆเบ›เบฐเบเบปเบ”เบขเบนเปˆเปƒเบ™เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒเบ”เบฑเปˆเบ‡เบเปˆเบฒเบง.

เปƒเบ™เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™, เบžเบงเบเป€เบฎเบปเบฒเบšเปเปˆเป„เบ”เป‰เบชเป‰เบฒเบ‡เบฅเบฐเบšเบปเบšเบ™เบดเป€เบงเบ”เบ—เบตเปˆเบˆเบฐเบŠเปˆเบงเบเปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเบžเบฑเบ”เบ—เบฐเบ™เบฒเปเบฅเบฐเป€เบ›เบตเบ”เบšเปเบฅเบดเบเบฒเบ™เบˆเบธเบฅเบฐเบžเบฒเบเบขเปˆเบฒเบ‡เบเบงเป‰เบฒเบ‡เบ‚เบงเบฒเบ‡. เบžเบงเบเป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเบžเบฝเบ‡เปเบ•เปˆเป€เบเบฑเบšเบเปเบฒเบงเบดเบ—เบตเปเบเป‰เป„เบ‚เปเบซเบผเปˆเบ‡เป€เบ›เบตเบ”เบ—เบตเปˆเบชเบปเบกเป€เบซเบ”เบชเบปเบกเบœเบปเบ™, เป€เบ›เบตเบ”เบ•เบปเบงเปƒเบซเป‰เป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเบขเบนเปˆเป€เบฎเบทเบญเบ™เปเบฅเบฐเป€เบŠเบทเป‰เบญเป€เบŠเบตเบ™เบœเบนเป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒเป€เบžเบทเปˆเบญเบˆเบฑเบ”เบเบฒเบ™เบเบฑเบšเบžเบงเบเบกเบฑเบ™. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบฅเบฒเบงเป„เบ”เป‰เป„เบ›เบซเบฒเบชเบฐเบ–เบฒเบ™เบ—เบตเปˆเบซเบผเบฒเบเบชเบดเบšเปเบซเปˆเบ‡ (dashboards, เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบžเบฒเบเปƒเบ™), เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบฅเบฒเบงเป„เบ”เป‰เบเบฒเบเป€เบ›เบฑเบ™เบ—เบตเปˆเป€เบ‚เบฑเป‰เบกเปเบ‚เบ‡เปƒเบ™เบ„เบงเบฒเบกเบ›เบฒเบ–เบฐเบซเบ™เบฒเบ‚เบญเบ‡เบฅเบฒเบงเบ—เบตเปˆเบˆเบฐเบ•เบฑเบ”เบฅเบฐเบซเบฑเบ”เปเบšเบšเป€เบเบปเปˆเบฒ, เปƒเบ™ monolith. เบชเบตเบ‚เบฝเบงเปƒเบ™เปเบœเบ™เบงเบฒเบ”เบ‚เป‰เบฒเบ‡เบฅเบธเปˆเบกเบ™เบตเป‰เบŠเบตเป‰เปƒเบซเป‰เป€เบซเบฑเบ™เป€เบ–เบดเบ‡เบชเบดเปˆเบ‡เบ—เบตเปˆเบœเบนเป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒเป€เบฎเบฑเบ”เบ”เป‰เบงเบเบกเบทเบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡, เปเบฅเบฐเบชเบตเป€เบซเบผเบทเบญเบ‡เบŠเบตเป‰เปƒเบซเป‰เป€เบซเบฑเบ™เป€เบ–เบดเบ‡เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”.

เบžเบงเบเป€เบฎเบปเบฒเบฎเบนเป‰เบซเบเบฑเบ‡เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบˆเบธเบฅเบฐเบžเบฒเบ

เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบขเบนเปˆเปƒเบ™เบœเบปเบ™เบ›เบฐเป‚เบซเบเบ” PaaS CLI, เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เปƒเบซเบกเปˆเบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบทเป‰เบ™เบ”เป‰เบงเบเบ„เปเบฒเบชเบฑเปˆเบ‡เบ”เบฝเบง, เปเบฅเบฐเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เปƒเบซเบกเปˆเบ–เบทเบเป€เบžเบตเปˆเบกเบ”เป‰เบงเบเบชเบญเบ‡เบขเปˆเบฒเบ‡เปเบฅเบฐเบ–เบทเบเบ™เปเบฒเป„เบ›เปƒเบŠเป‰เปƒเบ™เบ‚เบฑเป‰เบ™เบ•เบญเบ™.

เบžเบงเบเป€เบฎเบปเบฒเบฎเบนเป‰เบซเบเบฑเบ‡เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบˆเบธเบฅเบฐเบžเบฒเบ

เบงเบดเบ—เบตเบเบฒเบ™เป€เบญเบปเบฒเบŠเบฐเบ™เบฐเบเบธเบเบ‚เบญเบ‡ "เบเบฒเบ™เปเบ•เบเปเบเบเบˆเบธเบฅเบฐเบžเบฒเบ"

เบ”เป‰เบงเบเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐ เบเบณ monolithic, เป€เบžเบทเปˆเบญเบœเบปเบ™เบ›เบฐเป‚เบซเบเบ”เบ‚เบญเบ‡เบ„เบงเบฒเบกเบชเบญเบ”เบ„เปˆเบญเบ‡เบ‚เบญเบ‡เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ‚เบญเบ‡เบœเบฐเบฅเบดเบ”เบ•เบฐเบžเบฑเบ™, เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเป„เบ”เป‰เบ–เบทเบเบšเบฑเบ‡เบ„เบฑเบšเปƒเบซเป‰เบŠเบญเบเบซเบฒเบชเบดเปˆเบ‡เบ—เบตเปˆเป€เบเบตเบ”เบ‚เบทเป‰เบ™เบเบฑเบšเบ›เบฐเป€เบ—เบ”เป€เบžเบทเปˆเบญเบ™เบšเป‰เบฒเบ™. เป€เบกเบทเปˆเบญเป€เบฎเบฑเบ”เบงเบฝเบเบเปˆเบฝเบงเบเบฑเบšเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒเปƒเบซเบกเปˆ, เบšเปเบฅเบดเบšเบปเบ”เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบšเปเปˆเบ‚เบถเป‰เบ™เบเบฑเบšเบเบฑเบ™เปเบฅเบฐเบเบฑเบ™.

เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, เป€เบžเบทเปˆเบญเปƒเบซเป‰เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒ microservice เบกเบตเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบš, เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบˆเปเบฒเบ™เบงเบ™เบซเบผเบฒเบเบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบชเป‰เบฒเบ‡เบ•เบฑเป‰เบ‡เบ‚เบถเป‰เบ™, เบ„เบท:

โ€ข เบเบฒเบ™เบ•เบฑเบ”เป„เบกเป‰;
โ€ขเบฎเป‰เบญเบ‡เบ‚เปเบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบก (Jaeger);
โ€ขเบเบฒเบ™เบฅเบงเบšเบฅเบงเบกเบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ” (Sentry);
โ€ข เบชเบฐเบ–เบฒเบ™เบฐ, เบ‚เปเป‰เบ„เบงเบฒเบก, เป€เบซเบ”เบเบฒเบ™เบˆเบฒเบ Kubernetes (เบเบฒเบ™เบ›เบฐเบกเบงเบ™เบœเบปเบ™เบเบฐเปเบชเป€เบซเบ”เบเบฒเบ™);
โ€ขเบ‚เบญเบšเป€เบ‚เบ”เบˆเปเบฒเบเบฑเบ”เป€เบŠเบทเป‰เบญเบŠเบฒเบ” / breaker เบงเบปเบ‡เบˆเบญเบ™ (เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰ Hystrix);
โ€ขเบเบฒเบ™เบ„เบงเบšเบ„เบธเบกเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™ (เบžเบงเบเป€เบฎเบปเบฒเปƒเบŠเป‰ Netramesh);
โ€ขเบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบก (Grafana);
โ€ข เบเบฒเบ™เบŠเบธเบกเบ™เบธเบก (TeamCity);
โ€ขเบเบฒเบ™เบชเบทเปˆเบชเบฒเบ™เปเบฅเบฐเบเบฒเบ™เปเบˆเป‰เบ‡เป€เบ•เบทเบญเบ™ (Slack, email);
โ€ข เบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบกเบงเบฝเบเบ‡เบฒเบ™; (เบˆเบดเบฃเบฒ)
โ€ข เบเบฒเบ™เบเบฐเบเบฝเบกเป€เบญเบเบฐเบชเบฒเบ™.

เป€เบžเบทเปˆเบญเบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบงเปˆเบฒเบฅเบฐเบšเบปเบšเบšเปเปˆเบชเบนเบ™เป€เบชเบเบ„เบงเบฒเบกเบชเบปเบกเบšเบนเบ™เบ‚เบญเบ‡เบกเบฑเบ™เปเบฅเบฐเบเบฑเบ‡เบ„เบปเบ‡เบกเบตเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเบกเบฑเบ™เบ‚เบฐเบซเบเบฒเบเบ‚เบฐเบซเบ™เบฒเบ”, เบžเบงเบเป€เบฎเบปเบฒเบ„เบดเบ”เบ„เบทเบ™เปƒเบซเบกเปˆเบเปˆเบฝเบงเบเบฑเบšเบญเบปเบ‡เบเบฒเบ™เบˆเบฑเบ”เบ•เบฑเป‰เบ‡เบ‚เบญเบ‡เบšเปเบฅเบดเบเบฒเบ™เบˆเบธเบฅเบฐเบžเบฒเบเปƒเบ™ Avito.

เบžเบงเบเป€เบฎเบปเบฒเบˆเบฑเบ”เบเบฒเบ™เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบˆเบธเบ™เบฅเบฐเบžเบฒเบเปเบ™เบงเปƒเบ”

เบเบฒเบ™เบŠเปˆเบงเบเป€เบซเบผเบทเบญเบ•เปเปˆเป„เบ›เบ™เบตเป‰เป€เบžเบทเปˆเบญเบ›เบฐเบ•เบดเบšเบฑเบ” "เบ™เบฐเป‚เบเบšเบฒเบเบ‚เบญเบ‡เบžเบฑเบ" เบ—เบตเปˆเป€เบ›เบฑเบ™เป€เบญเบเบฐเบžเบฒเบšเปƒเบ™เบšเบฑเบ™เบ”เบฒเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบˆเบธเบฅเบฐเบžเบฒเบ Avito เบซเบผเบฒเบ:

  • เปเบšเปˆเบ‡เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™เป€เบ›เบฑเบ™เบŠเบฑเป‰เบ™เป†;
  • เปเบ™เบงเบ„เบงเบฒเบกเบ„เบดเบ”เบ‚เบญเบ‡ Platform as a Service (PaaS);
  • เบ•เบดเบ”เบ•เบฒเบกเบเบงเบ”เบเบฒเบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เบ—เบตเปˆเป€เบเบตเบ”เบ‚เบถเป‰เบ™เบเบฑเบš microservices.

เบŠเบฑเป‰เบ™เป‚เบ„เบ‡เบชเป‰เบฒเบ‡ abstraction เบ›เบฐเบเบญเบšเบกเบตเบชเบฒเบกเบŠเบฑเป‰เบ™. เปƒเบซเป‰เป„เบ›เบˆเบฒเบเป€เบ—เบดเบ‡เบฅเบปเบ‡เบฅเบธเปˆเบก.

A. เบ—เบฒเบ‡เป€เบ—เบตเบ‡ - service mesh . เบ—เปเบฒเบญเบดเบ”เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบžเบฐเบเบฒเบเบฒเบก Istio, เปเบ•เปˆเบกเบฑเบ™เป„เบ”เป‰เบซเบฑเบ™เบญเบญเบเบงเปˆเบฒเบกเบฑเบ™เปƒเบŠเป‰เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบซเบผเบฒเบเป€เบเบตเบ™เป„เบ›, เป€เบŠเบดเปˆเบ‡เบฅเบฒเบ„เบฒเปเบžเบ‡เป€เบเบตเบ™เป„เบ›เบชเปเบฒเบฅเบฑเบšเบ›เบฐเบฅเบดเบกเบฒเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบงเบดเบชเบฐเบงเบฐเบเบญเบ™เบญเบฒเบงเบธเป‚เบชเปƒเบ™เบ—เบตเบกเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒ Alexander Lukyanchenko เบžเบฑเบ”เบ—เบฐเบ™เบฒเบเบฒเบ™เปเบเป‰เป„เบ‚เบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡ - Netramesh (เบกเบตเบขเบนเปˆเปƒเบ™ Open Source), เป€เบŠเบดเปˆเบ‡เบ›เบฐเบˆเบธเบšเบฑเบ™เบžเบงเบเป€เบฎเบปเบฒเปƒเบŠเป‰เปƒเบ™เบเบฒเบ™เบœเบฐเบฅเบดเบ”เปเบฅเบฐเบ—เบตเปˆเบšเปเบฅเบดเป‚เบžเบเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบซเบ™เป‰เบญเบเบเบงเปˆเบฒ Istio เบซเบผเบฒเบเบ„เบฑเป‰เบ‡ (เปเบ•เปˆเบšเปเปˆเป„เบ”เป‰เป€เบฎเบฑเบ”เบ—เบธเบเบขเปˆเบฒเบ‡เบ—เบตเปˆ Istio เบชเบฒเบกเบฒเบ”เป€เบงเบปเป‰เบฒเป‚เบญเป‰เบญเบงเบ”เป„เบ”เป‰).
B. เบ‚เบฐเบซเบ™เบฒเบ”เบเบฒเบ‡ - Kubernetes. เบžเบงเบเป€เบฎเบปเบฒเบ™เบณเปƒเบŠเป‰ เปเบฅเบฐเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบˆเบธเบ™เบฅเบฐเบžเบฒเบเบขเบนเปˆเปƒเบ™เบกเบฑเบ™.
C. เบฅเบธเปˆเบก - เป‚เบฅเบซเบฐเป€เบ›เบปเปˆเบฒ. เบžเบงเบเป€เบฎเบปเบฒเบšเปเปˆเป„เบ”เป‰เปƒเบŠเป‰เป€เบกเบ„ เบซเบผเบทเบชเบดเปˆเบ‡เบ•เปˆเบฒเบ‡เป†เป€เบŠเบฑเปˆเบ™ OpenStack, เปเบ•เปˆเบญเบตเบ‡เปƒเบชเปˆเป‚เบฅเบซเบฐเป€เบ›เบปเปˆเบฒเบ—เบฑเบ‡เปเบปเบ”.

เบŠเบฑเป‰เบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบฑเบ‡เปเบปเบ”เบ–เบทเบเบฅเบงเบกเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป‚เบ”เบ PaaS. เปเบฅเบฐเป€เบงเบ—เบตเบ™เบตเป‰, เปƒเบ™เบ—เบฒเบ‡เบเบฑเบšเบเบฑเบ™, เบ›เบฐเบเบญเบšเบ”เป‰เบงเบเบชเบฒเบกเบชเปˆเบงเบ™.

I. เป€เบ„เบทเปˆเบญเบ‡เบเปเบฒเป€เบ™เบตเบ”เป„เบŸเบŸเป‰เบฒ, เบ„เบงเบšเบ„เบธเบกเป‚เบ”เบเบœเปˆเบฒเบ™เบœเบปเบ™เบ›เบฐเป‚เบซเบเบ” CLI. เบกเบฑเบ™เปเบกเปˆเบ™เบ™เบฒเบ‡เบœเบนเป‰เบ—เบตเปˆเบŠเปˆเบงเบเบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเบชเป‰เบฒเบ‡ microservice เปƒเบ™เบ—เบฒเบ‡เบ—เบตเปˆเบ–เบทเบเบ•เป‰เบญเบ‡เปเบฅเบฐเบกเบตเบ„เบงเบฒเบกเบžเบฐเบเบฒเบเบฒเบกเบขเปˆเบฒเบ‡เบซเบ™เป‰เบญเบ.

II. เบœเบนเป‰เป€เบเบฑเบšเบฅเบงเบก เบเบฑเบšเบเบฒเบ™เบ„เบงเบšเบ„เบธเบกเบ‚เบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ—เบฑเบ‡เบซเบกเบปเบ”เป‚เบ”เบเบœเปˆเบฒเบ™ dashboard เบ—เบปเปˆเบงเป„เบ›.

III. เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒ. เป€เบŠเบทเปˆเบญเบกโ€‹เบ•เปเปˆโ€‹เบเบฑเบšโ€‹เบ•เบปเบงโ€‹เบเปเบฒโ€‹เบ™เบปเบ”โ€‹เป€เบงโ€‹เบฅเบฒโ€‹เบ—เบตเปˆโ€‹เบ•เบฑเป‰เบ‡โ€‹เบญเบฑเบ”โ€‹เบ•เบฐโ€‹เป‚เบ™โ€‹เบกเบฑเบ” triggers เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ”โ€‹เบ—เบตเปˆโ€‹เบชเปเบฒโ€‹เบ„เบฑเบ™โ€‹. เบ‚เปเบ‚เบญเบšเปƒเบˆเบเบฑเบšเบฅเบฐเบšเบปเบšเบ”เบฑเปˆเบ‡เบเปˆเบฒเบง, เบšเปเปˆเปเบกเปˆเบ™เบงเบฝเบเบ‡เบฒเบ™เบ”เบฝเบงเปเบกเปˆเบ™เบžเบฒเบ”เบžเบฝเบ‡เปเบ•เปˆเป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเบœเบนเป‰เปƒเบ”เบœเบนเป‰เบซเบ™เบถเปˆเบ‡เบฅเบทเบกเบ•เบฑเป‰เบ‡เบซเบ™เป‰เบฒเบงเบฝเบเปƒเบ™ Jira. เบžเบงเบเป€เบฎเบปเบฒเปƒเบŠเป‰เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบžเบฒเบเปƒเบ™เบ—เบตเปˆเป€เบญเบตเป‰เบ™เบงเปˆเบฒ Atlas เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เบตเป‰.

เบžเบงเบเป€เบฎเบปเบฒเบฎเบนเป‰เบซเบเบฑเบ‡เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบˆเบธเบฅเบฐเบžเบฒเบ

เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบˆเบธเบ™เบฅเบฐเบžเบฒเบเปƒเบ™ Avito เบเบฑเบ‡เบ”เปเบฒเป€เบ™เบตเบ™เป„เบ›เบ•เบฒเบกเป‚เบ„เบ‡เบเบฒเบ™เบ”เบฝเบง, เป€เบŠเบดเปˆเบ‡เป€เบฎเบฑเบ”เปƒเบซเป‰เบเบฒเบ™เบ„เบงเบšเบ„เบธเบกเบžเบงเบเบกเบฑเบ™เบ‡เปˆเบฒเบเบ‚เบถเป‰เบ™เปƒเบ™เปเบ•เปˆเบฅเบฐเบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ‚เบญเบ‡เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเปเบฅเบฐเบเบฒเบ™เบ›เปˆเบญเบเบ•เบปเบง.

เบ—เปเปˆเบžเบฑเบ”เบ—เบฐเบ™เบฒเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบˆเบธเบฅเบฐเบžเบฒเบเบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเปเบ™เบงเปƒเบ”?

เป‚เบ”เบเบ—เบปเปˆเบงเป„เบ›, เบฅเบฐเบšเบปเบšเบ•เปˆเบญเบ‡เป‚เบชเป‰เบเบฒเบ™เบชเป‰เบฒเบ‡ microservice เป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเบ™เบตเป‰:

CLI-push โ†’ เบเบฒเบ™เบ›เบฐเบชเบปเบกเบ›เบฐเบชเบฒเบ™เบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡ โ†’ Bake โ†’ Deploy โ†’ เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบ—เบฝเบก โ†’ เบเบฒเบ™เบ—เบปเบ”เบชเบญเบš Canary โ†’ Squeeze Test โ†’ Production โ†’ Maintenance.

เบ‚เปเปƒเบซเป‰เบœเปˆเบฒเบ™เบกเบฑเบ™เบขเปˆเบฒเบ‡เปเบ—เป‰เบˆเบดเบ‡เปƒเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบ™เบตเป‰.

CLI-push

โ€ข เบเบฒเบ™เบชเป‰เบฒเบ‡ microservice.
เบžเบงเบเป€เบฎเบปเบฒเบ•เปเปˆเบชเบนเป‰เป€เบ›เบฑเบ™เป€เบงเบฅเบฒเบ”เบปเบ™เบ™เบฒเบ™เป€เบžเบทเปˆเบญเบชเบญเบ™เบœเบนเป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒเบ—เบธเบเบงเบดเบ—เบตเป€เบฎเบฑเบ”เบšเปเบฅเบดเบเบฒเบ™เบˆเบธเบฅเบฐเบžเบฒเบ. เบ™เบตเป‰เบฅเบงเบกเบกเบตเบเบฒเบ™เบ‚เบฝเบ™เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเบฅเบฒเบเบฅเบฐเบญเบฝเบ”เปƒเบ™ Confluence. เปเบ•เปˆโ€‹เปเบœเบ™โ€‹เบเบฒเบ™โ€‹เป„เบ”เป‰โ€‹เบ›เปˆเบฝเบ™โ€‹เปเบ›เบ‡โ€‹เปเบฅเบฐโ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบเบฒเบ™โ€‹เป€เบชเบตเบก. เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเปเบกเปˆเบ™เบงเปˆเบฒเบ„เปเบ‚เบงเบ”เป„เบ”เป‰เบ›เบฒเบเบปเบ”เบขเบนเปˆเปƒเบ™เบ•เบญเบ™เบ•เบปเป‰เบ™เบ‚เบญเบ‡เบเบฒเบ™เป€เบ”เบตเบ™เบ—เบฒเบ‡: เบกเบฑเบ™เปƒเบŠเป‰เป€เบงเบฅเบฒเบซเบผเบฒเบเบเบงเปˆเบฒเป€เบเบปเปˆเบฒเป€เบžเบทเปˆเบญเป€เบ›เบตเบ”เบšเปเบฅเบดเบเบฒเบ™เบˆเบธเบฅเบฐเบžเบฒเบ, เปเบฅเบฐเบเบฑเบ‡เบกเบตเบšเบฑเบ™เบซเบฒเป€เบฅเบทเป‰เบญเบเป†เป€เบเบตเบ”เบ‚เบทเป‰เบ™เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบชเป‰เบฒเบ‡เบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒ.

เปƒเบ™โ€‹เบ—เบตเปˆโ€‹เบชเบธเบ”, เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹เป„เบ”เป‰โ€‹เบชเป‰เบฒเบ‡โ€‹เบ›เบฐโ€‹เป‚เบซเบเบ” CLI เบ‡เปˆเบฒเบโ€‹เบ”เบฒเบโ€‹เบ—เบตเปˆโ€‹เป€เบฎเบฑเบ”โ€‹เปƒเบซเป‰โ€‹เบ‚เบฑเป‰เบ™โ€‹เบ•เบญเบ™โ€‹เบžเบทเป‰เบ™โ€‹เบ–เบฒเบ™โ€‹เบญเบฑเบ”โ€‹เบ•เบฐโ€‹เป‚เบ™โ€‹เบกเบฑเบ”โ€‹เปƒเบ™โ€‹เป€เบงโ€‹เบฅเบฒโ€‹เบ—เบตเปˆโ€‹เบเบฒเบ™โ€‹เบชเป‰เบฒเบ‡ microservice. เปƒเบ™เบ„เบงเบฒเบกเป€เบ›เบฑเบ™เบˆเบดเบ‡, เบกเบฑเบ™เบ—เบปเบ”เปเบ—เบ™เบเบฒเบ™เบŠเบธเบเบเบนเป‰ git เบ—เปเบฒเบญเบดเบ”. เบ™เบตเป‰เปเบกเปˆเบ™เบชเบดเปˆเบ‡เบ—เบตเปˆเบ™เบฒเบ‡เป€เบฎเบฑเบ”เปเบ—เป‰เป†.

โ€” เบชเป‰เบฒเบ‡โ€‹เบเบฒเบ™โ€‹เบšเปโ€‹เบฅเบดโ€‹เบเบฒเบ™โ€‹เบ•เบฒเบกโ€‹เปเบกเปˆโ€‹เปเบšเบš โ€” เบšเบฒเบ”โ€‹เบเป‰เบฒเบงโ€‹เป‚เบ”เบโ€‹เบ‚เบฑเป‰เบ™โ€‹เบ•เบญเบ™โ€‹, เปƒเบ™โ€‹เบฎเบนเบšโ€‹เปเบšเบš "เบ‚เบญเบ‡โ€‹เบ„เบงเบฒเบกโ€‹เบเบฒเบงโ€‹เบ›เบฒโ€‹"โ€‹. เบžเบงเบเป€เบฎเบปเบฒเบกเบตเปเบกเปˆเปเบšเบšเบชเปเบฒเบฅเบฑเบšเบžเบฒเบชเบฒเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบกเบ•เบปเป‰เบ™เบ•เปเปƒเบ™ backend Avito: PHP, Golang เปเบฅเบฐ Python.

- เบซเบ™เบถเปˆเบ‡เบ„เปเบฒเบชเบฑเปˆเบ‡เปƒเบ™เปเบ•เปˆเบฅเบฐเบ„เบฑเป‰เบ‡ deploys เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เบˆเบฑเบเบชเบฐเป€เบžเบฒเบฐเปƒเบ”เบซเบ™เบถเปˆเบ‡ - Minikube เป„เบ”เป‰เบ–เบทเบเป€เบ›เบตเบ”เบ•เบปเบง, Helm charts เปเบกเปˆเบ™เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เบชเป‰เบฒเบ‡เปเบฅเบฐเป€เบ›เบตเบ”เบ•เบปเบงเปƒเบ™ kubernetes เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™.

- เป€เบŠเบทเปˆเบญเบกโ€‹เบ•เปเปˆโ€‹เบ–เบฒเบ™โ€‹เบ‚เปเป‰โ€‹เบกเบนเบ™โ€‹เบ—เบตเปˆโ€‹เบ•เป‰เบญเบ‡โ€‹เบเบฒเบ™โ€‹. เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบฎเบนเป‰ IP, เป€เบ‚เบปเป‰เบฒเบชเบนเปˆเบฅเบฐเบšเบปเบšเปเบฅเบฐเบฅเบฐเบซเบฑเบ”เบœเปˆเบฒเบ™เป€เบžเบทเปˆเบญเป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบฅเบฒเบงเบ•เป‰เบญเบ‡เบเบฒเบ™ - เบšเปเปˆเบงเปˆเบฒเบˆเบฐเบขเบนเปˆเปƒเบ™เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™, เปƒเบ™เบ‚เบฑเป‰เบ™เบ•เบญเบ™, เบซเบผเบทเบเบฒเบ™เบœเบฐเบฅเบดเบ”. เบเบดเปˆเบ‡เป„เบ›เบเบงเปˆเบฒเบ™เบฑเป‰เบ™, เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เป„เบ”เป‰เบ–เบทเบ เบ™เบณ เปƒเบŠเป‰เบ—เบฑเบ™เบ—เบตเปƒเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ—เบตเปˆเบ—เบปเบ™เบ—เบฒเบ™เบ•เปเปˆเบ„เบงเบฒเบกเบœเบดเบ”เปเบฅเบฐเบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡.

โ€” เบกเบฑเบ™โ€‹เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ”โ€‹เบเบฒเบ™โ€‹เบ›เบฐโ€‹เบเบญเบšโ€‹เบชเบปเบ”โ€‹เบ•เบปเบงโ€‹เบกเบฑเบ™โ€‹เป€เบญเบ‡โ€‹. เบชเบปเบกเบกเบธเบ”เบงเปˆเบฒเบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเป„เบ”เป‰เปเบเป‰เป„เบ‚เบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เปƒเบ™ microservice เบœเปˆเบฒเบ™ IDE เบ‚เบญเบ‡เบฅเบฒเบง. เบœเบปเบ™เบ›เบฐเป‚เบซเบเบ”เป€เบซเบฑเบ™เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เปƒเบ™เบฅเบฐเบšเบปเบšเป„เบŸเบฅเปŒเปเบฅเบฐ, เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเบžเบงเบเบกเบฑเบ™, เบเปเปˆเบชเป‰เบฒเบ‡เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เปƒเบซเบกเปˆ (เบชเปเบฒเบฅเบฑเบš Golang) เปเบฅเบฐเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปƒเบซเบกเปˆ. เบชเปเบฒเบฅเบฑเบš PHP, เบžเบงเบเป€เบฎเบปเบฒเบžเบฝเบ‡เปเบ•เปˆเบชเบปเปˆเบ‡เบ•เปเปˆเป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบžเบฒเบเปƒเบ™ cube เปเบฅเบฐเบเบฒเบ™เป‚เบซเบผเบ”เบชเบปเบ”เปเบกเปˆเบ™เป„เบ”เป‰เบฎเบฑเบš "เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”".

- เบชเป‰เบฒเบ‡ autotests. เปƒเบ™เบฎเบนเบšเปเบšเบšเบ‚เบญเบ‡เบŠเปˆเบญเบ‡เบซเบงเปˆเบฒเบ‡, เปเบ•เปˆเบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เป€เบซเบกเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰.

โ€ข เบเบฒเบ™เบ™เบณเปƒเบŠเป‰ Microservice.

เบเบฒเบ™เบ™เบณเปƒเบŠเป‰เบšเปเบฅเบดเบเบฒเบ™เบˆเบธเบ™เบฅเบฐเบžเบฒเบเบ—เบตเปˆเป€เบ„เบตเบเป€เบ›เบฑเบ™เบงเบฝเบเป€เบฅเบฑเบเบ™เป‰เบญเบเบชเบณเบฅเบฑเบšเบžเบงเบเป€เบฎเบปเบฒ. เบ•เปเปˆเป„เบ›เบ™เบตเป‰เปเบกเปˆเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™:

I. Dockerfile.

II. เบเบณเบ™เบปเบ”เบ„เปˆเบฒ.
III. เบ•เบฒเบ•เบฐเบฅเบฒเบ‡ Helm, เป€เบŠเบดเปˆเบ‡เบ•เบปเบงเบกเบฑเบ™เป€เบญเบ‡เปเบกเปˆเบ™เบชเบฑเบšเบชเบปเบ™เปเบฅเบฐเบ›เบฐเบเบญเบšเบกเบต:

- เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ”เป‰เบงเบเบ•เบปเบ™เป€เบญเบ‡;
- เปเบกเปˆเปเบšเบš;
โ€” เบ„เบธเบ™โ€‹เบ„เปˆเบฒโ€‹เบชเบฐโ€‹เป€เบžเบฒเบฐโ€‹เบ„เปเบฒโ€‹เบ™โ€‹เบถเบ‡โ€‹เป€เบ–เบดเบ‡โ€‹เบชเบฐโ€‹เบžเบฒเบšโ€‹เปเบงเบ”โ€‹เบฅเป‰เบญเบกโ€‹เบ—เบตเปˆโ€‹เปเบ•เบโ€‹เบ•เปˆเบฒเบ‡โ€‹เบเบฑเบ™โ€‹.

เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹เป„เบ”เป‰โ€‹เป€เบญเบปเบฒโ€‹เบ„เบงเบฒเบกโ€‹เป€เบˆเบฑเบšโ€‹เบ›เบงเบ”โ€‹เบญเบญเบโ€‹เบˆเบฒเบโ€‹เบเบฒเบ™ reworking Kubernetes manifests เบ”เบฑเปˆเบ‡โ€‹เบ™เบฑเป‰เบ™โ€‹เบžเบงเบโ€‹เป€เบ‚เบปเบฒโ€‹เป€เบˆเบปเป‰เบฒโ€‹เปƒเบ™โ€‹เบ›เบฑเบ”โ€‹เบˆเบธโ€‹เบšเบฑเบ™โ€‹เป„เบ”เป‰โ€‹เบ–เบทเบโ€‹เบชเป‰เบฒเบ‡โ€‹เบ‚เบถเป‰เบ™โ€‹เบญเบฑเบ”โ€‹เบ•เบฐโ€‹เป‚เบ™โ€‹เบกเบฑเบ”โ€‹. เปเบ•เปˆเบชเบดเปˆเบ‡เบ—เบตเปˆ เบชเบณ เบ„เบฑเบ™เบ—เบตเปˆเบชเบธเบ”, เบžเบงเบเป€เบ‚เบปเบฒเป€เบฎเบฑเบ”เปƒเบซเป‰เบเบฒเบ™ เบ™เบณ เปƒเบŠเป‰เบ‡เปˆเบฒเบเบ‚เบทเป‰เบ™เปƒเบ™เบ‚เบญเบšเป€เบ‚เบ” เบˆเบณ เบเบฑเบ”. เบˆเบฒเบเบ™เบตเป‰เป„เบ›เบžเบงเบเป€เบฎเบปเบฒเบกเบต Dockerfile, เปเบฅเบฐเบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเบ‚เบฝเบ™ config เบ—เบฑเบ‡เบซเบกเบปเบ”เปƒเบ™เป„เบŸเบฅเปŒ app.toml เบชเบฑเป‰เบ™เบ”เบฝเบง.

เบžเบงเบเป€เบฎเบปเบฒเบฎเบนเป‰เบซเบเบฑเบ‡เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบˆเบธเบฅเบฐเบžเบฒเบ

เปเบกเปˆเบ™เปเบฅเป‰เบง, เปเบฅเบฐเปƒเบ™ app.toml เบ•เบปเบงเบ‚เบญเบ‡เบกเบฑเบ™เป€เบญเบ‡เบšเปเปˆเบกเบตเบซเบเบฑเบ‡เป€เบฎเบฑเบ”เบชเปเบฒเบฅเบฑเบšเบ™เบฒเบ—เบต. เบžเบงเบเป€เบฎเบปเบฒเบฅเบฐเบšเบธเบšเปˆเบญเบ™เปเบฅเบฐเบˆเปเบฒเบ™เบงเบ™เบชเปเบฒเป€เบ™เบปเบฒเบ‚เบญเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ—เบตเปˆเบˆเบฐเบเบปเบเบ‚เบถเป‰เบ™เบกเบฒ (เบขเบนเปˆเปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ‚เบญเบ‡ dev, เปƒเบ™เบ‚เบฑเป‰เบ™เบ•เบญเบ™, เปƒเบ™เบเบฒเบ™เบœเบฐเบฅเบดเบ”), เปเบฅเบฐเบŠเบตเป‰เบšเบญเบเป€เบ–เบดเบ‡เบ„เบงเบฒเบกเบ‚เบถเป‰เบ™เบเบฑเบšเบ‚เบญเบ‡เบกเบฑเบ™. เบชเบฑเบ‡เป€เบเบ”เป€เบซเบฑเบ™เบ‚เบฐเบซเบ™เบฒเบ”เป€เบชเบฑเป‰เบ™ = "เบ‚เบฐเบซเบ™เบฒเบ”เบ™เป‰เบญเบ" เปƒเบ™เบ•เบฑเบ™ [เป€เบ„เบทเปˆเบญเบ‡เบˆเบฑเบ]. เบ™เบตเป‰เปเบกเปˆเบ™เบ‚เบญเบšเป€เบ‚เบ”เบˆเปเบฒเบเบฑเบ”เบ—เบตเปˆเบˆเบฐเบ–เบทเบเบˆเบฑเบ”เบชเบฑเบ™เปƒเบซเป‰เบเบฑเบšเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบœเปˆเบฒเบ™ Kubernetes.

เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆ config, เบ•เบฒเบ•เบฐเบฅเบฒเบ‡ Helm เบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เปเบกเปˆเบ™เบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เป‚เบ”เบเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เปเบฅเบฐเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบšเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เปเบกเปˆเบ™เบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™.

โ€ข เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบžเบทเป‰เบ™เบ–เบฒเบ™. เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบเบฑเบ‡เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”.
เบ•เป‰เบญเบ‡โ€‹เบเบฒเบ™โ€‹เบ•เบดเบ”โ€‹เบ•เบฒเบกโ€‹:
โ€” เบกเบต Dockerfile;
โ€” เบกเบต app.toml;
โ€” เบกเบตเป€เบญเบเบฐเบชเบฒเบ™เบšเปเปˆ?
โ€” เปเบกเปˆเบ™โ€‹เบเบฒเบ™โ€‹เบ‚เบถเป‰เบ™โ€‹เบขเบนเปˆโ€‹เปƒเบ™โ€‹เบ„เปเบฒโ€‹เบชเบฑเปˆเบ‡โ€‹?
โ€” เบšเปเปˆโ€‹เบงเปˆเบฒโ€‹เบˆเบฐโ€‹เป€เบ›เบฑเบ™โ€‹เบเบฒเบ™โ€‹เบเปเบฒโ€‹เบ™เบปเบ”โ€‹เบฅเบฐโ€‹เบšเบฝเบšโ€‹เบเบฒเบ™โ€‹เป€เบ•เบทเบญเบ™โ€‹.
เป€เบ–เบดเบ‡เบˆเบธเบ”เบชเบธเบ”เบ—เป‰เบฒเบ: เป€เบˆเบปเป‰เบฒเบ‚เบญเบ‡เบšเปเบฅเบดเบเบฒเบ™เป€เบญเบ‡เบเปเบฒเบ™เบปเบ”เบงเปˆเบฒเบ•เบปเบงเบŠเบตเป‰เบงเบฑเบ”เบœเบฐเบฅเบดเบ”เบ•เบฐเบžเบฑเบ™เปƒเบ”เบ—เบตเปˆเบˆเบฐเบ•เบดเบ”เบ•เบฒเบก.

โ€ข เบเบฒเบ™เบเบฐเบเบฝเบกเป€เบญเบเบฐเบชเบฒเบ™.
เบเบฑเบ‡เป€เบ›เบฑเบ™เบžเบทเป‰เบ™เบ—เบตเปˆเบกเบตเบšเบฑเบ™เบซเบฒ. เบกเบฑเบ™เป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเบˆเบฐเปเบˆเป‰เบ‡เบ—เบตเปˆเบชเบธเบ”, เปเบ•เปˆเปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™เบกเบฑเบ™เบเบฑเบ‡เป€เบ›เบฑเบ™เบšเบฑเบ™เบ—เบถเบ "เบกเบฑเบเบˆเบฐเบ–เบทเบเบฅเบทเบก", เปเบฅเบฐเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเบกเบตเบ„เบงเบฒเบกเบชเปˆเบฝเบ‡เปƒเบ™เบฅเบฐเบšเบปเบšเบ•เปˆเบญเบ‡เป‚เบชเป‰.
เบกเบฑเบ™เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบˆเปเบฒเป€เบ›เบฑเบ™เบ—เบตเปˆเบˆเบฐเบ•เป‰เบญเบ‡เบกเบตเป€เบญเบเบฐเบชเบฒเบ™เบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐ microservice. เบกเบฑเบ™เบ›เบฐเบเบญเบšเบกเบตเบ•เบฑเบ™เบ•เปเปˆเป„เบ›เบ™เบตเป‰.

I. เบฅเบฒเบเบฅเบฐเบญเบฝเบ”เบซเบเปเป‰เบ‚เบญเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™. เบฎเบนเป‰เบซเบ™เบฑเบ‡เบชเบทเบชเบญเบ‡เบชเบฒเบกเบ›เบฐเป‚เบซเบเบเบเปˆเบฝเบงเบเบฑเบšเบชเบดเปˆเบ‡เบ—เบตเปˆเบกเบฑเบ™เป€เบฎเบฑเบ”เปเบฅเบฐเป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบกเบฑเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡.

II. เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเปเบœเบ™เบงเบฒเบ”เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒ. เบกเบฑเบ™เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบชเปเบฒเบ„เบฑเบ™เบ—เบตเปˆเบ—เบฑเบ™เบ—เบตเบ—เบตเปˆเบกเบฑเบ™เป€เบ‚เบปเป‰เบฒเปƒเบˆเบ‡เปˆเบฒเบ, เบ•เบปเบงเบขเปˆเบฒเบ‡, เบšเปเปˆเบงเปˆเบฒเบ—เปˆเบฒเบ™เบเปเบฒเบฅเบฑเบ‡เปƒเบŠเป‰ Redis เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบเบฑเบšเบ‚เปเป‰เบกเบนเบ™เบซเบผเบทเป€เบ›เบฑเบ™เบšเปˆเบญเบ™เป€เบเบฑเบšเบ‚เปเป‰เบกเบนเบ™เบ•เบปเป‰เบ™เบ•เปเปƒเบ™เบฎเบนเบšเปเบšเบšเบ„เบปเบ‡เบ—เบตเปˆ. เปƒเบ™ Avito เบชเปเบฒเบฅเบฑเบšเปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบ™เบตเป‰เปเบกเปˆเบ™เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบš Confluence.

III. เบ›เบทเป‰เบกเบšเบฑเบ™เบ—เบถเบ. เบ„เบนเปˆเบกเบทเบชเบฑเป‰เบ™เป†เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เปเบฅเบฐเบ„เบงเบฒเบกเบŠเบฑเบšเบŠเป‰เบญเบ™เบ‚เบญเบ‡เบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เบกเบฑเบ™.

IV. FAQ, เบšเปˆเบญเบ™เบ—เบตเปˆเบกเบฑเบ™เบˆเบฐเบ”เบตเบ—เบตเปˆเบˆเบฐเบ„เบฒเบ”เบ„เบฐเป€เบ™เบšเบฑเบ™เบซเบฒเบ—เบตเปˆเป€เบžเบทเปˆเบญเบ™เบฎเปˆเบงเบกเบ‡เบฒเบ™เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เบญเบฒเบ”เบˆเบฐเบžเบปเบšเปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™.

V. เบฅเบฒเบเบฅเบฐเบญเบฝเบ”เบ‚เบญเบ‡เบˆเบธเบ”เบชเบดเป‰เบ™เบชเบธเบ”เบชเปเบฒเบฅเบฑเบš API. เบ–เป‰เบฒเบ—เบฑเบ™เบ—เบตเบ—เบฑเบ™เปƒเบ”เบ—เปˆเบฒเบ™เบšเปเปˆเป„เบ”เป‰เบฅเบฐเบšเบธเบˆเบธเบ”เบซเบกเบฒเบเบ›เบฒเบเบ—เบฒเบ‡, เป€เบžเบทเปˆเบญเบ™เบฎเปˆเบงเบกเบ‡เบฒเบ™เบ—เบตเปˆเบšเปเบฅเบดเบเบฒเบ™เบˆเบธเบฅเบฐเบžเบฒเบเบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเป€เบˆเบปเป‰เบฒเป€เบเบทเบญเบšเปเบ™เปˆเบ™เบญเบ™เบˆเบฐเบˆเปˆเบฒเบเบ„เปˆเบฒเบกเบฑเบ™. เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบžเบงเบเป€เบฎเบปเบฒเปƒเบŠเป‰ Swagger เปเบฅเบฐเบเบฒเบ™เปเบเป‰เป„เบ‚เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเป€เบญเบตเป‰เบ™เบงเปˆเบฒเบชเบฑเป‰เบ™เป†เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เบตเป‰.

VI. เบ›เป‰เบฒเบเบเบณเบเบฑเบš. เบซเบผเบทเป€เบ„เบทเปˆเบญเบ‡เบซเบกเบฒเบเบ—เบตเปˆเบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เบงเปˆเบฒเบœเบฐเบฅเบดเบ”เบ•เบฐเบžเบฑเบ™, เบซเบ™เป‰เบฒเบ—เบตเปˆ, เบซเบผเบทเบเบฒเบ™เปเบšเปˆเบ‡เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบ‚เบญเบ‡เบšเปเบฅเบดเบชเบฑเบ”เบ—เบตเปˆเปƒเบซเป‰เบšเปเบฅเบดเบเบฒเบ™เป€เบ›เบฑเบ™เบ‚เบญเบ‡. เบžเบงเบเป€เบ‚เบปเบฒเบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เป€เบ‚เบปเป‰เบฒเปƒเบˆเบขเปˆเบฒเบ‡เป„เบงเบงเบฒ, เบ•เบปเบงเบขเปˆเบฒเบ‡, เบšเปเปˆเบงเปˆเบฒเบ—เปˆเบฒเบ™เบเปเบฒเบฅเบฑเบ‡เบ•เบฑเบ”เบซเบ™เป‰เบฒเบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบ—เบตเปˆเป€เบžเบทเปˆเบญเบ™เบฎเปˆเบงเบกเบ‡เบฒเบ™เบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒเบญเบญเบเบชเปเบฒเบฅเบฑเบšเบซเบ™เปˆเบงเบเบ—เบธเบฅเบฐเบเบดเบ”เบ”เบฝเบงเบเบฑเบ™เปƒเบ™เบญเบฒเบ—เบดเบ”เบเปˆเบญเบ™.

VII. เป€เบˆเบปเป‰เบฒเบ‚เบญเบ‡เบซเบผเบทเป€เบˆเบปเป‰เบฒเบ‚เบญเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™. เปƒเบ™เบเปเบฅเบฐเบ™เบตเบซเบผเบฒเบเบ—เบตเปˆเบชเบธเบ”, เบกเบฑเบ™ - เบซเบผเบทเบžเบงเบเบกเบฑเบ™ - เบชเบฒเบกเบฒเบ”เบ–เบทเบเบเปเบฒเบ™เบปเบ”เป‚เบ”เบเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เป‚เบ”เบเปƒเบŠเป‰ PaaS, เปเบ•เปˆเป€เบžเบทเปˆเบญเบขเบนเปˆเปƒเบ™เบ”เป‰เบฒเบ™เบ—เบตเปˆเบ›เบญเบ”เป„เบž, เบžเบงเบเป€เบฎเบปเบฒเบฎเบฝเบเบฎเป‰เบญเบ‡เปƒเบซเป‰เบœเบนเป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒเบเปเบฒเบ™เบปเบ”เบžเบงเบเบกเบฑเบ™เบ”เป‰เบงเบเบ•เบปเบ™เป€เบญเบ‡.

เบชเบธเบ”เบ—เป‰เบฒเบ, เบกเบฑเบ™เป€เบ›เบฑเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ—เบตเปˆเบ”เบตเบ—เบตเปˆเบˆเบฐเบ—เบปเบšเบ—เบงเบ™เป€เบญเบเบฐเบชเบฒเบ™, เบ„เป‰เบฒเบเบ„เบทเบเบฑเบšเบเบฒเบ™เบ—เบปเบšเบ—เบงเบ™เบ„เบทเบ™เบฅเบฐเบซเบฑเบ”.

เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเป‚เบเบ‡เบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡

  • เบเบณเบฅเบฑเบ‡เบเบฐเบเบฝเบกเบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™.
  • เบเบฒเบ™เบชเป‰เบฒเบ‡เบ—เปเปˆเปƒเบ™ TeamCity.
  • เบเปเบฒเบ™เบปเบ”เบชเบดเบ”เบ—เบด.
  • เบŠเบญเบเบซเบฒเป€เบˆเบปเป‰เบฒเบ‚เบญเบ‡เบšเปเบฅเบดเบเบฒเบ™. เบกเบตเป‚เบ„เบ‡เบเบฒเบ™เบ›เบฐเบชเบปเบกเบขเบนเปˆเบ—เบตเปˆเบ™เบตเป‰ - เบเบฒเบ™เป€เบฎเบฑเบ”เป€เบ„เบทเปˆเบญเบ‡เบซเบกเบฒเบเบ„เบนเปˆเบกเบทเปเบฅเบฐเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เบซเบ™เป‰เบญเบเบ—เบตเปˆเบชเบธเบ”เบˆเบฒเบ PaaS. เบฅเบฐเบšเบปเบšเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เป€เบ•เบฑเบกเบฎเบนเบšเปเบšเบšเบฅเบปเป‰เบกเป€เบซเบฅเบงเป€เบกเบทเปˆเบญเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ–เบทเบเป‚เบญเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฑเบšเบ—เบตเบกเบ‡เบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบญเบทเปˆเบ™เบซเบผเบท, เบ•เบปเบงเบขเปˆเบฒเบ‡, เบ–เป‰เบฒเบœเบนเป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เป€เบŠเบปเบฒ.
  • เบเบฒเบ™เบฅเบปเบ‡เบ—เบฐเบšเบฝเบ™เบšเปเบฅเบดเบเบฒเบ™เปƒเบ™ Atlas (เป€เบšเบดเปˆเบ‡โ€‹เบขเบนเปˆโ€‹เบ‚เป‰เบฒเบ‡โ€‹เป€เบ—เบดเบ‡). เบเบฑเบšเป€เบˆเบปเป‰เบฒเบ‚เบญเบ‡เบ—เบฑเบ‡เบซเบกเบปเบ”เปเบฅเบฐเบ‚เบถเป‰เบ™เบเบฑเบš.
  • เบเบณเบฅเบฑเบ‡เบเบงเบ”เบชเบญเบšเบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เบเป‰เบฒเบ. เบžเบงเบเป€เบฎเบปเบฒเบเบงเบ”เป€เบšเบดเปˆเบ‡เบงเปˆเบฒเบญเบฑเบ™เปƒเบ”เบญเบฑเบ™เปœเบถเปˆเบ‡เบ‚เบญเบ‡เบžเบงเบเบกเบฑเบ™เบญเบฒเบ”เป€เบ›เบฑเบ™เบญเบฑเบ™เบ•เบฐเบฅเบฒเบ. เบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเบขเปˆเบฒเบ‡, เบซเบ™เบถเปˆเบ‡เปƒเบ™เบ™เบฑเป‰เบ™, เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบซเบผเบทเบชเบดเปˆเบ‡เบญเบทเปˆเบ™เบ›เบฒเบเบปเบ”เบ‚เบถเป‰เบ™เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ—เปเบฒเบฅเบฒเบเบ„เบงเบฒเบกเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰เบ‚เบญเบ‡ schema เบ‚เปเป‰เบกเบนเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบชเบฐเบšเบฑเบšเบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เบ‚เบญเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™. เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เบเป‰เบฒเบเบšเปเปˆเป„เบ”เป‰เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™, เปเบ•เปˆเบ–เบทเบเบˆเบฑเบ”เปƒเบชเปˆเปƒเบ™เบเบฒเบ™เบชเบฐเปเบฑเบเปƒเบŠเป‰ - PaaS เบ•เป‰เบญเบ‡เบชเบปเปˆเบ‡เบชเบฑเบ™เบเบฒเบ™เปƒเบซเป‰เป€เบˆเบปเป‰เบฒเบ‚เบญเบ‡เบšเปเบฅเบดเบเบฒเบ™เป€เบกเบทเปˆเบญเบกเบฑเบ™เบ›เบญเบ”เป„เบžเบ—เบตเปˆเบˆเบฐเปƒเบŠเป‰เบกเบฑเบ™.

เบญเบปเบš

เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ•เปเปˆเป„เบ›เปเบกเปˆเบ™เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบเบฒเบ™เบซเบธเป‰เบกเบซเปเปˆเบเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐเบ™เปเบฒเปƒเบŠเป‰.

  • เบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบ. เบญเบตเบ‡เบ•เบฒเบกเบเบฒเบ™เบ„เบฅเบฒเบชเบชเบดเบ - เปƒเบ™เบฎเบนเบšเบžเบฒเบš Docker.
  • เบเบฒเบ™เบชเป‰เบฒเบ‡เบ•เบฒเบ•เบฐเบฅเบฒเบ‡ Helm เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ•เบปเบงเบกเบฑเบ™เป€เบญเบ‡เปเบฅเบฐเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡. เบฅเบงเบกเบ—เบฑเบ‡เบชเปเบฒเบฅเบฑเบšเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เปเบฅเบฐ cache. เบžเบงเบเบกเบฑเบ™เบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบทเป‰เบ™เป‚เบ”เบเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เบ•เบฒเบก config app.toml เบ—เบตเปˆเบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เปƒเบ™เบ‚เบฑเป‰เบ™เบ•เบญเบ™ CLI-push.
  • เบเบฒเบ™เบชเป‰เบฒเบ‡เบ›เบตเป‰เบชเปเบฒเบฅเบฑเบšเบœเบนเป‰เป€เบšเบดเปˆเบ‡เปเบเบ‡เป€เบžเบทเปˆเบญเป€เบ›เบตเบ”เบžเบญเบ” (เป€เบกเบทเปˆเบญเบ•เป‰เบญเบ‡เบเบฒเบ™).
  • เปเบฅเปˆเบ™เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบซเบ™เปˆเบงเบเบ‡เบฒเบ™เปเบฅเบฐเบเบฒเบ™เบ„เบดเบ”เป„เบฅเปˆเบเบฒเบ™เบ„เบธเป‰เบกเบ„เบญเบ‡เบฅเบฐเบซเบฑเบ”. เบ–เป‰เบฒเบเบฒเบ™เบ„เบธเป‰เบกเบ„เบญเบ‡เบฅเบฐเบซเบฑเบ”เปเบกเปˆเบ™เบ•เปเปˆเบฒเบเบงเปˆเบฒเป€เบเบ™เบ—เบตเปˆเบฅเบฐเบšเบธเป„เบงเป‰, เบชเปˆเบงเบ™เบซเบผเบฒเบเปเบฅเป‰เบงเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบˆเบฐเบšเปเปˆเป„เบ›เบ•เบทเปˆเบกเบญเบตเบ - เป€เบžเบทเปˆเบญเบ›เบฐเบ•เบดเบšเบฑเบ”. เบ–เป‰เบฒเบกเบฑเบ™เบขเบนเปˆเปƒเบ™เบ‚เบญเบšเป€เบ‚เบ”เบ—เบตเปˆเบเบญเบกเบฎเบฑเบšเป„เบ”เป‰, เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบˆเบฐเบ–เบทเบเบกเบญเบšเบซเบกเบฒเบเบ„เปˆเบฒเบชเปเบฒเบ›เบฐเบชเบดเบ” "pessimizing": เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบ–เป‰เบฒเบšเปเปˆเบกเบตเบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบ•เบปเบงเบŠเบตเป‰เบงเบฑเบ”เปƒเบ™เป„เบฅเบเบฐเป€เบงเบฅเบฒ, เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเบˆเบฐเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เปเบˆเป‰เบ‡เป€เบ•เบทเบญเบ™เบงเปˆเบฒเบšเปเปˆเบกเบตเบ„เบงเบฒเบกเบ„เบทเบšเบซเบ™เป‰เบฒเปƒเบ™เบเบฒเบ™เบ—เบปเบ”เบชเบญเบš (. เปเบฅเบฐเบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เบ—เบตเปˆเบ•เป‰เบญเบ‡เป€เบฎเบฑเบ”เบเปˆเบฝเบงเบเบฑเบšเบกเบฑเบ™).
  • เบšเบฑเบ™เบŠเบตเบชเปเบฒเบฅเบฑเบšเบ„เบงเบฒเบกเบˆเปเบฒเปเบฅเบฐเบ‚เปเป‰เบˆเปเบฒเบเบฑเบ” CPU. เบžเบงเบเป€เบฎเบปเบฒเบชเปˆเบงเบ™เปƒเบซเบเปˆเบ‚เบฝเบ™ microservices เปƒเบ™ Golang เปเบฅเบฐเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เปƒเบซเป‰เป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเปƒเบ™ Kubernetes. เป€เบžเบฒเบฐเบชเบฐเบ™เบฑเป‰เบ™, เบ„เบงเบฒเบกเบญเปˆเบญเบ™เป‚เบเบ™เบญเบฑเบ™ เปœเบถเปˆเบ‡ เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบ„เบงเบฒเบกเปเบ›เบเบ›เบฐเบซเบผเบฒเบ”เบ‚เบญเบ‡เบžเบฒเบชเบฒ Golang: เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, เป€เบกเบทเปˆเบญเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, เบ—เบธเบเปเบเบ™เปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ™เปƒเบŠเป‰, เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบšเปเปˆเป„เบ”เป‰เบ•เบฑเป‰เบ‡เบ•เบปเบงเปเบ› GOMAXPROCS เบขเปˆเบฒเบ‡เบˆเบฐเปเบˆเป‰เบ‡, เปเบฅเบฐเป€เบกเบทเปˆเบญเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบ–เบทเบเป€เบ›เบตเบ”เบ•เบปเบงเปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เบ”เบฝเบงเบเบฑเบ™, เบžเบงเบเบกเบฑเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™. โ€‹เป€เบžเบทเปˆเบญโ€‹เปเบ‚เปˆเบ‡โ€‹เบ‚เบฑเบ™โ€‹เบ”เป‰เบฒเบ™โ€‹เบŠเบฑเบšโ€‹เบžเบฐโ€‹เบเบฒโ€‹เบเบญเบ™, เปเบŠเบโ€‹เปเบŠเบ‡โ€‹เป€เบ‚เบปเป‰เบฒโ€‹เบเบฑเบ™. เป€เบชเบฑเป‰เบ™เบชเบฐเปเบ”เบ‡เบ‚เป‰เบฒเบ‡เบฅเบธเปˆเบกเบ™เบตเป‰เบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เบงเปˆเบฒเป€เบงเบฅเบฒเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เปเบ™เบงเปƒเบ”เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบ‚เบฑเบ”เปเบเป‰เบ‡เปเบฅเบฐเปƒเบ™เบเบฒเบ™เปเบ‚เปˆเบ‡เบ‚เบฑเบ™เบชเปเบฒเบฅเบฑเบšเบฎเบนเบšเปเบšเบšเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™. (เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™เบ‚เบญเบ‡เบเบฒเบŸเปเบกเปˆเบ™ เบ—เบตเปˆเบ™เบตเป‰).

เบžเบงเบเป€เบฎเบปเบฒเบฎเบนเป‰เบซเบเบฑเบ‡เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบˆเบธเบฅเบฐเบžเบฒเบ

เป€เบงเบฅเบฒเบ›เบฐเบ•เบดเบšเบฑเบ”, เบซเบ™เป‰เบญเบเปเบกเปˆเบ™เบ”เบตเบเบงเปˆเบฒ. เบชเบนเบ‡เบชเบธเบ”: 643ms, เบ•เปเบฒเปˆเบชเบธเบ”เบ—เบตเปˆ: 42ms. เบฎเบนเบšเปเบกเปˆเบ™เบชเบฒเบกเบฒเบ”เบ„เบฅเบดเบเป„เบ”เป‰.

เบžเบงเบเป€เบฎเบปเบฒเบฎเบนเป‰เบซเบเบฑเบ‡เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบˆเบธเบฅเบฐเบžเบฒเบ

เป€เบงเบฅเบฒเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบœเปˆเบฒเบ•เบฑเบ”, เบซเบ™เป‰เบญเบเปเบกเปˆเบ™เบ”เบตเบเบงเปˆเบฒ. เบชเบนเบ‡เบชเบธเบ”: 14091 ns, เบ•เปเบฒเปˆเบชเบธเบ”เบ—เบตเปˆ: 151 ns. เบฎเบนเบšเปเบกเปˆเบ™เบชเบฒเบกเบฒเบ”เบ„เบฅเบดเบเป„เบ”เป‰.

เปƒเบ™เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบเบฒเบ™เบเบฐเบเบฝเบกเบเบฒเบ™เบ›เบฐเบเบญเบš, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบเปเบฒเบ™เบปเบ”เบ•เบปเบงเปเบ›เบ™เบตเป‰เบขเปˆเบฒเบ‡เบŠเบฑเบ”เป€เบˆเบ™เบซเบผเบทเบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ” automaxprocs เบˆเบฒเบเบœเบนเป‰เบŠเบฒเบเบˆเบฒเบ Uber.

เบ™เบณเปƒเบŠเป‰

โ€ข เบเบงเบ”เบชเบญเบšเบชเบปเบ™เบ—เบดเบชเบฑเบ™เบเบฒ. เบเปˆเบญเบ™เบ—เบตเปˆเบ—เปˆเบฒเบ™เบˆเบฐเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบเบฒเบ™เบชเบฐเบซเบ™เบญเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ›เบฐเบเบญเบšเบเบฑเบšเบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบ—เบตเปˆเบ•เบฑเป‰เบ‡เปƒเบˆเบ‚เบญเบ‡เบ—เปˆเบฒเบ™, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบเบงเบ”เป€เบšเบดเปˆเบ‡เบ”เบฑเปˆเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰:
- เบˆเบธเบ”เบชเบดเป‰เบ™เบชเบธเบ” API.
โ€” เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบฒเบกเบเบฒเบ™เบ•เบญเบšเป‚เบ•เป‰เบˆเบธเบ”เบชเบดเป‰เบ™เบชเบธเบ” API เบเบฑเบš schema.
- เบฎเบนเบšโ€‹เปเบšเบšโ€‹เบ‚เบญเบ‡โ€‹เบšเบฑเบ™โ€‹เบ—เบถเบโ€‹.
- เบเบฒเบ™โ€‹เบ•เบฑเป‰เบ‡โ€‹เบ„เปˆเบฒโ€‹เบซเบปเบงโ€‹เบ‚เปเป‰โ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹เบฎเป‰เบญเบ‡โ€‹เบ‚เปโ€‹เบเบฒเบ™โ€‹เบšเปโ€‹เบฅเบดโ€‹เบเบฒเบ™ (เบ›เบฑเบ”โ€‹เบˆเบธโ€‹เบšเบฑเบ™โ€‹เบ™เบตเป‰โ€‹เปเบกเปˆเบ™โ€‹เป€เบฎเบฑเบ”โ€‹เป„เบ”เป‰โ€‹เป‚เบ”เบ netrameshโ€‹)
โ€” เบเบฒเบ™โ€‹เบ•เบฑเป‰เบ‡โ€‹เบ„เปˆเบฒ token เป€เบˆเบปเป‰เบฒโ€‹เบ‚เบญเบ‡โ€‹เปƒเบ™โ€‹เป€เบงโ€‹เบฅเบฒโ€‹เบ—เบตเปˆโ€‹เบเบฒเบ™โ€‹เบชเบปเปˆเบ‡โ€‹เบ‚เปเป‰โ€‹เบ„เบงเบฒเบกโ€‹เบเบฑเบšโ€‹เบฅเบปเบ”โ€‹เป€เบกโ€‹เป€เบซเบ”โ€‹เบเบฒเบ™โ€‹. เบ™เบตเป‰เปเบกเปˆเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เป€เบžเบทเปˆเบญเบ•เบดเบ”เบ•เบฒเบกเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ‚เบญเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เปƒเบ™เบ—เบปเปˆเบงเบฅเบปเบ”เป€เบก. เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบชเบปเปˆเบ‡เบ—เบฑเบ‡เบชเบญเบ‡เบ‚เปเป‰เบกเบนเบ™ ideempotent เบเบฑเบšเบฅเบปเบ”เป€เบก, เป€เบŠเบดเปˆเบ‡เบšเปเปˆเป„เบ”เป‰เป€เบžเบตเปˆเบกเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ‚เบญเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™ (เป€เบŠเบดเปˆเบ‡เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบ—เบตเปˆเบ”เบต), เปเบฅเบฐเบ‚เปเป‰เบกเบนเบ™เบ—เบธเบฅเบฐเบเบดเบ”เบ—เบตเปˆเบชเป‰เบฒเบ‡เบ„เบงเบฒเบกเป€เบ‚เบฑเป‰เบกเปเบ‚เบ‡เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ‚เบญเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™ (เป€เบŠเบดเปˆเบ‡เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบ—เบตเปˆเบšเปเปˆเบ”เบตเบซเบผเบฒเบ!). เปเบฅเบฐเปƒเบ™เบˆเบธเบ”เป€เบงเบฅเบฒเบ—เบตเปˆเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ™เบตเป‰เบเบฒเบเป€เบ›เบฑเบ™เบšเบฑเบ™เบซเบฒ, เบ„เบงเบฒเบกเป€เบ‚เบปเป‰เบฒเปƒเบˆเบœเบนเป‰เบ—เบตเปˆเบ‚เบฝเบ™เปเบฅเบฐเบญเปˆเบฒเบ™เบฅเบปเบ”เป€เบกเบˆเบฐเบŠเปˆเบงเบเปƒเบซเป‰เบเบฒเบ™เปเบเบเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบขเปˆเบฒเบ‡เบ–เบทเบเบ•เป‰เบญเบ‡.

เบšเปเปˆเบกเบตเบชเบปเบ™เบ—เบดเบชเบฑเบ™เบเบฒเบซเบผเบฒเบเปƒเบ™ Avito, เปเบ•เปˆเบชเบฐเบ™เบธเบเป€เบเบตเบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒเบเปเบฒเบฅเบฑเบ‡เบ‚เบฐเบซเบเบฒเบเบญเบญเบเป„เบ›. เบซเบผเบฒเบเบ‚เปเป‰เบ•เบปเบเบฅเบปเบ‡เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบกเบตเบขเบนเปˆเปƒเบ™เบฎเบนเบšเปเบšเบšเบ—เบตเปˆเบ—เบตเบกเบ‡เบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเปƒเบˆเปเบฅเบฐเป€เบ‚เบปเป‰เบฒเปƒเบˆเป„เบ”เป‰, เบกเบฑเบ™เบ‡เปˆเบฒเบเบ•เปเปˆเบเบฒเบ™เบฎเบฑเบเบชเบฒเบ„เบงเบฒเบกเบชเบญเบ”เบ„เปˆเบญเบ‡เบฅเบฐเบซเบงเปˆเบฒเบ‡ microservices.

เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบชเบฑเบ‡เป€เบ„เบฒเบฐ

โ€ข เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบฎเบญเบšเบ›เบดเบ”. เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบชเบดเปˆเบ‡เบ™เบตเป‰, เบžเบงเบเป€เบฎเบปเบฒเปƒเบŠเป‰เปเบซเบผเปˆเบ‡เป€เบ›เบตเบ” Hoverfly.io. เบซเบ™เป‰เบฒเบ—เปเบฒเบญเบดเบ”, เบกเบฑเบ™เบšเบฑเบ™เบ—เบถเบเบเบฒเบ™เป‚เบซเบผเบ”เบ—เบตเปˆเปเบ—เป‰เบˆเบดเบ‡เปƒเบ™เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™ - เบžเบฝเบ‡เปเบ•เปˆเบขเบนเปˆเปƒเบ™ loop เบ›เบดเบ” - เบกเบฑเบ™ emulates เบกเบฑเบ™.

โ€ข เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบ„เบงเบฒเบกเบ„เบฝเบ”. เบžเบงเบเป€เบฎเบปเบฒเบžเบฐเบเบฒเบเบฒเบกเบ™เปเบฒเป€เบญเบปเบฒเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เป„เบ›เบชเบนเปˆเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ—เบตเปˆเบ”เบตเบ—เบตเปˆเบชเบธเบ”. เปเบฅเบฐเบ—เบธเบเบชเบฐเบšเบฑเบšเบ‚เบญเบ‡เปเบ•เปˆเบฅเบฐเบšเปเบฅเบดเบเบฒเบ™เบˆเบฐเบ•เป‰เบญเบ‡เบกเบตเบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบเบฒเบ™เป‚เบซเบผเบ” - เบงเบดเบ—เบตเบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเปƒเบˆเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบ‚เบญเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เปƒเบ™เบ›เบฐเบˆเบธเบšเบฑเบ™เปเบฅเบฐเบ„เบงเบฒเบกเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบšเบชเบฐเบšเบฑเบšเบเปˆเบญเบ™เบซเบ™เป‰เบฒเบ‚เบญเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ”เบฝเบงเบเบฑเบ™. เบ–เป‰เบฒ, เบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™, เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡เบกเบฑเบ™เบซเบผเบธเบ”เบฅเบปเบ‡เบซเบ™เบถเปˆเบ‡เบ„เบฑเป‰เบ‡เปเบฅเบฐเป€เบ„เบดเปˆเบ‡เบซเบ™เบถเปˆเบ‡, เบ™เบตเป‰เปเบกเปˆเบ™เบชเบฑเบ™เบเบฒเบ™เบ—เบตเปˆเบŠเบฑเบ”เป€เบˆเบ™เบชเปเบฒเบฅเบฑเบšเป€เบˆเบปเป‰เบฒเบ‚เบญเบ‡เบ‚เบญเบ‡เบกเบฑเบ™: เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบ‚เบธเบ”เบ„เบปเป‰เบ™เบฅเบฐเบซเบฑเบ”เปเบฅเบฐเปเบเป‰เป„เบ‚เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™.
เบžเบงเบเป€เบฎเบปเบฒเปƒเบŠเป‰เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเป€เบเบฑเบšเบเปเบฒ, เบ•เบปเบงเบขเปˆเบฒเบ‡, เป€เบžเบทเปˆเบญเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ›เบฑเบšเบ‚เบฐเบซเบ™เบฒเบ”เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เบขเปˆเบฒเบ‡เบ–เบทเบเบ•เป‰เบญเบ‡เปเบฅเบฐ, เป‚เบ”เบเบ—เบปเปˆเบงเป„เบ›เปเบฅเป‰เบง, เป‚เบ”เบเบ—เบปเปˆเบงเป„เบ›เปเบฅเป‰เบง, เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบชเบฒเบกเบฒเบ”เบ‚เบฐเบซเบเบฒเบเป„เบ”เป‰.

เปƒเบ™โ€‹เบฅเบฐโ€‹เบซเบงเปˆเบฒเบ‡โ€‹เบเบฒเบ™โ€‹เบ—เบปเบ”โ€‹เบชเบญเบšโ€‹เบเบฒเบ™โ€‹เป‚เบซเบผเบ”โ€‹, เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹เบเบงเบ”โ€‹เบชเบญเบšโ€‹เบงเปˆเบฒโ€‹เบเบฒเบ™โ€‹เบšเปโ€‹เบฅเบดโ€‹เป‚เบžเบโ€‹เบŠเบฑเบšโ€‹เบžเบฐโ€‹เบเบฒโ€‹เบเบญเบ™โ€‹เป„เบ”เป‰โ€‹เบ•เบฒเบกโ€‹เบ—เบตเปˆโ€‹เบเปเบฒโ€‹เบ™เบปเบ”โ€‹เป„เบงเป‰โ€‹. เปเบฅเบฐเบžเบงเบเป€เบฎเบปเบฒเบชเบธเบกเปƒเบชเปˆเบ•เบปเป‰เบ™เบ•เปเบ—เบตเปˆเบชเบธเบ”เบ—เบตเปˆเบชเบธเบ”.

a) เบžเบงเบเป€เบฎเบปเบฒเป€เบšเบดเปˆเบ‡เบเบฒเบ™เป‚เบซเบผเบ”เบ—เบฑเบ‡เบซเบกเบปเบ”.
- เบ‚เบฐเบซเบ™เบฒเบ”เบ™เป‰เบญเบเป€เบเบตเบ™เป„เบ› - เบชเปˆเบงเบ™เบซเบผเบฒเบเบญเบฒเบ”เบˆเบฐเป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบ—เบตเปˆเบšเปเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบ—เบฑเบ‡เบซเบกเบปเบ”เบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒเบเบฒเบ™เป‚เบซเบผเบ”เบ—เบฑเบ™เบ—เบตเบ—เบฑเบ™เปƒเบ”เบซเบผเบธเบ”เบฅเบปเบ‡เบซเบผเบฒเบเบ„เบฑเป‰เบ‡.
- เปƒเบซเบเปˆเป€เบเบตเบ™เป„เบ› - เบ•เป‰เบญเบ‡เบเบฒเบ™เบเบฒเบ™เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบš.

b) เบžเบงเบเป€เบฎเบปเบฒเป€เบšเบดเปˆเบ‡เบเบฒเบ™เบ•เบฑเบ”เบญเบญเบเบ•เบฒเบก RPS.
เบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเป€เบšเบดเปˆเบ‡เบ„เบงเบฒเบกเปเบ•เบเบ•เปˆเบฒเบ‡เบฅเบฐเบซเบงเปˆเบฒเบ‡เบชเบฐเบšเบฑเบšเบ›เบฐเบˆเบธเบšเบฑเบ™เปเบฅเบฐเบชเบฐเบšเบฑเบšเบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒเปเบฅเบฐเบ›เบฐเบฅเบดเบกเบฒเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”. เบ•เบปเบงเบขเปˆเบฒเบ‡, เบ–เป‰เบฒเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบœเบฐเบฅเบดเบ” 100 rps, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบกเบฑเบ™เบ–เบทเบเบ‚เบฝเบ™เบšเปเปˆเบ”เบต, เบซเบผเบทเบ™เบตเป‰เปเบกเปˆเบ™เบชเบฐเป€เบžเบฒเบฐเบ‚เบญเบ‡เบกเบฑเบ™, เปเบ•เปˆเปƒเบ™เบเปเบฅเบฐเบ™เบตเปƒเบ”เบเปเปˆเบ•เบฒเบก, เบ™เบตเป‰เปเบกเปˆเบ™เป€เบซเบ”เบœเบปเบ™เบ—เบตเปˆเบˆเบฐเป€เบšเบดเปˆเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบขเปˆเบฒเบ‡เปƒเบเป‰เบŠเบดเบ”.
เบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒ, เปƒเบ™เบ—เบฒเบ‡เบเบปเบ‡เบเบฑเบ™เบ‚เป‰เบฒเบก, เบกเบต RPS เบซเบผเบฒเบเป€เบเบตเบ™เป„เบ›, เบšเบฒเบ‡เบ—เบตเบญเบฒเบ”เบกเบตเบšเบฒเบ‡เบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡เบ‚เปเป‰เบšเบปเบเบžเปˆเบญเบ‡เปเบฅเบฐเบšเบฒเบ‡เบˆเบธเบ”เบชเบดเป‰เบ™เบชเบธเบ”เป„เบ”เป‰เบขเบธเบ”เป€เบŠเบปเบฒเบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™ payload, เปเบฅเบฐเบšเบฒเบ‡เบญเบฑเบ™เบญเบทเปˆเบ™เบ–เบทเบเบเบฐเบ•เบธเป‰เบ™เบขเปˆเบฒเบ‡เบ‡เปˆเบฒเบเบ”เบฒเบ. return true;

เบเบฒเบ™เบ—เบปเบ”เบชเบญเบš Canary

เบซเบผเบฑเบ‡เบˆเบฒเบเบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบœเปˆเบฒเบ™เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบชเบฑเบ‡เป€เบ„เบฒเบฐ, เบžเบงเบเป€เบฎเบปเบฒเบ—เบปเบ”เบชเบญเบš microservice เปƒเบ™เบˆเปเบฒเบ™เบงเบ™เบœเบนเป‰เปƒเบŠเป‰เบˆเปเบฒเบ™เบงเบ™เบซเบ™เป‰เบญเบ. เบžเบงเบเป€เบฎเบปเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบขเปˆเบฒเบ‡เบฅเบฐเบกเบฑเบ”เบฅเบฐเบงเบฑเบ‡, เบ”เป‰เบงเบเบชเปˆเบงเบ™เปเบšเปˆเบ‡เบ™เป‰เบญเบเป†เบ‚เบญเบ‡เบœเบนเป‰เบŠเบปเบกเบ—เบตเปˆเบกเบตเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เบ‚เบญเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™ - เบซเบ™เป‰เบญเบเบเบงเปˆเบฒ 0,1%. เปƒเบ™เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ™เบตเป‰, เบกเบฑเบ™เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบชเปเบฒเบ„เบฑเบ™เบซเบผเบฒเบเบ—เบตเปˆเบ•เบปเบงเบŠเบตเป‰เบงเบฑเบ”เบ”เป‰เบฒเบ™เบงเบดเบŠเบฒเบเบฒเบ™เปเบฅเบฐเบœเบฐเบฅเบดเบ”เบ•เบฐเบžเบฑเบ™เบ—เบตเปˆเบ–เบทเบเบ•เป‰เบญเบ‡เบ–เบทเบเบฅเบงเบกเป€เบ‚เบปเป‰เบฒเปƒเบ™เบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบกเป€เบžเบทเปˆเบญเปƒเบซเป‰เบžเบงเบเป€เบ‚เบปเบฒเบชเบฐเปเบ”เบ‡เบšเบฑเบ™เบซเบฒเปƒเบ™เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เป„เบงเป€เบ—เบปเปˆเบฒเบ—เบตเปˆเบˆเบฐเป„เบงเป„เบ”เป‰. เป€เบงเบฅเบฒเบ‚เบฑเป‰เบ™เบ•เปˆเปเบฒเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ—เบปเบ”เบชเบญเบš canary เปเบกเปˆเบ™ 5 เบ™เบฒเบ—เบต, เบ•เบปเป‰เบ™เบ•เปเปเบกเปˆเบ™ 2 เบŠเบปเปˆเบงเป‚เบกเบ‡. เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ—เบตเปˆเบชเบฑเบšเบชเบปเบ™, เบžเบงเบเป€เบฎเบปเบฒเบเปเบฒเบ™เบปเบ”เป€เบงเบฅเบฒเบ”เป‰เบงเบเบ•เบปเบ™เป€เบญเบ‡.
เปƒเบซเป‰เป€เบฎเบปเบฒเบงเบดเป€เบ„เบฒเบฐ:
โ€” metrics เบชเบฐเป€เบžเบฒเบฐเบžเบฒเบชเบฒ, เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐ, เบžเบฐเบ™เบฑเบเบ‡เบฒเบ™ php-fpm;
- เบ„เบงเบฒเบกโ€‹เบœเบดเบ”โ€‹เบžเบฒเบ”โ€‹เปƒเบ™ Sentryโ€‹;
- เบชเบฐโ€‹เบ–เบฒโ€‹เบ™เบฐโ€‹เบเบฒเบ™โ€‹เบ•เบญเบšโ€‹เบชเบฐโ€‹เบซเบ™เบญเบ‡โ€‹;
โ€” เบ—เบตเปˆโ€‹เปƒเบŠเป‰โ€‹เป€เบงโ€‹เบฅเบฒโ€‹เบ•เบญเบšโ€‹เบชเบฐโ€‹เบซเบ™เบญเบ‡โ€‹, เบ—เบตเปˆโ€‹เปเบ™เปˆโ€‹เบ™เบญเบ™โ€‹เปเบฅเบฐโ€‹เบชเบฐโ€‹เป€เบฅเปˆเบโ€‹;
- latency;
โ€” เบ‚เปเป‰โ€‹เบเบปเบโ€‹เป€เบงเบฑเป‰เบ™, เบเบฒเบ™โ€‹เบ›เบธเบ‡โ€‹เปเบ•เปˆเบ‡โ€‹เปเบฅเบฐโ€‹เบเบฒเบ™โ€‹เบšเปเปˆโ€‹เบกเบตโ€‹เบเบฒเบ™โ€‹เบˆเบฑเบ”โ€‹เบเบฒเบ™โ€‹;
- เบ•เบปเบงโ€‹เบŠเบตเป‰โ€‹เบงเบฑเบ”โ€‹เบœเบฐโ€‹เบฅเบดเบ”โ€‹เบ•เบฐโ€‹เบžเบฑเบ™โ€‹.

เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบšเบตเบš

เบเบฒเบ™เบ—เบปเบ”เบชเบญเบš Squeeze เปเบกเปˆเบ™เป€เบญเบตเป‰เบ™เบงเปˆเบฒเบเบฒเบ™เบ—เบปเบ”เบชเบญเบš "squeezing". เบŠเบทเปˆเบ‚เบญเบ‡เป€เบ•เบฑเบเบ™เบดเบเป„เบ”เป‰เบ–เบทเบเบ™เปเบฒเบชเบฐเป€เบซเบ™เบตเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™ Netflix. เป‚เบ”เบเป€เบ™เบทเป‰เบญเปเบ—เป‰เปเบฅเป‰เบงเบ‚เบญเบ‡เบกเบฑเบ™เปเบกเปˆเบ™เบงเปˆเบฒเบ—เปเบฒเบญเบดเบ”เบžเบงเบเป€เบฎเบปเบฒเบ•เบทเปˆเบกเบ‚เปเป‰เบกเบนเบ™เบซเบ™เบถเปˆเบ‡เบ•เบปเบงเบขเปˆเบฒเบ‡เบ—เบตเปˆเบกเบตเบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™เบ—เบตเปˆเปเบ—เป‰เบˆเบดเบ‡เป€เบ–เบดเบ‡เบˆเบธเบ”เบ‚เบญเบ‡เบ„เบงเบฒเบกเบฅเบปเป‰เบกเป€เบซเบผเบงเปเบฅเบฐเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบˆเบถเปˆเบ‡เบเปเบฒเบ™เบปเบ”เบ‚เบญเบšเป€เบ‚เบ”เบ‚เบญเบ‡เบกเบฑเบ™. เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบžเบงเบเป€เบฎเบปเบฒเป€เบžเบตเปˆเบกเบ•เบปเบงเบขเปˆเบฒเบ‡เบญเบทเปˆเบ™เปเบฅเบฐเป‚เบซเบผเบ”เบ„เบนเปˆเบ™เบตเป‰ - เบญเบตเบเป€เบ—เบทเปˆเบญเบซเบ™เบถเปˆเบ‡เป€เบžเบทเปˆเบญเบชเบนเบ‡เบชเบธเบ”; เบžเบงเบเป€เบฎเบปเบฒเป€เบซเบฑเบ™เป€เบžเบ”เบฒเบ™เปเบฅเบฐ delta เบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒเบ”เป‰เบงเบ "เบšเบตเบš" เบ—เปเบฒเบญเบดเบ”. เปเบฅเบฐเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบžเบงเบเป€เบฎเบปเบฒเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบซเบ™เบถเปˆเบ‡เบ•เบปเบงเบขเปˆเบฒเบ‡เปƒเบ™เป€เบงเบฅเบฒเปเบฅเบฐเบ„เบดเบ”เป„เบฅเปˆเบฎเบนเบšเปเบšเบšเบ‚เบญเบ‡เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡.
เบ‚เปเป‰เบกเบนเบ™เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเป‚เบ”เบเบœเปˆเบฒเบ™ "เบเบฒเบ™เบšเบตเบš" เบเบฑเบ‡เป„เบซเบผเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™ metrics เบ—เบปเปˆเบงเป„เบ›, เบšเปˆเบญเบ™เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเป€เบžเบตเปˆเบกเบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เป‚เบซเบผเบ”เบ—เบฝเบกเบเบฑเบšเบžเบงเบเบกเบฑเบ™, เบซเบผเบทเปเบกเป‰เบเบฐเบ—เบฑเป‰เบ‡เบ›เปˆเบฝเบ™ "เบชเบฑเบ‡เป€เบ„เบฒเบฐ" เบเบฑเบšเบžเบงเบเบกเบฑเบ™.

เบเบฒเบ™เบœเบฐเบฅเบดเบ”

โ€ข เบเบฒเบ™เบ›เบฑเบšเบ‚เบฐเปœเบฒเบ”. เป€เบกเบทเปˆเบญเบžเบงเบเป€เบฎเบปเบฒเบญเบญเบเบšเปเบฅเบดเบเบฒเบ™เบเบฒเบ™เบœเบฐเบฅเบดเบ”, เบžเบงเบเป€เบฎเบปเบฒเบ•เบดเบ”เบ•เบฒเบกเป€เบšเบดเปˆเบ‡เบงเปˆเบฒเบกเบฑเบ™เบกเบตเบ‚เบฐเบซเบ™เบฒเบ”เปเบ™เบงเปƒเบ”. เปƒเบ™เบ›เบฐเบชเบปเบšเบเบฒเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ, เบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบกเบžเบฝเบ‡เปเบ•เปˆเบ•เบปเบงเบŠเบตเป‰เบงเบฑเบ” CPU เปเบกเปˆเบ™เบšเปเปˆเบกเบตเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบš. เบเบฒเบ™เบ›เบฑเบšเบ‚เบฐเบซเบ™เบฒเบ”เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เบ”เป‰เบงเบ RPS benchmarking เปƒเบ™เบฎเบนเบšเปเบšเบšเบ—เบตเปˆเบšเปเบฅเบดเบชเบธเบ”เบ‚เบญเบ‡เบกเบฑเบ™เป€เบฎเบฑเบ”เบงเบฝเบ, เปเบ•เปˆเบงเปˆเบฒเบžเบฝเบ‡เปเบ•เปˆเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบชเบฐเป€เบžเบฒเบฐเปƒเบ”เบซเบ™เบถเปˆเบ‡, เป€เบŠเบฑเปˆเบ™: เบ™เป‰เปเบฒเบญเบญเบ™เป„เบฅเบ™เปŒ. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบžเบงเบเป€เบฎเบปเบฒเป€เบšเบดเปˆเบ‡เบ—เปเบฒเบญเบดเบ”เบ—เบตเปˆ metrics เบœเบฐเบฅเบดเบ”เบ•เบฐเบžเบฑเบ™เบชเบฐเป€เบžเบฒเบฐเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบ.

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เป€เบกเบทเปˆเบญเบเบฒเบ™เบ›เบฑเบšเบ‚เบฐเบซเบ™เบฒเบ”เบžเบงเบเป€เบฎเบปเบฒเบงเบดเป€เบ„เบฒเบฐ:
- เบ•เบปเบงโ€‹เบŠเบตเป‰โ€‹เบงเบฑเบ” CPU เปเบฅเบฐ RAMโ€‹,
- เบˆเปเบฒโ€‹เบ™เบงเบ™โ€‹เบ‚เบญเบ‡โ€‹เบเบฒเบ™โ€‹เบฎเป‰เบญเบ‡โ€‹เบ‚เปโ€‹เปƒเบ™โ€‹เปเบ–เบงโ€‹,
- เป€เบงโ€‹เบฅเบฒโ€‹เบ•เบญเบšโ€‹เบชเบฐโ€‹เบซเบ™เบญเบ‡โ€‹,
โ€” เบเบฒเบ™โ€‹เบ„เบฒเบ”โ€‹เบ„เบฐโ€‹เป€เบ™โ€‹เป‚เบ”เบโ€‹เบญเบตเบ‡โ€‹เปƒเบชเปˆโ€‹เบ‚เปเป‰โ€‹เบกเบนเบ™โ€‹เบ›เบฐโ€‹เบซเบงเบฑเบ”โ€‹เบชเบฒเบ”โ€‹เบชเบฐโ€‹เบชเบปเบกโ€‹.

เป€เบกเบทเปˆเบญเบ›เบฑเบšเบ‚เบฐเบซเบ™เบฒเบ”เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™, เบกเบฑเบ™เบเบฑเบ‡เบกเบตเบ„เบงเบฒเบกเบชเปเบฒเบ„เบฑเบ™เบ—เบตเปˆเบˆเบฐเบ•เบดเบ”เบ•เบฒเบกเบ„เบงเบฒเบกเป€เบžเบดเปˆเบ‡เบžเบฒเบญเบฒเป„เบชเบ‚เบญเบ‡เบกเบฑเบ™เป€เบžเบทเปˆเบญเบšเปเปˆเปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเบ‚เบฐเบซเบเบฒเบเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ—เปเบฒเบญเบดเบ”เปƒเบ™เบฅเบฐเบšเบปเบšเบ•เปˆเบญเบ‡เป‚เบชเป‰, เปเบฅเบฐเบชเบดเปˆเบ‡เบ—เบตเปˆเบกเบฑเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบฅเบปเป‰เบกเป€เบซเบฅเบงเบžเบฒเบเปƒเบ•เป‰เบเบฒเบ™เป‚เบซเบผเบ”. เป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡เบเบฒเบ™เป‚เบซเบผเบ”เบ—เบตเปˆเบเบญเบกเบฎเบฑเบšเป„เบ”เป‰เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”, เบžเบงเบเป€เบฎเบปเบฒเป€เบšเบดเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™เบ›เบฐเบซเบงเบฑเบ”เบชเบฒเบ”เบ‚เบญเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ—เบตเปˆเบ‚เบถเป‰เบ™เบเบฑเบš "เบ—เบตเปˆเปƒเบเป‰เบ—เบตเปˆเบชเบธเบ”" (เบญเบตเบ‡เปƒเบชเปˆเบเบฒเบ™เบ›เบฐเบชเบปเบกเบ›เบฐเบชเบฒเบ™เบ‚เบญเบ‡เบ•เบปเบงเบŠเบตเป‰เบงเบฑเบ” CPU เปเบฅเบฐ RAM, เบšเบงเบเปƒเบชเปˆเบเบฑเบšเบ•เบปเบงเบŠเบตเป‰เบงเบฑเบ”เบชเบฐเป€เบžเบฒเบฐเบ‚เบญเบ‡เปเบญเบฑเบšเบฏ) เปเบฅเบฐเบ›เบฝเบšเบ—เบฝเบšเบเบฑเบšเบ‚เปเป‰เบกเบนเบ™เบ›เบฐเบซเบงเบฑเบ”เบชเบฒเบ”. เบ‚เบญเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™, เปเบฅเบฐเบญเบทเปˆเบ™เป†เบ•เบฐเบซเบผเบญเบ” "เบ•เปˆเบญเบ‡เป‚เบชเป‰เบเบฒเบ™เป€เบžเบดเปˆเบ‡เบžเบฒเบญเบฒเปƒเบช" ", เบˆเบฒเบเป€เบ—เบดเบ‡เบซเบฒเบฅเบธเปˆเบกเบชเบธเบ”.

เบšเปเบฅเบดเบเบฒเบ™

เบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบˆเบธเบ™เบฅเบฐเบžเบฒเบเบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เปเบฅเป‰เบง, เบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เบ•เบดเบ”เบžเบฑเบ™เบเบฑเบšเบกเบฑเบ™.

เบ™เบตเป‰เปเบกเปˆเบ™เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ›เบปเบเบเบฐเบ•เบดเบ—เบตเปˆเป€เบฎเบฑเบ”เปƒเบซเป‰เป€เบเบตเบ”เบœเบปเบ™เบเบฐเบ—เบปเบšเบ•เปเปˆ.
โ€” เบเบงเบ”เบžเบปเบšเบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เบเป‰เบฒเบเบ—เบตเปˆเบญเบฒเบ”เป€เบ›เบฑเบ™เบญเบฑเบ™เบ•เบฐเบฅเบฒเบ.
โ€” เบเบฒเบ™โ€‹เบ›เบฑเบšโ€‹เบ›เบธเบ‡โ€‹เบ„เบงเบฒเบกโ€‹เบ›เบญเบ”โ€‹เป„เบžโ€‹เป„เบ”เป‰โ€‹เบ–เบทเบโ€‹เบ›เปˆเบญเบโ€‹เบญเบญเบโ€‹เบกเบฒโ€‹เป€เบกเบทเปˆเบญโ€‹.
โ€” เบเบฒเบ™โ€‹เบšเปโ€‹เบฅเบดโ€‹เบเบฒเบ™โ€‹เบ•เบปเบงโ€‹เบกเบฑเบ™โ€‹เป€เบญเบ‡โ€‹เบšเปเปˆโ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบเบฒเบ™โ€‹เบ›เบฑเบšโ€‹เบ›เบธเบ‡โ€‹เป€เบ›เบฑเบ™โ€‹เป€เบงโ€‹เบฅเบฒโ€‹เบ”เบปเบ™โ€‹เบ™เบฒเบ™โ€‹.
โ€” เบเบฒเบ™เป‚เบซเบผเบ”เปƒเบ™เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เป„เบ”เป‰เบซเบผเบธเบ”เบฅเบปเบ‡เบขเปˆเบฒเบ‡เป€เบซเบฑเบ™เป„เบ”เป‰เบŠเบฑเบ” เบซเบผเบทเบšเบฒเบ‡เบ•เบปเบงเบงเบฑเบ”เปเบ—เบเบœเบฐเบฅเบดเบ”เบ•เบฐเบžเบฑเบ™เบ‚เบญเบ‡เบกเบฑเบ™เบขเบนเปˆเบ™เบญเบเบฅเบฐเบ”เบฑเบšเบ›เบปเบเบเบฐเบ•เบด.
โ€” เบเบฒเบ™โ€‹เบšเปโ€‹เบฅเบดโ€‹เบเบฒเบ™โ€‹เบšเปเปˆโ€‹เบ•เบญเบšโ€‹เบชเบฐโ€‹เบซเบ™เบญเบ‡โ€‹เบ„เบงเบฒเบกโ€‹เบ•เป‰เบญเบ‡โ€‹เบเบฒเบ™โ€‹เบ‚เบญเบ‡โ€‹เป€เบงโ€‹เบ—เบตโ€‹เปƒเบซเบกเปˆโ€‹.

เบšเบฒเบ‡เบ•เบปเบงเบเบฐเบ•เบธเป‰เบ™เปเบกเปˆเบ™เบฎเบฑเบšเบœเบดเบ”เบŠเบญเบšเบ•เปเปˆเบ„เบงเบฒเบกเบซเบกเบฑเป‰เบ™เบ„เบปเบ‡เบ‚เบญเบ‡เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™, เบšเบฒเบ‡เบขเปˆเบฒเบ‡ - เป€เบ›เบฑเบ™เบซเบ™เป‰เบฒเบ—เบตเปˆเบ‚เบญเบ‡เบเบฒเบ™เบฎเบฑเบเบชเบฒเบฅเบฐเบšเบปเบš - เบ•เบปเบงเบขเปˆเบฒเบ‡, เบšเบฒเบ‡เบšเปเบฅเบดเบเบฒเบ™เบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบ›เบฑเบ™เป€เบงเบฅเบฒเบ”เบปเบ™เบ™เบฒเบ™เปเบฅเบฐเบฎเบนเบšเบžเบฒเบšเบžเบทเป‰เบ™เบ–เบฒเบ™เบ‚เบญเบ‡เบกเบฑเบ™เบขเบธเบ”เป€เบŠเบปเบฒเบœเปˆเบฒเบ™เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบ„เบงเบฒเบกเบ›เบญเบ”เป„เบž.

เปเบœเบ‡เปœเป‰เบฒเบ›เบฑเบ”

เปƒเบ™เบชเบฑเป‰เบ™, dashboard เปเบกเปˆเบ™เปเบœเบ‡เบ„เบงเบšเบ„เบธเบกเบ‚เบญเบ‡ PaaS เบ—เบฑเบ‡เบซเบกเบปเบ”เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ.

  • เบˆเบธเบ”เบ”เบฝเบงเบ‚เบญเบ‡เบ‚เปเป‰เบกเบนเบ™เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™, เบกเบตเบ‚เปเป‰เบกเบนเบ™เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบ„เบธเป‰เบกเบ„เบญเบ‡เบเบฒเบ™เบ—เบปเบ”เบชเบญเบš, เบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡เบฎเบนเบšเบžเบฒเบšเบ‚เบญเบ‡เบ•เบปเบ™, เบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡เบชเปเบฒเป€เบ™เบปเบฒเบเบฒเบ™เบœเบฐเบฅเบดเบ”, เบชเบฐเบšเบฑเบš, เปเบฅเบฐเบญเบทเปˆเบ™เป†.
  • เป€เบ„เบทเปˆเบญเบ‡โ€‹เบกเบทโ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹เบเบฑเปˆเบ™โ€‹เบ•เบญเบ‡โ€‹เบ‚เปเป‰โ€‹เบกเบนเบ™โ€‹เป‚เบ”เบโ€‹เบเบฒเบ™โ€‹เบšเปโ€‹เบฅเบดโ€‹เบเบฒเบ™โ€‹เปเบฅเบฐโ€‹เบชเบฐโ€‹เบซเบผเบฒเบ (เป€เบ„เบทเปˆเบญเบ‡โ€‹เบซเบกเบฒเบโ€‹เบ‚เบญเบ‡โ€‹เบซเบปเบงโ€‹เบซเบ™เปˆเบงเบโ€‹เบ—เบธโ€‹เบฅเบฐโ€‹เบเบดเบ”โ€‹, เบเบฒเบ™โ€‹เบ—เปเบฒโ€‹เบ‡เบฒเบ™โ€‹เบ‚เบญเบ‡โ€‹เบœเบฐโ€‹เบฅเบดเบ”โ€‹เบ•เบฐโ€‹เบžเบฑเบ™โ€‹, เปเบฅเบฐโ€‹เบญเบทเปˆเบ™เป†โ€‹)
  • เป€เบ„เบทเปˆเบญเบ‡โ€‹เบกเบทโ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹เป€เบŠเบทเปˆเบญเบกโ€‹เป‚เบเบ‡โ€‹เบเบฑเบšโ€‹เป€เบ„เบทเปˆเบญเบ‡โ€‹เบกเบทโ€‹เบžเบทเป‰เบ™โ€‹เบ–เบฒเบ™โ€‹เป‚เบ„เบ‡โ€‹เบฅเปˆเบฒเบ‡โ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹เบ•เบดเบ”โ€‹เบ•เบฒเบกโ€‹, เบเบฒเบ™โ€‹เบ•เบฑเบ”โ€‹เป„เบกเป‰โ€‹, เปเบฅเบฐโ€‹เบเบฒเบ™โ€‹เบ•เบดเบ”โ€‹เบ•เบฒเบกโ€‹เบเบงเบ”โ€‹เบเบฒโ€‹.
  • เบˆเบธเบ”เบ”เบฝเบงเบ‚เบญเบ‡เป€เบญเบเบฐเบชเบฒเบ™เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™.
  • เบ—เบฑเบ”เบชเบฐเบ™เบฐเบ”เบฝเบงเบ‚เบญเบ‡เป€เบซเบ”เบเบฒเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เปƒเบ™เบ—เบปเปˆเบงเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™.

เบžเบงเบเป€เบฎเบปเบฒเบฎเบนเป‰เบซเบเบฑเบ‡เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบˆเบธเบฅเบฐเบžเบฒเบ
เบžเบงเบเป€เบฎเบปเบฒเบฎเบนเป‰เบซเบเบฑเบ‡เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบˆเบธเบฅเบฐเบžเบฒเบ
เบžเบงเบเป€เบฎเบปเบฒเบฎเบนเป‰เบซเบเบฑเบ‡เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบˆเบธเบฅเบฐเบžเบฒเบ
เบžเบงเบเป€เบฎเบปเบฒเบฎเบนเป‰เบซเบเบฑเบ‡เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบˆเบธเบฅเบฐเบžเบฒเบ

เบฅเบงเบก

เบเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐเปเบ™เบฐเบ™เปเบฒ PaaS, เบœเบนเป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒเปƒเบซเบกเปˆเบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป€เบงเบฅเบฒเบซเบผเบฒเบเบญเบฒเบ—เบดเบ”เป€เบžเบทเปˆเบญเป€เบ‚เบปเป‰เบฒเปƒเบˆเป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เป€เบžเบทเปˆเบญเป€เบ›เบตเบ”เบ•เบปเบง microservice เปƒเบ™เบเบฒเบ™เบœเบฐเบฅเบดเบ”: Kubernetes, Helm, เบ„เบธเบ™เบ™เบฐเบชเบปเบกเบšเบฑเบ”เบžเบฒเบเปƒเบ™ TeamCity เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ, เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบšเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เปเบฅเบฐเบ–เบฒเบ™เบ„เบงเบฒเบกเบˆเปเบฒเปƒเบ™เบฅเบฑเบเบชเบฐเบ™เบฐเบ—เบตเปˆเบ—เบปเบ™เบ—เบฒเบ™เบ•เปเปˆเบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”, เปเบฅเบฐเบญเบทเปˆเบ™เป†. เปƒเบŠเป‰เป€เบงเบฅเบฒเบชเบญเบ‡เบชเบฒเบกเบŠเบปเปˆเบงเป‚เบกเบ‡เป€เบžเบทเปˆเบญเบญเปˆเบฒเบ™เบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เป„เบง เปเบฅเบฐเบชเป‰เบฒเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เป€เบญเบ‡.

เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เปƒเบซเป‰เบšเบปเบ”เบฅเบฒเบเบ‡เบฒเบ™เบเปˆเบฝเบงเบเบฑเบšเบซเบปเบงเบ‚เปเป‰เบ™เบตเป‰เบชเปเบฒเบฅเบฑเบš HighLoad++ 2018, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบšเบดเปˆเบ‡เบกเบฑเบ™เป„เบ”เป‰ ะฒะธะดะตะพ ะธ เบเบฒเบ™เบ™เปเบฒเบชเบฐเป€เบซเบ™เบต.

เบ•เบดเบ”เบ•เบฒเบกเป‚เบšเบ™เบฑเบ”เบชเปเบฒเบฅเบฑเบšเบœเบนเป‰เบ—เบตเปˆเบญเปˆเบฒเบ™เบˆเบปเบ™เบˆเบปเบš

เบžเบงเบเป€เบฎเบปเบฒเบขเบนเปˆ Avito เบเปเบฒเบฅเบฑเบ‡เบˆเบฑเบ”เบเบฒเบ™เบเบถเบเบญเบปเบšเบฎเบปเบกเบžเบฒเบเปƒเบ™เบชเบฒเบกเบกเบทเป‰เบชเปเบฒเบฅเบฑเบšเบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเบˆเบฒเบ Chris Richardson, เบœเบนเป‰เบŠเปˆเบฝเบงเบŠเบฒเบ™เบ”เป‰เบฒเบ™เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒเบˆเบธเบฅเบฐเบžเบฒเบ. เบžเบงเบเป€เบฎเบปเบฒเบขเบฒเบเบˆเบฐเปƒเบซเป‰เป‚เบญเบเบฒเบ”เบ—เบตเปˆเบˆเบฐเบกเบตเบชเปˆเบงเบ™เบฎเปˆเบงเบกเปƒเบ™เบกเบฑเบ™เบเบฑเบšเบซเบ™เบถเปˆเบ‡เปƒเบ™เบœเบนเป‰เบญเปˆเบฒเบ™เบ‚เบญเบ‡เป‚เบžเบ”เบ™เบตเป‰. เบกเบฑเบ™เป€เบ›เบฑเบ™ เป‚เบ„เบ‡เบเบฒเบ™เบเบถเบเบญเบปเบšเบฎเบปเบกเป„เบ”เป‰เบ–เบทเบเบˆเบฑเบ”เบžเบตเบกเบกเบฒ.

เบเบฒเบ™โ€‹เบเบถเบโ€‹เบญเบปเบšโ€‹เบฎเบปเบกโ€‹เบˆเบฐโ€‹เบ”เบณโ€‹เป€เบ™เบตเบ™โ€‹เป„เบ›โ€‹เปเบ•เปˆโ€‹เบงเบฑเบ™โ€‹เบ—เบต 5 เบซเบฒโ€‹เบงเบฑเบ™โ€‹เบ—เบต 7 เบชเบดเบ‡โ€‹เบซเบฒโ€‹เบขเบนเปˆโ€‹เบกเบปเบชโ€‹เบเบน. เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เปเบกเปˆเบ™เบกเบทเป‰เป€เบฎเบฑเบ”เบงเบฝเบเบ—เบตเปˆเบˆเบฐเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ„เบญเบšเบ„เบญเบ‡เบขเปˆเบฒเบ‡เป€เบ•เบฑเบกเบ—เบตเปˆ. เบญเบฒเบซเบฒเบ™เบ—เปˆเบฝเบ‡เปเบฅเบฐเบเบฒเบ™เบเบถเบเบญเบปเบšเบฎเบปเบกเบˆเบฐเบขเบนเปˆเปƒเบ™เบซเป‰เบญเบ‡เบเบฒเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ, เปเบฅเบฐเบœเบนเป‰เป€เบ‚เบปเป‰เบฒเบฎเปˆเบงเบกเบ—เบตเปˆเป€เบฅเบทเบญเบเบˆเบฐเบˆเปˆเบฒเบเบ„เปˆเบฒเป€เบ”เบตเบ™เบ—เบฒเบ‡เปเบฅเบฐเบšเปˆเบญเบ™เบžเบฑเบเปƒเบซเป‰เบ•เบปเบงเป€เบญเบ‡.

เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบชเบฐเบซเบกเบฑเบเบ‚เปเป€เบญเบปเบฒเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบฎเปˆเบงเบก เปƒเบ™เบฎเบนเบšเปเบšเบš google เบ™เบตเป‰. เบˆเบฒเบเบ—เปˆเบฒเบ™ - เบ„เปเบฒเบ•เบญเบšเบ‚เบญเบ‡เบ„เปเบฒเบ–เบฒเบกเบงเปˆเบฒเป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป€เบ‚เบปเป‰เบฒเบฎเปˆเบงเบกเบเบฒเบ™เบเบถเบเบญเบปเบšเบฎเบปเบกเปเบฅเบฐเบ‚เปเป‰เบกเบนเบ™เบเปˆเบฝเบงเบเบฑเบšเบงเบดเบ—เบตเบ•เบดเบ”เบ•เปเปˆเบ—เปˆเบฒเบ™. เบ•เบญเบšเป€เบ›เบฑเบ™เบžเบฒเบชเบฒเบญเบฑเบ‡เบเบดเบ” เป€เบžเบฒเบฐเบ„เบฃเบดเบชเบˆเบฐเป€เบฅเบทเบญเบเบœเบนเป‰เบ—เบตเปˆเบˆเบฐเป€เบ‚เบปเป‰เบฒเบเบถเบเบญเบปเบšเบฎเบปเบกเป€เบญเบ‡.
เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบ›เบฐเบเบฒเบ”เบŠเบทเปˆเบ‚เบญเบ‡เบœเบนเป‰เป€เบ‚เบปเป‰เบฒเบฎเปˆเบงเบกเบเบฒเบ™เบเบถเบเบญเบปเบšเบฎเบปเบกเปƒเบ™เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบเบฒเบ™เบ•เบญเบšเบ™เบตเป‰เปเบฅเบฐเปƒเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบเบชเบฑเบ‡เบ„เบปเบก Avito เบชเปเบฒเบฅเบฑเบšเบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒ (AvitoTech เปƒเบ™ เป€เบŸเบชเบšเบธเบ, ะ’ะบะพะฝั‚ะฐะบั‚ะต, Twitter) เบšเปเปˆเป€เบเบตเบ™ 19 เบเปเบฅเบฐเบเบปเบ”.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™