แแแแแแแ IaC (แแแคแ แแกแขแ แฃแฅแขแฃแ แ, แ แแแแ แช แแแแ) แจแแแแแแ แแ แ แแฎแแแแ แแแแแกแแแ, แ แแแแแแช แแแแฎแแแ แกแแชแแแจแ, แแ แแแแ แแ แแแแแแแแแแแกแแแ แแ แแ แแชแแกแแแแกแแแ, แ แแแแแแแช แแ แแแแก แแแ แแแก. แจแแกแแซแแแแแแแ แแฃ แแ แ แแแแแแแแแแก แฎแแแแฎแแ แแแแแงแแแแแ แแ แแแ แแแฃแแ แฃแแ แฃแแแแแงแแคแแก แจแแแฃแจแแแแแแแแ แแแคแ แแกแขแ แฃแฅแขแฃแ แแก แแแ แแแแแแ แแ แแฆแฌแแ แแแแ? แกแขแแขแแแก แฌแแแแแฎแแแกแแก แแแ แแ แแฅแแแแ, แ แแ แแก แแแ แ แแฎแแแแแแแแแจแ แแแแฆแแ.
แแก แฉแแแ แฉแแแแฌแแ แแ
แกแแแแแแแ แแ แแแแแแแแ
แแแแแแกแฃแ แ แแแ แกแแ แ แฃแกแฃแแ แแแ แกแแ - แแจแ แแแ แ แแแแ 2019-04-24
SpbLUG แแแแแ (RU) DevopsConf-แแแ 2019-05-28 แแแแแ(RU) DINS DevOps EVENING 2019-06-20 แกแแแแแแแ
แแแคแ แแกแขแ แฃแฅแขแฃแ แ, แ แแแแ แช แแแจแแก แแกแขแแ แแ
แแแแฃแจแแแ, แ แแ แแแแแฎแแ แ แแฎแแ แแ แแแฅแขแแ แแ แแกแแแ แแแขแงแแแแ: โแฉแแแ แแแแฅแแก แแแคแ แแกแขแ แฃแฅแขแฃแ แ, แ แแแแ แช แแแแแฅแกแ". แกแแแแแแแแแแจแ แแแแแแแก แแแคแ แแกแขแ แฃแฅแขแฃแ แ, แ แแแแ แช แแแจแแก แแกแขแแ แแ แแ แแแแแแแแแ แแแแฃแแแแขแแชแแ, แ แแแแ แช แแแจแแก แแกแขแแ แแ. แแก แแ แแก แซแแแแแ แ แแแแฃแ แ แกแแขแฃแแชแแ, แแแแแแแแแ, แแกแแแแกแ แจแแแแฎแแแแ แแฆแฌแแ แ แแแแแก แแแกแแแแแ แแแแแกแแแแจแ
แแแ แแแแฃแแ แกแฃแ แแแแแ แจแแแแแซแแแ แแแฅแแแ แแแคแ แแกแขแ แฃแฅแขแฃแ แ, แ แแแแ แช แแแจแแก แแกแขแแ แแ แแก แแแแแก แแกแแแแกแแ:
- แแแแแแ แแแแแแแ: แจแแแแซแแแแ แแแฆแแ bash แแกแขแแ แแ, แแฌแแ แแแแ แแ แซแแแแแแแ แแฅแแแแ แแ, แกแฎแแแแ แจแแ แแก, แแแแฆแแ แกแแแฃแจแแ แแแแคแแแฃแ แแชแแ, แ แแแแ แช แแแแแกแแแแแ.
- แแแ แกแแแ แแแ: แแฅแแแ แแชแแ, แแแ แจแแแแแแแ แแ แ แ แแแแแแแ, แแแแแ แแ แแฎแแ, แคแแฅแขแ แแ แแ แแก, แ แแ แแก แแแแแงแแแแ แกแแแฃแจแแ แแแแคแแแฃแ แแชแแแแแ แแแกแแกแแแแแจแ.
- ะธััะพัะธั: แแแแแแ แแแ แ แ แแแแแแแ. แแฎแแแแ แแฅแแแ แแแ แจแแซแแแแ แแแก แแแแแงแแแแแแก แกแแ แแแ แแก แแแแแ แแแแก แจแแแแฎแแแแแจแ.
แ แ แฃแแแ แแแแแแแแแ?
แแแคแ แแกแขแ แฃแฅแขแฃแ แ, แ แแแแ แช แแแแแฅแกแ
แแฃแแแแช แแกแแแ แฃแชแแแฃแ แ แจแแแแฎแแแแ, แ แแแแ แแช แแแคแ แแกแขแ แฃแฅแขแฃแ แ, แ แแแแ แช แแแจแแก แแกแขแแ แแ แจแแแแซแแแแ แงแฃแ แแแแ แแแฌแแแ แแแคแ แแกแขแ แฃแฅแขแฃแ แ, แ แแแแ แช แแแแแฅแกแ, แแแแ แแ แ แแชแ แแแกแฃแ แก แแแแแแแแแ แ แแฆแแช แฃแคแ แ แ แแฃแแ, แแแแ แ แซแแแแ แแแ แแ LAMP แกแแ แแแ แ, แแแแแแ แแแกแแแแแแแ, แ แแ แแก แแแแ แ แแฆแแชแแแแ แแ แฃแแแ แจแแแชแแแแแก, แจแแแชแแแแแก, แแแฃแแฏแแแแกแแแก. แจแแแแแ แฉแแแ แแแแแแ แแแแแแฎแแแแ แแแ แแแแแแแ แจแแ แแก แแแคแ แแกแขแ แฃแฅแขแฃแ แ, แ แแแแ แช แแแแแฅแกแ แแ แแ แแแ แแแฃแแ แฃแแ แฃแแแแแงแแคแแก แแแแแแแแ แแแ.
แแจแ แแแ
แจแแแแฎแแแก แกแแกแขแแแแก แแแแแแแแ แแแแก แแ แแแฅแขแแ แแงแ แฅแแแแแแชแแแ
- แจแแแแ แแฅ ssh-แแก แกแแจแฃแแแแแแ แแ แจแแแกแ แฃแแแ แแ แซแแแแแ.
- แแแแแแแแ แแ แคแแแแ แแฅ.
- แจแแแกแฌแแ แแ แแแแคแแแฃแ แแชแแ แแฅ.
- แแแแฌแงแแ แแแแกแแฎแฃแ แแแ แแฅ
- ...
- แแแแแแ!
แแฆแฌแแ แแแ แแแแแแแ แแแจแ แกแแแแแ แแกแแ แแแขแแ, แแแแกแแแฃแแ แแแแ แแ แแแฅแขแแก แแแ แแฃแ แแขแแแแแแ, แ แแแแกแแช แแก แแฎแแแฎแแ แแฌแงแแแ. แแก
แแแแแแแก, แ แแ แแ แกแแแแแก แแกแแแ แแ แแฅแขแแแ, แ แแแแ แแชแแ DRY (แแ แแแแแแแ แ แกแแแฃแแแ แ แแแแ). แแแแ แแ แแก แแ แกแแแฃแแ แแแแแก แฎแแแแฎแแ แแแแแงแแแแแ. แแก แแแ แขแแแแ แแฆแแ แก, แแแแ แแ แฉแแแ แแแแก แแแจแแแแ แแ แแแแแแแ. แฉแแแแก แจแแแแฎแแแแแจแ, แแก แแงแ แแแแแแฃแ แ แแแแ: แแแแคแแแฃแ แแชแแแแแก แแแแแงแแคแ แกแแ แแแขแแแแกแแแแ. แแแแ. แแแแแแก แแแแแแ, แแฃ แ แแแแ แแแแแแแแแฃแแแ แแแกแขแแแแชแแ แชแแแแ, แแแแคแแแฃแ แแชแแ แชแแแแ.
SOLID CFM-แกแแแแก
แแ แแแ แแแแแแแแแแแจแ แแ แแแฅแขแ แแแแแแ แแ แแ
แแ แแแแแ แแแกแฃแฎแแกแแแแแแแแแก แแ แแแชแแแ
แแแแแแฃแแ แแแแกแ แแกแ แฃแแแแก แแฎแแแแ แแ แ แแแแแแแแแก.
แแ แแ แแก แกแแญแแ แ แแแแแแแก แจแแ แแแ แแ แแแแแแแแฃแ แ แฆแแแแแแ แแแ แกแแแแแขแแก แแแแกแขแ แแแแก แจแแฅแแแ. แแแคแ แแกแขแ แฃแฅแขแฃแ แ แฃแแแ แจแแแแแแแแแก แแแ แขแแแ แแแฃแ แแกแแแ. แแแแแแแก, แ แแ แแฃ แแฅแแแ แแแงแแคแ Ansible-แแก แกแแแแแแจแ แฌแแแแก แแแขแแ แ แแแญแ แแแแ, แฌแแแแแแฎแแแ Ansible แ แแแแแก, แแแจแแ แแแแ แจแแแแ แฉแฃแแแแ แฃแคแ แ แแแแแแ แแฅแแแแ.
แฆแแ แแแฎแฃแ แฃแแ แแ แแแชแแแ
แฆแแ/แแแฎแฃแ แฃแแ แแ แแแชแแแ.
- แฆแแ แแแคแแ แแแแแแกแแแแก: แแแจแแแแก, แ แแ แแ แแแฃแแแก แฅแชแแแ แจแแแซแแแแ แแแคแแ แแแแแแก แแฎแแแ แขแแแแก แแ แแแฃแแแแแก แจแแฅแแแแ.
- แแแฎแฃแ แฃแแแ แชแแแแแแแแแแกแแแแก: แแ แแแฃแแแก แฅแชแแแแก แแแคแแ แแแแแแก แจแแแแแแ, แชแแแแแแแแแ แแ แฃแแแ แแแแฎแแ แชแแแแแแก แแแแจแ, แ แแแแแแช แแงแแแแแก แแ แแ แแแฃแแแแก.
แแแแแแแแ แแแแแ แกแแขแแกแขแ แแแคแ แแกแขแ แฃแฅแขแฃแ แ แแแแแแแแแกแแ แแแ แขแฃแแแฃแ แแแแฅแแแแแแ, แแแแ แแ แแแแก แแแแ, แ แแ แแแแแแแแแแก แแแแแแก แแแแแแ แแแแชแแแแแแแแฃแแ แแงแ แแแแแแแแแขแแชแแแกแแแ, แฃแแ แแแแแแแ แแแแแแแขแแ Rolling out baremetall-แจแ.
แแแกแแแแแก แฉแแแแชแแแแแแก แแ แแแชแแแ
แแแ แแแ แ แแแกแแแแแก แฉแแแแชแแแแแแก แแ แแแชแแแ. แแ แแแ แแแแก แแแแแฅแขแแแ แฃแแแ แจแแแชแแแแแก แแแแ แฅแแแขแแแแแแก แแแแแแแแแ แแแแ, แแ แแแ แแแแก แกแฌแแ แ แจแแกแ แฃแแแแแก แจแแชแแแแก แแแ แแจแ
แแฃ แฃแคแ แ แคแแ แแแ แจแแฎแแแแแ, แแก แแ แแ แแก แ แแแแ แแแแแ แแขแฃแแ แแ แแแฅแขแแก แแแฎแแกแแแแแแแแ, แ แแแแแก แแแแแงแแแแแแช แแฅ แจแแแซแแแแ แฒแฒงแฒแฒ แฒ, แแแแแแแ แกแแฃแแแ แแ CFM-แแ, แแแแแแแแแ, แกแฎแแ แแ แแแฅแขแแ แแฃแชแแแแแแแแ แฏแแแแก แแแแแแแชแแแก แแแแแแแแแ แกแฎแแแแแกแฎแแ Java-แแ, แแแแแแแชแแแก แกแแ แแแ แแแแ, แแแแแชแแแแ แแแแแแแ, OS แแ แ.แจ. แแ แแแแแแแแแก แแแแแงแแแแแแ แแแแแแฎแแแแ แจแแแแแแ แแ แแแชแแแแแก แฒแฒงแฒแฒ แฒ
แฉแแแแก แจแแแแฎแแแแแจแ, แแแคแ แแกแขแ แฃแฅแขแฃแ แแก แแฃแแแจแ แแ แแก แจแแแแแฎแแแแ, แ แแ แแฃ แฉแแแ แแแแแงแแแแ imbjava แแ oraclejava แ แแแ, แแแจแแ แแแแฅแแแแ java แแ แแแแแ แจแแกแ แฃแแแแแแ. แแก แแฃแชแแแแแแแแ, แ แแแแแ แแแแแ แแแแแแแก แ แแแแแ แแแแแแแแแแฃแแแ แแ แฅแชแแแแแ; แแกแแแ แแแแแ แฏแแแแก. แแแแแแ แแฃแแแ, แแก แกแแจแฃแแแแแแก แแแแซแแแแก แจแแแชแแแแแ แแ แแ แฏแแแแก แแแแแแแแแขแแชแแ/แแแ แกแแ แแแแ แแแ แแแแแแแชแแแก แแแแแแแแแแก แแแแแแแก แจแแชแแแแก แแแ แแจแ.
แแ แแแแแแ แแฅ แแแแแแแ แแแแก แแแแจแ, แ แแ Ansible-แจแ แแแแก แแแแฎแแ แชแแแแแแ แจแแฃแซแแแแแแแ, แ แแก แจแแแแแแแแช แฉแแแแแ แแแ แแแแฃแแ แจแแแแแฎแแแแแแ แแฃแแแจแ.
แแแขแแ แคแแแกแแก แกแแแ แแแแชแแแก แแ แแแชแแแ
แแแขแแ แคแแแกแแก แแแแแงแแคแแก แแ แแแชแแแ: โแแ แแแแแ แแแแแแขแแกแแแแก แกแแแชแแคแแแฃแ แ แแแขแแ แคแแแกแ แฃแแแแแกแแ, แแแแ แ แแ แแ แแแแแแ แแแแแจแแฃแแแแแก แแแขแแ แคแแแกแ.
แแแแแแแแ แแแแแ, แฉแแแ แแชแแแแ แแแแแแแชแแแก แแแแแแแแแแก แงแแแแ แชแแแแแแแแแแ แแ แ Ansible แฌแแแแจแ แฉแแแแแงแแแแแแแ, แแแแ แแ แแแกแ แแฎแแ แแแญแแ แ แ แแฃแแ แแงแ แแ แแแแแแแ, แ แแแแกแแช แฉแแแ แแแแฅแแก แแแ แ แแแขแแ แคแแแกแ แแแแแแแแฃแแ (แแแแแแขแ แแแแแแแ แแแ แขแก 443), แแแจแแ แแแคแ แแกแขแ แฃแฅแขแฃแ แแก แแฌแงแแแ แจแแกแแซแแแแแแแ แแแแแแแแฃแแแฃแ แแแแ. แแแฃแ แ แแแแแ แแขแฃแแ แแแแฎแแ แชแแแแแแแกแแแแก.
แแแแแแแแแแฃแแแแแก แแแแแ แกแแแก แแ แแแชแแแ
แแแแแแแแแแฃแแแแแก แแแแแ แกแแแก แแ แแแชแแแ. แฃแคแ แ แแแฆแแ แแแแแแ แแแแฃแแแแ แแ แฃแแแ แแงแแก แแแแแแแแแแฃแแ แฅแแแแ แแแแแก แแแแฃแแแแแ. แแ แแแ แขแแแแก แแแแฃแแ แฃแแแ แแงแแก แแแแแแแแแแฃแแ แแแกแขแ แแฅแชแแแแแ. แแแกแขแ แแฅแชแแแแ แแ แฃแแแ แแงแแก แแแแแแแแแแฃแแ แแแขแแแแแแ. แแแขแแแแแ แฃแแแ แแงแแก แแแแแแแแแแฃแแ แแแกแขแ แแฅแชแแแแแ.
แแฅ แแแแแแแแ แแแคแฃแซแแแแฃแแ แแฅแแแแ แแแขแแแแขแแ แแแแ.
- แแ แ-แแ แ แแแแฎแแแ แแแแแก แฐแฅแแแแ แแแ แแแ แฆแ แฃแแแแ.
- แฉแแแ แจแแฃแแแแแแ แแแ แขแฃแแแฃแ แ แแแแฅแแแแแ แฆแ แฃแแแแจแ.
- แแแแ แแ แฆแ แฃแแแแก แแฃแแแแแก แแแแ, แแแแแแแชแแแก แแแแแแแแแ แแงแ แแแแแฃแแ แ แแแแ แฐแแแแ แแแแแ แแ แแงแ VM.
แแแแ. แแแฆแแแ แแแแแก แแแแแแแชแแแก แแแแแแแแแแก แแแแแแ แแแแแแแแแแแ แแแแแแแแแแฃแแแแแแแ แฐแแแแ แแแแแ แแก แฅแแแแ แแแแแแแแ แแ แแก แแแจแแแแแ แแ แแแแแแแแก แแ แแแแแแแก แฎแแแแฎแแ แแแแแงแแแแแแกแแก. แแฃ แแแแแแแแ แแกแ.
แฃแ แแแแ แแฅแแแแแแ
แแแคแ แแกแขแ แฃแฅแขแฃแ แ, แ แแแแ แช แแแแ แแ แ แแฎแแแแ แแแแก แแฎแแแ, แแ แแแแ แแแแกแ แแ แแแแแแแแแแก แจแแ แแก แฃแ แแแแ แแแแแก, แแแคแ แแกแขแ แฃแฅแขแฃแ แแก แแแแแแแแแ แแแก แจแแ แแก แฃแ แแแแ แแฅแแแแแแแก.
แแแขแแแฃแกแแก แคแแฅแขแแ แ
แแแแฃแจแแแ, แ แแ แแฅแแแ แแแฅแแ แแแกแแ แแฅแแแแก แแ แแแฅแขแแ. แแแกแแแ แงแแแแแคแแ แ แแชแแก แแฅแแแแ แแแคแ แแกแขแ แฃแฅแขแฃแ แแก แจแแกแแฎแแ, แ แ แแแฎแแแแ, แแฃ แแแกแแ แแแฃแแแแแแแแ แแแฅแ แแแ? แแก แซแแแแแ แ แแแแฃแ แ แกแแขแฃแแชแแแ, แ แแแแแ แแแก แแแขแแแฃแกแ แจแแแซแแแแ แแแแฏแแฎแแก. แฎแแแแแฎแแ แฎแแแแ แฎแแแแ. แแฃ แแก แแแฎแแแแ แแ แชแแแแ แแแแแก, แแแกแ แกแขแ แฃแฅแขแฃแ แแก, แแแกแ แแฃแจแแแแแก, แแแ แแแแแแแกแ แแ แแแ แแแแแแก แจแแกแแฎแแ แแ แแ แแก แแแแแฌแแแแแฃแแ แแฃแแแจแ, แแแจแแ แจแแแซแแแแ แจแแแฎแแแแ แแ แแแ แแ แฃแกแแแแแแแ แกแแขแฃแแชแแ. แแ แ แแกแแแแแก แจแแกแแแชแแ แแแแแ แแ แแฃแแแจแ แชแแแแแก แแแกแแแ แชแแแแแแแ, แจแแแแซแแแแ แแแแแแงแแแแ แกแฎแแแแแกแฎแแ แแแแแแแแแ
แฌแงแแแแ Devopsing
แแ แฐแแแแก
แแแแแ แแ แแ แแแแกแแแฃแแ แแแฃแแ แจแแแแฎแแแแ แแ แแก แแแชแแแแแขแแก แแแแแซแแฎแแแ. แแ แแแแแแแก แแ แแก แแแ แแแแแ แแแ แแแแแ แแ แฉแแ แแฃแแแ แฏแแฃแคแ, แแแแจแแแแ แแ แแ แแแแแ แ, แ แแแแแแช แแแแแก แแแ แแแก แแแแแ แแแก แแ แแแ แแ แแแขแแ แแแแแก แแฎแแแแแแแแก. แกแฎแแ แแแแแฌแแแแแแ แแแฐแงแแแแแแ แแแแแ แแก แแแ แแแก, แแแแแ แแแแแแ แฎแ แแแแแก แแแแกแแแแแแ, แแแแฌแแแแแ, แ แแ แแแ แแ แแแแแขแแแแก แฎแแแ แแฃแ แแแแจแ แแ แกแฌแแแแแแแ แแฎแแ แแแคแแ แแแชแแแก แกแแกแขแแแแก แจแแกแแฎแแ. แแก แแแแแแแ แฃแคแ แ แฎแจแแ แแ แแฃแจแแแแแ, แแแแ แ แแ แ.
แแแแแก แแแแแฎแแแแ
แกแฃแแแแฅแขแฃแ แแ, แฃแคแ แ แแคแแฅแขแฃแ แ แแงแ แแแคแ แแกแขแ แฃแฅแขแฃแ แแก แจแแกแแฎแแ แชแแแแแก แแแแ แชแแแแแ แแ แ แแแแ แแฃแจแแแแก แแก แแแแแก แแแแแฎแแแแแก แแแแแงแแแแแแ:
- แแแคแ แแกแขแ แฃแฅแขแฃแ แ แแฆแฌแแ แแแแ แกแแชแแแจแ แแแแแ.
- แชแแแแแแแแแ แฎแแแแ แชแแแแแฃแ แคแแแแแแจแ.
- แจแแ แฌแงแแแก แแแแฎแแแแแก แแ แแก แจแแแแซแแแแ แแฎแแแแ แแแคแ แแกแขแ แฃแฅแขแฃแ แแก แชแแแแแแแแแแก แแแแขแ.
แแฅ แแแแแแ แ แแก แแงแ, แ แแ แ แแชแแแแแแขแแแ แกแแแแแแแ, แแ แแคแแแแก แแแฎแแแแแ, แ.แ. แแแ แแแแฃแแ แแแแแแแแแ, แแฅแแแ แแฎแแแแ แแแคแ แแกแขแ แฃแฅแขแฃแ แแก แแฎแแ แแแฌแแแแ.
แแแแแก แกแขแแแ
แแ แแแ แแแแแแแแแแแจแ, แแแแแฎแแแแแแแก แแ แแก แแแแฌแงแ แฉแฎแฃแแ, แ แแแแแ ... แ แแชแแแแแแขแแแก แฐแฅแแแแแ แกแแแฃแแแ แ แกแขแแแ แแ แ แแชแแแแแแขแแแแก แ แแขแแชแแแ แแกแแแ แแแแฌแงแ แกแฎแแแแแกแฎแแ แกแขแแแแ: 2 แกแแแ แชแ แแ 4, camelCase แแ snake_case. แแแแก แแแฃแงแแแแแแแแ แแแแฎแแ แชแแแแแแ แจแแฃแซแแแแแแ แแงแ.
- แแแ แแแแ แแแแ แแงแ แแแแขแแ แแก แแแแแงแแแแแแก แ แแแแแแแแแชแแ, แแแแแก แแ แแแแแก, แงแแแแ แแแแแแแ แแ, แงแแแแ แญแแแแแแ. แแแแ แแ แกแฎแแแแแกแฎแแ แ แแแแฅแขแแ แแแ, OS, แแ แแ แแก แแแกแแฎแแ แฎแแแแแ
- แแก แแแแแแฅแชแ แแแขแแ, แ แแแแแแช แฌแแ แแ แกแแแแก แงแแแแแ แแ แแแแแแฃแ แ แฉแแ แแแแกแแแแก แแ แแแฃแ แแ แแแแขแแ แแก แแแแแแแแแแ. แแแแ แแ แฃแแแขแแก แจแแแแฎแแแแแจแ แฃแคแ แ แแแแจแแแแแแแแแ แกแแฅแแแแแ แแงแ แแแกแแแแแแแแแ แแ แแแแ แแแแแฃแกแฌแแ แแแแแ แ แฉแแแแแ.
แแฌแแแแ แแจแแแแแแก แแกแขแแขแ
แแ แ แแแแแก แแ แฉแแแ แแแแแแแ แแแกแแแแแแแ, แ แแ แแแแแแแฃแแแแแแ, แ แแแแแแแช แแ แแแแแแแแ แแแ แแแแฃแ แขแแกแขแแแก, แแ แจแแแซแแแแ แแแจแแแแฃแแ แแฅแแแก แแแกแขแแ แจแ. แแแแแ! แฉแแแ แแแแแแแแแแแ Green Build Master, แ แแแแแแช แฃแแแ แแแแ แฎแแแแ แแแแแแงแแแแแ แแ แแแ แแแฃแแ แฃแแ แฃแแแแแงแแคแแก แจแแแฃแจแแแแแแจแ:
- แชแแแแ แคแแแแแแจแ แแแแแแแแ แแแแก แแแแแแแแ แแแ.
- แขแแกแขแแแ แแแแแแแแ แแแแก แแ แแแแแจแ.
- แแฃ แขแแกแขแแแ แแแ แแแฎแแ แฎแแ, แแแแ แแ แแแฎแแแแแ แแแกแขแแ แจแ.
แแ แแแแแฌแงแแแขแแแแแแก แแแฆแแแ แซแแแแแ แแขแแแแแแฃแแ แแงแ, แ แแแแแ... แแแแ แ แแแแแแ แแแแแแฌแแแ, แแแแ แแ แฆแแ แแ, แ แแแแแ... แแแแแฎแแแแแแแ แแแแฌแงแแก แแแแ แแแแแแแแก แแแแฎแแแแแแแก แแแฆแแแ แกแขแแแแก แแแแกแฎแแแแแแแแแก แแแ แแจแ แแ แแ แแแ แแแแแแแแแแแจแ แแ แแแแแแฃแ แ แกแคแแ แแแแแก แ แแแแแแแแแ แแแแฌแงแ แจแแแชแแ แแแ.
IaC แขแแกแขแแ แแแ
แกแขแแแแก แจแแแแฌแแแแแก แแแ แแ, แจแแแแซแแแแ แแแแแแงแแแแ แกแฎแแ แ แแ, แแแแแแแแแ, แแแแก แจแแกแแแแฌแแแแแแ, แ แแ แแฅแแแแ แแแคแ แแกแขแ แฃแฅแขแฃแ แ แ แแแแฃแ แแ แจแแแซแแแแ แแแแแแแกแแแก. แแ แจแแแแแฌแแแ, แ แแ แแแคแ แแกแขแ แฃแฅแขแฃแ แแก แชแแแแแแแแแ แแ แแแแแแฌแแแแก แคแฃแแแก แแแแแ แแแแก. แ แแขแแ แจแแแซแแแแ แแงแแก แแก แกแแญแแ แ? แแแแฎแแ แ แแฃแแ แแ แคแแแแกแแคแแฃแ แแ, แกแฏแแแก แฃแแแกแฃแฎแแ แแกแขแแ แแแ, แ แแ แ แแขแแแฆแแช แแงแ แแแขแแแแขแฃแ แ แกแแแแแ แ Powershell-แแ, แ แแแแแแช แแ แแแแฌแแแแแ แกแแกแแแฆแแ แ แแแ แแแแแก => แกแแญแแ แแแ แแแขแ VM แจแแแฅแแแ => แแแแแแขแแ แแแแแแแแแแ แแแขแ แคแฃแแ แแแฎแแ แฏแ. แแก แแ แช แแฃ แแกแ แกแแกแแแแแแแแ, แแแแ แแ แกแแแกแแแแ แจแแกแแซแแแแแแ แแฅแแแแ แแ แจแแชแแแแแก แแแคแแฅแกแแ แแแ แแแ แแฃแ แแขแแแแแแ.
แจแแแซแแแแ แแแแแแ แแแแแฎแแก, แ แแขแแ แฎแแแแ แแแแแแแฅแกแฃแ แ แแแคแ แแกแขแ แฃแฅแขแฃแ แ แแแแแ แฃแคแ แ แ แแฃแแ? แแแคแ แแกแขแ แฃแฅแขแฃแ แแก แขแแกแขแแแ, แแกแแแ แ แแแแ แช แแแแแกแแแแก, แแ แแฎแแแ แแแแแ แขแแแแแแก, แแ แแแแ แแแแก แชแแแแแก, แแฃ แ แแแแ แฃแแแ แแแฃแจแแแก แแฅแแแแ แแแคแ แแกแขแ แฃแฅแขแฃแ แ.
IaC แขแแกแขแแ แแแแก แแแ แแแแแ
IaC แขแแกแขแแ แแแ: แกแขแแขแแแฃแ แ แแแแแแแ
แแฃ แแแแ แแแคแ แแกแขแ แฃแฅแขแฃแ แแก แแ แแแ แแฃแแแ แแแแแแแแกแแแ แแ แจแแแแแฌแแแแ, แ แแ แแก แแฃแจแแแแก, แจแแแซแแแแ แแฆแแแแฉแแแแ, แ แแ แแแแก แแแแ แแ แ แกแญแแ แแแแ แแ แแแ แแ แแก แแแแแฎแแแก. แแแจแแกแแแแแ, แกแแคแฃแซแแแแ แฃแแแ แแงแแก แแก, แ แแช แกแฌแ แแคแแ แแฃแจแแแแก, แแแแ แแ แแ แฃแแแ แแ แแ แแแแขแแฃแ แแแแแแก แแแแชแแแก.
แแแจแ แกแแฎแแคแแแแ
แแแแแ แจแแแฎแแแแ แขแ แแแแแแฃแ แแแแแแแแก. แแแ แฉแแแ แงแแแแ แคแแแแ แแแแแแแแ แ แแแ แแฅแขแแ แแแจแ แแ แแแแแแแแ แแ แกแฎแแ แแแแแแแก. แแแ แแแแ แ แแช แแแฎแกแแแแแแ:
for i in * ; do
cp $i /some/path/$i.bak
done
แ แ แแแฎแแแแ, แแฃ แคแแแแแก แกแแฎแแแจแ แแ แแก แแแแแแ? แแแ แแ, แฉแแแ แญแแแแแแแแ แแแ แ, แแแชแแ แ แแแแ แแแแแแแงแแแแ แชแแขแแขแแแ:
for i in * ; do cp "$i" "/some/path/$i.bak" ; done
แแแ แแแ แแแแแแแ? แแ แ! แ แ แแแฎแแแแ, แแฃ แแแ แแฅแขแแ แแแจแ แแ แแคแแ แแ, แ.แ. แแแแแแแแ แแ แแแฃแจแแแแแก.
find . -type f -exec mv -v {} dst/{}.bak ;
แแแ แแแ แแแแแแแ แแฎแแ? แแ แ... แแแแแแแฌแงแแ แ แ แจแแแซแแแแ แแงแแก แคแแแแแก แกแแฎแแแ n
.
touch x
mv x "$(printf "foonbar")"
find . -type f -print0 | xargs -0 mv -t /path/to/target-dir
แกแขแแขแแแฃแ แ แแแแแแแแก แฎแแแกแแฌแงแแแแ
แฌแแแ แกแแคแแฎแฃแ แแก แแ แแแแแแ แจแแแซแแแแ แแฆแแแแคแฎแแ แแก, แ แแชแ แชแแขแแขแแแ แแแแแแแแฌแงแแ, แแแแกแแแแก แแฃแแแแแจแ แแแแ แ แฌแแแแแแ
แแแ
Tool
Bash
Ruby
แแแแแแ
แแแกแฃแฎแแกแแแแแแแ
IaC แขแแกแขแแ แแแ: แแ แแแฃแแแก แขแแกแขแแแ
แ แแแแ แช แฌแแแ แแแแแแแแแแแ แแแแแแแฎแแ, แแแแขแแ แแแ แแ แแ แแแ แงแแแแแกแจแแแซแแ แแ แแ แจแแฃแซแแแแ แแแฃแแแแแ แงแแแแ แแ แแแแแแฃแ แกแคแแ แแแ. แแแ แแ แแแแกแ, แแ แแแ แแแฃแแ แฃแแ แฃแแแแแงแแคแแก แจแแแฃแจแแแแแแจแ แขแแกแขแแ แแแแก แแแแแแแแแ, แฉแแแ แจแแแแแซแแแ แแแแแฎแกแแแแ แแ แแแฃแแ แขแแกแขแแแ. แ แแช แแแจแแแแ แแแฎแกแแแแแแ แแ แแก
แแแแแแแแแ แแแกแแฃแแ แแ แฒแฒงแฒแฒ แฒ แแ แ แแ แฉแแแแ แแแคแ แแกแขแ แฃแฅแขแฃแ แ แฃแแแ แจแแแแแแแแแก แแแขแแ แ แแแฃแ แแกแแแ. แแแแ แแ แแช แแแแแ.
- แแแคแ แแกแขแ แฃแฅแขแฃแ แ แแแงแแคแแแแ แแแขแแ แ แแแฃแ แแแแ, แแแแแแแแแ, Ansible แ แแแแแ.
- แแแแแแแแแฃแแแ แ แแแแ แกแแฎแแก แแแ แแแ, แแฅแแแแ แแก แแแแแ แ แแฃ VM.
- แฉแแแ แแแงแแแแแ แฉแแแแก Ansible แ แแแก แแ แขแแกแขแแก แแแ แแแแจแ.
- แฉแแแ แแแแแฌแแแแ, แ แแ แงแแแแแคแแ แ แแฃแจแแแแแ แแกแ, แ แแแแ แช แแแแแแแ (แฉแแแ แแแฌแแ แแแแแ แขแแกแขแแแก).
- แฉแแแ แแแแแแฌแงแแแขแแ แแแ แแแ แแฃ แแ แ แแแ แแ.
IaC แขแแกแขแแ แแแ: แแ แแแฃแแแก แขแแกแขแแ แแแแก แฎแแแกแแฌแงแแแแ
แแแแฎแแ, แ แ แแ แแก แขแแกแขแแแ CFM-แกแแแแก? แแฅแแแ แจแแแแซแแแแ แฃแแ แแแแ แแแฃแจแแแ แกแแ แแแขแ, แแ แจแแแแซแแแแ แแแแแแงแแแแ แแแ แแแแแฌแงแแแขแแแแแแแ แแแแกแแแแแก:
CFM
Tool
แจแแฃแซแแแแแแแ
แจแแค
แจแแค
แแแ แแแแก แแแกแขแ
แแแแแแแแ testinfra-แกแแแแก, แแแแฎแแแ แแแแแแแก แจแแแแฌแแแแ test1
, test2
แแ แกแแแแแแ แแ แแ แแแ แฏแแฃแคแจแ sshusers
:
def test_default_users(host):
users = ['test1', 'test2' ]
for login in users:
assert host.user(login).exists
assert 'sshusers' in host.user(login).groups
แ แ แแแ แฉแแแก? แแแแฎแแ แ แแฃแแ แแ แแ แแแ แแแแแแ, แแฅ แแแชแแแฃแแแ แแ แแแฅแขแแแแก แชแแแแแแแแแแก แแแแแแแแ github-แแ 2018-2019 แฌแแแแจแ:
IaC แขแแกแขแแ แแแแก แฉแแ แฉแแแแ
แฉแแแแแ แแแแฎแแ: แ แแแแ แแแแแแ แแแแแแ แแก แงแแแแแคแแ แ แแ แแแแฃแจแแแ? แจแแฃแซแแแ
CFM
Tool
แจแแฃแซแแแแแแแ
แจแแค
Terraform
แแ แแแฅแขแแแแก แชแแแแแแแแแแก แแแแแแแแ github-แแ 2018-2019 แฌแแแแจแ:
แแแแแแฃแแ vs. แกแแขแแกแขแ แกแแแแแ แแฃแแ
แแแแแแแแ แแแแแ แฉแแแ
- แแแ แแแแแฃแ แแ แจแแฅแแแแแ VM.
- แแแแแแงแแแแ Ansible แ แแแแแ.
- แแแแแ แแ แจแแแแฌแแแแ.
25-35 แ แแแแ แแฃแจแแแแแ 40-70 แฌแฃแแ, แ แแช แฎแแแแ แซแแแแ แแงแ.
แจแแแแแแ แแแแแฏแ แแงแ แแแแแกแแแ jenkins/docker/ansible/แแแแแแฃแแแแ. แแแแแแแแแฃแ แแ แงแแแแแคแแ แ แแ แแแแแ แแ
- แแแแขแแก แกแแแแแแจแ แฌแแแแแแ.
- แแแแแแฌแแแ แ แแแแแ.
- แแแจแแแแแก แแแแขแแแแแ แ
- แแแแแแงแแแแ Ansible แ แแแแแ.
- แแแฃแจแแแ testinfra.
- แจแแแแแฌแแแ แแแแแขแแแชแแ.
40 แ แแแแก แแแแแแแแแ แแ แแแแฃแแแก แขแแกแขแแ แแแ แแแแฎแแแแแแ 15 แฌแฃแแ แแแแ แซแแแแ.
แ แ แแแแ แฉแแแ แแแแแแแแแแฃแแแ แแแแ แคแแฅแขแแ แแ, แ แแแแ แแชแแ แแแแแงแแแแแฃแแ แแแกแขแ, แแฃแแแจแ แแแแแชแแแแแแ แแ แ.แจ. แแฅ แงแแแแ แแแแแ แฌแงแแแขแก, แ แแแแ แแแฎแฃแ แแก Unit แขแแกแขแแ แแแแก แแแแฎแแ
IaC แขแแกแขแแ แแแ: แแแขแแแ แแชแแแก แขแแกแขแแแ
แแแคแ แแกแขแ แฃแฅแขแฃแ แแก แขแแกแขแแ แแแแก แแแ แแแแแแก แจแแแแแแ แแแแแฏแ แแฅแแแแ แแแขแแแ แแชแแแก แขแแกแขแแแ. แแกแแแ แแกแแแแกแแ แแ แแแฃแแ แขแแกแขแแแแก:
- แแแคแ แแกแขแ แฃแฅแขแฃแ แ แแแงแแคแแแแ แแแขแแ แ แแแฃแ แแแแ, แแแแแแแแแ Ansible แ แแแแแแ.
- แแแแแแแแแฃแแแ แ แแแแ แกแแฎแแก แแแ แแแ, แแฅแแแแ แแก แแแแแ แ แแฃ VM.
- แแแแแแงแแแแ แแ แขแแกแขแแก แแแ แแแ แแแแ แ แจแแกแแแฉแแแแ แ แแแแแ.
- แฉแแแ แแแแแฌแแแแ, แ แแ แงแแแแแคแแ แ แแฃแจแแแแแ แแกแ, แ แแแแ แช แแแแแแแ (แฉแแแ แแแฌแแ แแแแแ แขแแกแขแแแก).
- แฉแแแ แแแแแแฌแงแแแขแแ แแแ แแแ แแฃ แแ แ แแแ แแ.
แฃแฎแแจแแ แ แแ แแแฅแแแ, แฉแแแ แแ แแแแแฌแแแแ แกแแกแขแแแแก แชแแแแแฃแแ แแแแแแแขแแก แแฃแจแแแแแก, แ แแแแ แช แแ แแแฃแแแแแก แขแแกแขแแแจแ, แฉแแแ แแแแแฌแแแแ แ แแแแ แแ แแก แแแแคแแแฃแ แแ แแแฃแแ แกแแ แแแ แ แแแแแแแแแแจแ.
IaC แขแแกแขแแ แแแ: แขแแกแขแแแ แแแแแแแ
แแแ แแแแแแก แแฌแแแ แแแแแ แฉแแแ แแแแแกแแแแแแแ End to End แขแแกแขแแแ. แแแแ. แฉแแแ แแ แแแแแฌแแแแ แชแแแแ แกแแ แแแ แแก, แชแแแแแฃแแ แกแแ แแแขแแก แแ แฉแแแแ แแแคแ แแกแขแ แฃแฅแขแฃแ แแก แชแแแแแฃแแ แแแฃแ แแก แแฃแจแแแแแก. แฉแแแ แแแแแฌแแแแ, แ แแ แแแแ แ แกแแ แแแ แ แแ แแแแแแแแแ แแ แแก แแแแแแจแแ แแแฃแแ, แฉแแแแ แแแคแ แแกแขแ แฃแฅแขแฃแ แ แแฃแจแแแแก แแกแ, แ แแแแ แช แฉแแแ แแแแแแแ. แกแแแฌแฃแฎแแ แแ, แแ แแกแแแแก แแแแแฎแแแก แแแ แงแฃแแจแ แแแแแฌแงแแแขแแแแแแแ, แแแแแ แแแแขแแ, แ แแ... แแแคแ แแกแขแ แฃแฅแขแฃแ แ แฎแจแแ แแ แฃแแแแแแฃแ แแ แแ แ แแฃแแแ แแแ แแแก แแ แขแแกแขแแ แแแแก แฉแแ แฉแแก แจแแฅแแแ. แจแแแแแแ, แงแแแแ แฅแแแแก แกแแแฃแแแ แแแแแฌแงแแแขแแแแแแแก. แแแแฎแแแแ แแ แแก, แแแแ แแ แแแกแฃแฎแ แแ แแ แแก. แแแจแแกแแแแแ, แแ แแแขแงแแแ แ แ แแ แแก แแแแกแแแแก, แ แแ แกแฎแแแแก แฃแแแซแแแ แแแแแ แแแฃแแ แแแ แแแแกแแแ แแ แชแฎแแแ แแ แแแแแฎแแฎแแ แแแแจแ, แ แแ แงแแแแแคแแ แ แฉแแแแแแแ แแแแ แฎแแแก แฌแแ แแแแแแแแแแก.
แแ แแแฅแขแ แแแแแแ แ แแกแขแแ แแแ. แแแ แแแแแแงแแแแแ แแแ แแ แแแแแแแชแแแแจแ แแ, แแแแแ, แแแแแแฃแ แแฅแแแแแแแก แแ แแแแ แแแแแ แ แแแ แแแแแแแแแ แแแกแแแ. แแแแแแแชแแ แแฎแแ แก แฃแญแแ แก แแ แแแแ แแแแแชแแแแ แแแแแก, แแแขแแแ แแชแแแก แแ แ.แจ. แแแแก แชแแแแ, แแฃ แ แแแแ แ แจแแแซแแแแ แแงแแก แแแคแ แแกแขแ แฃแฅแขแฃแ แ, แแ แแก แแแแ แ แแแแแ -แแแแแแแแขแแ แ แคแแแแ แแ แแแแก แชแแแแ, แแฃ แ แแแแแ แขแแกแขแแแ แ แแแแ แแแ แแแแจแ แฃแแแ แฉแแขแแ แแแก แฏแแแแแแกแ.
แแก แกแฅแแแ แกแแแแแแ แแแแ แฎแแแก แแแแแแแแแแแจแ แแฃแจแแแแแ, แกแแแแ แฉแแ แฉแแจแ
แแแแแแแก แแแแ แฃแคแ แ แจแแ แก แฌแแแแแ แแ openshift-แจแ แแแ แแแแแแก แแกแแแ แ แแ, แ แแแแ แแชแแ APB (Ansible Playbook Bundle), แ แแแแแแช แกแแจแฃแแแแแแก แแแซแแแแ แจแแคแฃแแแ แชแแแแ แแแแก แจแแกแแฎแแ, แแฃ แ แแแแ แฃแแแ แแแแแแแแกแแ แแแคแ แแกแขแ แฃแฅแขแฃแ แ แแแแขแแแแแ แจแ. แแแแ. แแ แกแแแแแก แชแแแแแก แแแแแแแ แแแแแ, แจแแกแแแแฌแแแแแแ แฌแแ แขแแแ แแแคแ แแกแขแ แฃแฅแขแฃแ แแก แแแแแแแแแแก แจแแกแแฎแแ.
แแก แงแแแแแคแแ แ แแแ แแแ แแฆแแ แแ แแแแแ, แกแแแแ แฐแแขแแ แแแแแฃแ แแแคแ แแกแขแ แฃแฅแขแฃแ แแจแ แแ แจแแแแแแ: แฉแแแ แแแญแแ แแแแแแ Windows แขแแกแขแแแแกแแแแก. แจแแแแแแ, แชแแแแ แแแแก แจแแกแแฎแแ, แแฃ แ แ, แกแแ, แ แแแแ แฃแแแ แแแแแแแแแก แแ แจแแแแแฌแแแ, แแ แแก แฏแแแแแแแแจแ.
แแแกแแแแ
แแแคแ แแกแขแ แฃแฅแขแฃแ แ, แ แแแแ แช แแแแ แแ แแก
- แแแแ แกแแชแแแจแ.
- แแแแแแแแฃแ แ แฃแ แแแแ แแฅแแแแแแ.
- แแแคแ แแกแขแ แฃแฅแขแฃแ แแก แขแแกแขแแ แแแ.
แแแฃแแแแ
แแแแแแกแฃแ แ แแแ แกแแ แฏแแแ แแแแแ แแแกแขแ แแแ แแแ แแแแแแแแ - แแจแ แแแ แ แแแแ 2019-04-24
SpbLUG แแแแแ (RU) DevopsConf-แแแ 2019-05-28 แแแแแ(RU) DINS DevOps EVENING 2019-06-20 300,000-แแ แแแขแ แกแขแ แแฅแแแฃแแ แแแคแ แแกแขแ แฃแฅแขแฃแ แแก แแแแแก แแแฌแแ แแก แจแแแแแแ แแแฆแแแฃแแ แแแแแแแแแแแ &แขแแฅแกแขแฃแ แ แแแ แกแแ แแแคแ แแกแขแ แฃแฅแขแฃแ แแก, แ แแแแ แช แแแแแก แแแขแแแ แแ แแแ แฃแฌแงแแแขแ แแแฌแแแแแแก แแแแกแแแแแจแ แแแคแ แแกแขแ แฃแฅแขแฃแ แแก แขแแกแขแแ แแแ แแแแแก แกแแฎแแ Ansible แ แแแแแแก แแคแแฅแขแฃแ แ แแแแแแแแ แแแ แแ แจแแแแ แฉแฃแแแแ Ansible แแ แแ แแก แแแจแ!
แฌแงแแ แ: www.habr.com