Microservices - เบเบฒเบ™เบฅเบฐเป€เบšเบตเบ”เปเบšเบšเบ›เบฐเบชเบปเบกเบ›เบฐเบชเบฒเบ™เบ‚เบญเบ‡เบฎเบธเปˆเบ™

เบชเบฐเบšเบฒเบเบ”เบต, Habr! เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบ™เปเบฒเบชเบฐเป€เบซเบ™เบตเบ„เบงเบฒเบกเบชเบปเบ™เปƒเบˆเบ‚เบญเบ‡เบ—เปˆเบฒเบ™ เบเบฒเบ™เปเบ›เบ‚เบญเบ‡เบœเบนเป‰เบ‚เบฝเบ™เบ‚เบญเบ‡เบšเบปเบ”เบ„เบงเบฒเบก Microservices โ€“ เบเบฒเบ™เบฅเบฐเป€เบšเบตเบ”เปเบšเบšเบ›เบฐเบชเบปเบกเบ›เบฐเบชเบฒเบ™เบ‚เบญเบ‡เบฅเบธเป‰เบ™.
Microservices - เบเบฒเบ™เบฅเบฐเป€เบšเบตเบ”เปเบšเบšเบ›เบฐเบชเบปเบกเบ›เบฐเบชเบฒเบ™เบ‚เบญเบ‡เบฎเบธเปˆเบ™
เปƒเบ™เบŠเปˆเบงเบ‡เป€เบงเบฅเบฒเบ—เบตเปˆเป‚เบฅเบ IT เบ„เปˆเบญเบเป†เบเป‰เบฒเบงเป„เบ›เบชเบนเปˆเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบˆเบธเบฅเบฐเบžเบฒเบเปเบฅเบฐเป€เบ„เบทเปˆเบญเบ‡เบกเบทเป€เบŠเบฑเปˆเบ™ Kubernetes, เบšเบฑเบ™เบซเบฒเบ”เบฝเบงเบ—เบตเปˆเบˆเบฐเบเบฒเบเป€เบ›เบฑเบ™เบ—เบตเปˆเบชเบฑเบ‡เป€เบเบ”เป€เบซเบฑเบ™เบซเบผเบฒเบเบ‚เบถเป‰เบ™. เบšเบฑเบ™โ€‹เบซเบฒโ€‹เบ™เบตเป‰ - เบเบฒเบ™เบฅเบฐเป€เบšเบตเบ”เบ›เบฐเบชเบปเบก เบชเบฐเบšเบฑเบš microservice. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, เบŠเบธเบกเบŠเบปเบ™ IT เป€เบŠเบทเปˆเบญเบงเปˆเบฒเบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เปƒเบ™เบ›เบฐเบˆเบธเบšเบฑเบ™เปเบกเปˆเบ™เบ”เบตเบเบงเปˆเบฒเบซเบผเบฒเบ "เบเบฒเบ™เป€เบžเบดเปˆเบ‡เบžเบฒเบญเบฒเป„เบชเบ™เบฐเบฅเบปเบ" เป€เบ•เบฑเบเป‚เบ™เป‚เบฅเบŠเบตเบเบฒเบ™เบœเบฐเบฅเบดเบ”เบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒ. เปเบ™เบงเปƒเบ”เบเปเปˆเบ•เบฒเบก, เบเบฒเบ™เบชเป‰เบฒเบ‡ microservices เปเบกเปˆเบ™เบšเบฑเบ™เบซเบฒเบ—เบตเปˆเบชเบฑเบšเบชเบปเบ™เบซเบผเบฒเบ. เบซเบผเบฑเบเบ–เบฒเบ™เบญเบฑเบ™เบซเบ™เบถเปˆเบ‡เบ‚เบญเบ‡เป€เบฅเบทเปˆเบญเบ‡เบ™เบตเป‰เบชเบฒเบกเบฒเบ”เป€เบ›เบฑเบ™เบšเบปเบ”เบ„เบงเบฒเบกเป€เบŠเบฑเปˆเบ™ "เปƒเบซเป‰เบ‚เป‰เบญเบเบ„เบทเบ™ monolith เบ‚เบญเบ‡เบ‚เป‰เบญเบ".

เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบเบฑเบ‡เบšเปเปˆเป€เบ‚เบปเป‰เบฒเปƒเบˆเบšเบฑเบ™เบซเบฒเป‚เบ”เบเบเบฒเบ™เบญเปˆเบฒเบ™เบ‚เปเป‰เบ„เบงเบฒเบกเบ™เบตเป‰, เปƒเบซเป‰เบ‚เป‰เบญเบเบญเบฐเบ—เบดเบšเบฒเบ. เปƒเบซเป‰เป€เบงเบปเป‰เบฒเบงเปˆเบฒเบœเบฐเบฅเบดเบ”เบ•เบฐเบžเบฑเบ™เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เบ›เบฐเบเบญเบšเบ”เป‰เบงเบ 10 microservices. เบ•เบญเบ™เบ™เบตเป‰เปƒเบซเป‰เบชเบปเบกเบกเบธเบ”เบงเปˆเบฒ 1 เบฎเบธเปˆเบ™เปƒเบซเบกเปˆเบ–เบทเบเบ›เปˆเบญเบเบญเบญเบเบกเบฒเบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐ microservices เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰. เบžเบฝเบ‡เปเบ•เปˆ 1 เบชเบฐเบšเบฑเบš - เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบซเบงเบฑเบ‡เบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเบ—เบธเบเบ„เบปเบ™เบชเบฒเบกเบฒเบ”เบ•เบปเบเบฅเบปเบ‡เป€เบซเบฑเบ™เบ”เบตเบงเปˆเบฒเบ™เบตเป‰เปเบกเปˆเบ™เบ„เบงเบฒเบกเบˆเบดเบ‡เบ—เบตเปˆ trivial เปเบฅเบฐ insignificant เบซเบผเบฒเบ. เบ”เบฝเบงเบ™เบตเป‰, เปเบ™เบงเปƒเบ”เบเปเปˆเบ•เบฒเบก, เปƒเบซเป‰เบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเบœเบฐเบฅเบดเบ”เบ•เบฐเบžเบฑเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบญเบตเบเบขเปˆเบฒเบ‡ เปœเบถเปˆเบ‡. เบกเบตเบžเบฝเบ‡เปเบ•เปˆเบชเบฐเบšเบฑเบšเปƒเบซเบกเปˆเบ‚เบญเบ‡เปเบ•เปˆเบฅเบฐเบญเบปเบ‡เบ›เบฐเบเบญเบš, เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบžเบงเบเป€เบฎเบปเบฒเบกเบต 2^10 - เบซเบผเบท 1024 permutations เบ‚เบญเบ‡เบงเบดเบ—เบตเบเบฒเบ™เบœเบฐเบฅเบดเบ”เบ•เบฐเบžเบฑเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เบ›เบฐเบเบญเบš.

เบ–เป‰เบฒโ€‹เบซเบฒเบโ€‹เบงเปˆเบฒโ€‹เบเบฑเบ‡โ€‹เบกเบตโ€‹เบ„เบงเบฒเบกโ€‹เป€เบ‚เบปเป‰เบฒโ€‹เปƒเบˆโ€‹เบœเบดเบ”โ€‹เบžเบฒเบ”โ€‹, เบ‚เป‰เบฒโ€‹เบžเบฐโ€‹เป€เบˆเบปเป‰เบฒโ€‹เบ‚เปโ€‹เปเบšเปˆเบ‡โ€‹เบ›เบฑเบ™โ€‹เบ„เบฐโ€‹เบ™เบดเบ”โ€‹เบชเบฒเบ”โ€‹เป„เบ”เป‰โ€‹. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบžเบงเบเป€เบฎเบปเบฒเบกเบต 10 microservices, เปเบ•เปˆเบฅเบฐเบ„เบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบซเบ™เบถเปˆเบ‡. เบ™เบฑเป‰เบ™เปเบกเปˆเบ™, เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบฎเบฑเบš 2 เบฎเบธเปˆเบ™เบ—เบตเปˆเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐ microservice (เบšเปเปˆเบงเปˆเบฒเบˆเบฐเป€เบเบปเปˆเบฒเบซเบผเบทเปƒเบซเบกเปˆ). เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™, เบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐเบญเบปเบ‡เบ›เบฐเบเบญเบšเบ‚เบญเบ‡เบœเบฐเบฅเบดเบ”เบ•เบฐเบžเบฑเบ™, เบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เบ—เบฑเบ‡เบชเบญเบ‡เบชเบฐเบšเบฑเบšเบ™เบตเป‰. เปƒเบ™เบ—เบฒเบ‡เบ„เบฐเบ™เบดเบ”เบชเบฒเบ”, เบกเบฑเบ™เบ„เบทเบเบฑเบ™เบเบฑเบšเบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเบกเบตเป€เบฅเบเบ–เบฒเบ™เบชเบญเบ‡เบ‚เบญเบ‡ 10 เบ•เบปเบงเป€เบฅเบ. เบ•เบปเบงเบขเปˆเบฒเบ‡, เปƒเบซเป‰เป€เบงเบปเป‰เบฒเบงเปˆเบฒ 1 เปเบกเปˆเบ™เบฎเบธเปˆเบ™เปƒเบซเบกเปˆ, เปเบฅเบฐ 0 เปเบกเปˆเบ™เบฎเบธเปˆเบ™เป€เบเบปเปˆเบฒ - เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ—เบตเปˆเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบซเบ™เบถเปˆเบ‡เบชเบฒเบกเบฒเบ”เบซเบกเบฒเบเป€เบ–เบดเบ‡ 1001000000 - เบšเปˆเบญเบ™เบ—เบตเปˆเบญเบปเบ‡เบ›เบฐเบเบญเบšเบ—เบต 1 เปเบฅเบฐเบ—เบต 4 เป„เบ”เป‰เบ–เบทเบเบ›เบฑเบšเบ›เบธเบ‡, เปเบฅเบฐเบญเบทเปˆเบ™เป†เบ—เบฑเบ‡เบซเบกเบปเบ”เบšเปเปˆเปเบกเปˆเบ™. เบˆเบฒเบเบ„เบฐเบ™เบดเบ”เบชเบฒเบ”เบžเบงเบเป€เบฎเบปเบฒเบฎเบนเป‰เบงเปˆเบฒเบ•เบปเบงเป€เบฅเบเบ–เบฒเบ™เบชเบญเบ‡ 10 เบ•เบปเบงเป€เบฅเบเบชเบฒเบกเบฒเบ”เบกเบต 2^10 เบซเบผเบท 1024 เบ„เปˆเบฒ. เบ™เบฑเป‰เบ™เปเบกเปˆเบ™, เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบขเบทเบ™เบขเบฑเบ™เบ‚เบฐเบซเบ™เบฒเบ”เบ‚เบญเบ‡เบ•เบปเบงเป€เบฅเบเบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบเปเบฒเบฅเบฑเบ‡เบˆเบฑเบ”เบเบฒเบ™เบเบฑเบš.

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

เป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบ‚เป‰เบญเบเบˆเบถเปˆเบ‡เบ•เบดเบ”เปƒเบˆเบเบฑเบšเบšเบฑเบ™เบซเบฒเบ™เบตเป‰? เบชเปˆเบงเบ™เบซเบ™เบถเปˆเบ‡เปเบกเปˆเบ™เบเป‰เบญเบ™เบงเปˆเบฒ, เบเปˆเบญเบ™เบซเบ™เป‰เบฒเบ™เบตเป‰เป„เบ”เป‰เป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเปƒเบ™เป‚เบฅเบเบ‚เบญเบ‡ NLP เปเบฅเบฐ AI, เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบ›เบถเบเบชเบฒเบซเบฒเบฅเบทเบเปˆเบฝเบงเบเบฑเบšเบšเบฑเบ™เบซเบฒเบเบฒเบ™เบฅเบฐเป€เบšเบตเบ”เบ‚เบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เบ›เบฐเบชเบปเบกเบซเบผเบฒเบเบ›เบฐเบกเบฒเบ™ 5-6 เบ›เบตเบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒ. เบžเบฝเบ‡เปเบ•เปˆเปเบ—เบ™เบ—เบตเปˆเบˆเบฐเป€เบ›เบฑเบ™เบชเบฐเบšเบฑเบšเบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบกเบตเบ„เปเบฒเบชเบฑเบšเบชเปˆเบงเบ™เบšเบธเบเบ„เบปเบ™, เปเบฅเบฐเปเบ—เบ™เบ—เบตเปˆเบˆเบฐเป€เบ›เบฑเบ™เบœเบฐเบฅเบดเบ”เบ•เบฐเบžเบฑเบ™เบžเบงเบเป€เบฎเบปเบฒเบกเบตเบ›เบฐเป‚เบซเบเบเปเบฅเบฐเบงเบฑเบ. เปเบฅเบฐเป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบšเบฑเบ™เบซเบฒเบ‚เบญเบ‡ NLP เปเบฅเบฐ AI เบเบฑเบ‡เบ„เบปเบ‡เบšเปเปˆเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เปเบเป‰เป„เบ‚เบขเปˆเบฒเบ‡เบซเบผเบงเบ‡เบซเบผเบฒเบ, เบกเบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบเบญเบกเบฎเบฑเบšเบงเปˆเบฒเบกเบตเบ„เบงเบฒเบกเบ„เบทเบšเบซเบ™เป‰เบฒเบขเปˆเบฒเบ‡เบซเบผเบงเบ‡เบซเบผเบฒเบเปƒเบ™เบชเบญเบ‡เบชเบฒเบกเบ›เบตเบœเปˆเบฒเบ™เบกเบฒ. (เปƒเบ™เบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™เบ‚เบญเบ‡เบ‚เป‰เบญเบ, เบญเบฒเบ”เบˆเบฐเบกเบตเบ„เบงเบฒเบกเบ„เบทเบšเบซเบ™เป‰เบฒะพเบกเบฑเบ™เบˆเบฐเบ”เบตเบเบงเปˆเบฒเบ–เป‰เบฒเบ„เบปเบ™เปƒเบ™เบญเบธเบ”เบชเบฒเบซเบฐเบเปเบฒเป„เบ”เป‰เป€เบญเบปเบฒเปƒเบˆเปƒเบชเปˆเบซเบ™เป‰เบญเบเบฅเบปเบ‡เบเบฑเบšเบเบฒเบ™เบฎเบฝเบ™เบฎเบนเป‰เป€เบ„เบทเปˆเบญเบ‡เบˆเบฑเบเปเบฅเบฐเป€เบ•เบฑเบเบ™เบดเบเบญเบทเปˆเบ™เป†เป€เบฅเบฑเบเบ™เป‰เบญเบ - เปเบ•เปˆเบ™เบตเป‰เปเบกเปˆเบ™เบšเปเปˆเบกเบตเบซเบปเบงเบ‚เปเป‰เปเบฅเป‰เบง).

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

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

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

เบฅเบฐเบšเบปเบšเบเบฒเบ™เบ—เบปเบ”เบฅเบญเบ‡เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบชเบฒเบกเบฒเบ”เบกเบตเบฅเบฑเบเบชเบฐเบ™เบฐเบ™เบตเป‰:

  1. เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเบ‚เบฝเบ™เบเบฒเบ™เบ—เบปเบ”เบชเบญเบš (เบ™เบตเป‰เปเบกเปˆเบ™เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™ - เป€เบžเบฒเบฐเบงเปˆเบฒเบ–เป‰เบฒเบšเปเปˆเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบžเบงเบเป€เบฎเบปเบฒเบšเปเปˆเบกเบตเป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เบเบฒเบ™เบ›เบฐเป€เบกเบตเบ™เบœเบปเบ™ - เบกเบฑเบ™เบ„เป‰เบฒเบเบ„เบทเบเบฑเบšเบเบฒเบ™เบ•เบดเบ”เบชเบฐเบซเบผเบฒเบเบ‚เปเป‰เบกเบนเบ™เปƒเบ™เบเบฒเบ™เบฎเบฝเบ™เบฎเบนเป‰เป€เบ„เบทเปˆเบญเบ‡เบˆเบฑเบ).
  2. เปเบ•เปˆเบฅเบฐเบญเบปเบ‡เบ›เบฐเบเบญเบš (เป‚เบ„เบ‡เบเบฒเบ™) เป„เบ”เป‰เบฎเบฑเบšเบฅเบฐเบšเบปเบš CI เบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡ - เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ™เบตเป‰เป„เบ”เป‰เบ–เบทเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเบ”เบต, เปเบฅเบฐเบšเบฑเบ™เบซเบฒเบ‚เบญเบ‡เบเบฒเบ™เบชเป‰เบฒเบ‡เบฅเบฐเบšเบปเบš CI เบชเปเบฒเบฅเบฑเบšเบญเบปเบ‡เบ›เบฐเบเบญเบšเบ”เบฝเบงเป„เบ”เป‰เบ–เบทเบเปเบเป‰เป„เบ‚เบขเปˆเบฒเบ‡เบซเบผเบงเบ‡เบซเบผเบฒเบ.
  3. "เบฅเบฐเบšเบปเบšเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเป‚เบเบ‡เบ—เบตเปˆเบชเบฐเบซเบผเบฒเบ”" เบฅเบงเบšเบฅเบงเบกเบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบ‚เบญเบ‡เบฅเบฐเบšเบปเบš CI เบ•เปˆเบฒเบ‡เป†เปเบฅเบฐเบ›เบฐเบเบญเบšเป‚เบ„เบ‡เบเบฒเบ™เบญเบปเบ‡เบ›เบฐเบเบญเบšเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบœเบฐเบฅเบดเบ”เบ•เบฐเบžเบฑเบ™เบชเบธเบ”เบ—เป‰เบฒเบ, เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเปเบฅเบฐเบชเบธเบ”เบ—เป‰เบฒเบเบˆเบฐเบ„เบดเบ”เป„เบฅเปˆเป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบ—เบตเปˆเบชเบฑเป‰เบ™เบ—เบตเปˆเบชเบธเบ”เบ—เบตเปˆเบˆเบฐเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡เบœเบฐเบฅเบดเบ”เบ•เบฐเบžเบฑเบ™เบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเบญเบปเบ‡เบ›เบฐเบเบญเบšเปเบฅเบฐเบ›เบฑเบ”เปƒเบˆเบ„เบงเบฒเบกเบชเปˆเบฝเบ‡เบ—เบตเปˆเบกเบตเบขเบนเปˆ. เบ–เป‰เบฒเบเบฒเบ™เบญเบฑเบšเป€เบ”เบ”เป€เบ›เบฑเบ™เป„เบ›เบšเปเปˆเป„เบ”เป‰, เบฅเบฐเบšเบปเบšเบ™เบตเป‰เบˆเบฐเปเบˆเป‰เบ‡เปƒเบซเป‰เบœเบนเป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒเบเปˆเบฝเบงเบเบฑเบšเบญเบปเบ‡เบ›เบฐเบเบญเบšเบ—เบตเปˆเบกเบตเบขเบนเปˆเปเบฅเป‰เบง เปเบฅเบฐเบญเบฑเบ™เปƒเบ”เบ—เบตเปˆเป€เบฎเบฑเบ”เปƒเบซเป‰เป€เบเบตเบ”เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”. เบญเบตเบเป€เบ—เบทเปˆเบญ เปœเบถเปˆเบ‡, เบฅเบฐเบšเบปเบšเบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเปเบกเปˆเบ™เบกเบตเบ„เบงเบฒเบก เบชเบณ เบ„เบฑเบ™เบซเบผเบฒเบเบขเบนเปˆเบ—เบตเปˆเบ™เบตเป‰ - เป€เบžเบฒเบฐเบงเปˆเบฒเบฅเบฐเบšเบปเบšเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเป‚เบเบ‡เปƒเบŠเป‰เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเป€เบ›เบฑเบ™เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เบเบฒเบ™เบ›เบฐเป€เบกเบตเบ™เบœเบปเบ™.
  4. เบฅเบฐเบšเบปเบš CD, เป€เบŠเบดเปˆเบ‡เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เป„เบ”เป‰เบฎเบฑเบšเบ‚เปเป‰เบกเบนเบ™เบˆเบฒเบ Smart Integration System เปเบฅเบฐเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เป‚เบ”เบเบเบปเบ‡. เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ™เบตเป‰เบชเบดเป‰เบ™เบชเบธเบ”เบฎเบญเบšเบงเบฝเบ™.

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

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

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

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

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