เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเบณเป€เบงเบฑเบšเบ—เบตเปˆเบ—เบปเบ™เบ—เบฒเบ™เบ•เปเปˆเบ„เบงเบฒเบกเบœเบดเบ”เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เปเบ™เบงเปƒเบ”เปƒเบ™เป€เบงเบ—เบต Mail.ru Cloud Solutions

เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเบณเป€เบงเบฑเบšเบ—เบตเปˆเบ—เบปเบ™เบ—เบฒเบ™เบ•เปเปˆเบ„เบงเบฒเบกเบœเบดเบ”เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เปเบ™เบงเปƒเบ”เปƒเบ™เป€เบงเบ—เบต Mail.ru Cloud Solutions

เบชเบฐเบšเบฒเบเบ”เบต, Habr! เบ‚เป‰เบญเบเปเบกเปˆเบ™ Artem Karamyshev, เบซเบปเบงเบซเบ™เป‰เบฒเบ—เบตเบกเบšเปเบฅเบดเบซเบฒเบ™เบฅเบฐเบšเบปเบš Mail.Ru Cloud Solutions (MCS). เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบกเบตเบเบฒเบ™เป€เบ›เบตเบ”เบ•เบปเบงเบœเบฐเบฅเบดเบ”เบ•เบฐเบžเบฑเบ™เปƒเบซเบกเปˆเบซเบผเบฒเบเปƒเบ™เบ›เบตเบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒ. เบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบงเปˆเบฒเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™ API เบชเบฒเบกเบฒเบ”เบ‚เบฐเบซเบเบฒเบเป„เบ”เป‰เบ‡เปˆเบฒเบ, เบ—เบปเบ™เบ—เบฒเบ™เบ•เปเปˆเบ„เบงเบฒเบกเบœเบดเบ”, เปเบฅเบฐเบเบฝเบกเบžเป‰เบญเบกเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเบ•เบปเบงเบขเปˆเบฒเบ‡เป„เบงเบงเบฒเปƒเบ™เบเบฒเบ™เป‚เบซเบผเบ”เบ‚เบญเบ‡เบœเบนเป‰เปƒเบŠเป‰. เปเบžเบฅเบฐเบ•เบฐเบŸเบญเบกเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เบขเบนเปˆเปƒเบ™ OpenStack, เปเบฅเบฐเบ‚เป‰เบญเบเบ•เป‰เบญเบ‡เบเบฒเบ™เบšเบญเบเบ—เปˆเบฒเบ™เบงเปˆเบฒเบšเบฑเบ™เบซเบฒเบ„เบงเบฒเบกเบ—เบปเบ™เบ—เบฒเบ™เบ•เปเปˆเบ„เบงเบฒเบกเบœเบดเบ”เบ‚เบญเบ‡เบญเบปเบ‡เบ›เบฐเบเบญเบšเปƒเบ”เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เปเบเป‰เป„เบ‚เป€เบžเบทเปˆเบญเปƒเบซเป‰เป„เบ”เป‰เบฅเบฐเบšเบปเบšเบ—เบตเปˆเบ—เบปเบ™เบ—เบฒเบ™เบ•เปเปˆเบ„เบงเบฒเบกเบœเบดเบ”. เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบ„เบดเบ”เบงเปˆเบฒเบ™เบตเป‰เบˆเบฐเป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบ—เบตเปˆเบซเบ™เป‰เบฒเบชเบปเบ™เปƒเบˆเบชเปเบฒเบฅเบฑเบšเบœเบนเป‰เบ—เบตเปˆเบเบฑเบ‡เบžเบฑเบ”เบ—เบฐเบ™เบฒเบœเบฐเบฅเบดเบ”เบ•เบฐเบžเบฑเบ™เปƒเบ™ OpenStack.

เบ„เบงเบฒเบกเบ—เบปเบ™เบ—เบฒเบ™เบ„เบงเบฒเบกเบœเบดเบ”เป‚เบ”เบเบฅเบงเบกเบ‚เบญเบ‡เป€เบงเบ—เบตเบ›เบฐเบเบญเบšเบ”เป‰เบงเบเบ„เบงเบฒเบกเบขเบทเบ”เบขเบธเปˆเบ™เบ‚เบญเบ‡เบญเบปเบ‡เบ›เบฐเบเบญเบšเบ‚เบญเบ‡เบกเบฑเบ™. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบ„เปˆเบญเบเป†เบœเปˆเบฒเบ™เบ—เบธเบเบฅเบฐเบ”เบฑเบšเบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบเปเบฒเบ™เบปเบ”เบ„เบงเบฒเบกเบชเปˆเบฝเบ‡เปเบฅเบฐเบ›เบดเบ”เบžเบงเบเบกเบฑเบ™.

เบชเบฐเบšเบฑเบšเบงเบตเบ”เบตเป‚เบญเบ‚เบญเบ‡เป€เบฅเบทเปˆเบญเบ‡เบ™เบตเป‰, เปเบซเบผเปˆเบ‡เบ•เบปเป‰เบ™เบ•เปเปเบกเปˆเบ™เบšเบปเบ”เบฅเบฒเบเบ‡เบฒเบ™เบขเบนเปˆเปƒเบ™เบเบญเบ‡เบ›เบฐเบŠเบธเบก Uptime day 4, เบˆเบฑเบ”เป‚เบ”เบ ITSumma, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบšเบดเปˆเบ‡ เบขเบนเปˆเปƒเบ™เบŠเปˆเบญเบ‡ YouTube Uptime Community.

เบ„เบงเบฒเบกเบขเบทเบ”เบขเบธเปˆเบ™เบ‚เบญเบ‡เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒเบ—เบฒเบ‡เบ”เป‰เบฒเบ™เบฎเปˆเบฒเบ‡เบเบฒเบ

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

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

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

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

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

เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเบณเป€เบงเบฑเบšเบ—เบตเปˆเบ—เบปเบ™เบ—เบฒเบ™เบ•เปเปˆเบ„เบงเบฒเบกเบœเบดเบ”เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เปเบ™เบงเปƒเบ”เปƒเบ™เป€เบงเบ—เบต Mail.ru Cloud Solutions
เบ„เบงเบฒเบกเบขเบทเบ”เบขเบธเปˆเบ™เบ‚เบญเบ‡เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™เบ—เบฒเบ‡เบ”เป‰เบฒเบ™เบฎเปˆเบฒเบ‡เบเบฒเบ

เบชเบดเปˆเบ‡เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเปƒเบŠเป‰เบชเปเบฒเบฅเบฑเบšเบ„เบงเบฒเบกเบ—เบปเบ™เบ—เบฒเบ™เบ•เปเปˆเบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เปƒเบ™เบฅเบฐเบ”เบฑเบšเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบ

เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเปเบกเปˆเบ™เบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เปƒเบ™เบญเบปเบ‡เบ›เบฐเบเบญเบš opensource เบˆเปเบฒเบ™เบงเบ™เบซเบ™เบถเปˆเบ‡.

ExaBGP เปเบกเปˆเบ™เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ—เบตเปˆเบ›เบฐเบ•เบดเบšเบฑเบ”เบซเบ™เป‰เบฒเบ—เบตเปˆเบˆเปเบฒเบ™เบงเบ™เบซเบ™เบถเปˆเบ‡เป‚เบ”เบเปƒเบŠเป‰ BGP-based dynamic routing protocol. เบžเบงเบเป€เบฎเบปเบฒเปƒเบŠเป‰เบกเบฑเบ™เบขเปˆเบฒเบ‡เบˆเบดเบ‡เบˆเบฑเบ‡เป€เบžเบทเปˆเบญเป‚เบ„เบชเบฐเบ™เบฒเบ—เบตเปˆเบขเบนเปˆ IP เบ‚เบญเบ‡เบšเบฑเบ™เบŠเบตเบ‚เบฒเบงเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเป‚เบ”เบเบœเปˆเบฒเบ™เบ—เบตเปˆเบœเบนเป‰เปƒเบŠเป‰เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡ API.

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

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

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

เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเบณเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™ OpenStack เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™

เบšเปเบฅเบดเบเบฒเบ™เบชเปˆเบงเบ™เปƒเบซเบเปˆเบ—เบตเปˆเบžเบฑเบ”เบ—เบฐเบ™เบฒเบชเปเบฒเบฅเบฑเบš OpenStack เบžเบฐเบเบฒเบเบฒเบกเบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบฒเบกเปเบšเบšเปเบœเบ™เบ”เบฝเบง. เบ›เบปเบเบเบฐเบ•เบดเปเบฅเป‰เบงเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ›เบฐเบเบญเบšเบ”เป‰เบงเบ 2 เบžเบฒเบเบชเปˆเบงเบ™: API เปเบฅเบฐเบžเบฐเบ™เบฑเบเบ‡เบฒเบ™ (เบœเบนเป‰เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™ backend). เบ•เบฒเบกเบเบปเบ”เบฅเบฐเบšเบฝเบš, API เปเบกเปˆเบ™เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™ WSGI เปƒเบ™ python, เป€เบŠเบดเปˆเบ‡เบ–เบทเบเป€เบ›เบตเบ”เบ•เบปเบงเป€เบ›เบฑเบ™เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เป€เบญเบเบฐเบฅเบฒเบ” (daemon), เบซเบผเบทเปƒเบŠเป‰เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเป€เบงเบฑเบš Nginx เบซเบผเบท Apache เบ—เบตเปˆเบเบฝเบกเบžเป‰เบญเบก. API เบ›เบฐเบกเบงเบ™เบœเบปเบ™เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบ‚เบญเบ‡เบœเบนเป‰เปƒเบŠเป‰เปเบฅเบฐเบชเบปเปˆเบ‡เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบ•เปเปˆเบเบฑเบšเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ‚เบญเบ‡เบžเบฐเบ™เบฑเบเบ‡เบฒเบ™เป€เบžเบทเปˆเบญเบ›เบฐเบ•เบดเบšเบฑเบ”. เบเบฒเบ™เป‚เบญเบ™เป€เบ‡เบดเบ™เป€เบเบตเบ”เบ‚เบทเป‰เบ™เป‚เบ”เบเปƒเบŠเป‰เบ•เบปเบงเบชเบฐเปเบ”เบ‡เบ‚เปเป‰เบ„เบงเบฒเบก, เบ›เบปเบเบเบฐเบ•เบดเปเบฅเป‰เบง RabbitMQ, เบ„เบปเบ™เบญเบทเปˆเบ™เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบ—เบตเปˆเบšเปเปˆเบ”เบต. เป€เบกเบทเปˆเบญเบ‚เปเป‰เบ„เบงเบฒเบกเบกเบฒเบฎเบญเบ”เบ™เบฒเบเบซเบ™เป‰เบฒ, เบžเบงเบเบกเบฑเบ™เบˆเบฐเบ–เบทเบเบ›เบธเบ‡เปเบ•เปˆเบ‡เป‚เบ”เบเบ„เบปเบ™เบ‡เบฒเบ™เปเบฅเบฐ, เบ–เป‰เบฒเบˆเปเบฒเป€เบ›เบฑเบ™, เบเบฑเบšเบ„เบทเบ™เบ„เปเบฒเบ•เบญเบš.

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

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

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

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

เบˆเบธเบ”เบญเปˆเบญเบ™เปƒเบ™เป‚เบ„เบ‡เบเบฒเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เปเบกเปˆเบ™ RabbitMQ เปเบฅเบฐ MariaDB. เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒเบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒเบชเบปเบกเบ„เบงเบ™เป„เบ”เป‰เบฎเบฑเบšเบšเบปเบ”เบ„เบงเบฒเบกเปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเปƒเบ™เบšเบปเบ”เบ„เบงเบฒเบกเบ™เบตเป‰เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เบชเบธเบกเปƒเบชเปˆเบ„เบงเบฒเบกเบ—เบปเบ™เบ—เบฒเบ™เบ•เปเปˆเบ„เบงเบฒเบกเบœเบดเบ”เบ‚เบญเบ‡ API.

เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเบณเป€เบงเบฑเบšเบ—เบตเปˆเบ—เบปเบ™เบ—เบฒเบ™เบ•เปเปˆเบ„เบงเบฒเบกเบœเบดเบ”เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เปเบ™เบงเปƒเบ”เปƒเบ™เป€เบงเบ—เบต Mail.ru Cloud Solutions
เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเบณเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™ Openstack. เบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡เปเบฅเบฐเบ„เบงเบฒเบกเบ—เบปเบ™เบ—เบฒเบ™เบ•เปเปˆเบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ‚เบญเบ‡เป€เบงเบ—เบตเบŸเบฑเบ‡

เป€เบฎเบฑเบ”เปƒเบซเป‰เป€เบ„เบทเปˆเบญเบ‡เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡ HAProxy เบกเบตเบ„เบงเบฒเบกเบ—เบปเบ™เบ—เบฒเบ™เบ•เปเปˆเบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เป‚เบ”เบเปƒเบŠเป‰ ExaBGP

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

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

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

เป‚เบ„เบ‡เบเบฒเบ™ ExaBGP+HAProxy

  1. เบžเบงเบเป€เบฎเบปเบฒเบ•เบดเบ”เบ•เบฑเป‰เบ‡เบŠเบญเบšเปเบงเบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™, ExaBGP เปเบฅเบฐ HAProxy, เปƒเบ™เบชเบฒเบกเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ.
  2. เบžเบงเบเป€เบฎเบปเบฒเบชเป‰เบฒเบ‡เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบš loopback เปƒเบ™เปเบ•เปˆเบฅเบฐเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ.
  3. เปƒเบ™เบ—เบฑเบ‡เบชเบฒเบกเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบžเบงเบเป€เบฎเบปเบฒเบเปเบฒเบ™เบปเบ”เบ—เบตเปˆเบขเบนเปˆ IP เบชเบตเบ‚เบฒเบงเบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบ™เบตเป‰.
  4. เบ—เบตเปˆเบขเบนเปˆ IP เบชเบตเบ‚เบฒเบงเบ–เบทเบเป‚เบ„เบชเบฐเบ™เบฒเบเบฑเบšเบญเบดเบ™เป€เบ•เบตเป€เบ™เบฑเบ”เบœเปˆเบฒเบ™ ExaBGP.

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

เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ—เบตเปˆเบกเบตเบšเบฑเบ™เบซเบฒเบเบฑเบšเบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบ‚เบญเบ‡ HAProxy เบซเบผเบทเบ„เบงเบฒเบกเบฅเบปเป‰เบกเป€เบซเบผเบงเบ‚เบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ, ExaBGP เบขเบธเบ”เป€เบŠเบปเบฒเบเบฒเบ™เบ›เบฐเบเบฒเบ”เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡, เปเบฅเบฐเบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™เบˆเบฐเบชเบฐเบซเบผเบฑเบšเบเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบญเบทเปˆเบ™.

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบžเบงเบเป€เบฎเบปเบฒเบšเบฑเบ™เบฅเบธเบ„เบงเบฒเบกเบ—เบปเบ™เบ—เบฒเบ™เบ•เปเปˆเบ„เบงเบฒเบกเบœเบดเบ”เบ‚เบญเบ‡เบœเบนเป‰เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡.

เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเบณเป€เบงเบฑเบšเบ—เบตเปˆเบ—เบปเบ™เบ—เบฒเบ™เบ•เปเปˆเบ„เบงเบฒเบกเบœเบดเบ”เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เปเบ™เบงเปƒเบ”เปƒเบ™เป€เบงเบ—เบต Mail.ru Cloud Solutions
เบ„เบงเบฒเบกเบ—เบปเบ™เบ—เบฒเบ™เบ„เบงเบฒเบกเบœเบดเบ”เบ‚เบญเบ‡เบ•เบปเบงเบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡ HAProxy

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

เบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆ DNS เบšเบงเบ BGP

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

เป€เบžเบทเปˆเบญเบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡เบชเบฒเบกเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ, เบ—เปˆเบฒเบ™เบˆเบฐเบ•เป‰เบญเบ‡เบกเบต 3 เบ—เบตเปˆเบขเบนเปˆ IP เบชเบตเบ‚เบฒเบงเปเบฅเบฐ DNS เป€เบเบปเปˆเบฒเบ—เบตเปˆเบ”เบต. เปเบ•เปˆเบฅเบฐเบ—เบตเปˆเบขเบนเปˆเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบ–เบทเบเบเปเบฒเบ™เบปเบ”เบขเบนเปˆเปƒเบ™เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบš loopback เบ‚เบญเบ‡เปเบ•เปˆเบฅเบฐ HAProxy เปเบฅเบฐเป‚เบ„เบชเบฐเบ™เบฒเปƒเบ™เบญเบดเบ™เป€เบ•เบตเป€เบ™เบฑเบ”.

เปƒเบ™ OpenStack, เป€เบžเบทเปˆเบญเบˆเบฑเบ”เบเบฒเบ™เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™, เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰, เป€เบŠเบดเปˆเบ‡เบเปเบฒเบ™เบปเบ” API เบˆเบธเบ”เบชเบดเป‰เบ™เบชเบธเบ”เบ‚เบญเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบชเบฐเป€เบžเบฒเบฐ. เปƒเบ™เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเบฅเบปเบ‡เบ—เบฐเบšเบฝเบ™เบŠเบทเปˆเป‚เบ”เป€เบกเบ™ - public.infra.mail.ru, เป€เบŠเบดเปˆเบ‡เบ–เบทเบเปเบเป‰เป„เบ‚เบœเปˆเบฒเบ™ DNS เป‚เบ”เบเบชเบฒเบกเบ—เบตเปˆเบขเบนเปˆ IP เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เปเบˆเบเบขเบฒเบเบเบฒเบ™เป‚เบซเบผเบ”เบฅเบฐเบซเบงเปˆเบฒเบ‡เบชเบฒเบกเบ—เบตเปˆเบขเบนเปˆเบœเปˆเบฒเบ™ DNS.

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

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

เบˆเบฐเป€เบเบตเบ”เบซเบเบฑเบ‡เบ‚เบถเป‰เบ™เป€เบกเบทเปˆเบญเบœเบนเป‰เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡เบซเบ™เบถเปˆเบ‡เบฅเบปเป‰เบกเบฅเบปเบ‡? เบ–เป‰เบฒเบœเบนเป‰เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡เปƒเบ”เป†เบฅเบปเป‰เบกเป€เบซเบฅเบง, เบ—เบตเปˆเบขเบนเปˆเบ•เบปเป‰เบ™เบ•เปเบ‚เบญเบ‡เบกเบฑเบ™เบเบฑเบ‡เบ–เบทเบเป‚เบ„เบชเบฐเบ™เบฒเบˆเบฒเบเบชเบญเบ‡เบญเบฑเบ™เบญเบทเปˆเบ™, เปเบฅเบฐเบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™เบˆเบฐเบ–เบทเบเปเบˆเบเบขเบฒเบเบ„เบทเบ™เปƒเบซเบกเปˆเบฅเบฐเบซเบงเปˆเบฒเบ‡เบžเบงเบเบกเบฑเบ™. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบžเบงเบเป€เบฎเบปเบฒเปƒเบซเป‰เบœเบนเป‰เปƒเบŠเป‰เบซเบผเบฒเบเบ—เบตเปˆเบขเบนเปˆ IP เปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™เบœเปˆเบฒเบ™ DNS. เป‚เบ”เบเบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡เป‚เบ”เบ DNS เปเบฅเบฐ metrics เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™, เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เปเบœเปˆเบเบฐเบˆเบฒเบเป€เบ–เบดเบ‡เบเบฒเบ™เป‚เบซเบผเบ”เปƒเบ™เบ—เบปเปˆเบงเบชเบฒเบก balancers. เปเบฅเบฐเปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™เบžเบงเบเป€เบฎเบปเบฒเบšเปเปˆเบชเบนเบ™เป€เบชเบเบ„เบงเบฒเบกเบ—เบปเบ™เบ—เบฒเบ™เบ•เปเปˆเบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”.

เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเบณเป€เบงเบฑเบšเบ—เบตเปˆเบ—เบปเบ™เบ—เบฒเบ™เบ•เปเปˆเบ„เบงเบฒเบกเบœเบดเบ”เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เปเบ™เบงเปƒเบ”เปƒเบ™เป€เบงเบ—เบต Mail.ru Cloud Solutions
เบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡ HAProxy เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆ DNS + BGP

เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบฅเบฐเบซเบงเปˆเบฒเบ‡ ExaBGP เปเบฅเบฐ HAProxy

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

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

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

เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเบณเป€เบงเบฑเบšเบ—เบตเปˆเบ—เบปเบ™เบ—เบฒเบ™เบ•เปเปˆเบ„เบงเบฒเบกเบœเบดเบ”เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เปเบ™เบงเปƒเบ”เปƒเบ™เป€เบงเบ—เบต Mail.ru Cloud Solutions
เบเบงเบ”เบชเบธเบ‚เบฐเบžเบฒเบš HAProxy

HAProxy Peers: เบเบฒเบ™เบŠเบดเป‰เบ‡เบ‚เปเป‰เบกเบนเบ™เป€เบŠเบ”เบŠเบฑเบ™

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

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

HAProxy เปƒเบŠเป‰ stick-tables เป€เบžเบทเปˆเบญเบšเบฑเบ™เบ—เบถเบเบเบญเบ‡เบ›เบฐเบŠเบธเบกเบฅเบนเบเบ„เป‰เบฒเบ‚เบญเบ‡เบเบปเบ™เป„เบเบ™เบตเป‰. เบžเบงเบเป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเบšเบฑเบ™เบ—เบถเบเบ—เบตเปˆเบขเบนเปˆ IP เบ•เบปเป‰เบ™เบชเบฐเบšเบฑเบšเบ‚เบญเบ‡เบฅเบนเบเบ„เป‰เบฒ, เบ—เบตเปˆเบขเบนเปˆเป€เบ›เบปเป‰เบฒเบซเบกเบฒเบเบ—เบตเปˆเป€เบฅเบทเบญเบ (backend) เปเบฅเบฐเบ‚เปเป‰เบกเบนเบ™เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบšเบฒเบ‡เบขเปˆเบฒเบ‡. เป‚เบ”เบเบ›เบปเบเบเบฐเบ•เบด, เบ•เบฒเบ•เบฐเบฅเบฒเบ‡ stick เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบ„เบนเปˆ source-IP + เบˆเบธเบ”เบซเบกเบฒเบเบ›เบฒเบเบ—เบฒเบ‡ IP, เป€เบŠเบดเปˆเบ‡เป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐเบชเปเบฒเบฅเบฑเบšเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบ—เบตเปˆเบšเปเปˆเบชเบฒเบกเบฒเบ”เป‚เบญเบ™เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ‚เบญเบ‡เบœเบนเป‰เปƒเบŠเป‰เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบ›เปˆเบฝเบ™เป„เบ›เบซเบฒเบ•เบปเบงเบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡เบญเบทเปˆเบ™, เบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเบขเปˆเบฒเบ‡, เปƒเบ™เป‚เบซเบกเบ”เบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡ RoundRobin.

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

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

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

เปƒเบ™ IaaS เบžเบงเบเป€เบฎเบปเบฒเบกเบตเบšเปเบฅเบดเบเบฒเบ™เบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เป‚เบ”เบเปƒเบŠเป‰เป€เบ•เบฑเบเป‚เบ™เป‚เบฅเบขเบตเบ”เบฝเบงเบเบฑเบ™. เบ™เบตเป‰ Load Balancer เป€เบ›เบฑเบ™เบšเปเบฅเบดเบเบฒเบ™เบชเปเบฒเบฅเบฑเบš OpenStack, เป€เบŠเบดเปˆเบ‡เป€เบญเบตเป‰เบ™เบงเปˆเบฒ Octavia. เบกเบฑเบ™เปเบกเปˆเบ™เบญเบตเบ‡เปƒเบชเปˆเบชเบญเบ‡เบ‚เบฐเบšเบงเบ™เบเบฒเบ™ HAProxy เปเบฅเบฐเปƒเบ™เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เบ›เบฐเบเบญเบšเบกเบตเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเป€เบžเบทเปˆเบญเบ™เบกเบดเบ”. เบžเบงเบเป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เบžเบดเบชเบนเบ”เบ•เบปเบ™เป€เบญเบ‡เบ—เบตเปˆเบ”เบตเป€เบฅเบตเบ”เปƒเบ™เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ™เบตเป‰.

เบฎเบนเบšโ€‹เบžเบฒเบšโ€‹เบชเบฐโ€‹เปเบ”เบ‡โ€‹เปƒเบซเป‰โ€‹เป€เบซเบฑเบ™โ€‹เบเบฒเบ™โ€‹เป€เบ„เบทเปˆเบญเบ™โ€‹เป„เบซเบงโ€‹เบ‚เบญเบ‡โ€‹เบ•เบฒโ€‹เบ•เบฐโ€‹เบฅเบฒเบ‡ peer เบฅเบฐโ€‹เบซเบงเปˆเบฒเบ‡โ€‹เบชเบฒเบกโ€‹เบ•เบปเบงโ€‹เบขเปˆเบฒเบ‡ HAProxyโ€‹, เบเบฒเบ™โ€‹เบ•เบฑเป‰เบ‡โ€‹เบ„เปˆเบฒโ€‹เปเบกเปˆเบ™โ€‹เป„เบ”เป‰โ€‹เบชเบฐโ€‹เป€เบซเบ™เบตโ€‹เบเปˆเบฝเบงโ€‹เบเบฑเบšโ€‹เบงเบดโ€‹เบ—เบตโ€‹เบเบฒเบ™โ€‹เบ™เบตเป‰โ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบเบฒเบ™โ€‹เบ•เบฑเป‰เบ‡โ€‹เบ„เปˆเบฒโ€‹:

เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเบณเป€เบงเบฑเบšเบ—เบตเปˆเบ—เบปเบ™เบ—เบฒเบ™เบ•เปเปˆเบ„เบงเบฒเบกเบœเบดเบ”เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เปเบ™เบงเปƒเบ”เปƒเบ™เป€เบงเบ—เบต Mail.ru Cloud Solutions
HAProxy Peers (เบเบฒเบ™เบŠเบดเป‰เบ‡เบ‚เปเป‰เบกเบนเบ™เป€เบŠเบ”เบŠเบฑเบ™)

เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เป‚เบ„เบ‡เบเบฒเบ™เบ”เบฝเบงเบเบฑเบ™, เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบ‚เบญเบ‡เบกเบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบขเปˆเบฒเบ‡เบฅเบฐเบกเบฑเบ”เบฅเบฐเบงเบฑเบ‡. เบกเบฑเบ™เบšเปเปˆเปเบกเปˆเบ™เบ„เบงเบฒเบกเบˆเบดเบ‡เบ—เบตเปˆเบงเปˆเบฒเบกเบฑเบ™เบˆเบฐเป€เบฎเบฑเบ”เบงเบฝเบเปƒเบ™เปเบšเบšเบ”เบฝเบงเบเบฑเบ™ 100% เบ‚เบญเบ‡เป€เบงเบฅเบฒ. เปเบ•เปˆเบขเปˆเบฒเบ‡เบซเบ™เป‰เบญเบเบ—เปˆเบฒเบ™เบˆเบฐเบšเปเปˆเบชเบนเบ™เป€เบชเบเบ•เบฒเบ•เบฐเบฅเบฒเบ‡ stick เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบˆเบทเปˆ IP เปเบซเบผเปˆเบ‡เบ‚เบญเบ‡เบฅเบนเบเบ„เป‰เบฒ.

เบเบฒเบ™เบˆเปเบฒเบเบฑเบ”เบˆเปเบฒเบ™เบงเบ™เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบžเป‰เบญเบกเบเบฑเบ™เบˆเบฒเบเบฅเบนเบเบ„เป‰เบฒเบ”เบฝเบงเบเบฑเบ™

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

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

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

เบ™เบตเป‰เป€เบšเบดเปˆเบ‡เบ„เบทเปเบ™เบงเปƒเบ”เปƒเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”? เบžเบงเบเป€เบฎเบปเบฒเบกเบตเบฅเบนเบเบ„เป‰เบฒเบ—เบตเปˆเปƒเบŠเป‰ APIs autoscaling เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบ•เบฐเบซเบผเบญเบ”เป€เบงเบฅเบฒ. เบžเบงเบเป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเบชเป‰เบฒเบ‡เบ›เบฐเบกเบฒเบ™เบชเบญเบ‡เบซเบฒเบชเบฒเบกเบฎเป‰เบญเบเป€เบ„เบทเปˆเบญเบ‡ virtual เปƒเบ™เบ•เบญเบ™เป€เบŠเบปเป‰เบฒเปเบฅเบฐเบฅเบถเบšเบžเบงเบเบกเบฑเบ™เปƒเบ™เบ•เบญเบ™เปเบฅเบ‡. เบชเปเบฒเบฅเบฑเบš OpenStack, เบเบฒเบ™เบชเป‰เบฒเบ‡เป€เบ„เบทเปˆเบญเบ‡ virtual, เบžเป‰เบญเบกเบเบฑเบšเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™ PaaS, เบ•เป‰เบญเบ‡เบเบฒเบ™เบขเปˆเบฒเบ‡เบซเบ™เป‰เบญเบ 1000 เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เป API, เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบเบฑเบ‡เป€เบเบตเบ”เบ‚เบถเป‰เบ™เป‚เบ”เบเบœเปˆเบฒเบ™ API.

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

เบงเบดเบ—เบตเบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡ codebase เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เป‚เบ”เบเบ—เบตเปˆเบœเบนเป‰เปƒเบŠเป‰เบชเบฑเบ‡เป€เบเบ”เป€เบซเบฑเบ™

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

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

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

  • เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ‚เบญเบ‡ HAProxy, เบเบฒเบ™เบ„เบงเบšเบ„เบธเบกเปเบกเปˆเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบœเปˆเบฒเบ™เป„เบŸเบฅเปŒเบชเบฐเบ–เบดเบ•เบด, เป€เบŠเบดเปˆเบ‡เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบˆเปเบฒเป€เบ›เบฑเบ™ socket เปเบฅเบฐเบ–เบทเบเบเปเบฒเบ™เบปเบ”เป„เบงเป‰เปƒเบ™ HAProxy config. เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบชเบปเปˆเบ‡เบ„เปเบฒเบชเบฑเปˆเบ‡เป„เบ›เบซเบฒเบกเบฑเบ™เบœเปˆเบฒเบ™ stdio. เปเบ•เปˆเป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ„เบงเบšเบ„เบธเบกเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ•เบปเป‰เบ™เบ•เปเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเปเบกเปˆเบ™เบšเปเปˆเบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป„เบ”เป‰, เบชเบฐเบ™เบฑเป‰เบ™เบกเบฑเบ™เบกเบตเป‚เบกเบ”เบนเบ™เปƒเบ™เบ•เบปเบงเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ„เบธเป‰เบกเบ„เบญเบ‡ HAProxy. เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเปƒเบŠเป‰เบขเปˆเบฒเบ‡เบˆเบดเบ‡เบˆเบฑเบ‡.
  • เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™ API เปเบฅเบฐ Engine เบชเปˆเบงเบ™เปƒเบซเบเปˆเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบชเบฐเปœเบฑเบšเบชเบฐเปœเบนเบ™เป€เบ—เบฑเบเป‚เบ™เป‚เบฅเบเบตเบเบฒเบ™เบ›เบดเบ”เป€เบ„เบทเปˆเบญเบ‡เบ—เบตเปˆเบชเบฐเบซเบ‡เปˆเบฒเบ‡เบฒเบก: เป€เบกเบทเปˆเบญเบ›เบดเบ”เป€เบ„เบทเปˆเบญเบ‡, เบžเบงเบเป€เบ‚เบปเบฒเบฅเปเบ–เป‰เบฒเปƒเบซเป‰เบงเบฝเบเบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบชเบณเป€เบฅเบฑเบ”, เบšเปเปˆเบงเปˆเบฒเบˆเบฐเป€เบ›เบฑเบ™เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เป http เบซเบผเบทเบšเบฒเบ‡เบงเบฝเบเบšเปเบฅเบดเบเบฒเบ™. เบชเบดเปˆเบ‡เบ”เบฝเบงเบเบฑเบ™เป€เบเบตเบ”เบ‚เบถเป‰เบ™เบเบฑเบšเบ„เบปเบ™เบ‡เบฒเบ™. เบกเบฑเบ™เบฎเบนเป‰เบˆเบฑเบเบงเบฝเบเบ‡เบฒเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเบกเบฑเบ™เบเปเบฒเบฅเบฑเบ‡เป€เบฎเบฑเบ”เปเบฅเบฐเบชเบดเป‰เบ™เบชเบธเบ”เบฅเบปเบ‡เป€เบกเบทเปˆเบญเบกเบฑเบ™เบชเปเบฒเป€เบฅเบฑเบ”เบ—เบธเบเบขเปˆเบฒเบ‡.

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

  1. เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเบ›เบฐเบเบญเบšเบŠเบธเบ”เบฅเบฐเบซเบฑเบ”เปƒเบซเบกเปˆ (เบชเปเบฒเบฅเบฑเบšเบžเบงเบเป€เบฎเบปเบฒเบ™เบตเป‰เปเบกเปˆเบ™ RPM), เบ—เบปเบ”เบชเบญเบšเบกเบฑเบ™เบขเบนเปˆเปƒเบ™เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก dev, เบ—เบปเบ”เบชเบญเบšเบกเบฑเบ™เบขเบนเปˆเปƒเบ™เบ‚เบฑเป‰เบ™เบ•เบญเบ™, เปเบฅเบฐเบ›เปˆเบญเบเปƒเบซเป‰เบกเบฑเบ™เบขเบนเปˆเปƒเบ™ repository เป€เบงเบ—เบต.
  2. เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเบเปเบฒเบ™เบปเบ”เบงเบฝเบเบ‡เบฒเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ—เบตเปˆเบกเบตเบ„เปเบฒเบญเบฐเบ—เบดเบšเบฒเบเบฅเบฒเบเบฅเบฐเบญเบฝเบ”เบ—เบตเปˆเบชเบธเบ”เบ‚เบญเบ‡ "เบชเบดเปˆเบ‡เบ›เบฐเบ”เบดเบ”": เบชเบฐเบšเบฑเบšเบ‚เบญเบ‡เบŠเบธเบ”เปƒเบซเบกเปˆ, เบ„เปเบฒเบญเบฐเบ—เบดเบšเบฒเบเบเปˆเบฝเบงเบเบฑเบšเบซเบ™เป‰เบฒเบ—เบตเปˆเปƒเบซเบกเปˆเปเบฅเบฐเบฅเบฒเบเบฅเบฐเบญเบฝเบ”เบญเบทเปˆเบ™เป†เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบ–เป‰เบฒเบˆเปเบฒเป€เบ›เบฑเบ™.
  3. เบœเบนเป‰เป€เบšเบดเปˆเบ‡เปเบเบ‡เบฅเบฐเบšเบปเบšเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบเบฒเบ™เบญเบฑเบšเป€เบ”เบ”. เป€เบ›เบตเบ”เบ•เบปเบง Ansible playbook, เป€เบŠเบดเปˆเบ‡เปƒเบ™เบ™เบฑเป‰เบ™เป€เบฎเบฑเบ”เบ”เบฑเปˆเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰:
    • เป€เบญเบปเบฒเบŠเบธเบ”เบˆเบฒเบ repository เบ‚เบฑเป‰เบ™เบ•เบญเบ™เปเบฅเบฐเบ™เปเบฒเปƒเบŠเป‰เบกเบฑเบ™เป€เบžเบทเปˆเบญเบ›เบฑเบšเบ›เบธเบ‡เบชเบฐเบšเบฑเบšเบ‚เบญเบ‡เบŠเบธเบ”เปƒเบ™ repository เบœเบฐเบฅเบดเบ”เบ•เบฐเบžเบฑเบ™.
    • เบฅเบงเบšเบฅเบงเบกเบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡ backend เบ‚เบญเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡.
    • เบ›เบดเบ”เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ—เปเบฒเบญเบดเบ”เบ—เบตเปˆเบˆเบฐเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เปƒเบ™ HAProxy เปเบฅเบฐเบฅเปเบ–เป‰เบฒเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ‚เบญเบ‡เบกเบฑเบ™เบชเปเบฒเป€เบฅเบฑเบ”เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบ. เบ‚เปเบ‚เบญเบšเปƒเบˆเบเบฑเบšเบเบฒเบ™เบ›เบดเบ”เบขเปˆเบฒเบ‡เบชเบฐเปœเบดเบ”เบชเบฐเปœเบปเบก, เบžเบงเบเป€เบฎเบปเบฒเปเบฑเป‰เบ™เปƒเบˆเบงเปˆเบฒเบ—เบธเบเบ„เบณเบฎเป‰เบญเบ‡เบ‚เปเบ‚เบญเบ‡เบฅเบนเบเบ„เป‰เบฒเปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบˆเบฐเบชเบณเป€เบฅเบฑเบ”เบขเปˆเบฒเบ‡เบชเบณเป€เบฅเบฑเบ”เบœเบปเบ™.
    • เบซเบผเบฑเบ‡เบˆเบฒเบ API เปเบฅเบฐเบžเบฐเบ™เบฑเบเบ‡เบฒเบ™เบ–เบทเบเบขเบธเบ”เบขเปˆเบฒเบ‡เบชเบปเบกเบšเบนเบ™, เปเบฅเบฐ HAProxy เบ–เบทเบเบ›เบดเบ”, เบฅเบฐเบซเบฑเบ”เบˆเบฐเบ–เบทเบเบ›เบฑเบšเบ›เบธเบ‡.
    • เบšเปเบฅเบดเบเบฒเบ™เปเบฅเปˆเบ™ Ansible.
    • เบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐเบšเปเบฅเบดเบเบฒเบ™, "เบกเบทเบˆเบฑเบš" เบšเบฒเบ‡เบขเปˆเบฒเบ‡เบ–เบทเบเบ”เบถเบ‡, เป€เบŠเบดเปˆเบ‡เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบซเบ™เปˆเบงเบเบ‡เบฒเบ™เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เบˆเปเบฒเบ™เบงเบ™เบซเบ™เบถเปˆเบ‡เบ—เบตเปˆเบเปเบฒเบ™เบปเบ”เป„เบงเป‰เบเปˆเบญเบ™. เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบžเบทเป‰เบ™เบ–เบฒเบ™เบ‚เบญเบ‡เบฅเบฐเบซเบฑเบ”เปƒเบซเบกเปˆเป€เบเบตเบ”เบ‚เบถเป‰เบ™.
    • เบ–เป‰เบฒเบšเปเปˆเบžเบปเบšเบ‚เปเป‰เบœเบดเบ”เบžเบฒเบ”เปƒเบ™เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒ, backend เบˆเบฐเบ–เบทเบเป€เบ›เบตเบ”เปƒเบŠเป‰.
    • เบ‚เปเปƒเบซเป‰เบเป‰เบฒเบงเป„เบ›เบชเบนเปˆ backend เบ•เปเปˆเป„เบ›.
  4. เบซเบผเบฑเบ‡เบˆเบฒเบ backends เบ—เบฑเบ‡เบซเบกเบปเบ”เป„เบ”เป‰เบ–เบทเบเบ›เบฑเบšเบ›เบธเบ‡, เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบ—เบตเปˆเป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เปเบกเปˆเบ™เป„เบ”เป‰เป€เบ›เบตเบ”เบ•เบปเบง. เบ–เป‰เบฒเบžเบงเบเป€เบ‚เบปเบฒเบซเบฒเบเป„เบ›, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเป€เบšเบดเปˆเบ‡เบซเบ™เป‰เบฒเบ—เบตเปˆเปƒเบซเบกเปˆเบ—เบตเปˆเบฅเบฒเบงเบชเป‰เบฒเบ‡.

เบ™เบตเป‰เบˆเบฐเบชเปเบฒเป€เบฅเบฑเบ”เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™.

เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเบณเป€เบงเบฑเบšเบ—เบตเปˆเบ—เบปเบ™เบ—เบฒเบ™เบ•เปเปˆเบ„เบงเบฒเบกเบœเบดเบ”เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เปเบ™เบงเปƒเบ”เปƒเบ™เป€เบงเบ—เบต Mail.ru Cloud Solutions
เบฎเบญเบšเบญเบฑเบšเป€เบ”เบ”เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™

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

เบชเบฐเบซเบฅเบธเบš

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

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

เป€เบงเบฅเบฒเป€เบฎเบฑเบ”เบงเบฝเบเบ„เบปเบ‡เบ—เบตเปˆเบ—เบธเบเบ„เบปเบ™!

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

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