ααααααΈ α‘α© αααααααΆαα
ααΈαααα»αααΌααααΌ
ααΆαααααΆα
NB: ααΈααα’αΌ αα·ααααααα αΆαααααΆααα
α
α»ααααα
ααααααΆααααα ααααααααααα
ααα ααααΈααααΆα
ααΆβααααααΆβααΏαβαααβααα’βααΆαβααΆαβα αΆααβααααΎα αααααβααααΆαα αα·αβααΆαβαααααααΆαα αααΆαβααΆαααβαααβααΊβααΌα βααΆβααΆαβααΎαβα‘αΎαβαα½αβαα·αβαααααΆαααααβαα βααΈαααβα ααΆααααααΆααααααααααα»αααΆαααααααααΆααααΆααΆαααααααΌααα·αααααΆαααααα’αααααΆααααα α ααααααααΆααααααΈααααΌα ααΆαααααααααααα .
αααα»αααΉαα
αΆααααααΎαααΆαα½αααΉαααααΆα ααααα α’ααααα·ααααααα (αααα»αααααΆα 2015)
ααΆαααα αΆαααΈαααααα
αααα»αααααΈαααααααα·ααΈ monolithic αααααΆαααααααααααΆααααΆαααα½α ααα·αααΆαα
αΆααααααΎαααααΆααα
α»αα Microservices ααΆαααΆααα»ααααααααααΆαααααααΆααα·αααΆαααααΌαααΆαα½ααα½αααααΊααΆαααΆα ααα»αααααα
ααααααααΆααααα»αααααΆαααΎαα‘αΎα ααΆααα·α
αα·αααααααα·αααααΆαααΊαα·ααα½αα±ααααααααααΆαααααααΆαααα½αααα
αααα»αααΉααααααααα ααααΆα ααααααααααΆααααααΈααααΆαααααΎααααΆαα Kubernetesα
α ααα»α’αααΈααΆαααΆαααααα·ααΈααΆαα½αααΈααααΌααααΆααα’ααΆα? αααααΆαααααααΆαααααααααααααααααααααΌααααααΌαααΆαααααααααααααααΆααααααΆαααααααα ααααα
αααα»ααααααααΌαααΆααααααααααααααΆαααα’α₯αααα
ααααααααααααΆααααα Kubernetes α αααααΆααα·αααα αα»αααΆααα½αα
ααα½ααααααΉαααΆααααααααααααααΆαα monolith ααΆαα·ααααααααΆααα monolith ααααααΆααΆααααα
αα
α»ααααααααα αα·ααααααΆ monolith αα·αααααΆααααααα (ααααααΆααααα’α·αααΉαααΆααα
αααααααααααα»ααααΆαααΆααα)α
ααΌα αααα’αααα’αΆα ααΎαααΎα ααααΆα ααα α»αααααα (αα ααααααααΆαααααααα·ααΈ monolithic αα·α microservice αααα·ααα αααα»αα αααααΆαα ααΆααααααααααΆαα½α Kubernetes) ααΊαα·ααα»αααααΆααααΆααααΈαααααα·ααΈααΎααααααα αααααΆααααααΎαααΉααα·ααΆαα’αααΈαααααα·ααΈαααααααΎαααΆααααααααΎααααΆαα Kubernetesα
ααααΆααΈααααΌαααααΆααααααααα αα·ααααααααααααααΆαα
α αΎααααααΊααΆαααα·αα ααααα
ααΎα’αααΈαα
ααααααΆ ααααΆαααααααα microservice? ααΆαα½αααααΆαααααΌαα’αααααΌαα’ααααααααααααα·αααααΆαα αααααΎαααααα·αααααΆαααΆαααΆαααααα’αααα ααααα·αααΎααΎααααααααα
ααααΆα αααα·α ααΆααΊα
ααααα·αααΎα’αααα α
ααΆα ααΆααααααααααααααΆαααααα
αααααααααΆααααααααααΆα ααααΉαααΆα αααααααααΆαα ααααΆααΈααααΌ (ααααΆααααααΆαααΆα)α
αααααααα
"αααα·αα
αααα"α ααΎαααα»ααα½αααΏααΆααααΎαααα·ααααααααααααα»αααΆαααααα»ααα? ααΆααααΈααΎαααααΆαααα αααα»αααΆαααΎα α¨α₯ αααααα. αα·ααααααΆααα’αααα»αααααααΆααααΆααΈααααΌ (αααα αααα½αααΆαααΈαα
ααΆαααααααΆααααα½αααααΆαααααΆαααααααααααααα) ααα»ααααααααα
ααααΆαα
ααα½αα
αααΎαα ααΎα (αααα»αα αα»α Flant) αααα»αααΆαααΆα’αααααααααααααααΆααααα
αααααααααααΎααααΈααΎααααααα·ααΈααΆα
αααΎααααααααΌαααΆααααααΎαα‘αΎαααΆαααα
αααα»ααααα»αα αα»αααΌα
α (ααΆαα½αα’αααα’αα·αααααα 5 ααΆαα) αα·ααα
αααα»ααααα»αα αα»ααα (~ 500 α’αααα’αα·αααααα)α α’αααααααααααααααααααΊααΆααΎαααΎααααααα·ααΈααΆαααααααααα
αα·ααα·αααααααα»αααααααααΆα
αααΎαααααΆαα
α ααα»α’αααΈααΆαααΆααααΆααΈααααΌ?
α
αααααααα½αα’αααΈα’αααααααααααααααααΆααΈααααΌααΆα
- αααααααα αααΆααααΆαααααααΌαα»α;
- ααΆαααΆαααααααΆαα―αααΆααα;
- ααααΈααΆααααα»αααΆαααααΎαααΎααα αα αααα·ααααΆα
αααα»αααΆααα·ααΆαα αααΎαααΆαα½αααααΆαααααα αα·αα’αααα’αα·αααααααααααα·ααΈ α αΎααα½αααΆα ααα»α’αααΈααΆαααΆαα½αααααααΌαααΆαααααΆααΈααααΌα α αΎααααα»αααΆαααααΎαααααΈαααααααα»αααΆαααΆαααααΉααα»ααααααα½αααα αααααΆα’αααΈαααααΆαααΎαα‘αΎαα
ααααα·αααΎααΎααα·αααααΆα’αααΈα
ααα»α
αα½αα
ααα½α βαααα»αα’αΆααααααβ αααα
- αααααααα αααΆααααΆαααααααΌαα»αα αα ααΈαααααΎαααΆα monolith αααα½αα±αααααααααΆα α αΎαα₯α‘αΌααααα’αααΈααααααααΆαααΉαααααΌαααΆααααα ααααΆαααα’αΆααα αααα»αααααΆαα Git αααα’αααΈαααΆααα’ααααΊ "αα ααΎααααΎ" ααΆαααααααα αα·αααααα·αααααΌαααΆαααΆααααα αΌαααααΆααα
- α―αααΆαααααααΆαααΆαααααααΆαα ααΎαααΉαα’αΆα ααΆααα ααααααΆαααααααα―αααΆααα ααΎααααΈα±ααααΆαα’αα·ααααααααΆααααααΏα (ααααααααααΆααα»αααΆαααααΈαααααααααΆ);
- α―αααΆαααααΆαααααΆαα’αα·ααααααα ααΎαα’αΆα αααααααααΆααΈααααΌαααααααααα»ααα½α/α’αααα’αα·αααααα α αΎααα½ααα αααα»ααα½αααα α’ααα»ααααααΎαα’αΆα α’αα·ααααααΆαααΏαααΆααα»αα
- Π±ΠΎααΆαααΏααΆααααΆααααα αααΎαα ααααα·αααΎααΆααα·α αα·αααααααααααΎαα‘αΎα (ααααΆααΈααααΌαα½ααααα»αα αααα 20 ααααΆαα) ααααααΌαα»ααααα½αααΉααααααααΎαααΆα α αΎαααααααααααΆααααΌαααΉαααααααααΎαααΆαα
ααααΆααααααααααΈααααΌααααΆααααααΆ (αααααααααααααΆαα)
ααΎααααΈααααααααΈααΌαα ααα»αααααΆααα·ααα·ααααααΆα’αααΈαααααΎαααααΉααα»α αααα»αααΉααααα αΆαααΌα αααΌα ααΆα ααΌαααΆαααααααΆααααααααααΈααααΌααααΆααα’ααααΎαααα·αααααααΈααααααααααααααααΆααΆα αααΎαα
α§ααΆα ααααα½αααΉαααΆα αΆαα’αα‘αΆαα’ααΌααΈαααααΉαααααα½αααααααααΆαα½α Amazon α¬αααΆαα αα ααΆαα OZON α ααααΆαααααααα microservice ααααααΆααΎααα ααΌα αααα
αααααΆααααΆααα½ααααα
αΌαααααΆααα ααα»αα ααααΆααΈααααΌααΆαααααααααΌαααΆαααααααα
ααΎαααα·ααΆααααααααααΆα
αααααΆαααααΆααΈααααΌααΈαα½ααααααΌαααααΆααααααααΆα αα½αααααΆα
αααΎαααααΌαααΆαααΌαααααΆααα·αααααα αα·αααααΆαααααααΆααααααΆαααααα½ααααααα½αααα ααααΆααααααααα
α»ααααααααΆαααΌα
ααΆααααααα
ααΎβααΆαβααβαα·ααΆαβα’αααΈβαααα?
Fowler ααααΆαααΏαααααααα
α αΎαααΎαααΉαααΎαααΆααΎααΆαααααΉααα»αααααααΎαααααΌαααΆααααααα
αααααβαααααααβααβαααΌαα»α...
ααα»αααα ααΎβααΎαβααααΌαβαα½ααα»αβααΈααααΌβααααΆβααα»ααααΆαβ?ααΎααααΈα αΆααααααΎαααΆαααααΆααααααΌα? ααΎααΎαα’αΆα αα·αααΆααΎα’αααΈαααααΎαααΆααααααααααΆαααααααΆαααΆαα ααα αΆα (αααααΆααααΈααΆααα’αα ααααΎααΆαα½αααααΌαααΆαααααΎαααΆααααααΆαααααααΆαααααααΆααΈααααΌ)?
ααΆαααααΆα "
α―αααΆαααααΆαααααΆαααΆαααααααΆα...
ααΆααα αα ααααα ααΆααααΌαααΆααααααα α ααΎαα’αΆα ααΆααα ααααααΆααΈααααΌααΈαα½αααααα‘ααααΈααααΆα ααα»αααααα αααα»αααΆαα’αα»ααααα’αααααααΌααααα αααα»αααααΈαααααΆαααααααααα αα ααααΆααΈααααΌααΆα αααΎααα αΎαααΎαααααΌααααα αα·α αΆαααΆ ααααΆααααααΆαα αααααααα½αααα. ααΆαααααααααα’ ααΆααΌαα ααΎαααααΌαααααΎααααααα αααα»αααααααΈααΆα ααααα‘αααα½αααΆααΎααΎααααα»αααααΎαααΆαααΆαα ααααααΆαααΆαααααΆααααααΉαααααΌααααα¬ααα
ααααΈααΆααααα»αααΆαααααΎαααΎααα αα αααα·ααααΆ...
ααΆαβααΊα ααΌαα αΆαααΆ ααααΈααΆαα αααΎαααααΆαααααααααααΎααΆαααααΆαα αααΆααα ααΆααΆαααΆααααααΆααααΆαααα ααΈααααα·αααααΌαααααΎαααΎααα αα αααα·ααααΆααΎααααΈ "ααα" ααΆαα½ααα½αααα
α―αααΆαααααΆαααααΆαα’αα·αααααα...
ααΎααααΎααΌα ααααα ααΎααααΈααααΎα±ααααααα·ααα»αααΆααααααααααΆαααααααα·ααΈααΆααααΌα (ααΆαα½ααααΆαααΆαα»ααΆα αααΎα)? ααα»ααααα’ααααα ααααααΌααααααΆααΆα±ααααΆααααααα ααΆααα’αααααααΆααα ααααΆααα·ααααααΆ α ααα½ααα·αααααααααΈααΆααααααααααΎαα’αΆα ααΆαααααΆαααααΆα ααΆααααααΆαα·α αα½α αααα»αα.
ααΎβααΆαβααΆααβαααααΆαβα’αααΈβααΆααβα’ααβαααβαα βαααα»αβαααα»αβαααΆαβααΆ?... ααΆβααααβααΆβααΆβααΉαβααΆααβα’αααβα’αα·ααααααβααααΎβααΆαβαααβα―αααΆααα ααα»αααα "α ααααα" αααβααΆαβααΆααβααααΌαβααΆαβαααααβα±ααβαααα αΆαβαα αΌαβαααβααααααΈβαααααβαααααΆααβααΆαβααΆαααααα
ααΆαααααΎααΆαααααααΆααααα‘αα...
ααΆα / α αΆαααα»ααααααΆααααΌαααΆαααααααα αααα»αααααααα DBMS αααααΆαααααΎα αα αααα»αα§ααΆα αααααααΆαααααααααααααΆααααααα±αα Cassandra ααΉααα·αααΆααααα αΆααααα»αααα MySQL αα·α PostgreSQL ααΉαα
ΠΠΎααΆαααΏααΆααααΆααααααααΆαα...
αα·αααααΉαααααΆααααΆαααααααααΆααΈααααΌαα½ααα αααα»αααΆααα·αααΆααΉαααΆααααααΎα±ααααΌα αα»αααΆαααααΉαααααΌαααααααααααααΆααααΌαααα»ααααααα ααα»ααααααααΆααααα αΆααααΈαα½ααααααα ααΆαααααΎα±ααααΆαα microservice ααΆαααΆαα’αααααααααΊαα·ααΆαααΆααα. αααααΆαααααααΆααααααΈααααΌααααΎααααΆαααα αα αααα·ααααΆααααααααααΆ (memcache, Redis α
ααΆααααα»αααΆαααΆααααα...
ααααα·αααΆααα’ααΆααα
"αααααΊ" ααααααΆααααααΈααααΌ...
ααΎααα·αααααΉαααααΆαααααα»ααααααα αααααΆαααΎα (ααααΎ DNS αααα»αααΎαα‘αΎα α αααααα·αααααα (ααααΆαααααα»ααα·αααααα) αααααΆααα αααααα ααααα»ααααΆαα αααΎαα
α αΎααααααΊααΆααααααααααΆααααααααΆαααΆαααααΉααα»αααααααΎαα
ααα»ααααααααα·ααααααΆααα’αααα!
αααααΆαααα
- ααΆαα αααΎαααααααΆααΎαααΉαααααΌαααΆαα‘αΆααααα»αααΆαα
- ααΎααααΎααΌα ααααα ααΎααααΈααααΎα±ααααΆαααααα»ααα»αααΆααααΆαααα αααααααΉαααααΌααααα»ααααααααΆ? αααα½αααα αα·αααααΆαα αααααΎαααΊααΎααααΈαα·αα ααΆα ααααααααΆααααΆααααα ααα»ααααααΎααααΎααΌα ααααα ααΎααααΈααααΎααΏαααααα αααα»αααα·ααααα?
- ααααα·αααΎααΎααααα»ααα·ααΆαα’αααΈααΆααα½ααααααααααα½αα ααα½α αααααΆααααα ααα·αααααααΆααα αααα»ααα½αααααΈαα½αα ααΊααΆααΆαααΆααααααΉαααα’ααααααΆααααΎαααααΆααααααααα
- αααα αΆααααΆαααααΆααααααΌααααααΆαααΎαα‘αΎαα α§ααΆα ααα ααααα·αααΎααΎαααααΌαααΆαααααΎαα αα α»ααααααααΆααααα PHP ααα ααΎαααΉαααααΌαααΆαααααααααΆα α·αααα ααααααααΆααααΈαα½αα (α αΎαααΆααΆαααΆαααα·α)α
- ααΆαααΈαα ααααΎαααααΆααααα»αααααΆαααααααα·ααααα·ααΆαααΊ α α½αα α·ααα αα·αααααααα
α’αααΈαααααααΌαααααΎααΆαα½αααΆααα’ααααα?
α
αΆααααααΎαααΆαα½ααααααα·ααΈ monolithic. αααα·ααααααααα Fowler
αααα·αααααΆαααααααα½ααααααΊααΆ αααααΆαααααααααααααΆαααααΆααααααααααΈααααΌααααΆααΎααααΈααα½αααΆααααααα α’αααααααΌαααααΉααααΆαα αααΆαα αα·ααααααΆααα αα·ααααααααααΎαααααΆααααααΈααααΌ. α αΎααα·ααΈααα’αααα»ααααα»αααΆαααααα»ααα·ααααΆααΊ αααααΎα monolith α
ααα»ααααα α»ααααΆαααΆααΎααΎααααα·ααααα»αααααΆαααΆαααα?
ααα αΆαααααΌααααα»αααΆααααααααΆααααα αΆααΆαα½αααΊααααΌααααααααααΆαα½αααΆ α αΎααααααΆααΆααΆαααα αΆ αααααΎααα·αα αααααα»ααααααααα
ααααα·αααΎαα αααα»αααααΈαα monolith αα½α overgrown (αα ααααααααΎαα’ααα±ααΆαααΎααααΈαα·αααααΆααααααααααααΆααααΆ) ααΎαααΆαααΆαααααααααΆαααααΆαααααααα»αααααΈαααααΏααααα»αααΆαααααααααΆα: αα αααααα microservices α α½ααααααΆαααααα½α, ααα»ααααααΆααΆαα - ααΆααααΎααα·ααααααΈα!
α§ααΆα ααα αααααΆααααΌαααΆααα½ααααααΆααα·ααΆααααΆααΆαααΎ...
αααα αΆααααααΆααΈααααΌααααα½αα±αααααααααααα»αα
αα½ααααα
αΌαααααΆααΌαααααΆααααααΈααααΌααΆααα’αααααααα½ααα»αααααΌααααααΆααααΆααααααΎααααααααΆααα»αα
... α
αΌααα
αααα»αααααΆααΈααααΌαα½α αααααααααααα»ααα½α (ααααΎα αα·αααααααΆ ααΌα
αααα’ααααα·α) ααΆααΆ/αααααααααα
ααΆααΉαααΆα ORM αα½α (DBMS αα½α) αα·ααααααα·ααΈααΈαααΈααααΌαα
... ααα»ααααααΆααΌαα
α’αααα’αΆα
αααααααΆαα
αααΎααα
ααΈααα αααααα½αααΆαααααααααΌα
ααΆααααααα
ααΆαααααα
ααα αα
αααα»α Kubernetes ααΎαααααΎαααΆαααΆααα’ααααααα
αααα»αααααΈααΆα
ααααα‘αα αααααΆααααααΆααΎααα
ααα’αΆα
ααΆααααααα»α αα·αααααΎααΆαααααααΆααααα‘ααααΈααααΆα
αααααα
ααΌααααα‘ααααΎαααΌαααΆαααααΆααααα ααΆααΉααα αααα αΆααΆααα’αααααααΆαα½αααααΆααΈααααΌ ααΎαα‘αΎααααααΆαααααΆαααααΆααααΆααααΆαααααΆααα·α αα αααααα½ααα ααα»ααααα αα "αααααΆαα½αααααΆααΈααααΌ"α
αα αααα»αααΆααα "ααααΆααΈααααΌ" ααααα "ααΈααααΌ" ααΊαα·αα’αΆα ααααααΆαα. αα½αααΆααΆ "ααΈααααΌ" ααααα»ααααα αααααααΆααΌα ααΆααααΌααΌααΈαααααα ααα»αααααα»ααα·αααΆααΆααΆααΏαααΌα ααΆα α
α αΎααααααΆααααΆααα·αα α»αααααα ααΌααααααααα ααΆααΆαααΎααα·αα
αααααα
αααΆααα½αααααααα
ααΎααΆα (ααΆαααΎααααΆα) αα»ααααααααααα
ααΉαααΆααα·ααααααΆ ααααΆααααααααα»αααααααααΎαααααααααααα’αααααΊαααααααΆα
αααα β αα½αααααΉαααΎααα½αααΆαααααΆαααααα»ααααααΎαααααα’ααααααΆαααααΆααΈααααΌ αα·ααααΌααΌααΈαα ααααα·αααΎαααα»ααα·αααΆαααααΆααααααααααΆαα ααα»ααααα
αΆααααααΎααααααΎαααααΆααΈααααΌ αααααΏαααΉαα’αΆα
ααααΆααααΆαα·αααΆαα
ααΈααα’αΌ αα·αααααΆα
ααΈααα’αΌααΈαα»αααααααΆ (~50 ααΆααΈ ααΆα’αα»αα ααΆαα·ααααα αΆαααΈα’αΆααααααααΆα αααΎαααααα’αααααααααΆαα αααααΆαα αααΎααααααα’αΆαααααααααααΆαααΆααα ααα»αααααααααΆαααααααααΆ):
αααααα αΆααααααΆαααΆαααα
PS
αααΆαααΆααααααααααααα ααΎαααααααααααΎαα
- Β«
ααΆααααα½ααα·αα·ααα αα·α Kubernetes Β» (Dmitry Stolyarov; 28 α§αααΆ 2018 αα RootConf); - Β«
CI/CD ααΆαα’αα»ααααααα’αααα»αααΆαα½α Kubernetes αα·α GitLab Β» (Dmitry Stolyarov; ααααααΈ 7 αααα·α ααα·ααΆααααΆα 2017 αα ααΎ HighLoad ++); - Β«
αααα·αααααααααααΎαααΆαα½α Kubernetes αααα»αααααααααΌα α Β» (Dmitry Stolyarov; ααααααΈ 6 αααα·αα»ααΆ ααααΆα 2017 αα RootConf); - Β«
ααΎααααααΎαααΌαααΆα Docker αααααΆαα CI/CD αααΆααα αα αα·αααΆααααα½αααΆαα½α dapp Β» (Dmitry Stolyarov; ααααααΈ 8 αααα·α ααα·ααΆααααΆα 2016 αα ααΎ HighLoad ++); - Β«
ααΆαα’αα»ααααααΆαα ααα αΆαααααααΆαα½α Docker Β» (Dmitry Stolyarov; 31 α§αααΆ 2016 αα RootConf).
α’αααααα’αΆα α αΆααα’αΆααααααααΎααΆαααααα»αααααΆααααααα
- Β«
ααΆαβααααΆααβααβααΆαβαααα½αβααΉαβααααΆβααΈααααΌβαααα»αβααααΆα 2018 Β» - Β«
ααΆαα’αα»ααααααα’αααα»αα ααα½α 7 αααααΆααααΆαααααΎααααΆαααα»αααΊαααααααα ααΆα Google Β» - Β«
αααα·αα·ααΈ The New Stack ααααΈααΈαααα αΆαααααααααΆαα’αα»αααα Kubernetes "α
ααααα: www.habr.com