Microservices: เบžเบงเบเบกเบฑเบ™เปเบกเปˆเบ™เบซเบเบฑเบ‡, เป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบžเบงเบเบกเบฑเบ™เปเบกเปˆเบ™เปเบฅเบฐเป€เบงเบฅเบฒเบ—เบตเปˆเบˆเบฐเบ›เบฐเบ•เบดเบšเบฑเบ”เบžเบงเบเบกเบฑเบ™

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

เบเบปเบ”เบซเบกเบฒเบเบ‚เบญเบ‡ Conway เปเบฅเบฐเบ„เบงเบฒเบกเบชเปเบฒเบžเบฑเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบ—เบธเบฅเบฐเบเบดเบ”, เบญเบปเบ‡เบเบฒเบ™เบˆเบฑเบ”เบ•เบฑเป‰เบ‡เปเบฅเบฐเบฅเบฐเบšเบปเบšเบ‚เปเป‰เบกเบนเบ™เบ‚เปˆเบฒเบงเบชเบฒเบ™

เบญเบตเบเป€เบ—เบทเปˆเบญ เปœเบถเปˆเบ‡ เบ‚เป‰เบญเบเบˆเบฐเบ›เปˆเบญเบเปƒเบซเป‰เบ•เบปเบงเป€เบญเบ‡เบญเป‰เบฒเบ‡เป€เบ–เบดเบ‡:

"เบญเบปเบ‡เบเบฒเบ™เปƒเบ”เบเปเปˆเบ•เบฒเบกเบ—เบตเปˆเบญเบญเบเปเบšเบšเบฅเบฐเบšเบปเบš (เปƒเบ™เบ„เบงเบฒเบกเบซเบกเบฒเบเบเบงเป‰เบฒเบ‡) เบˆเบฐเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบญเบญเบเปเบšเบšเบ—เบตเปˆเบกเบตเป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบ—เบตเปˆ replicates เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบ‚เบญเบ‡เบ—เบตเบกเบ‡เบฒเบ™เปƒเบ™เบญเบปเบ‡เบเบฒเบ™เบˆเบฑเบ”เบ•เบฑเป‰เบ‡เบ™เบฑเป‰เบ™."
โ€” Melvyn Conway, 1967

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

เบ—เบดเบ”เบ—เบฒเบ‡เบ—เบธเบฅเบฐเบเบดเบ”เบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบ‚เปเป‰เบกเบนเบ™เบ‚เปˆเบฒเบงเบชเบฒเบ™

Microservices: เบžเบงเบเบกเบฑเบ™เปเบกเปˆเบ™เบซเบเบฑเบ‡, เป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบžเบงเบเบกเบฑเบ™เปเบกเปˆเบ™เปเบฅเบฐเป€เบงเบฅเบฒเบ—เบตเปˆเบˆเบฐเบ›เบฐเบ•เบดเบšเบฑเบ”เบžเบงเบเบกเบฑเบ™

เปƒเบซเป‰เบ‚เป‰เบญเบเบญเบฐเบ—เบดเบšเบฒเบเบ”เป‰เบงเบเบ•เบปเบงเบขเปˆเบฒเบ‡. เปƒเบซเป‰เป€เบงเบปเป‰เบฒเบงเปˆเบฒเบกเบตเป‚เบญเบเบฒเบ”เบ—เบฒเบ‡เบ—เบธเบฅเบฐเบเบดเบ”เบ—เบตเปˆเบˆเบฐเบˆเบฑเบ”เบ—เบธเบฅเบฐเบเบดเบ”เบ‚เบฒเบ pizza. เปƒเบ™เบฎเบธเปˆเบ™ V1 (เปƒเบซเป‰เป€เบญเบตเป‰เบ™เบงเปˆเบฒเบ‚เปเป‰เบกเบนเบ™เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™), เบšเปเบฅเบดเบชเบฑเบ”เปเบกเปˆเบ™เบฎเป‰เบฒเบ™ pizzeria, เบšเบฑเบ™เบŠเบตเป€เบ‡เบดเบ™เบชเบปเบ”, เปเบฅเบฐเบšเปเบฅเบดเบเบฒเบ™เบˆเบฑเบ”เบชเบปเปˆเบ‡. เบชเบฐเบšเบฑเบšเบ™เบตเป‰เปเบกเปˆเบ™เปƒเบŠเป‰เป„เบ”เป‰เบ”เบปเบ™เบ™เบฒเบ™เปƒเบ™เบชเบฐเบžเบฒเบšเบ—เบตเปˆเบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ”เป‰เบฒเบ™เบชเบดเปˆเบ‡เปเบงเบ”เบฅเป‰เบญเบกเบ•เปเปˆเบฒ. เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบฎเบธเปˆเบ™ 2 เป€เบ‚เบปเป‰เบฒเบกเบฒเปเบ—เบ™เบกเบฑเบ™ - เบเป‰เบฒเบงเบซเบ™เป‰เบฒเบ—เบฒเบ‡เบ”เป‰เบฒเบ™เบซเบผเบฒเบเปเบฅเบฐเบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เบฅเบฐเบšเบปเบšเบ‚เปเป‰เบกเบนเบ™เบ‚เปˆเบฒเบงเบชเบฒเบ™เบ—เบตเปˆเป€เบ›เบฑเบ™เบซเบผเบฑเบเบชเปเบฒเบฅเบฑเบšเบ—เบธเบฅเบฐเบเบดเบ”เบ—เบตเปˆเบกเบตเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒ monolithic. เปเบฅเบฐเปƒเบ™เบ—เบตเปˆเบ™เบตเป‰, เปƒเบ™เบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™เบ‚เบญเบ‡เบ‚เป‰เบญเบ, เบกเบตเบ„เบงเบฒเบกเบšเปเปˆเบเบธเบ•เบดเบ—เปเบฒเบ—เบตเปˆเบฎเป‰เบฒเบเปเบฎเบ‡เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบš monoliths - เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเบณ monolithic เบ–เบทเบเบเปˆเบฒเบงเบซเบฒเบงเปˆเบฒเบšเปเปˆเบเบปเบ‡เบเบฑเบšเบฎเบนเบšเปเบšเบšเบ—เบธเบฅเบฐเบเบดเบ”เบ‚เบญเบ‡เป‚เบ”เป€เบกเบ™. เปเบกเปˆเบ™เปเบฅเป‰เบง, เบ–เป‰เบฒเป€เบ›เบฑเบ™เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบฅเบฐเบšเบปเบšเบˆเบฐเบšเปเปˆเบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เบงเบฝเบเป„เบ”เป‰เบ—เบฑเบ‡เบซเบกเบปเบ” - เบเบปเบ‡เบเบฑเบ™เบ‚เป‰เบฒเบกเบเบฑเบšเบเบปเบ”เบซเบกเบฒเบ Conway เบ”เบฝเบงเบเบฑเบ™เปเบฅเบฐเบ„เบงเบฒเบกเบฎเบนเป‰เบชเบถเบเบ—เบปเปˆเบงเป„เบ›. เบšเปเปˆ, เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒ monolithic เปเบกเปˆเบ™เบชเบญเบ”เบ„เปˆเบญเบ‡เบขเปˆเบฒเบ‡เป€เบ•เบฑเบกเบชเปˆเบงเบ™เบเบฑเบšเบฎเบนเบšเปเบšเบšเบ—เบธเบฅเบฐเบเบดเบ”เปƒเบ™เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ‚เบญเบ‡เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบ—เบธเบฅเบฐเบเบดเบ”เบ™เบตเป‰ - เปเบ™เปˆเบ™เบญเบ™, เบ‚เป‰เบญเบเบซเบกเบฒเบเป€เบ–เบดเบ‡เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ—เบตเปˆเบฅเบฐเบšเบปเบšเป„เบ”เป‰เบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบทเป‰เบ™เปเบฅเบฐเบ›เบฐเบ•เบดเบšเบฑเบ”เปเบฅเป‰เบง. เบกเบฑเบ™โ€‹เป€เบ›เบฑเบ™โ€‹เบ„เบงเบฒเบกโ€‹เบˆเบดเบ‡โ€‹เบ—เบตเปˆโ€‹เบ”เบตโ€‹เป€เบฅเบตเบ”โ€‹เบ—เบตเปˆโ€‹เบšเปเปˆโ€‹เบงเปˆเบฒโ€‹เบงเบดโ€‹เบ—เบตโ€‹เบเบฒเบ™โ€‹เบชเบฐโ€‹เบ–เบฒโ€‹เบ›เบฑเบ”โ€‹เบ•เบฐโ€‹, เบ—เบฑเบ‡โ€‹เบชเบญเบ‡โ€‹เบชเบฐโ€‹เบ–เบฒโ€‹เบ›เบฑเบ”โ€‹เบ•เบฐโ€‹เบเบฐโ€‹เบเปเบฒโ€‹เบเบฒเบ™โ€‹เบšเปโ€‹เบฅเบดโ€‹เบเบฒเบ™โ€‹เบฎเบฑเบ”โ€‹เบเบธเบก 3 เปเบฅเบฐโ€‹เบชเบฐโ€‹เบ–เบฒโ€‹เบ›เบฑเบ”โ€‹เบ•เบฐโ€‹เบˆเบธโ€‹เบฅเบฐโ€‹เบšเปโ€‹เบฅเบดโ€‹เบเบฒเบ™ N เบˆเบฐโ€‹เป€เบฎเบฑเบ”โ€‹เบงเบฝเบโ€‹เป„เบ”เป‰โ€‹เบขเปˆเบฒเบ‡โ€‹เป€เบ—เบปเปˆเบฒโ€‹เบ—เบฝเบกโ€‹เบเบฑเบ™โ€‹. เบˆเบฑเบšเปเบกเปˆเบ™เบซเบเบฑเบ‡?

เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เป„เบซเบผ, เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เบ›เปˆเบฝเบ™เปเบ›เบ‡, เบซเบผเบทเปเบกเปˆเบ™ microservices เป€เบ›เบฑเบ™เบงเบดเบ—เบตเบเบฒเบ™เบ•เปเปˆเบชเบนเป‰เบเบฑเบšเบ„เบงเบฒเบกเบชเบฑเบšเบชเบปเบ™?

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

เบœเบนเป‰เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบงเบดเบ—เบตเบเบฒเบ™ microservice เบกเบฑเบเบˆเบฐเป‚เบ•เป‰เบ–เบฝเบ‡เบงเปˆเบฒเบเบฒเบ™เบ—เปเบฒเบฅเบฒเบ monolith เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™ microservices เป€เบฎเบฑเบ”เปƒเบซเป‰เบงเบดเบ—เบตเบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบ‡เปˆเบฒเบเบ‚เบถเป‰เบ™เป‚เบ”เบเบเบฒเบ™เบซเบผเบธเบ”เบœเปˆเบญเบ™เบžเบทเป‰เบ™เบ–เบฒเบ™เบฅเบฐเบซเบฑเบ”เบ‚เบญเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบชเปˆเบงเบ™เบšเบธเบเบ„เบปเบ™. เปƒเบ™เบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™เบ‚เบญเบ‡เบ‚เป‰เบญเบ, เบ„เปเบฒเบ–เบฐเปเบซเบผเบ‡เบ™เบตเป‰เปเบกเปˆเบ™เบšเปเปˆเบกเบตเป€เบซเบ”เบœเบปเบ™เบ„เบปเบšเบ–เป‰เบงเบ™. เบขเปˆเบฒเบ‡เบฎเบธเบ™เปเบฎเบ‡, เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบ—เบตเปˆเบŠเบฑเบ”เป€เบˆเบ™เบžเบฒเบเปƒเบ™เบฅเบฐเบซเบฑเบ” monolith เปเบฅเบฐ homogeneous เป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเบชเบฑเบšเบชเบปเบ™เบšเป? เบ–เป‰เบฒเป€เบ›เบฑเบ™เปเบ™เบงเบ™เบตเป‰เปเบ—เป‰เป†, เป‚เบ„เบ‡เบเบฒเบ™เบ—เบฑเบ‡เปเบปเบ”เบˆเบฐเบ–เบทเบเบชเป‰เบฒเบ‡เป€เบ›เบฑเบ™เบšเปเบฅเบดเบเบฒเบ™เบˆเบธเบฅเบฐเบžเบฒเบ, เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เบงเปˆเบฒเบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เบเป‰เบฒเบเบˆเบฒเบ monolith เป„เบ›เบซเบฒ microservices เปเบกเปˆเบ™เบกเบตเบซเบผเบฒเบเบ—เบปเปˆเบงเป„เบ›. เบ„เบงเบฒเบกเบชเบฑเบšเบชเบปเบ™เบšเปเปˆเป„เบ”เป‰เบซเบฒเบเป„เบ›; เบกเบฑเบ™เบžเบฝเบ‡เปเบ•เปˆเบเป‰เบฒเบเบˆเบฒเบเปเบ•เปˆเบฅเบฐเป‚เบกเบ”เบนเบ™เป„เบ›เบซเบฒเบชเปˆเบงเบ™เบ•เบดเบ”เบ•เปเปˆ (เบšเปเปˆเบงเปˆเบฒเบˆเบฐเป€เบ›เบฑเบ™เบฅเบปเบ”เป€เบกเบ‚เปเป‰เบกเบนเบ™, RPC, APIs, เปเบฅเบฐเป‚เบ›เป‚เบ•เบ„เบญเบ™เบญเบทเปˆเบ™เป†) เปเบฅเบฐเบฅเบฐเบšเบปเบš orchestrating. เปเบฅเบฐเบ™เบตเป‰เปเบกเปˆเบ™เบเบฒเบ!

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

เบงเบปเบ‡เบˆเบญเบ™เบŠเบตเบงเบดเบ”เบ‚เบญเบ‡เบœเบฐเบฅเบดเบ”เบ•เบฐเบžเบฑเบ™เปเบฅเบฐเบงเบปเบ‡เบˆเบญเบ™เบŠเบตเบงเบดเบ”เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™

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

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

Microservices เป€เบ›เบฑเบ™เบงเบดเบ—เบตเบเบฒเบ™เบ•เปเปˆเบชเบนเป‰เบเบฑเบšเบ„เบงเบฒเบกเบชเบฑเบšเบชเบปเบ™ ... เบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ

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

เบเบฒเบ™เบ„เบปเป‰เบ™เบžเบปเบš

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

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

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