ΠΠ°ΡΠΈΠΎΠ½Π°Π»Π½Π°ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½Π° ΡΠ»ΡΠΆΠ±Π° Π·Π° ΡΠ°ΡΠ΅Π»ΠΈΡΠ½ΠΈ Π΄Π°Π½Π½ΠΈ Π·Π° ΠΎΠΊΠΎΠ»Π½Π°ΡΠ° ΡΡΠ΅Π΄Π° (NESDIS) Π½Π°ΠΌΠ°Π»ΠΈ ΡΠ°Π·Ρ ΠΎΠ΄ΠΈΡΠ΅ ΡΠΈ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π·Π° Red Hat Enterprise Linux (RHEL) Ρ 35% ΡΡΠ΅Π· ΠΌΠΈΠ³ΡΠΈΡΠ°Π½Π΅ ΠΎΡ Puppet Enterprise ΠΊΡΠΌ Ansible Tower. Π ΡΠΎΠ²Π° Π²ΠΈΠ΄Π΅ΠΎ βΠΊΠ°ΠΊ Π³ΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈΡ ΠΌΠ΅β ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈΡΡ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ ΠΠ°ΠΉΠΊΡΠ» Π Π°Ρ ΠΎΠ±ΡΡΠ½ΡΠ²Π° ΡΠ»ΡΡΠ°Ρ Π·Π° ΡΠ°Π·ΠΈ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ, ΡΠΏΠΎΠ΄Π΅Π»ΡΠΉΠΊΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΠΈ ΡΡΠ²Π΅ΡΠΈ ΠΈ Π½Π°ΡΡΠ΅Π½ΠΈ ΡΡΠΎΡΠΈ ΠΎΡ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ΡΠΎ ΠΎΡ Π΅Π΄ΠΈΠ½ SCM ΠΊΡΠΌ Π΄ΡΡΠ³.
ΠΡ ΡΠΎΠ²Π° Π²ΠΈΠ΄Π΅ΠΎ ΡΠ΅ Π½Π°ΡΡΠΈΡΠ΅:
- ΠΊΠ°ΠΊ Π΄Π° ΡΠ΅ ΠΎΠ±ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΡΠ΅Π΄ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎΡΠΎ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ ΠΎΡ Puppet Enterprise ΠΊΡΠΌ Ansible Tower;
- ΠΊΠ°ΠΊΠ²ΠΈ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅, Π·Π° Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΠΏΡΠ΅Ρ ΠΎΠ΄Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉ-ΠΏΠ»Π°Π²Π΅Π½;
- ΡΡΠ²Π΅ΡΠΈ Π·Π° ΡΡΠ°Π½ΡΠΊΠΎΠ΄ΠΈΡΠ°Π½Π΅ Π½Π° PE ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠΈ Π² Ansible Playbook;
- ΠΡΠ΅ΠΏΠΎΡΡΠΊΠΈ Π·Π° ΠΎΠΏΡΠΈΠΌΠ°Π»Π΅Π½ ΠΌΠΎΠ½ΡΠ°ΠΆ Π½Π° Ansible Tower.
ΠΠ΄ΡΠ°Π²Π΅ΠΉΡΠ΅ Π½Π° Π²ΡΠΈΡΠΊΠΈ, ΠΊΠ°Π·Π²Π°ΠΌ ΡΠ΅ ΠΠ°ΠΉΠΊΡΠ» Π Π°Ρ, Π°Π· ΡΡΠΌ ΡΡΠ°ΡΡΠΈ ΡΠΈΡΡΠ΅ΠΌΠ΅Π½ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ Π² ActioNet, ΠΊΠΎΠΉΡΠΎ ΡΠ°Π±ΠΎΡΠΈ Π·Π° ΡΡΠ»ΡΠ³Π°ΡΠ° NESDIS Π½Π° ΠΠ°ΡΠΈΠΎΠ½Π°Π»Π½Π°ΡΠ° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΈΡ Π·Π° ΠΎΠΊΠ΅Π°Π½ΠΈΡΠ΅ ΠΈ Π°ΡΠΌΠΎΡΡΠ΅ΡΠ°ΡΠ° (NOAA). ΠΠ½Π΅Ρ ΡΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΠΌ Π·Π° ΠΏΠΎΠ΄ΡΡΠ·Π²Π°Π½Π΅ Π½Π° Π½ΠΈΠ·ΠΎΠ²Π΅ - ΠΌΠΎΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½ ΠΎΠΏΠΈΡ ΠΎΡ ΠΌΠΈΠ³ΡΠΈΡΠ°Π½Π΅ ΠΎΡ Puppet Enterprise ΠΊΡΠΌ Ansible Tower. Π’Π΅ΠΌΠ°ΡΠ° Π½Π° ΡΠ°Π·ΠΈ ΠΏΡΠ΅Π·Π΅Π½ΡΠ°ΡΠΈΡ Π΅ Π΄Π° βΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌ Π±Π΅Π»Π΅Π·ΠΈΡΠ΅ ΡΠΈβ, ΠΎΡΡΠ°Π½Π°Π»ΠΈ ΡΠ»Π΅Π΄ ΠΊΠ°ΡΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈΡ ΡΠΎΠ·ΠΈ ΠΏΡΠ΅Ρ ΠΎΠ΄ ΠΏΠΎ-ΡΠ°Π½ΠΎ ΠΏΡΠ΅Π· Π³ΠΎΠ΄ΠΈΠ½Π°ΡΠ°. ΠΡΠΊΠ°ΠΌ Π΄Π° ΡΠΏΠΎΠ΄Π΅Π»Ρ ΠΊΠ°ΠΊΠ²ΠΎ Π½Π°ΡΡΠΈΡ ΡΡΠ΅Π· ΡΠΎΠ·ΠΈ ΠΏΡΠΎΡΠ΅Ρ. Π’Π°ΠΊΠ° ΡΠ΅, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ΅ Π·Π°Π΅ΠΌΠ΅ΡΠ΅ Ρ Π½Π΅ΡΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΌΠΎΡ ΠΎΠΏΠΈΡ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΠΏΡΠ΅Ρ ΠΎΠ΄Π° Π±Π΅Π· Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½Π° ΡΠ°Π±ΠΎΡΠ°.
ΠΠΈΠΆΠ΄Π°ΡΠ΅ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ ΡΠ»Π°ΠΉΠ΄ΠΎΠ²Π΅ Π² Π½Π°ΡΠ°Π»ΠΎΡΠΎ Π½Π° Π²ΡΡΠΊΠ° ΠΏΡΠ΅Π·Π΅Π½ΡΠ°ΡΠΈΡ Π½Π° Ansible Fest. Π’ΠΎΠ·ΠΈ ΡΠ»Π°ΠΉΠ΄ ΠΎΡΠ΅ΡΡΠ°Π²Π° ΠΈΡΡΠΎΡΠΈΡΡΠ° Π½Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡΡΠ° Π½Π° ΠΌΠΎΡΡΠ° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ. ΠΠ΅ ΡΡΠΌ Π½ΠΎΠ² Π² ΡΠΎΠ²Π°, Π·Π°ΡΠΎΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌ Puppet/Puppet Enterprise ΠΎΡ 2007 Π³. ΠΠ°ΠΏΠΎΡΠ½Π°Ρ Π΄Π° ΡΠ°Π±ΠΎΡΡ Ρ Ansible ΠΏΡΠ΅Π· 2016 Π³. ΠΈ ΠΊΠ°ΡΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ Π½Π° ΡΠΎΠ·ΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡ Π±ΡΡ ΠΏΡΠΈΠ²Π»Π΅ΡΠ΅Π½ ΠΎΡ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° βΡΡΠΈΠΊΠΎΠ²Π΅β Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΈΡ ΡΠ΅Π΄ ΠΈ ΠΏΡΠΎΡΡΠΈ ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ (ΠΊΠ½ΠΈΠ³ΠΈ Π·Π° ΠΈΠ³ΡΠΈ). Π ΠΊΡΠ°Ρ Π½Π° 2017 Π³. ΡΠ΅ ΠΎΠ±ΡΡΠ½Π°Ρ ΠΊΡΠΌ ΠΌΠΎΠ΅ΡΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΎΡΠ½ΠΎΡΠ½ΠΎ ΡΠΈΠ»Π½ΠΈΡΠ΅ ΠΏΡΠΈΡΠΈΠ½ΠΈ Π΄Π° ΡΠ΅ ΠΏΡΠ΅ΠΌΠ΅ΡΡΡ Π² Ansible Tower. Π‘Π»Π΅Π΄ ΠΌΠ°Π»ΠΊΠΎ ΡΠ΅ Π²ΠΈ ΡΠ°Π·ΠΊΠ°ΠΆΠ° Π·Π° ΠΏΡΠΈΡΠΈΠ½ΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΠΌΠ΅ ΠΏΠΎΠ΄ΡΠΈΠΊΠ½Π°Ρ Π° Π΄Π° Π½Π°ΠΏΡΠ°Π²Ρ ΡΠ°Π·ΠΈ ΡΡΡΠΏΠΊΠ°. Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΡ ΡΡΠ³Π»Π°ΡΠΈΠ΅ΡΠΎ Π½Π° ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎΡΠΎ, Π±ΡΡ Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ ΠΎΡΠ΅ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΌΠ΅ΡΠ΅ΡΠ° Π·Π° Π·Π°Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠ»Π°Π½Π° ΠΈ Π°Π· Π½Π°ΠΏΡΠ°Π²ΠΈΡ ΠΏΡΠ΅Ρ ΠΎΠ΄Π° ΠΏΡΠ΅Π· ΡΠ½ΡΠ°ΡΠΈ-ΡΠ΅Π²ΡΡΠ°ΡΠΈ ΡΠ°Π·ΠΈ Π³ΠΎΠ΄ΠΈΠ½Π°. Π ΡΠ°ΠΊΠ°, Π½ΠΈΠ΅ Π½Π°ΠΏΡΠ»Π½ΠΎ ΠΈΠ·ΠΎΡΡΠ°Π²ΠΈΡ ΠΌΠ΅ Puppet Π² ΠΏΠΎΠ»Π·Π° Π½Π° Ansible ΠΈ ΡΠΎΠ²Π° Π΅ ΡΡΡΠ°Ρ ΠΎΡΠ½ΠΎ Π½Π΅ΡΠΎ.
Π’ΠΎΠ²Π°, ΠΊΠΎΠ΅ΡΠΎ ΠΌΠ΅ ΠΏΡΠΈΠ²Π»ΠΈΡΠ° Π½Π°ΠΉ-ΠΌΠ½ΠΎΠ³ΠΎ Π² Ansible, Π΅ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡΠ° Π΄Π° ΠΏΠΈΡΠ° ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌ ΡΠΎΠ»ΠΈ ΠΈ ΠΊΠ½ΠΈΠ³ΠΈ-ΠΈΠ³ΡΠΈ. Π ΠΎΠ»ΠΈΡΠ΅ ΡΠ° ΡΡΠ΄Π΅ΡΠ½ΠΈ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΎΡΠ΄Π΅Π»Π½ΠΈ, Π½ΠΎ ΡΠ²ΡΡΠ·Π°Π½ΠΈ Π·Π°Π΄Π°ΡΠΈ ΠΈ ΠΏΠΎΡΡΠ°Π²ΡΠ½Π΅ Π½Π° Π²ΡΠΈΡΠΊΠΈ Π΄Π°Π½Π½ΠΈ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΡΠ΅Π·ΠΈ Π·Π°Π΄Π°ΡΠΈ, Π½Π° Π΅Π΄Π½ΠΎ ΠΌΡΡΡΠΎ. ΠΠ½ΠΈΠ³Π°ΡΠ° Π·Π° ΠΈΠ³ΡΠ° Π΅ YAML ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ, ΡΠΊΡΠΈΠΏΡΠΎΠ² ΡΠ°ΠΉΠ», ΠΊΠΎΠΉΡΠΎ ΠΎΠΏΠΈΡΠ²Π° Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π·Π° Π΅Π΄ΠΈΠ½ ΠΈΠ»ΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅ Ρ
ΠΎΡΡΠΎΠ²Π΅. ΠΠ°Π·Π²Π°ΠΌ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ Π·Π° ΡΠ΅Π·ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΏΡΠ΅Π΄ΠΈΠΌΠ½ΠΎ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π½Π° ΡΠΎΡΡΡΠ΅Ρ. Ansible Tower Π²ΠΈ Π΄Π°Π²Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π΄Π° ΠΊΠ°ΠΆΠ΅ΡΠ΅ βΠ½Π΅, Π½ΡΠΌΠ°ΡΠ΅ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ shell, Π½ΠΎ Π²ΠΈ Π΄Π°Π²Π°ΠΌ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°ΡΠ΅ Π²ΡΠΈΡΠΊΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ Π½Π° Tower ΠΈ Π΄Π° ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ ΡΡΠ»ΡΠ³Π°ΡΠ°, ΠΊΠΎΠ³Π°ΡΠΎ ΠΈΠΌΠ°ΡΠ΅ Π½ΡΠΆΠ΄Π° ΠΎΡ Π½Π΅Ρ.β Π©Π΅ Π²ΠΈ ΡΠ°Π·ΠΊΠ°ΠΆΠ° Π·Π° ΡΠ°Π±ΠΎΡΠ½Π°ΡΠ° ΡΡΠ΅Π΄Π° ΠΈ ΠΎΠ±ΠΎΡΡΠ΄Π²Π°Π½Π΅ΡΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅.
Π’ΠΎΠ²Π° Π΅ ΡΠ΅Π΄Π΅ΡΠ°Π»Π½Π° Π»ΠΎΠΊΠ°Π»Π½Π° ΠΌΡΠ΅ΠΆΠ°, 7 ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈ ΡΠ°ΠΉΡΠ°, ΡΠ²ΡΡΠ·Π°Π½ΠΈ ΡΡΠ΅Π· ΠΎΠ±Π»Π°ΡΠ΅Π½ MPLS, 140 RHEL ΡΡΡΠ²ΡΡΠ°, 99% ΠΎΡ ΠΊΠΎΠΈΡΠΎ ΡΠ° Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ (vSphere), Ρ
Π°ΡΠ΄ΡΠ΅Ρ SuperMicro, NexentaStore ΠΌΡΠ΅ΠΆΠΎΠ²ΠΎ ΡΡΡ
ΡΠ°Π½Π΅Π½ΠΈΠ΅, Π½Π°Π±ΠΎΡ ΠΎΡ ΠΊΠΎΠΌΡΡΠ°ΡΠΎΡΠΈ Cisco, Arista ΠΈ Cumulus ΠΈ Fortinet UTM ΡΠ½ΠΈΡΠΈΡΠΈΡΠ°Π½ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π·Π°ΠΏΠ»Π°Ρ
ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π½Π° Π²ΡΠ΅ΠΊΠΈ ΡΠ°ΠΉΡ.
Π€Π΅Π΄Π΅ΡΠ°Π»Π½Π°ΡΠ° ΠΌΡΠ΅ΠΆΠ° ΠΎΠ·Π½Π°ΡΠ°Π²Π°, ΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌ Π²ΡΠΈΡΠΊΠΈ ΠΌΠ΅ΡΠΊΠΈ Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ°, ΠΏΡΠ΅Π΄Π²ΠΈΠ΄Π΅Π½ΠΈ ΠΎΡ Π·Π°ΠΊΠΎΠ½Π°. Π’ΡΡΠ±Π²Π° Π΄Π° ΠΈΠΌΠ°ΡΠ΅ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄, ΡΠ΅ Puppet Enterprise Π½Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΠΎΡ Ρ Π°ΡΠ΄ΡΠ΅ΡΠ°, ΠΊΠΎΠΉΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅. ΠΡΠΈΠ½ΡΠ΄Π΅Π½ΠΈ ΡΠΌΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π±ΡΠ΄ΠΆΠ΅ΡΠ΅Π½ Ρ Π°ΡΠ΄ΡΠ΅Ρ, Π·Π°ΡΠΎΡΠΎ Π΄ΡΡΠΆΠ°Π²Π½ΠΈΡΠ΅ Π°Π³Π΅Π½ΡΠΈΠΈ ΠΈΠΌΠ°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ ΡΠΈΠ½Π°Π½ΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΠ°Π·ΠΈ ΡΠ°Π·Ρ ΠΎΠ΄Π½Π° ΠΏΠΎΠ·ΠΈΡΠΈΡ. ΠΠ°ΡΠΎΠ²Π° Π·Π°ΠΊΡΠΏΡΠ²Π°ΠΌΠ΅ Ρ Π°ΡΠ΄ΡΠ΅Ρ SuperMicro ΠΈ ΡΠ³Π»ΠΎΠ±ΡΠ²Π°ΠΌΠ΅ Π½Π°ΡΠ΅ΡΠΎ ΠΎΠ±ΠΎΡΡΠ΄Π²Π°Π½Π΅ ΠΎΡ ΠΎΡΠ΄Π΅Π»Π½ΠΈ ΡΠ°ΡΡΠΈ, ΡΠΈΡΡΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π΅ Π³Π°ΡΠ°Π½ΡΠΈΡΠ°Π½Π° Ρ Π΄ΡΡΠΆΠ°Π²Π½ΠΈ ΠΏΠΎΡΡΡΠΊΠΈ. ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Linux ΠΈ ΡΠΎΠ²Π° Π΅ Π΅Π΄Π½Π° ΠΎΡ Π²Π°ΠΆΠ½ΠΈΡΠ΅ ΠΏΡΠΈΡΠΈΠ½ΠΈ Π΄Π° ΠΏΡΠ΅ΠΌΠΈΠ½Π΅ΠΌ ΠΊΡΠΌ Ansible.
ΠΠ°ΡΠ°ΡΠ° ΠΈΡΡΠΎΡΠΈΡ Ρ Puppet Π΅ ΡΠ»Π΅Π΄Π½Π°ΡΠ°.
ΠΡΠ΅Π· 2007 Π³. ΠΈΠΌΠ°Ρ
ΠΌΠ΅ ΠΌΠ°Π»ΠΊΠ° ΠΌΡΠ΅ΠΆΠ° ΠΎΡ 20-25 Π²ΡΠ·Π΅Π»Π°, Π² ΠΊΠΎΡΡΠΎ Π²Π½Π΅Π΄ΡΠΈΡ
ΠΌΠ΅ Puppet. ΠΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏ ΡΠ΅Π·ΠΈ Π²ΡΠ·Π»ΠΈ Π±ΡΡ
Π° ΠΏΡΠΎΡΡΠΎ βΠΊΡΡΠΈΠΈβ Π½Π° RedHat. ΠΡΠ΅Π· 2010 Π³. Π·Π°ΠΏΠΎΡΠ½Π°Ρ
ΠΌΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΡΠ΅Π± ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Puppet Dashboard Π·Π° 45 Π²ΡΠ·Π΅Π»Π°. Π’ΡΠΉ ΠΊΠ°ΡΠΎ ΠΌΡΠ΅ΠΆΠ°ΡΠ° ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈ Π΄Π° ΡΠ΅ ΡΠ°Π·ΡΠΈΡΡΠ²Π°, Π½ΠΈΠ΅ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Ρ
ΠΌΠ΅ ΠΊΡΠΌ PE 2014 ΠΏΡΠ΅Π· 3.3 Π³., ΠΊΠ°ΡΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈΡ
ΠΌΠ΅ ΠΏΡΠ»Π΅Π½ ΠΏΡΠ΅Ρ
ΠΎΠ΄ Ρ ΠΏΡΠ΅Π½Π°ΠΏΠΈΡΠ²Π°Π½Π΅ Π½Π° ΠΌΠ°Π½ΠΈΡΠ΅ΡΡ Π·Π° 75 Π²ΡΠ·Π΅Π»Π°. Π’ΠΎΠ²Π° ΡΡΡΠ±Π²Π°ΡΠ΅ Π΄Π° ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈ, Π·Π°ΡΠΎΡΠΎ Puppet ΠΎΠ±ΠΈΡΠ° Π΄Π° ΠΏΡΠΎΠΌΠ΅Π½Ρ ΠΏΡΠ°Π²ΠΈΠ»Π°ΡΠ° Π½Π° ΠΈΠ³ΡΠ°ΡΠ°, Π° Π² ΡΠΎΠ·ΠΈ ΡΠ»ΡΡΠ°ΠΉ ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡ
Π° Π½Π°ΠΏΡΠ»Π½ΠΎ Π΅Π·ΠΈΠΊΠ°. ΠΠΎΠ΄ΠΈΠ½Π° ΠΏΠΎ-ΠΊΡΡΠ½ΠΎ, ΠΊΠΎΠ³Π°ΡΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π·Π° Π²Π΅ΡΡΠΈΡ 3 Π½Π° Puppet Enterprise ΠΏΡΠΈΠΊΠ»ΡΡΠΈ, Π±ΡΡ
ΠΌΠ΅ ΠΏΡΠΈΠ½ΡΠ΄Π΅Π½ΠΈ Π΄Π° ΠΌΠΈΠ³ΡΠΈΡΠ°ΠΌΠ΅ ΠΊΡΠΌ PE 2015.2. Π’ΡΡΠ±Π²Π°ΡΠ΅ Π΄Π° ΠΏΡΠ΅Π½Π°ΠΏΠΈΡΠ΅ΠΌ ΠΎΡΠ½ΠΎΠ²ΠΎ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ° Π·Π° Π½ΠΎΠ²ΠΈΡΠ΅ ΡΡΡΠ²ΡΡΠΈ ΠΈ Π΄Π° Π·Π°ΠΊΡΠΏΠΈΠΌ Π»ΠΈΡΠ΅Π½Π· Ρ ΡΠ΅Π·Π΅ΡΠ² ΠΎΡ 100 Π²ΡΠ·Π΅Π»Π°, Π²ΡΠΏΡΠ΅ΠΊΠΈ ΡΠ΅ ΠΏΠΎ ΡΠΎΠ²Π° Π²ΡΠ΅ΠΌΠ΅ ΠΈΠΌΠ°Ρ
ΠΌΠ΅ ΡΠ°ΠΌΠΎ 85 Π²ΡΠ·Π΅Π»Π°.
ΠΠ·ΠΌΠΈΠ½Π°Ρ Π° ΡΠ°ΠΌΠΎ 2 Π³ΠΎΠ΄ΠΈΠ½ΠΈ ΠΈ ΠΎΡΠ½ΠΎΠ²ΠΎ ΡΡΡΠ±Π²Π°ΡΠ΅ Π΄Π° ΡΠ²ΡΡΡΠΈΠΌ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π±ΠΎΡΠ°, Π·Π° Π΄Π° ΠΌΠΈΠ³ΡΠΈΡΠ°ΠΌΠ΅ ΠΊΡΠΌ Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ PE 2016.4. ΠΡΠΏΠΈΡ ΠΌΠ΅ Π»ΠΈΡΠ΅Π½Π· Π·Π° 300 Π²ΡΠ·Π΅Π»Π°, ΠΊΠ°ΡΠΎ ΠΈΠΌΠ°Ρ ΠΌΠ΅ ΡΠ°ΠΌΠΎ 130. ΠΡΠ½ΠΎΠ²ΠΎ ΡΡΡΠ±Π²Π°ΡΠ΅ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌ Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ°, Π·Π°ΡΠΎΡΠΎ Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π½Π° Π΅Π·ΠΈΠΊΠ° ΠΈΠΌΠ°ΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠ΅Π½ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΎΡ Π΅Π·ΠΈΠΊΠ° Π½Π° Π²Π΅ΡΡΠΈΡΡΠ° ΠΎΡ 2015 Π³. Π ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° ΡΠΎΠ²Π° Π½Π°ΡΠΈΡΡ SCM ΠΏΡΠ΅ΠΌΠΈΠ½Π° ΠΎΡ SVN ΠΊΠΎΠ½ΡΡΠΎΠ» Π½Π° Π²Π΅ΡΡΠΈΠΈΡΠ΅ ΠΊΡΠΌ Bitbucket (Git). Π’ΠΎΠ²Π° Π±Π΅ΡΠ΅ Π½Π°ΡΠ°ΡΠ° βΠ²ΡΡΠ·ΠΊΠ°β Ρ Puppet.
Π’Π°ΠΊΠ° ΡΠ΅ ΡΡΡΠ±Π²Π°ΡΠ΅ Π΄Π° ΠΎΠ±ΡΡΠ½Ρ Π½Π° ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎΡΠΎ Π·Π°ΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΡΠ΅ΠΌΠΈΠ½Π΅ΠΌ ΠΊΡΠΌ ΡΠ°Π·Π»ΠΈΡΠ΅Π½ SCM, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΈ. ΠΡΡΠ²Π°ΡΠ° Π΅ Π²ΠΈΡΠΎΠΊΠ°ΡΠ° ΡΠ΅Π½Π° Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ°. ΠΠΎΠ²ΠΎΡΠΈΡ Ρ ΠΌΠΎΠΌΡΠ΅ΡΠ°ΡΠ° ΠΎΡ RedHat ΠΈ ΡΠ΅ ΠΊΠ°Π·Π°Ρ Π°, ΡΠ΅ ΡΠ΅Π½Π°ΡΠ° Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΌΡΠ΅ΠΆΠ° ΠΎΡ 300 Π²ΡΠ·Π΅Π»Π° Ρ Ansible Tower Π΅ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π°ΡΠ° ΠΎΡ ΡΠ΅Π½Π°ΡΠ° Π½Π° Puppet Enterprise. ΠΠΊΠΎ Π·Π°ΠΊΡΠΏΠΈΡΠ΅ ΠΈ Ansible Engine, ΡΠ΅Π½Π°ΡΠ° ΡΠ΅ Π±ΡΠ΄Π΅ ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»Π½ΠΎ ΡΡΡΠ°ΡΠ°, Π½ΠΎ ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΡ PE. Π’ΡΠΉ ΠΊΠ°ΡΠΎ ΡΠΌΠ΅ Π΄ΡΡΠΆΠ°Π²Π½Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ, ΡΠΈΠ½Π°Π½ΡΠΈΡΠ°Π½Π° ΠΎΡ ΡΠ΅Π΄Π΅ΡΠ°Π»Π½ΠΈΡ Π±ΡΠ΄ΠΆΠ΅Ρ, ΡΠΎΠ²Π° Π΅ Π΄ΠΎΡΡΠ° ΡΠΈΠ»Π΅Π½ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ.
ΠΡΠΎΡΠΈΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Π΅ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»Π½ΠΎΡΡΡΠ°. Puppet ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΠ°ΠΌΠΎ Ρ
Π°ΡΠ΄ΡΠ΅Ρ, ΠΊΠΎΠΉΡΠΎ ΠΈΠΌΠ° Π°Π³Π΅Π½Ρ Puppet. Π’ΠΎΠ²Π° ΠΎΠ·Π½Π°ΡΠ°Π²Π°, ΡΠ΅ Π°Π³Π΅Π½Ρ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½ Π½Π° Π²ΡΠΈΡΠΊΠΈ ΠΊΠΎΠΌΡΡΠ°ΡΠΎΡΠΈ ΠΈ ΡΡΡΠ±Π²Π° Π΄Π° Π΅ Π½Π°ΠΉ-Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ. Π Π°ΠΊΠΎ Π½ΡΠΊΠΎΠΈ ΠΎΡ Π²Π°ΡΠΈΡΠ΅ ΠΏΡΠ΅Π²ΠΊΠ»ΡΡΠ²Π°ΡΠ΅Π»ΠΈ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ Π΅Π΄Π½Π° Π²Π΅ΡΡΠΈΡ, Π° Π΄ΡΡΠ³ΠΈ Π΄ΡΡΠ³Π°, ΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ Π½ΠΎΠ²Π° Π²Π΅ΡΡΠΈΡ Π½Π° PE Π°Π³Π΅Π½ΡΠ° Π²ΡΡΡ
Ρ ΡΡΡ
, ΡΠ°ΠΊΠ° ΡΠ΅ Π²ΡΠΈΡΠΊΠΈ Π΄Π° ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ°Π±ΠΎΡΡΡ Π² Π΅Π΄Π½Π° ΠΈ ΡΡΡΠ° SCM ΡΠΈΡΡΠ΅ΠΌΠ°.
Π‘ΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Ansible Tower ΡΠ°Π±ΠΎΡΠΈ ΠΏΠΎ ΡΠ°Π·Π»ΠΈΡΠ΅Π½ Π½Π°ΡΠΈΠ½, Π·Π°ΡΠΎΡΠΎ Π½ΡΠΌΠ° Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ Π°Π³Π΅Π½ΡΠΈ, Π½ΠΎ ΠΈΠΌΠ° ΠΌΠΎΠ΄ΡΠ»ΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ ΠΊΠΎΠΌΡΡΠ°ΡΠΎΡΠΈ Π½Π° Cisco ΠΈ Π²ΡΠΈΡΠΊΠΈ Π΄ΡΡΠ³ΠΈ ΠΊΠΎΠΌΡΡΠ°ΡΠΎΡΠΈ. Π’ΠΎΠ·ΠΈ SCM ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° Qubes OS, Linux ΠΈ 4.NET UTM. Ansible Tower ΡΡΡΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° NexentaStore ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΠΈ Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° ΡΠ΄ΡΠΎΡΠΎ Illumos, Unix-Π±Π°Π·ΠΈΡΠ°Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° Ρ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΊΠΎΠ΄. Π’ΠΎΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°, Π½ΠΎ Ansible Tower Π³ΠΎ ΠΏΡΠ°Π²ΠΈ ΡΠ°ΠΊΠ° ΠΈΠ»ΠΈ ΠΈΠ½Π°ΡΠ΅.
Π’ΡΠ΅ΡΠΈΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ, ΠΊΠΎΠΉΡΠΎ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π°ΠΆΠ΅Π½ ΠΊΠ°ΠΊΡΠΎ Π·Π° ΠΌΠ΅Π½, ΡΠ°ΠΊΠ° ΠΈ Π·Π° Π½Π°ΡΠ°ΡΠ° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΈΡ, Π΅ Π»Π΅ΠΊΠΎΡΠ°ΡΠ° Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅. ΠΡΠ΅ΠΊΠ°ΡΠ°Ρ 10 Π³ΠΎΠ΄ΠΈΠ½ΠΈ Π² ΠΎΠ²Π»Π°Π΄ΡΠ²Π°Π½Π΅ Π½Π° Puppet ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΈ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ΅Π½ ΠΊΠΎΠ΄, Π½ΠΎ Π½Π°ΡΡΠΈΡ Ansible Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° Π΅Π΄Π½Π° ΡΠ΅Π΄ΠΌΠΈΡΠ°, Π·Π°ΡΠΎΡΠΎ ΡΠΎΠ·ΠΈ SCM Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-Π»Π΅ΡΠ΅Π½ Π·Π° ΡΠ°Π±ΠΎΡΠ°. ΠΠΊΠΎ ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΠΈΠΌΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΡΠ°Π·Π±ΠΈΡΠ° ΡΠ΅, ΠΎΡΠ²Π΅Π½ Π°ΠΊΠΎ Π½Π΅ Π³ΠΎ ΠΏΡΠ°Π²ΠΈΡΠ΅ Π½Π΅Π½ΡΠΆΠ½ΠΎ, ΡΠΎΠ³Π°Π²Π° ΠΈΠ½ΡΠ΅Π»ΠΈΠ³Π΅Π½ΡΠ½ΠΈ ΠΈ ΠΎΡΠ·ΠΈΠ²ΡΠΈΠ²ΠΈ ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΎΡΠΈ ΡΠ°Π±ΠΎΡΡΡ Ρ ΡΡΡ . ΠΠ°Π·ΠΈΡΠ°Π½ΠΈΡΠ΅ Π½Π° YAML ΠΊΠ½ΠΈΠ³ΠΈ-ΠΈΠ³ΡΠΈ ΡΠ° Π»Π΅ΡΠ½ΠΈ Π·Π° Π½Π°ΡΡΠ°Π²Π°Π½Π΅ ΠΈ Π±ΡΡΠ·ΠΈ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅. Π’Π΅Π·ΠΈ, ΠΊΠΎΠΈΡΠΎ Π½ΠΈΠΊΠΎΠ³Π° ΠΏΡΠ΅Π΄ΠΈ Π½Π΅ ΡΠ° ΡΡΠ²Π°Π»ΠΈ Π·Π° YAML, ΠΌΠΎΠ³Π°Ρ ΠΏΡΠΎΡΡΠΎ Π΄Π° ΠΏΡΠΎΡΠ΅ΡΠ°Ρ ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ΡΠ΅ ΠΈ Π»Π΅ΡΠ½ΠΎ Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ°Ρ ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠΈ.
Π§Π΅ΡΡΠ½ΠΎ ΠΊΠ°Π·Π°Π½ΠΎ, Puppet ΠΏΡΠ°Π²ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π²ΠΈ ΠΊΠ°ΡΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-ΡΡΡΠ΄Π½Π°, Π·Π°ΡΠΎΡΠΎ ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π°Π²Π° Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Puppet Master. Π’ΠΎΠ²Π° Π΅ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π°ΡΠ° ΠΌΠ°ΡΠΈΠ½Π°, Π½Π° ΠΊΠΎΡΡΠΎ Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»Π΅Π½ΠΎ Π΄Π° ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠΈΡΠ° Ρ ΠΌΠ°ΡΠΈΠΎΠ½Π΅ΡΠ½ΠΈ Π°Π³Π΅Π½ΡΠΈ. ΠΠΊΠΎ ΡΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈΠ»ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ° ΠΈ ΠΈΡΠΊΠ°ΡΠ΅ Π΄Π° ΡΠ΅ΡΡΠ²Π°ΡΠ΅ ΠΊΠΎΠ΄Π° ΡΠΈ, ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΡΠ΅Π½Π°ΠΏΠΈΡΠ΅ΡΠ΅ ΠΊΠΎΠ΄Π° Π·Π° Puppet Master, ΡΠΎΠ΅ΡΡ Π΄Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΡΠ΅ ΡΠ°ΠΉΠ»Π° Puppet Master /etc/hosts, Π·Π° Π΄Π° ΡΠ²ΡΡΠΆΠ΅ΡΠ΅ Π²ΡΠΈΡΠΊΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈ ΠΈ Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ ΡΡΠ»ΡΠ³Π°ΡΠ° Puppet Server. Π‘Π°ΠΌΠΎ ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° ΡΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ΅ΡΡΠ²Π°ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΠΌΡΠ΅ΠΆΠΎΠ²ΠΎΡΠΎ ΠΎΠ±ΠΎΡΡΠ΄Π²Π°Π½Π΅ Π½Π° Π΅Π΄ΠΈΠ½ Ρ
ΠΎΡΡ. Π’ΠΎΠ²Π° Π΅ Π΄ΠΎΡΡΠ° Π±ΠΎΠ»Π΅Π·Π½Π΅Π½Π° ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°.
ΠΡΠΈΡΠΊΠΎ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-ΠΏΡΠΎΡΡΠΎ Π² Ansible. ΠΡΠΈΡΠΊΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅, Π΅ Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΈΡΠ΅ ΠΊΠΎΠ΄ Π·Π° ΠΌΠ°ΡΠΈΠ½Π°, ΠΊΠΎΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠΈΡΠ° ΡΡΠ΅Π· SSH Ρ ΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ Ρ
ΠΎΡΡ. Π’ΠΎΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-Π»Π΅ΡΠ½ΠΎ Π·Π° ΡΠ°Π±ΠΎΡΠ°.
Π‘Π»Π΅Π΄Π²Π°ΡΠΎΡΠΎ Π³ΠΎΠ»ΡΠΌΠΎ ΠΏΡΠ΅Π΄ΠΈΠΌΡΡΠ²ΠΎ Π½Π° Ansible Tower Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠ°ΡΠ° ΡΠΈ ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° ΠΈ Π΄Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠ°ΡΠ° ΡΠΈ Ρ Π°ΡΠ΄ΡΠ΅ΡΠ½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ. Π’ΠΎΠ·ΠΈ SCM ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΡΠ»Π°ΡΠ° Π½Π°Π»ΠΈΡΠ½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° Π²Π°ΡΠ°ΡΠ° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° ΠΈ Ρ Π°ΡΠ΄ΡΠ΅Ρ, Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ, ΡΡΡΠ²ΡΡΠΈ ΠΈ Ρ.Π½. Π±Π΅Π· Π½ΠΈΠΊΠ°ΠΊΠ²ΠΈ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΡΡΡΠΏΠΊΠΈ. ΠΠΎΠΆΠ΅ Π΄Π° ΠΎΠ±ΡΡΠ²Π° Ρ Π²Π°ΡΠΈΡΠ΅ ΡΡΡΠ²ΡΡΠΈ RH Satellite, Π°ΠΊΠΎ ΠΈΠΌΠ°ΡΠ΅ ΡΠ°ΠΊΡΠ², ΠΈ Π²ΠΈ Π΄Π°Π²Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ Π½ΠΈΠΊΠΎΠ³Π° Π½ΡΠΌΠ° Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ Ρ Puppet.
ΠΡΡΠ³ΠΎ Π²Π°ΠΆΠ½ΠΎ Π½Π΅ΡΠΎ Π΅ Π΄Π΅ΡΠ°ΠΉΠ»Π½ΠΈΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ». ΠΠ½Π°Π΅ΡΠ΅, ΡΠ΅ Puppet Π΅ ΠΌΠΎΠ΄ΡΠ»Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°, ΡΠΎΠ²Π° Π΅ ΠΊΠ»ΠΈΠ΅Π½Ρ-ΡΡΡΠ²ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΠ°ΠΊΠ° ΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΈΡΠ΅ Π°ΡΠΏΠ΅ΠΊΡΠΈ Π½Π° Π²ΡΠΈΡΠΊΠΈΡΠ΅ ΡΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ Π² Π΅Π΄ΠΈΠ½ Π΄ΡΠ»ΡΠ³ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡ. Π ΡΠΎΠ·ΠΈ ΡΠ»ΡΡΠ°ΠΉ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° Π²ΡΠ΅ΠΊΠΈ ΠΎΡΠ΄Π΅Π»Π΅Π½ Π΅Π»Π΅ΠΌΠ΅Π½Ρ ΠΎΡ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΡΠ΅ΡΡΠ²Π° Π½Π° Π²ΡΠ΅ΠΊΠΈ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½ ΡΠ°Ρ - ΡΠΎΠ²Π° Π΅ ΠΏΠ΅ΡΠΈΠΎΠ΄ΡΡ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅. ΠΡΠΎ ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠΈ Puppet.
ΠΡΠ»Π°ΡΠ° Π²ΠΈ ΡΠΏΠ°ΡΡΠ²Π° ΠΎΡ ΡΠΎΠ²Π°. ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°ΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΎ ΠΎΠ±ΠΎΡΡΠ΄Π²Π°Π½Π΅ Π±Π΅Π· ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ; ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π½Π° ΡΠ°Π±ΠΎΡΠ°, Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°ΡΠ΅ Π΄ΡΡΠ³ΠΈ Π²Π°ΠΆΠ½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ, Π΄Π° Π½Π°ΡΡΡΠΎΠΉΠ²Π°ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ ΠΈ Π΄Π° ΡΠ°Π±ΠΎΡΠΈΡΠ΅ Ρ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ. ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ Π²ΡΠΈΡΠΊΠΎ, ΠΊΠΎΠ΅ΡΠΎ Π΅ ΡΡΡΠ΄Π½ΠΎ Π² Puppet Enterprise. Π’Π°ΠΊΠ° ΡΠ΅, Π°ΠΊΠΎ ΡΡΠ΅ Π³ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π»ΠΈ Π½Π° Π΅Π΄ΠΈΠ½ Ρ ΠΎΡΡ, ΡΠ΅ ΠΎΡΠ½Π΅ΠΌΠ΅ Π²ΡΠ΅ΠΌΠ΅, Π΄ΠΎΠΊΠ°ΡΠΎ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π²Π»ΡΠ·Π°Ρ Π² ΡΠΈΠ»Π° Π½Π° ΠΎΡΡΠ°Π½Π°Π»ΠΈΡΠ΅ Ρ ΠΎΡΡΠΎΠ²Π΅. Π Ansible Π²ΡΠΈΡΠΊΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π²Π»ΠΈΠ·Π°Ρ Π² ΡΠΈΠ»Π° Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ.
Π Π½Π°ΠΊΡΠ°Ρ, Π½Π΅ΠΊΠ° Π΄Π° ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΌΠΎΠ΄ΡΠ»Π° Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ. Ansible Tower Π³ΠΎ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° ΠΏΡΠΎΡΡΠΎ Π½Π΅Π²Π΅ΡΠΎΡΡΠ½ΠΎ, Ρ Π³ΠΎΠ»ΡΠΌΠ° ΠΏΡΠ΅ΡΠΈΠ·Π½ΠΎΡΡ ΠΈ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅. ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΠ΅ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΈ ΡΡΠ»ΡΠ³ΠΈ ΠΈΠ»ΠΈ Π΄ΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΈ Ρ ΠΎΡΡΠΎΠ²Π΅. ΠΡΠ°Π²Ρ ΡΠΎΠ²Π° Ρ ΠΌΠΎΠΈΡΠ΅ ΡΠ»ΡΠΆΠΈΡΠ΅Π»ΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ° ΡΠ²ΠΈΠΊΠ½Π°Π»ΠΈ Π΄Π° ΡΠ°Π±ΠΎΡΡΡ Π½Π° Windows, ΠΎΠ³ΡΠ°Π½ΠΈΡΠ°Π²Π°ΠΉΠΊΠΈ Π΄ΠΎΡΡΡΠΏΠ° ΠΈΠΌ Π΄ΠΎ ΠΎΠ±Π²ΠΈΠ²ΠΊΠ°ΡΠ° Π½Π° Linux. ΠΠ°ΡΠ°Π½ΡΠΈΡΠ°ΠΌ, ΡΠ΅ ΠΈΠΌΠ°Ρ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Tower, ΡΠ°ΠΊΠ° ΡΠ΅ Π΄Π° ΠΌΠΎΠ³Π°Ρ Π΄Π° Π²ΡΡΡΠ°Ρ ΡΠ°ΠΌΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΠ° ΠΈ Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Ρ ΡΠ°ΠΌΠΎ ΡΡΠ»ΡΠ³ΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΡΠ° ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈ Π·Π° ΡΡΡ .
ΠΠ΅ΠΊΠ° Π΄Π° ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π½Π΅ΡΠ°ΡΠ°, ΠΊΠΎΠΈΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ, Π·Π° Π΄Π° ΡΠ»Π΅ΡΠ½ΠΈΡΠ΅ ΠΏΡΠ΅Ρ
ΠΎΠ΄Π° ΡΠΈ ΠΊΡΠΌ Ansible Tower. ΠΠ° ΠΏΡΡΠ²ΠΎ ΠΌΡΡΡΠΎ, ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΠΎΠ΄Π³ΠΎΡΠ²ΠΈΡΠ΅ ΠΎΠ±ΠΎΡΡΠ΄Π²Π°Π½Π΅ΡΠΎ ΡΠΈ. ΠΠΊΠΎ Π½ΡΠΊΠΎΠΈ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ ΠΎΡ Π²Π°ΡΠ°ΡΠ° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ ΡΠ° Π² Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ, ΡΡΡΠ±Π²Π° Π΄Π° Π³ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΠ΅ ΡΠ°ΠΌ. ΠΠΌΠ° ΡΠΈΡΡΠ΅ΠΌΠΈ, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΠΏΡΠΎΠΌΠ΅Π½ΡΡ Ρ
Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈΡΠ΅ ΡΠΈ ΠΈ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ Π½Π΅ ΡΠ° Π² Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ Puppet, Π½ΠΎ Π°ΠΊΠΎ Π½Π΅ Π³ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΠ΅ ΡΠ°ΠΌ, ΠΏΡΠ΅Π΄ΠΈ Π΄Π° ΠΏΡΠ΅ΠΌΠΈΠ½Π΅ΡΠ΅ ΠΊΡΠΌ Tower, ΡΠ΅ Π·Π°Π³ΡΠ±ΠΈΡΠ΅ ΡΠ΅Π΄ΠΈΡΠ° ΠΏΡΠ΅Π΄ΠΈΠΌΡΡΠ²Π°. Π’ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Π΅ βΠΌΡΡΡΠ½Π°β, ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ, Π½ΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΡΡΠ΄ΡΡΠΆΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΡΡΠ»ΠΎΡΠΎ ΠΎΠ±ΠΎΡΡΠ΄Π²Π°Π½Π΅, ΠΊΠΎΠ΅ΡΠΎ ΠΈΠΌΠ°ΡΠ΅. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π½Π°ΠΏΠΈΡΠ΅ΡΠ΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅Π½ Ρ
Π°ΡΠ΄ΡΠ΅ΡΠ΅Π½ ΡΠΊΡΠΈΠΏΡ, ΠΊΠΎΠΉΡΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΡΠ΅ Π²ΠΊΠ°ΡΠ° Π²ΡΠΈΡΠΊΠΈ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ½ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ, ΡΠ»Π΅Π΄ ΠΊΠΎΠ΅ΡΠΎ Ansible ΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ ΠΊΠΎΠΈ Ρ
ΠΎΡΡΠΎΠ²Π΅ ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΡΠΈΡΡΡΡΠ²Π°Ρ Π² Π½ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°. ΠΡΠΌΠ° Π΄Π° Π΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΠΊΠ°Π·Π²Π°ΡΠ΅ Π½Π° ΡΠΎΠ·ΠΈ SCM ΠΊΠΎΠΈ Ρ
ΠΎΡΡΠΎΠ²Π΅ ΡΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΠΈ ΠΊΠΎΠΈ Ρ
ΠΎΡΡΠΎΠ²Π΅ Π²Π΅ΡΠ΅ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°Ρ, Π·Π°ΡΠΎΡΠΎ ΡΠΎΠΉ ΡΠ΅ Π·Π½Π°Π΅ Π²ΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ. ΠΠΎΠ»ΠΊΠΎΡΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ Π΄Π°Π½Π½ΠΈ ΠΈΠΌΠ° Π² Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ, ΡΠΎΠ»ΠΊΠΎΠ²Π° ΠΏΠΎ-ΠΏΠΎΠ»Π΅Π·Π΅Π½ ΠΈ Π³ΡΠ²ΠΊΠ°Π² ΡΠ΅ Π±ΡΠ΄Π΅ Ansible. Π Π°Π±ΠΎΡΠΈ ΡΠ°ΠΊΠ°, ΡΡΠΊΠ°Ρ ΠΏΡΠΎΡΡΠΎ ΡΠ΅ΡΠ΅ Π±Π°ΡΠΊΠΎΠ΄Π° Π·Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° Ρ
Π°ΡΠ΄ΡΠ΅ΡΠ° ΠΎΡ Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ.
ΠΡΠ΅ΠΊΠ°ΡΠ°ΠΉΡΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ Π²ΡΠ΅ΠΌΠ΅, Π·Π° Π΄Π° ΡΠ΅ Π·Π°ΠΏΠΎΠ·Π½Π°Π΅ΡΠ΅ Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΈΡ ΡΠ΅Π΄ Π² Ansible. ΠΠ·ΠΏΡΠ»Π½Π΅ΡΠ΅ Π½ΡΠΊΠΎΠΈ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ, Π·Π° Π΄Π° ΡΠ΅ΡΡΠ²Π°ΡΠ΅ Ρ Π°ΡΠ΄ΡΠ΅ΡΠ½ΠΈΡ ΡΠΊΡΠΈΠΏΡ, Π½Π°ΠΏΠΈΡΠ΅ΡΠ΅ ΠΈ ΠΈΠ·ΠΏΡΠ»Π½Π΅ΡΠ΅ Π½ΡΠΊΠΎΠΈ ΠΏΡΠΎΡΡΠΈ, Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΈ ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ Π·Π° ΠΈΠ³ΡΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ Jinja2 ΡΠ°Π±Π»ΠΎΠ½ΠΈ, ΠΊΡΠ΄Π΅ΡΠΎ Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΎ. ΠΠΏΠΈΡΠ°ΠΉΡΠ΅ Π΄Π° Π½Π°ΠΏΠΈΡΠ΅ΡΠ΅ ΡΠΎΠ»Ρ ΠΈ ΡΠΊΡΠΈΠΏΡ Π·Π° ΡΠ»ΠΎΠΆΠ΅Π½, ΠΌΠ½ΠΎΠ³ΠΎΠ΅ΡΠ°ΠΏΠ΅Π½ ΠΏΡΠΎΡΠ΅Ρ, ΠΊΠ°ΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΠΎΠ±ΡΠ°, ΡΠ΅ΡΡΠΎ ΡΡΠ΅ΡΠ°Π½Π° Ρ Π°ΡΠ΄ΡΠ΅ΡΠ½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ. ΠΠ³ΡΠ°ΠΉΡΠ΅ Ρ ΡΠ΅Π·ΠΈ Π½Π΅ΡΠ°, ΡΠ΅ΡΡΠ²Π°ΠΉΡΠ΅ ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠΈ. ΠΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½ ΡΠ΅ Π½Π°ΡΡΠΈΡΠ΅ ΠΊΠ°ΠΊ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈΡΠ΅ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π² Tower. ΠΠ΅ΡΠ΅ ΠΊΠ°Π·Π°Ρ , ΡΠ΅ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ°ΡΠ° Π·Π° ΠΏΡΠ΅Ρ ΠΎΠ΄Π° ΠΌΠΈ ΠΎΡΠ½Π΅ ΠΎΠΊΠΎΠ»ΠΎ 3 ΠΌΠ΅ΡΠ΅ΡΠ°. ΠΠΈΡΠ»Ρ, ΡΠ΅ Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΠΌΠΎΡ ΠΎΠΏΠΈΡ ΡΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΡΠΎΠ²Π° ΠΏΠΎ-Π±ΡΡΠ·ΠΎ. ΠΠ΅ ΡΠΌΡΡΠ°ΠΉΡΠ΅ ΡΠΎΠ²Π° Π²ΡΠ΅ΠΌΠ΅ Π·Π° ΠΏΡΠΎΠΏΠΈΠ»ΡΠ½ΠΎ, Π·Π°ΡΠΎΡΠΎ ΠΏΠΎ-ΠΊΡΡΠ½ΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΈΡΠ°ΡΠ΅ Π²ΡΠΈΡΠΊΠΈ ΠΏΡΠ΅Π΄ΠΈΠΌΡΡΠ²Π° Π½Π° ΡΠ²ΡΡΡΠ΅Π½Π°ΡΠ° ΡΠ°Π±ΠΎΡΠ°.
Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ΡΠΈΡΠ΅ ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΡΠ°ΠΊΠ²Π°ΡΠ΅ ΠΎΡ Ansible Tower, ΠΊΠ°ΠΊΠ²ΠΎ ΡΠΎΡΠ½ΠΎ ΡΠ°Π·ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΡΠ°Π²ΠΈ Π·Π° Π²Π°Ρ.
Π’ΡΡΠ±Π²Π° Π»ΠΈ Π΄Π° ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π½Π° Π³ΠΎΠ» Ρ
Π°ΡΠ΄ΡΠ΅Ρ, Π½Π° Π³ΠΎΠ»ΠΈ Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ? ΠΠ»ΠΈ ΠΈΡΠΊΠ°ΡΠ΅ Π΄Π° Π·Π°ΠΏΠ°Π·ΠΈΡΠ΅ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΈΡΠ΅ ΡΠ°Π±ΠΎΡΠ½ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡ ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π½Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΎΡΠΎ ΠΎΠ±ΠΎΡΡΠ΄Π²Π°Π½Π΅? Π’ΠΎΠ²Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π°ΠΆΠ΅Π½ Π°ΡΠΏΠ΅ΠΊΡ Π·Π° ΠΏΡΠ±Π»ΠΈΡΠ½ΠΈΡΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, ΡΠ°ΠΊΠ° ΡΠ΅ ΡΡΡΠ±Π²Π° Π΄Π° ΡΡΠ΅ ΡΠΈΠ³ΡΡΠ½ΠΈ, ΡΠ΅ ΡΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΌΠΈΠ³ΡΠΈΡΠ°ΡΠ΅ ΠΈ Π²Π½Π΅Π΄ΡΠΈΡΠ΅ Ansible Π½Π° Π²Π°ΡΠ°ΡΠ° ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ. ΠΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°ΠΉΡΠ΅ ΡΡΡΠΈΠ½Π½ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΈΠ²Π½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΈΡΠΊΠ°ΡΠ΅ Π΄Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠ°ΡΠ΅. Π Π°Π·Π±Π΅ΡΠ΅ΡΠ΅ Π΄Π°Π»ΠΈ ΡΡΡΠ±Π²Π° Π΄Π° Π²Π½Π΅Π΄ΡΠΈΡΠ΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΡΡΠ»ΡΠ³ΠΈ Π² Π½ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°. ΠΠ°ΠΏΡΠ°Π²Π΅ΡΠ΅ ΡΠΏΠΈΡΡΠΊ Ρ ΡΠΎΠ²Π°, ΠΊΠΎΠ΅ΡΠΎ ΠΈΡΠΊΠ°ΡΠ΅ Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅, ΠΈ Π³ΠΎ ΠΏΠΎΠ΄ΡΠ΅Π΄Π΅ΡΠ΅ ΠΏΠΎ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ.
Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° Π·Π°ΠΏΠΎΡΠ½Π΅ΡΠ΅ Π΄Π° ΠΏΠΈΡΠ΅ΡΠ΅ ΠΊΠΎΠ΄ Π½Π° ΡΠΊΡΠΈΠΏΡ ΠΈ ΡΠΎΠ»ΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ Π·Π°Π΄Π°ΡΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΠΏΠ»Π°Π½ΠΈΡΠ°ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΠΈΡΠ΅. ΠΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ°ΠΉΡΠ΅ Π³ΠΈ Π² ΠΏΡΠΎΠ΅ΠΊΡΠΈ, Π»ΠΎΠ³ΠΈΡΠ½Π° ΠΊΠΎΠ»Π΅ΠΊΡΠΈΡ ΠΎΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈ ΡΡΠ΅Π±Π½ΠΈΡΠΈ. ΠΡΠ΅ΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡ ΡΠ΅ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈ ΠΊΡΠΌ ΠΎΡΠ΄Π΅Π»Π½ΠΎ Git Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ ΠΈΠ»ΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΎΡ ΡΠΎΠ²Π° ΠΊΠΎΠΉ ΠΌΠ΅Π½ΠΈΠ΄ΠΆΡΡ Π½Π° ΠΊΠΎΠ΄ΠΎΠ²Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅. ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠΏΡΠ°Π²Π»ΡΠ²Π°ΡΠ΅ ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π½Π° ΠΊΠ½ΠΈΠ³ΠΈ Π·Π° ΠΈΠ³ΡΠΈ, ΠΊΠ°ΡΠΎ Π³ΠΈ ΠΏΠΎΡΡΠ°Π²ΠΈΡΠ΅ ΡΡΡΠ½ΠΎ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡ ΠΏΡΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Π½Π° ΡΡΡΠ²ΡΡΠ° Π½Π° Tower ΠΈΠ»ΠΈ ΠΊΠ°ΡΠΎ ΠΏΠΎΡΡΠ°Π²ΠΈΡΠ΅ ΠΊΠ½ΠΈΠ³Π°ΡΠ° Π·Π° ΠΈΠ³ΡΠΈ Π²ΡΠ² Π²ΡΡΠΊΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈΡ ΠΊΠΎΠ΄ (SCM), ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½Π° ΠΎΡ Tower, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Git, Subversion, Mercurial ΠΈ Red Hat ΠΡΠΎΠ·ΡΠ΅Π½ΠΈΡ. Π ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° Π΅Π΄ΠΈΠ½ ΠΏΡΠΎΠ΅ΠΊΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΠΎΡΡΠ°Π²ΠΈΡΠ΅ ΠΊΠΎΠ»ΠΊΠΎΡΠΎ ΠΈΡΠΊΠ°ΡΠ΅ ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠ·Π΄Π°Π΄ΠΎΡ Π΅Π΄ΠΈΠ½ ΠΎΡΠ½ΠΎΠ²Π΅Π½ ΠΏΡΠΎΠ΅ΠΊΡ, Π² ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΡΡΠ°Π²ΠΈΡ ΡΠΊΡΠΈΠΏΡ Π·Π° ΠΎΡΠ½ΠΎΠ²Π½ΠΈΡΠ΅ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ Π½Π° RedHat, ΡΠΊΡΠΈΠΏΡ Π·Π° ΡΠ΄ΡΠΎΡΠΎ Π½Π° Linux ΠΈ ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅ Π·Π° ΠΎΡΡΠ°Π½Π°Π»ΠΈΡΠ΅ Π±Π°Π·ΠΎΠ²ΠΈ Π»ΠΈΠ½ΠΈΠΈ. Π’Π°ΠΊΠ° Π² Π΅Π΄ΠΈΠ½ ΠΏΡΠΎΠ΅ΠΊΡ ΠΈΠΌΠ°ΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠΎΠ»ΠΈ ΠΈ ΡΡΠ΅Π½Π°ΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΡΠΏΡΠ°Π²Π»ΡΠ²Π°Ρ Π° ΠΎΡ Π΅Π΄Π½ΠΎ Git Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅.
ΠΡΡΠΊΠ°Π½Π΅ΡΠΎ Π½Π° Π²ΡΠΈΡΠΊΠΈ ΡΠ΅Π·ΠΈ Π½Π΅ΡΠ° ΠΏΡΠ΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΈΡ ΡΠ΅Π΄ Π΅ Π΄ΠΎΠ±ΡΡ Π½Π°ΡΠΈΠ½ Π΄Π° ΡΠ΅ΡΡΠ²Π°ΡΠ΅ ΡΡΡ Π½Π°ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ. Π’ΠΎΠ²Π° ΡΠ΅ Π²ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡΠ²ΠΈ Π·Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Tower.
ΠΠ΅ΠΊΠ° ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΌΠ°Π»ΠΊΠΎ Π·Π° ΡΡΠ°Π½ΡΠΊΠΎΠ΄ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ° Π½Π° Puppet, Π·Π°ΡΠΎΡΠΎ ΠΎΡΠ΄Π΅Π»ΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅ Π·Π° ΡΠΎΠ²Π°, Π΄ΠΎΠΊΠ°ΡΠΎ ΡΠ°Π·Π±Π΅ΡΠ° ΠΊΠ°ΠΊΠ²ΠΎ Π²ΡΡΡΠ½ΠΎΡΡ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈ.
ΠΠ°ΠΊΡΠΎ ΠΊΠ°Π·Π°Ρ
ΠΏΡΠ΅Π΄ΠΈ, Puppet ΡΡΡ
ΡΠ°Π½ΡΠ²Π° Π²ΡΠΈΡΠΊΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΈ Ρ
Π°ΡΠ΄ΡΠ΅ΡΠ½ΠΈ ΠΎΠΏΡΠΈΠΈ Π² Π΅Π΄ΠΈΠ½ Π΄ΡΠ»ΡΠ³ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡ ΠΈ ΡΠΎΠ·ΠΈ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡ ΡΡΡ
ΡΠ°Π½ΡΠ²Π° Π²ΡΠΈΡΠΊΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΡΠΎΠ·ΠΈ SCM ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΡΠ°Π²ΠΈ. ΠΠΎΠ³Π°ΡΠΎ ΠΏΡΠ°Π²ΠΈΡΠ΅ ΠΏΡΠ΅Ρ
ΠΎΠ΄Π°, Π½Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° Π½Π°ΡΡΠΏΠΊΠ²Π°ΡΠ΅ Π²ΡΠΈΡΠΊΠΈΡΠ΅ ΡΠΈ Π·Π°Π΄Π°ΡΠΈ Π² Π΅Π΄ΠΈΠ½ ΡΠΏΠΈΡΡΠΊ; Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ²Π° ΠΏΠΎΠΌΠΈΡΠ»Π΅ΡΠ΅ Π·Π° ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π½Π° Π½ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°: ΡΠΎΠ»ΠΈ, ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅, ΡΠ°Π³ΠΎΠ²Π΅, Π³ΡΡΠΏΠΈ ΠΈ ΠΊΠ°ΠΊΠ²ΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΠΎΡΠΈΠ΄Π΅ ΡΠ°ΠΌ. ΠΡΠΊΠΎΠΈ ΠΎΡ Π°Π²ΡΠΎΠ½ΠΎΠΌΠ½ΠΈΡΠ΅ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π°Ρ Π³ΡΡΠΏΠΈΡΠ°Π½ΠΈ Π² Π³ΡΡΠΏΠΈ, Π·Π° ΠΊΠΎΠΈΡΠΎ Π΄Π° ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΡΡΠ·Π΄Π°Π²Π°Ρ ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅. ΠΠΎ-ΡΠ»ΠΎΠΆΠ½ΠΈ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ½ΠΈ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ, ΠΊΠΎΠΈΡΠΎ Π²ΠΊΠ»ΡΡΠ²Π°Ρ Π³ΠΎΠ»ΡΠΌ Π±ΡΠΎΠΉ ΡΠ΅ΡΡΡΡΠΈ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»Π½ΠΈ ΠΊΠ»Π°ΡΠΎΠ²Π΅, ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ°Π½ΠΈ Π² ΡΠΎΠ»ΠΈ. ΠΡΠ΅Π΄ΠΈ Π΄Π° ΠΌΠΈΠ³ΡΠΈΡΠ°ΡΠ΅, ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ΡΠΈΡΠ΅ ΡΠΎΠ²Π°. ΠΠΊΠΎ ΡΡΠ·Π΄Π°Π²Π°ΡΠ΅ Π³ΠΎΠ»Π΅ΠΌΠΈ ΡΠΎΠ»ΠΈ ΠΈΠ»ΠΈ ΡΡΠ΅Π½Π°ΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΡΠ΅ ΠΏΠΎΠ±ΠΈΡΠ°Ρ Π½Π° Π΅Π΄ΠΈΠ½ Π΅ΠΊΡΠ°Π½, ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΡΠ°Π³ΠΎΠ²Π΅, Π·Π° Π΄Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ»ΠΎΠ²ΠΈΡΠ΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΈ ΡΠ°ΡΡΠΈ ΠΎΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ°.
18:00
ΠΠ°Π»ΠΊΠΎ ΡΠ΅ΠΊΠ»Π°ΠΌΠΈ π
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΠΈΠΌ Π²ΠΈ, ΡΠ΅ ΠΎΡΡΠ°Π½Π°Ρ
ΡΠ΅ Ρ Π½Π°Ρ. Π₯Π°ΡΠ΅ΡΠ²Π°ΡΠ΅ Π»ΠΈ Π½Π°ΡΠΈΡΠ΅ ΡΡΠ°ΡΠΈΠΈ? ΠΡΠΊΠ°ΡΠ΅ Π»ΠΈ Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅ ΠΎΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅? ΠΠΎΠ΄ΠΊΡΠ΅ΠΏΠ΅ΡΠ΅ Π½ΠΈ, ΠΊΠ°ΡΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΠΏΠΎΡΡΡΠΊΠ° ΠΈΠ»ΠΈ ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ°ΡΠ΅ Π½Π° ΠΏΡΠΈΡΡΠ΅Π»ΠΈ,
Dell R730xd 2 ΠΏΡΡΠΈ ΠΏΠΎ-Π΅Π²ΡΠΈΠ½ Π² ΡΠ΅Π½ΡΡΡΠ° Π·Π° Π΄Π°Π½Π½ΠΈ Equinix Tier IV Π² ΠΠΌΡΡΠ΅ΡΠ΄Π°ΠΌ? Π‘Π°ΠΌΠΎ ΡΡΠΊ
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: www.habr.com