ืžื” ืฉืœืžื“ืชื™ ืžื‘ื“ื™ืงืช 200 ืฉื•ืจื•ืช ืฉืœ ืงื•ื“ ืชืฉืชื™ืช

ืžื” ืฉืœืžื“ืชื™ ืžื‘ื“ื™ืงืช 200 ืฉื•ืจื•ืช ืฉืœ ืงื•ื“ ืชืฉืชื™ืช

ื’ื™ืฉื” IaC (ืชืฉืชื™ืช ื›ืงื•ื“) ืžื•ืจื›ื‘ืช ืœื ืจืง ืžื”ืงื•ื“ ื”ืžืื•ื—ืกืŸ ื‘ืžืื’ืจ, ืืœื ื’ื ืžื”ืื ืฉื™ื ื•ื”ืชื”ืœื™ื›ื™ื ื”ืžืงื™ืคื™ื ืืช ื”ืงื•ื“ ื”ื–ื”. ื”ืื ื ื™ืชืŸ ืœืขืฉื•ืช ืฉื™ืžื•ืฉ ื—ื•ื–ืจ ื‘ื’ื™ืฉื•ืช ืžืคื™ืชื•ื— ืชื•ื›ื ื” ื•ืขื“ ืœื ื™ื”ื•ืœ ื•ืชื™ืื•ืจ ืชืฉืชื™ื•ืช? ื–ื” ื™ื”ื™ื” ืจืขื™ื•ืŸ ื˜ื•ื‘ ืœื–ื›ื•ืจ ืืช ื”ืจืขื™ื•ืŸ ื”ื–ื” ื‘ื–ืžืŸ ืฉืืชื” ืงื•ืจื ืืช ื”ืžืืžืจ.

ื’ืจืกื” ืื ื’ืœื™ืช

ื–ื” ืชืžืœื™ืœ ืฉืœื™ ื”ื•ืคืขื•ืช ืขืœ DevopsConf 2019-05-28.

ืฉืงื•ืคื™ื•ืช ื•ืกืจื˜ื•ื ื™ื

ืชืฉืชื™ื•ืช ื›ื”ื™ืกื˜ื•ืจื™ื” ืฉืœ ื‘ื•ืฉื”

ืžื” ืฉืœืžื“ืชื™ ืžื‘ื“ื™ืงืช 200 ืฉื•ืจื•ืช ืฉืœ ืงื•ื“ ืชืฉืชื™ืช

ื ื ื™ื— ืฉืืชื” ืžื’ื™ืข ืœืคืจื•ื™ืงื˜ ื—ื“ืฉ, ื•ื”ื ืื•ืžืจื™ื ืœืš: "ื™ืฉ ืœื ื• ืชืฉืชื™ืช ื›ืงื•ื“". ื‘ืžืฆื™ืื•ืช ืžืกืชื‘ืจ ืชืฉืชื™ื•ืช ื›ื”ื™ืกื˜ื•ืจื™ื” ืฉืœ ื‘ื•ืฉื” ืื• ืœืžืฉืœ ืชื™ืขื•ื“ ื›ื”ื™ืกื˜ื•ืจื™ื” ืฉืœ ื‘ื•ืฉื”. ื–ื”ื• ืžืฆื‘ ืืžื™ืชื™ ืžืื•ื“, ืœืžืฉืœ, ืžืงืจื” ื“ื•ืžื” ืชื•ืืจ ืขืœ ื™ื“ื™ ื“ื ื™ืก ืœื™ืกื ืงื• ื‘ื ืื•ื ืื™ืš ืžื—ืœื™ืคื™ื ืืช ื›ืœ ื”ืชืฉืชื™ืช ื•ืžืชื—ื™ืœื™ื ืœื™ืฉื•ืŸ ื‘ืฉืงื˜, ื”ื•ื ืกื™ืคืจ ื›ื™ืฆื“ ืงื™ื‘ืœื• ืชืฉืชื™ืช ืงื•ื”ืจื ื˜ื™ืช ืœืคืจื•ื™ืงื˜ ืžื”ื”ื™ืกื˜ื•ืจื™ื” ืฉืœ bash.

ืขื ืงืฆืช ืจืฆื•ืŸ, ืื ื—ื ื• ื™ื›ื•ืœื™ื ืœื•ืžืจ ืืช ื–ื” ืชืฉืชื™ื•ืช ื›ื”ื™ืกื˜ื•ืจื™ื” ืฉืœ ื‘ื•ืฉื” ื–ื” ื›ืžื• ืงื•ื“:

  1. ื™ื›ื•ืœืช ืฉื—ื–ื•ืจ: ืืชื” ื™ื›ื•ืœ ืœืงื—ืช ืืช ื”ื”ื™ืกื˜ื•ืจื™ื” ืฉืœ bash, ืœื”ืคืขื™ืœ ืืช ื”ืคืงื•ื“ื•ืช ืžืฉื, ื•ืื•ืœื™, ืื’ื‘, ืชืงื‘ืœ ืชืฆื•ืจื” ืขื•ื‘ื“ืช ื›ืคืœื˜.
  2. ื ื™ื”ื•ืœ ื’ืจืกืื•ืช: ืืชื” ื™ื•ื“ืข ืžื™ ื ื›ื ืก ื•ืžื” ื”ื ืขืฉื•, ืฉื•ื‘, ื–ื• ืœื ืขื•ื‘ื“ื” ืฉื–ื” ื™ื•ื‘ื™ืœ ืื•ืชืš ืœืชืฆื•ืจื” ืขื•ื‘ื“ืช ื‘ื™ืฆื™ืื”.
  3. ื”ื™ืกื˜ื•ืจื™ื”: ื”ืกื™ืคื•ืจ ืฉืœ ืžื™ ืขืฉื” ืžื”. ืจืง ืœื ืชื•ื›ืœ ืœื”ืฉืชืžืฉ ื‘ื• ืื ืชืื‘ื“ ืืช ื”ืฉืจืช.

ืžื” ืœืขืฉื•ืช?

ืชืฉืชื™ืช ื›ืงื•ื“

ืžื” ืฉืœืžื“ืชื™ ืžื‘ื“ื™ืงืช 200 ืฉื•ืจื•ืช ืฉืœ ืงื•ื“ ืชืฉืชื™ืช

ืืคื™ืœื• ืžืงืจื” ืžื•ื–ืจ ื›ื–ื” ื›ืžื• ืชืฉืชื™ื•ืช ื›ื”ื™ืกื˜ื•ืจื™ื” ืฉืœ ื‘ื•ืฉื” ืืชื” ื™ื›ื•ืœ ืœืžืฉื•ืš ืื•ืชื• ื‘ืื•ื–ื ื™ื™ื ืชืฉืชื™ืช ื›ืงื•ื“, ืื‘ืœ ื›ืฉืื ื—ื ื• ืจื•ืฆื™ื ืœืขืฉื•ืช ืžืฉื”ื• ื™ื•ืชืจ ืžืกื•ื‘ืš ืžืฉืจืช LAMP ื”ื™ืฉืŸ ื•ื”ื˜ื•ื‘, ื ื’ื™ืข ืœืžืกืงื ื” ืฉืฆืจื™ืš ืื™ื›ืฉื”ื• ืœืฉื ื•ืช, ืœืฉื ื•ืช, ืœืฉืคืจ ืืช ื”ืงื•ื“ ื”ื–ื”. ืœืื—ืจ ืžื›ืŸ ื ืจืฆื” ืœืฉืงื•ืœ ืืช ื”ื”ืงื‘ืœื•ืช ื‘ื™ื ื™ื”ื ืชืฉืชื™ืช ื›ืงื•ื“ ื•ืคื™ืชื•ื— ืชื•ื›ื ื”.

ื™ึธื‘ึตืฉื.

ืžื” ืฉืœืžื“ืชื™ ืžื‘ื“ื™ืงืช 200 ืฉื•ืจื•ืช ืฉืœ ืงื•ื“ ืชืฉืชื™ืช

ื‘ืคืจื•ื™ืงื˜ ืคื™ืชื•ื— ืžืขืจื›ื•ืช ืื—ืกื•ืŸ, ื”ื™ื™ืชื” ืžืฉื™ืžื” ืžืฉื ื” ืœื”ื’ื“ื™ืจ ืžืขืช ืœืขืช SDS: ืื ื• ืžืฉื—ืจืจื™ื ืžื”ื“ื•ืจื” ื—ื“ืฉื” - ื™ืฉ ืœื”ืคื™ืฅ ืื•ืชื” ืœื‘ื“ื™ืงื•ืช ื ื•ืกืคื•ืช. ื”ืžืฉื™ืžื” ืคืฉื•ื˜ื” ื‘ื™ื•ืชืจ:

  • ื”ื™ื›ื ืก ืœื›ืืŸ ื‘ืืžืฆืขื•ืช ssh ื•ื‘ืฆืข ืืช ื”ืคืงื•ื“ื”.
  • ืœื”ืขืชื™ืง ืืช ื”ืงื•ื‘ืฅ ืœืฉื.
  • ืชืงืŸ ืืช ื”ืชืฆื•ืจื” ื›ืืŸ.
  • ืœื”ืชื—ื™ืœ ืืช ื”ืฉื™ืจื•ืช ืฉื
  • ...
  • ืจื•ื•ื—!

ืขื‘ื•ืจ ื”ื”ื™ื’ื™ื•ืŸ ื”ืžืชื•ืืจ, bash ื”ื•ื ื“ื™ ื•ื”ื•ืชืจ, ื‘ืžื™ื•ื—ื“ ื‘ืฉืœื‘ื™ื ื”ืžื•ืงื“ืžื™ื ืฉืœ ื”ืคืจื•ื™ืงื˜, ื›ืืฉืจ ื”ื•ื ืจืง ืžืชื—ื™ืœ. ื–ึถื” ื–ื” ืœื ื ื•ืจื ืฉืืชื” ืžืฉืชืžืฉ ื‘-bash, ืื‘ืœ ืขื ื”ื–ืžืŸ ื™ืฉ ื‘ืงืฉื•ืช ืœืคืจื•ืก ืžืฉื”ื• ื“ื•ืžื”, ืื‘ืœ ืงืฆืช ืฉื•ื ื”. ื”ื“ื‘ืจ ื”ืจืืฉื•ืŸ ืฉืขื•ืœื” ืขืœ ื”ื“ืขืช ื”ื•ื ื”ืขืชืง-ื”ื“ื‘ืง. ื•ืขื›ืฉื™ื• ื›ื‘ืจ ื™ืฉ ืœื ื• ืฉื ื™ ืชืกืจื™ื˜ื™ื ืžืื•ื“ ื“ื•ืžื™ื ืฉืขื•ืฉื™ื ื›ืžืขื˜ ืื•ืชื• ื“ื‘ืจ. ืขื ื”ื–ืžืŸ ื’ื“ืœ ืžืกืคืจ ื”ืกืงืจื™ืคื˜ื™ื, ื•ื”ืชืžื•ื“ื“ื ื• ืขื ื”ืขื•ื‘ื“ื” ืฉื™ืฉ ื”ื™ื’ื™ื•ืŸ ืขืกืงื™ ืžืกื•ื™ื ืœืคืจื™ืกืช ื”ืชืงื ื” ืฉืฆืจื™ืš ืœืกื ื›ืจืŸ ื‘ื™ืŸ ืกืงืจื™ืคื˜ื™ื ืฉื•ื ื™ื, ื–ื” ื“ื™ ืžืกื•ื‘ืš.

ืžื” ืฉืœืžื“ืชื™ ืžื‘ื“ื™ืงืช 200 ืฉื•ืจื•ืช ืฉืœ ืงื•ื“ ืชืฉืชื™ืช

ืžืกืชื‘ืจ ืฉื™ืฉ ื ื•ื”ื’ ื›ื–ื” ื›ืžื• ื“.ืจ.ื™. (ืืœ ืชื—ื–ื•ืจ ืขืœ ืขืฆืžืš). ื”ืจืขื™ื•ืŸ ื”ื•ื ืœืขืฉื•ืช ืฉื™ืžื•ืฉ ื—ื•ื–ืจ ื‘ืงื•ื“ ืงื™ื™ื. ื–ื” ื ืฉืžืข ืคืฉื•ื˜, ืื‘ืœ ืœื ื”ื’ืขื ื• ืœื–ื” ืžื™ื“. ื‘ืžืงืจื” ืฉืœื ื•, ื–ื” ื”ื™ื” ืจืขื™ื•ืŸ ื‘ื ืืœื™: ืœื”ืคืจื™ื“ ื‘ื™ืŸ ื”ื’ื“ืจื•ืช ืœืชืกืจื™ื˜ื™ื. ื”ึธื”ึตืŸ. ื”ื”ื™ื’ื™ื•ืŸ ื”ืขืกืงื™ ืฉืœ ืื•ืคืŸ ืคืจื™ืกืช ื”ื”ืชืงื ื” ื‘ื ืคืจื“, ื”ื’ื“ืจื•ืช ื‘ื ืคืจื“.

ืžื•ืฆืง. ืขื‘ื•ืจ CFM

ืžื” ืฉืœืžื“ืชื™ ืžื‘ื“ื™ืงืช 200 ืฉื•ืจื•ืช ืฉืœ ืงื•ื“ ืชืฉืชื™ืช

ืขื ื”ื–ืžืŸ ื”ืคืจื•ื™ืงื˜ ื’ื“ืœ ื• ื”ืžืฉืš ื˜ื‘ืขื™ ื”ื™ื™ืชื” ื”ื•ืคืขืชื• ืฉืœ Ansible. ื”ืกื™ื‘ื” ื”ืขื™ืงืจื™ืช ืœื”ื•ืคืขืชื• ื”ื™ื ืฉื™ืฉ ืžื•ืžื—ื™ื•ืช ื‘ืฆื•ื•ืช ื•ืฉื”-bash ืœื ืžื™ื•ืขื“ ืœื”ื™ื’ื™ื•ืŸ ืžื•ืจื›ื‘. ื’ื ืื ืกื™ื‘ืœ ื”ื—ืœื” ืœื”ื›ื™ืœ ื”ื™ื’ื™ื•ืŸ ืžื•ืจื›ื‘. ื›ื“ื™ ืœืžื ื•ืข ืžื”ืœื•ื’ื™ืงื” ื”ืžื•ืจื›ื‘ืช ืœื”ืคื•ืš ืœื›ืื•ืก, ื™ืฉื ื ืขืงืจื•ื ื•ืช ืœืืจื’ื•ืŸ ืงื•ื“ ื‘ืคื™ืชื•ื— ืชื•ื›ื ื” ืžื•ืฆืง. ื›ืžื• ื›ืŸ, ืœืžืฉืœ, ื’ืจื™ื’ื•ืจื™ ืคื˜ืจื•ื‘ ื‘ื“ื•"ื— "ืœืžื” ืžื•ืžื—ื” IT ืฆืจื™ืš ืžื•ืชื’ ืื™ืฉื™" ื”ืขืœื” ืืช ื”ืฉืืœื” ืฉืื“ื ืžืขื•ืฆื‘ ื‘ืฆื•ืจื” ื›ื–ื• ืฉืงืœ ืœื• ื™ื•ืชืจ ืœืคืขื•ืœ ืขื ื›ืžื” ื’ื•ืคื™ื ื—ื‘ืจืชื™ื™ื, ื‘ืคื™ืชื•ื— ืชื•ื›ื ื” ืืœื”. ื”ื ื—ืคืฆื™ื. ืื ื ืฉืœื‘ ืืช ืฉื ื™ ื”ืจืขื™ื•ื ื•ืช ื”ืœืœื• ื•ื ืžืฉื™ืš ืœืคืชื— ืื•ืชื, ื ื‘ื—ื™ืŸ ืฉื’ื ื ื•ื›ืœ ืœื”ืฉืชืžืฉ ื‘ื”ื ืžื•ืฆืง. ื›ื“ื™ ืœื”ืงืœ ืขืœ ื”ืฉืžื™ืจื” ื•ื”ืฉื™ื ื•ื™ ืฉืœ ื”ื”ื™ื’ื™ื•ืŸ ื”ื–ื” ื‘ืขืชื™ื“.

ืขืงืจื•ืŸ ื”ืื—ืจื™ื•ืช ื”ื‘ืœืขื“ื™ืช

ืžื” ืฉืœืžื“ืชื™ ืžื‘ื“ื™ืงืช 200 ืฉื•ืจื•ืช ืฉืœ ืงื•ื“ ืชืฉืชื™ืช

ื›ืœ ื›ื™ืชื” ืžื‘ืฆืขืช ืžืฉื™ืžื” ืื—ืช ื‘ืœื‘ื“.

ืื™ืŸ ืฆื•ืจืš ืœืขืจื‘ื‘ ืงื•ื“ ื•ืœื™ืฆื•ืจ ืžืคืœืฆื•ืช ืกืคื’ื˜ื™ ืืœื•ื”ื™ื•ืช ืžื•ื ื•ืœื™ื˜ื™ื•ืช. ื”ืชืฉืชื™ืช ืฆืจื™ื›ื” ืœื”ื™ื•ืช ืžื•ืจื›ื‘ืช ืžืœื‘ื ื™ื ืคืฉื•ื˜ื•ืช. ืžืกืชื‘ืจ ืฉืื ืžืคืฆืœื™ื ืืช ืกืคืจ ื”ืžืฉื—ืงื™ื ืฉืœ Ansible ืœื—ืชื™ื›ื•ืช ืงื˜ื ื•ืช, ืงื•ืจื ืชืคืงื™ื“ื™ Ansible, ืื– ืงืœ ื™ื•ืชืจ ืœืชื—ื–ืง ืื•ืชื.

ื”ืขื™ืงืจื•ืŸ ื”ืคืชื•ื— ื”ืกื’ื•ืจ

ืžื” ืฉืœืžื“ืชื™ ืžื‘ื“ื™ืงืช 200 ืฉื•ืจื•ืช ืฉืœ ืงื•ื“ ืชืฉืชื™ืช

ืขืงืจื•ืŸ ืคืชื•ื—/ืกื’ื•ืจ.

  • ืคืชื•ื— ืœื”ืจื—ื‘ื”: ืคื™ืจื•ืฉื• ืฉื ื™ืชืŸ ืœื”ืจื—ื™ื‘ ืืช ื”ื”ืชื ื”ื’ื•ืช ืฉืœ ื™ืฉื•ืช ืขืœ ื™ื“ื™ ื™ืฆื™ืจืช ืกื•ื’ื™ ื™ืฉื•ื™ื•ืช ื—ื“ืฉื™ื.
  • ืกื’ื•ืจ ืœืฉื™ื ื•ื™: ื›ืชื•ืฆืื” ืžื”ืจื—ื‘ืช ื”ื”ืชื ื”ื’ื•ืช ืฉืœ ื™ืฉื•ืช, ืื™ืŸ ืœื‘ืฆืข ืฉื™ื ื•ื™ื™ื ื‘ืงื•ื“ ื”ืžืฉืชืžืฉ ื‘ื™ืฉื•ื™ื•ืช ืืœื•.

ื‘ืชื—ื™ืœื”, ืคืจืกื ื• ืืช ืชืฉืชื™ืช ื”ื‘ื“ื™ืงื” ืขืœ ืžื›ื•ื ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช, ืืš ื‘ืฉืœ ื”ืขื•ื‘ื“ื” ืฉื”ืœื•ื’ื™ืงื” ื”ืขืกืงื™ืช ืฉืœ ื”ืคืจื™ืกื” ื”ื™ื™ืชื” ื ืคืจื“ืช ืžื”ื™ื™ืฉื•ื, ื”ื•ืกืคื ื• ื’ืœื’ื•ืœ ืœ-baremetall ืœืœื ื‘ืขื™ื•ืช.

ืขืงืจื•ืŸ ื”ื—ืœืคืช ืœื™ืกืงื•ื‘

ืžื” ืฉืœืžื“ืชื™ ืžื‘ื“ื™ืงืช 200 ืฉื•ืจื•ืช ืฉืœ ืงื•ื“ ืชืฉืชื™ืช

ืขืงืจื•ืŸ ื”ื”ื—ืœืคื” ืฉืœ ื‘ืจื‘ืจื” ืœื™ืกืงื•ื‘. ืื•ื‘ื™ื™ืงื˜ื™ื ื‘ืชื•ื›ื ื™ืช ื—ื™ื™ื‘ื™ื ืœื”ื™ื•ืช ื ื™ืชื ื™ื ืœื”ื—ืœืคื” ื‘ืžื•ืคืขื™ื ืฉืœ ืชืช-ื”ืกื•ื’ื™ื ืฉืœื”ื ืžื‘ืœื™ ืœืฉื ื•ืช ืืช ื”ื‘ื™ืฆื•ืข ื”ื ื›ื•ืŸ ืฉืœ ื”ืชื•ื›ื ื™ืช

ืื ืืชื” ืžืกืชื›ืœ ืขืœ ื–ื” ื‘ืฆื•ืจื” ืจื—ื‘ื” ื™ื•ืชืจ, ื–ื” ืœื ืžืืคื™ื™ืŸ ืฉืœ ืฉื•ื ืคืจื•ื™ืงื˜ ืžืกื•ื™ื ืฉื ื™ืชืŸ ืœื™ื™ืฉื ืฉื ืžื•ืฆืง., ื–ื” ื‘ื“ืจืš ื›ืœืœ ืขืœ CFM, ืœืžืฉืœ, ื‘ืคืจื•ื™ืงื˜ ืื—ืจ ื™ืฉ ืฆื•ืจืš ืœืคืจื•ืก ื™ื™ืฉื•ื Java ืขื ืงื•ืคืกืื•ืช ืขืœ ื’ื‘ื™ Java, ืฉืจืชื™ ื™ื™ืฉื•ืžื™ื, ืžืกื“ื™ ื ืชื•ื ื™ื, ืžืขืจื›ืช ื”ืคืขืœื” ื•ื›ื•'. ื‘ืืžืฆืขื•ืช ื“ื•ื’ืžื” ื–ื•, ืืฉืงื•ืœ ืขืงืจื•ื ื•ืช ื ื•ืกืคื™ื ืžื•ืฆืง.

ื‘ืžืงืจื” ืฉืœื ื•, ื™ืฉ ื”ืกื›ืžื” ื‘ืชื•ืš ืฆื•ื•ืช ื”ืชืฉืชื™ืช ืฉืื ื”ืชืงื ื• ืืช ื”ืชืคืงื™ื“ imbjava ืื• oraclejava, ืื– ื™ืฉ ืœื ื• ืงื•ื‘ืฅ ื”ืคืขืœื” ื‘ื™ื ืืจื™ ืฉืœ java. ื–ื” ื”ื›ืจื—ื™ ื›ื™ ืชืคืงื™ื“ื™ื ื‘ืžืขืœื” ื”ื–ืจื ืชืœื•ื™ื™ื ื‘ื”ืชื ื”ื’ื•ืช ื–ื•; ื”ื ืžืฆืคื™ื ืœื’'ืื•ื•ื”. ื™ื—ื“ ืขื ื–ืืช, ื–ื” ืžืืคืฉืจ ืœื ื• ืœื”ื—ืœื™ืฃ ืžื™ืžื•ืฉ/ื’ืจืกื” ืื—ืช ืฉืœ java ื‘ืื—ืจืช ืžื‘ืœื™ ืœืฉื ื•ืช ืืช ืœื•ื’ื™ืงื” ืฉืœ ืคืจื™ืกืช ื”ืืคืœื™ืงืฆื™ื”.

ื”ื‘ืขื™ื” ื›ืืŸ ื ืขื•ืฆื” ื‘ืขื•ื‘ื“ื” ืฉืื™ ืืคืฉืจ ืœื™ื™ืฉื ื–ืืช ื‘-Ansible, ื›ืชื•ืฆืื” ืžื›ืš ืžื•ืคื™ืขื™ื ื›ืžื” ื”ืกื›ืžื•ืช ื‘ืชื•ืš ื”ืฆื•ื•ืช.

ืขืงืจื•ืŸ ื”ืคืจื“ืช ื”ืžืžืฉืง

ืžื” ืฉืœืžื“ืชื™ ืžื‘ื“ื™ืงืช 200 ืฉื•ืจื•ืช ืฉืœ ืงื•ื“ ืชืฉืชื™ืช

ืขืงืจื•ืŸ ื”ืคืจื“ืช ืžืžืฉืง: "ื”ืจื‘ื” ืžืžืฉืงื™ื ืกืคืฆื™ืคื™ื™ื ืœืœืงื•ื— ืขื“ื™ืคื™ื ืขืœ ืžืžืฉืง ืื—ื“ ืœืžื˜ืจื•ืช ื›ืœืœื™ื•ืช.

ื‘ืชื—ื™ืœื”, ื ื™ืกื™ื ื• ืœื”ื›ื ื™ืก ืืช ื›ืœ ื”ืฉื•ื ื•ืช ืฉืœ ืคืจื™ืกืช ื™ื™ืฉื•ืžื™ื ื‘-Ansible playbook ืื—ื“, ืื‘ืœ ื”ื™ื” ืงืฉื” ืœืชืžื•ืš, ื•ื”ื’ื™ืฉื” ื›ืฉื™ืฉ ืœื ื• ืžืžืฉืง ื—ื™ืฆื•ื ื™ ืฉืฆื•ื™ืŸ (ื”ืœืงื•ื— ืžืฆืคื” ืœื™ืฆื™ืื” 443), ืื– ื ื™ืชืŸ ืœื”ืจื›ื™ื‘ ืชืฉืชื™ืช ืžืคืจื˜. ืœื‘ื ื™ื ืœื™ื™ืฉื•ื ืกืคืฆื™ืคื™.

ืขืงืจื•ืŸ ื”ื™ืคื•ืš ื”ืชืœื•ืช

ืžื” ืฉืœืžื“ืชื™ ืžื‘ื“ื™ืงืช 200 ืฉื•ืจื•ืช ืฉืœ ืงื•ื“ ืชืฉืชื™ืช

ืขืงืจื•ืŸ ื”ื™ืคื•ืš ื”ืชืœื•ืช. ืžื•ื“ื•ืœื™ื ื‘ืจืžื•ืช ื’ื‘ื•ื”ื•ืช ื™ื•ืชืจ ืœื ืฆืจื™ื›ื™ื ืœื”ื™ื•ืช ืชืœื•ื™ื™ื ื‘ืžื•ื“ื•ืœื™ื ื‘ืจืžื•ืช ื ืžื•ื›ื•ืช ื™ื•ืชืจ. ืฉื ื™ ืกื•ื’ื™ ื”ืžื•ื“ื•ืœื™ื ื—ื™ื™ื‘ื™ื ืœื”ื™ื•ืช ืชืœื•ื™ื™ื ื‘ื”ืคืฉื˜ื•ืช. ื”ืคืฉื˜ื•ืช ืœื ืืžื•ืจื•ืช ืœื”ื™ื•ืช ืชืœื•ื™ื•ืช ื‘ืคืจื˜ื™ื. ื”ืคืจื˜ื™ื ื—ื™ื™ื‘ื™ื ืœื”ื™ื•ืช ืชืœื•ื™ื™ื ื‘ื”ืคืฉื˜ื•ืช.

ื›ืืŸ ื”ื“ื•ื’ืžื” ืชืชื‘ืกืก ืขืœ ืื ื˜ื™-ืชื‘ื ื™ืช.

  1. ืœืื—ื“ ื”ืœืงื•ื—ื•ืช ื”ื™ื” ืขื ืŸ ืคืจื˜ื™.
  2. ื”ื–ืžื ื• ืžื›ื•ื ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช ื‘ืชื•ืš ื”ืขื ืŸ.
  3. ืืš ื‘ืฉืœ ืื•ืคื™ื• ืฉืœ ื”ืขื ืŸ, ืคืจื™ืกืช ืืคืœื™ืงืฆื™ื•ืช ื”ื™ื™ืชื” ืงืฉื•ืจื” ืœืื™ื–ื” Hypervisor ื”ื™ื” ืคื•ืขืœ ื”-VM.

ื”ึธื”ึตืŸ. ืœื•ื’ื™ืงื” ืฉืœ ืคืจื™ืกืช ื™ื™ืฉื•ืžื™ื ื‘ืจืžื” ื’ื‘ื•ื”ื” ื–ืจืžื” ืขื ืชืœื•ืช ืœืจืžื•ืช ื ืžื•ื›ื•ืช ื™ื•ืชืจ ืฉืœ ื”-Hypervisor, ื•ืžืฉืžืขื•ืช ื”ื“ื‘ืจ ื”ื™ื™ืชื” ื‘ืขื™ื•ืช ื‘ืขืช ืฉื™ืžื•ืฉ ื—ื•ื–ืจ ื‘ืœื•ื’ื™ืงื” ื–ื•. ืืœ ืชื”ื™ื” ื›ืš.

ืคืขื•ืœืช ื’ื•ืžืœื™ืŸ

ืžื” ืฉืœืžื“ืชื™ ืžื‘ื“ื™ืงืช 200 ืฉื•ืจื•ืช ืฉืœ ืงื•ื“ ืชืฉืชื™ืช

ืชืฉืชื™ืช ื›ืงื•ื“ ืขื•ืกืงืช ืœื ืจืง ื‘ืงื•ื“, ืืœื ื’ื ื‘ื™ื—ืกื™ื ื‘ื™ืŸ ืงื•ื“ ืœืื ืฉื™ื, ื‘ืื™ื ื˜ืจืืงืฆื™ื•ืช ื‘ื™ืŸ ืžืคืชื—ื™ ืชืฉืชื™ืช.

ื’ื•ืจื ืื•ื˜ื•ื‘ื•ืก

ืžื” ืฉืœืžื“ืชื™ ืžื‘ื“ื™ืงืช 200 ืฉื•ืจื•ืช ืฉืœ ืงื•ื“ ืชืฉืชื™ืช

ื‘ื•ื ื ื ื™ื— ืฉื™ืฉ ืœืš Vasya ื‘ืคืจื•ื™ืงื˜ ืฉืœืš. ื•ืืกื™ื” ื™ื•ื“ืข ื”ื›ืœ ืขืœ ื”ืชืฉืชื™ืช ืฉืœืš, ืžื” ื™ืงืจื” ืื ื•ืืกื™ื” ืชื™ืขืœื ืคืชืื•ื? ื–ื” ืžืฆื‘ ืžืื•ื“ ืืžื™ืชื™, ื›ื™ ื”ื•ื ืขืœื•ืœ ืœื”ื™ืคื’ืข ืžืื•ื˜ื•ื‘ื•ืก. ืœืคืขืžื™ื ื–ื” ืงื•ืจื”. ืื ื–ื” ืงื•ืจื” ื•ื”ื™ื“ืข ืขืœ ื”ืงื•ื“, ื”ืžื‘ื ื” ืฉืœื•, ืื•ืคืŸ ืคืขื•ืœืชื•, ื”ื•ืคืขื•ืช ื•ืกื™ืกืžืื•ืช ืœื ื™ืชืคื–ืจ ื‘ืฆื•ื•ืช, ืื– ืืชื” ืขืœื•ืœ ืœื”ื™ืชืงืœ ื‘ืžืกืคืจ ืžืฆื‘ื™ื ืœื ื ืขื™ืžื™ื. ื›ื“ื™ ืœืžื–ืขืจ ืกื™ื›ื•ื ื™ื ืืœื• ื•ืœื”ืคื™ืฅ ื™ื“ืข ื‘ืชื•ืš ื”ืฆื•ื•ืช, ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ื’ื™ืฉื•ืช ืฉื•ื ื•ืช

ื–ื•ื’ Devopsing

ืžื” ืฉืœืžื“ืชื™ ืžื‘ื“ื™ืงืช 200 ืฉื•ืจื•ืช ืฉืœ ืงื•ื“ ืชืฉืชื™ืช

ื–ื” ืœื ื›ืžื• ื›ื‘ื“ื™ื—ื”, ืฉื”ืžื ื”ืœื™ื ืฉืชื• ื‘ื™ืจื”, ืฉื™ื ื• ืกื™ืกืžืื•ืช ื•ืื ืœื•ื’ื™ ืฉืœ ืชื›ื ื•ืช ื–ื•ื’ื™ื•ืช. ื”ึธื”ึตืŸ. ืฉื ื™ ืžื”ื ื“ืกื™ื ืžืชื™ื™ืฉื‘ื™ื ืœื™ื“ ืžื—ืฉื‘ ืื—ื“, ืžืงืœื“ืช ืื—ืช ื•ืžืชื—ื™ืœื™ื ืœื”ืงื™ื ืืช ื”ืชืฉืชื™ืช ืฉืœื›ื ื‘ื™ื—ื“: ื”ืงืžืช ืฉืจืช, ื›ืชื™ื‘ืช ืชืคืงื™ื“ ืฉืœ Ansible ื•ื›ื•'. ื–ื” ื ืฉืžืข ื ื—ืžื“, ืื‘ืœ ื–ื” ืœื ืขื‘ื“ ืœื ื•. ืื‘ืœ ืžืงืจื™ื ืžื™ื•ื—ื“ื™ื ืฉืœ ืชืจื’ื•ืœ ื–ื” ืขื‘ื“ื•. ืขื•ื‘ื“ ื—ื“ืฉ ืžื’ื™ืข, ื”ืžื ื˜ื•ืจ ืฉืœื• ืœื•ืงื— ืขืœ ืขืฆืžื• ื™ื—ื“ ืื™ืชื• ืžืฉื™ืžื” ืืžื™ืชื™ืช, ืขื•ื‘ื“ ื•ืžืขื‘ื™ืจ ื™ื“ืข.

ืžืงืจื” ืžื™ื•ื—ื“ ื ื•ืกืฃ ื”ื•ื ืฉื™ื—ืช ืื™ืจื•ืข. ื‘ื–ืžืŸ ื‘ืขื™ื” ืžืชืืกืคืช ืงื‘ื•ืฆื” ืฉืœ ืชื•ืจื ื™ื ื•ื”ืžืขื•ืจื‘ื™ื, ืžื•ื ื” ืžื ื”ื™ื’ ืื—ื“, ืฉืžืฉืชืฃ ืืช ื”ืžืกืš ืฉืœื• ื•ืžืฉืžื™ืข ืืช ื”ืœืš ื”ืžื—ืฉื‘ื”. ืžืฉืชืชืคื™ื ืื—ืจื™ื ืขื•ืงื‘ื™ื ืื—ืจ ืžื—ืฉื‘ื•ืชื™ื• ืฉืœ ื”ืžื ื”ื™ื’, ืžืจื’ืœื™ื ืื—ืจ ื˜ืจื™ืงื™ื ืžื”ืงื•ื ืกื•ืœื”, ื‘ื•ื“ืงื™ื ืฉืœื ืคืกืคืกื• ืฉื•ืจื” ื‘ื™ื•ืžืŸ ื•ืœื•ืžื“ื™ื ื“ื‘ืจื™ื ื—ื“ืฉื™ื ืขืœ ื”ืžืขืจื›ืช. ื’ื™ืฉื” ื–ื• ืขื‘ื“ื” ืœืขืชื™ื ืงืจื•ื‘ื•ืช ื™ื•ืชืจ ืžืืฉืจ ืœื.

ื‘ื™ืงื•ืจืช ืงื•ื“

ืžื” ืฉืœืžื“ืชื™ ืžื‘ื“ื™ืงืช 200 ืฉื•ืจื•ืช ืฉืœ ืงื•ื“ ืชืฉืชื™ืช

ืžื‘ื—ื™ื ื” ืกื•ื‘ื™ื™ืงื˜ื™ื‘ื™ืช, ื”ื™ื” ื™ืขื™ืœ ื™ื•ืชืจ ืœื”ืคื™ืฅ ื™ื“ืข ืขืœ ื”ืชืฉืชื™ืช ื•ื›ื™ืฆื“ ื”ื™ื ืคื•ืขืœืช ื‘ืืžืฆืขื•ืช ืกืงื™ืจืช ืงื•ื“:

  • ื”ืชืฉืชื™ืช ืžืชื•ืืจืช ื‘ืงื•ื“ ื‘ืžืื’ืจ.
  • ืฉื™ื ื•ื™ื™ื ืžืชืจื—ืฉื™ื ื‘ืกื ื™ืฃ ื ืคืจื“.
  • ื‘ืžื”ืœืš ื‘ืงืฉืช ืžื™ื–ื•ื’, ื ื™ืชืŸ ืœืจืื•ืช ืืช ื”ื“ืœืชื ืฉืœ ืฉื™ื ื•ื™ื™ื ื‘ืชืฉืชื™ืช.

ื’ื•ืœืช ื”ื›ื•ืชืจืช ื›ืืŸ ื”ื™ื™ืชื” ืฉื”ืกื•ืงืจื™ื ื ื‘ื—ืจื• ืื—ื“ ืื—ื“, ืœืคื™ ืœื•ื— ื–ืžื ื™ื, ื›ืœื•ืžืจ. ื‘ืžื™ื“ื” ืžืกื•ื™ืžืช ืฉืœ ืกื‘ื™ืจื•ืช ืชื˜ืคืก ืœืชื•ืš ืคื™ืกืช ืชืฉืชื™ืช ื—ื“ืฉื”.

ืงื•ื“ ืกื’ื ื•ืŸ

ืžื” ืฉืœืžื“ืชื™ ืžื‘ื“ื™ืงืช 200 ืฉื•ืจื•ืช ืฉืœ ืงื•ื“ ืชืฉืชื™ืช

ืขื ื”ื–ืžืŸ ื”ื—ืœื• ืœื”ื•ืคื™ืข ืžืจื™ื‘ื•ืช ื‘ืžื”ืœืš ื‘ื™ืงื•ืจื•ืช, ื›ื™... ืœืžื‘ืงืจื™ื ื”ื™ื” ืกื’ื ื•ืŸ ืžืฉืœื”ื ื•ื”ืกื™ื‘ื•ื‘ ืฉืœ ื”ืกื•ืงืจื™ื ืขืจื ืื•ืชื ืขื ืกื’ื ื•ื ื•ืช ืฉื•ื ื™ื: 2 ืจื•ื•ื—ื™ื ืื• 4, camelCase ืื• snake_case. ืœื ื ื™ืชืŸ ื”ื™ื” ืœื™ื™ืฉื ื–ืืช ืžื™ื“.

  • ื”ืจืขื™ื•ืŸ ื”ืจืืฉื•ืŸ ื”ื™ื” ืœื”ืžืœื™ืฅ โ€‹โ€‹ืขืœ ืฉื™ืžื•ืฉ ื‘ืœื™ื˜ืจ, ื”ืจื™ ื›ื•ืœื ืžื”ื ื“ืกื™ื, ื›ื•ืœื ื—ื›ืžื™ื. ืื‘ืœ ืขื•ืจื›ื™ื ืฉื•ื ื™ื, ืžืขืจื›ืช ื”ืคืขืœื”, ืื™ื ื ื ื•ื—ื™ื
  • ื–ื” ื”ืชืคืชื— ืœื‘ื•ื˜ ืฉื›ืชื‘ ืœืจืคื•ื™ ืขื‘ื•ืจ ื›ืœ commit ื‘ืขื™ื™ืชื™ ื•ืฆื™ืจืฃ ืืช ืคืœื˜ ื”-linter. ืื‘ืœ ื‘ืจื•ื‘ ื”ืžืงืจื™ื ื”ื™ื• ื“ื‘ืจื™ื ื—ืฉื•ื‘ื™ื ื™ื•ืชืจ ืœืขืฉื•ืช ื•ื”ืงื•ื“ ื ืฉืืจ ืœื ืงื‘ื•ืข.

Green Build Master

ืžื” ืฉืœืžื“ืชื™ ืžื‘ื“ื™ืงืช 200 ืฉื•ืจื•ืช ืฉืœ ืงื•ื“ ืชืฉืชื™ืช

ื”ื–ืžืŸ ืขื•ื‘ืจ, ื•ื”ื’ืขื ื• ืœืžืกืงื ื” ืฉืœื ื ื™ืชืŸ ืœื”ื›ื ื™ืก ืœืžืืกื˜ืจ ื”ืชื—ื™ื™ื‘ื•ื™ื•ืช ืฉืœื ืขื•ื‘ืจื•ืช ืžื‘ื—ื ื™ื ืžืกื•ื™ืžื™ื. ื•ื•ืืœื”! ื”ืžืฆืื ื• ืืช Green Build Master, ืืฉืจ ื ื”ื•ื’ ื‘ืคื™ืชื•ื— ืชื•ื›ื ื” ื‘ืžืฉืš ื–ืžืŸ ืจื‘:

  • ื”ืคื™ืชื•ื— ืžืชื‘ืฆืข ื‘ืกื ื™ืฃ ื ืคืจื“.
  • ื‘ื“ื™ืงื•ืช ืจืฆื•ืช ื‘ืืฉื›ื•ืœ ื”ื–ื”.
  • ืื ื”ืžื‘ื—ื ื™ื ื ื›ืฉืœื™ื, ื”ืงื•ื“ ืœื ื™ื’ื™ืข ืœืžืืกื˜ืจ.

ืงื‘ืœืช ื”ื”ื—ืœื˜ื” ื”ื–ื• ื”ื™ื™ืชื” ืžืื•ื“ ื›ื•ืื‘ืช, ื›ื™... ืขื•ืจืจ ื”ืจื‘ื” ืžื—ืœื•ืงืช, ืื‘ืœ ื–ื” ื”ื™ื” ืฉื•ื•ื” ืืช ื–ื”, ื›ื™... ื‘ื™ืงื•ืจื•ืช ื”ื—ืœื• ืœืงื‘ืœ ื‘ืงืฉื•ืช ืœืžื™ื–ื•ื’ื™ื ืœืœื ื”ื‘ื“ืœื™ื ื‘ืกื’ื ื•ืŸ, ื•ืขื ื”ื–ืžืŸ ืžืกืคืจ ื”ืื–ื•ืจื™ื ื”ื‘ืขื™ื™ืชื™ื™ื ื”ื—ืœ ืœืจื“ืช.

ื‘ื“ื™ืงืช IaC

ืžื” ืฉืœืžื“ืชื™ ืžื‘ื“ื™ืงืช 200 ืฉื•ืจื•ืช ืฉืœ ืงื•ื“ ืชืฉืชื™ืช

ื‘ื ื•ืกืฃ ืœื‘ื“ื™ืงืช ืกื’ื ื•ืŸ, ืืชื” ื™ื›ื•ืœ ืœื”ืฉืชืžืฉ ื‘ื“ื‘ืจื™ื ืื—ืจื™ื, ืœืžืฉืœ, ื›ื“ื™ ืœื‘ื“ื•ืง ืฉื”ืชืฉืชื™ืช ืฉืœืš ื‘ืืžืช ื™ื›ื•ืœื” ืœืคืจื•ืก. ืื• ืœื‘ื“ื•ืง ืฉืฉื™ื ื•ื™ื™ื ื‘ืชืฉืชื™ืช ืœื ื™ื•ื‘ื™ืœื• ืœืื•ื‘ื“ืŸ ื›ืกืฃ. ืœืžื” ื–ื” ืขืฉื•ื™ ืœื”ื™ื•ืช ื ื—ื•ืฅ? ื”ืฉืืœื” ืžื•ืจื›ื‘ืช ื•ืคื™ืœื•ืกื•ืคื™ืช, ืขื“ื™ืฃ ืœืขื ื•ืช ื‘ืกื™ืคื•ืจ ืฉืื™ื›ืฉื”ื• ื”ื™ื” ืกืงื™ื™ืœ ืื•ื˜ื•ืžื˜ื™ ื‘-Powershell ืฉืœื ื‘ื“ืง ืืช ืชื ืื™ ื”ื’ื‘ื•ืœ => ื ื•ืฆืจื• ื™ื•ืชืจ VMs ืžื”ื ื“ืจืฉ => ื”ืœืงื•ื— ื”ื•ืฆื™ื ื™ื•ืชืจ ื›ืกืฃ ืžื”ืžืชื•ื›ื ืŸ. ื–ื” ืœื ืžืื•ื“ ื ืขื™ื, ืื‘ืœ ื–ื” ื‘ื”ื—ืœื˜ ืืคืฉืจื™ ืœืชืคื•ืก ืืช ื”ืฉื’ื™ืื” ื”ื–ื• ื‘ืฉืœื‘ื™ื ืžื•ืงื“ืžื™ื ื™ื•ืชืจ.

ืืคืฉืจ ืœืฉืื•ืœ, ืœืžื” ืœื”ืคื•ืš ืชืฉืชื™ื•ืช ืžื•ืจื›ื‘ื•ืช ืœืžื•ืจื›ื‘ื•ืช ืขื•ื“ ื™ื•ืชืจ? ื‘ื“ื™ืงื•ืช ืœืชืฉืชื™ืช, ื‘ื“ื™ื•ืง ื›ืžื• ืœืงื•ื“, ืื™ื ืŸ ืขื•ืกืงื•ืช ื‘ืคื™ืฉื•ื˜, ืืœื ื‘ื™ื“ืข ื›ื™ืฆื“ ื”ืชืฉืชื™ืช ืฉืœืš ืฆืจื™ื›ื” ืœืขื‘ื•ื“.

ืคื™ืจืžื™ื“ืช ื‘ื“ื™ืงื•ืช IaC

ืžื” ืฉืœืžื“ืชื™ ืžื‘ื“ื™ืงืช 200 ืฉื•ืจื•ืช ืฉืœ ืงื•ื“ ืชืฉืชื™ืช

ื‘ื“ื™ืงืช 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

ื›ืœื™ ื ื™ืชื•ื— ืกื˜ื˜ื™

ื”ื‘ืขื™ื” ืžื”ืฉืœื‘ ื”ืงื•ื“ื ืขืœื•ืœื” ืœื”ื™ืชืคืก ื›ืฉืฉื›ื—ื ื• ืืช ื”ืฆื™ื˜ื•ื˜ื™ื, ื‘ืฉื‘ื™ืœ ื–ื” ื™ืฉ ื”ืจื‘ื” ืชืจื•ืคื•ืช ื‘ื˜ื‘ืข ื‘ื“ื™ืงืช ืžืขื˜ืคืช, ื‘ืื•ืคืŸ ื›ืœืœื™ ื™ืฉ ื”ืจื‘ื” ืžื”ื, ื•ืกื‘ื™ืจ ืœื”ื ื™ื— ืฉืืชื” ื™ื›ื•ืœ ืœืžืฆื•ื linter ืขื‘ื•ืจ ื”ืžื—ืกื ื™ืช ืฉืœืš ืžืชื—ืช ืœ-IDE ืฉืœืš.

ืฉืคื”
ื›ืœื™

ืœื—ื‘ื•ื˜
ื‘ื“ื™ืงืช ืžืขื˜ืคืช

ืื•ึนื“ึถื
ืจื•ื‘ื•ืงื•ืค

ืคึผึดื™ืชื•ึนืŸ
ืคืœื™ื ื˜

ansible
Ansible Lint

ื‘ื“ื™ืงืช IaC: ื‘ื“ื™ืงื•ืช ื™ื—ื™ื“ื”

ืžื” ืฉืœืžื“ืชื™ ืžื‘ื“ื™ืงืช 200 ืฉื•ืจื•ืช ืฉืœ ืงื•ื“ ืชืฉืชื™ืช

ื›ืคื™ ืฉืจืื™ื ื• ืžื”ื“ื•ื’ืžื” ื”ืงื•ื“ืžืช, linters ืื™ื ื ื›ืœ ื™ื›ื•ืœื™ื ื•ืื™ื ื ื™ื›ื•ืœื™ื ืœื”ืฆื‘ื™ืข ืขืœ ื›ืœ ื”ืื–ื•ืจื™ื ื”ื‘ืขื™ื™ืชื™ื™ื. ื™ืชืจื” ืžื›ืš, ื‘ืื ืœื•ื’ื™ื” ืœื‘ื“ื™ืงื•ืช ื‘ืคื™ืชื•ื— ืชื•ื›ื ื”, ืื ื• ื™ื›ื•ืœื™ื ืœื”ื™ื–ื›ืจ ื‘ื‘ื“ื™ืงื•ืช ื™ื—ื™ื“ื•ืช. ืžื” ืฉืขื•ืœื” ืžื™ื“ ื‘ืจืืฉ ื”ื•ื shnit, ืฆื•ืžืช, rspec, pytest. ืื‘ืœ ืžื” ืœืขืฉื•ืช ืขื ืื ืกื™ื‘ืœ, ืฉืฃ, ืžืœื— ื•ืื—ืจื™ื ื›ืžื•ื”ื?

ืžืžืฉ ื‘ื”ืชื—ืœื” ื“ื™ื‘ืจื ื• ืขืœ ืžื•ืฆืง. ื•ืฉื”ืชืฉืชื™ืช ืฉืœื ื• ืฆืจื™ื›ื” ืœื”ื™ื•ืช ืžื•ืจื›ื‘ืช ืžืœื‘ื ื™ื ืงื˜ื ื•ืช. ื–ืžื ื ื”ื’ื™ืข.

  1. ื”ืชืฉืชื™ืช ืžื—ื•ืœืงืช ืœืœื‘ื ื™ื ืงื˜ื ื•ืช, ืœืžืฉืœ ืชืคืงื™ื“ื™ Ansible.
  2. ื ืคืจืกืช ืกื‘ื™ื‘ื” ื›ืœืฉื”ื™, ื‘ื™ืŸ ืื ื–ื” ื“ื•ืงืจ ืื• VM.
  3. ืื ื• ืžื™ื™ืฉืžื™ื ืืช ืชืคืงื™ื“ ื”-Ansible ืฉืœื ื• ืขืœ ืกื‘ื™ื‘ืช ื‘ื“ื™ืงื” ื–ื•.
  4. ืื ื—ื ื• ื‘ื•ื“ืงื™ื ืฉื”ื›ืœ ืขื‘ื“ ื›ืคื™ ืฉืฆื™ืคื™ื ื• (ืื ื—ื ื• ืžื‘ืฆืขื™ื ื‘ื“ื™ืงื•ืช).
  5. ืื ื—ื ื• ืžื—ืœื™ื˜ื™ื ื‘ืกื“ืจ ืื• ืœื ื‘ืกื“ืจ.

ื‘ื“ื™ืงืช IaC: ื›ืœื™ ื‘ื“ื™ืงืช ื™ื—ื™ื“ื•ืช

ืฉืืœื”, ืžื” ื”ื ืžื‘ื—ื ื™ื ืœ-CFM? ืืชื” ื™ื›ื•ืœ ืคืฉื•ื˜ ืœื”ืจื™ืฅ ืืช ื”ืกืงืจื™ืคื˜, ืื• ืฉืืชื” ื™ื›ื•ืœ ืœื”ืฉืชืžืฉ ื‘ืคืชืจื•ื ื•ืช ืžื•ื›ื ื™ื ืœื›ืš:

CFM
ื›ืœื™

ื‘ืœืชื™ ืืคืฉืจื™
Testinfra

ืฉืึถืฃ
ื‘ื“ื•ืง

ืฉืึถืฃ
ืžืคืจื˜ ืฉืจืชื™ื

ืขืจื™ืžืช ืžืœื—
ื’ื•ืก

ื“ื•ื’ืžื” ืœ-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:

ืžื” ืฉืœืžื“ืชื™ ืžื‘ื“ื™ืงืช 200 ืฉื•ืจื•ืช ืฉืœ ืงื•ื“ ืชืฉืชื™ืช

ืžืกื’ืจื•ืช ื‘ื“ื™ืงื•ืช IaC

ื ืฉืืœืช ื”ืฉืืœื”: ืื™ืš ืœื—ื‘ืจ ืืช ื”ื›ืœ ื•ืœื”ืฉื™ืง ืื•ืชื•? ืคื—ื™ืช ืงื— ืืช ื–ื” ื•ืชืขืฉื” ืืช ื–ื” ื‘ืขืฆืžืš ืื ื™ืฉ ืžืกืคื™ืง ืžื”ื ื“ืกื™ื. ืื• ืฉืืชื” ื™ื›ื•ืœ ืœืงื—ืช ืคืชืจื•ื ื•ืช ืžื•ื›ื ื™ื, ืื ื›ื™ ืื™ืŸ ื”ืจื‘ื” ืžื”ื:

CFM
ื›ืœื™

ื‘ืœืชื™ ืืคืฉืจื™
ืžื•ืœืงื•ืœื”

ืฉืึถืฃ
ืžื˜ื‘ื— ืžื‘ื—ืŸ

Terraform
Terratest

ื“ื•ื’ืžื” ืœืฉื™ื ื•ื™ื™ื ื‘ืคืจื•ื™ืงื˜ื™ื ื‘-github ืขื‘ื•ืจ 2018-2019:

ืžื” ืฉืœืžื“ืชื™ ืžื‘ื“ื™ืงืช 200 ืฉื•ืจื•ืช ืฉืœ ืงื•ื“ ืชืฉืชื™ืช

ืžื•ืœืงื•ืœื” ืœืขื•ืžืช ืžื˜ื‘ื— ื‘ื“ื™ืงื”

ืžื” ืฉืœืžื“ืชื™ ืžื‘ื“ื™ืงืช 200 ืฉื•ืจื•ืช ืฉืœ ืงื•ื“ ืชืฉืชื™ืช

ื‘ืชื—ื™ืœื” ืื ื—ื ื• ื ื™ืกื™ืชื™ ืœื”ืฉืชืžืฉ ื‘- testkitchen:

  1. ืฆื•ืจ VM ื‘ืžืงื‘ื™ืœ.
  2. ื”ื—ืœ ืชืคืงื™ื“ื™ื Ansible.
  3. ื”ืคืขืœ ื‘ื“ื™ืงื”.

ื‘ืžืฉืš 25-35 ืชืคืงื™ื“ื™ื ื–ื” ืขื‘ื“ 40-70 ื“ืงื•ืช, ื•ื–ื” ื”ื™ื” ืืจื•ืš.

ืžื” ืฉืœืžื“ืชื™ ืžื‘ื“ื™ืงืช 200 ืฉื•ืจื•ืช ืฉืœ ืงื•ื“ ืชืฉืชื™ืช

ื”ืฉืœื‘ ื”ื‘ื ื”ื™ื” ื”ืžืขื‘ืจ ืœื’'ื ืงื™ื ืก/ื“ื•ืงืจ/ืื ืกื™ื‘ืœ/ืžื•ืœืงื•ืœื”. ืื™ื“ื™ืื•ืœื•ื’ื™ืช ื”ื›ืœ ืื•ืชื• ื“ื‘ืจ

  1. ืกืคืจื™ ืžืฉื—ืง ืžื•ืš.
  2. ืกื“ืจ ืืช ื”ืชืคืงื™ื“ื™ื.
  3. ื”ืฉืงืช ืžื™ื›ืœ
  4. ื”ื—ืœ ืชืคืงื™ื“ื™ื Ansible.
  5. ื”ืคืขืœ ืืช testinfra.
  6. ื‘ื“ื•ืง ืื™ืžืคื•ื˜ื ืฆื™ื”.

ืžื” ืฉืœืžื“ืชื™ ืžื‘ื“ื™ืงืช 200 ืฉื•ืจื•ืช ืฉืœ ืงื•ื“ ืชืฉืชื™ืช

ืžื•ืš ืขื‘ื•ืจ 40 ืชืคืงื™ื“ื™ื ื•ืžื‘ื—ื ื™ื ืขื‘ื•ืจ ืชืจื™ืกืจ ื”ื—ืœื• ืœืงื—ืช ื›-15 ื“ืงื•ืช.

ืžื” ืฉืœืžื“ืชื™ ืžื‘ื“ื™ืงืช 200 ืฉื•ืจื•ืช ืฉืœ ืงื•ื“ ืชืฉืชื™ืช

ืžื” ืœื‘ื—ื•ืจ ืชืœื•ื™ ื‘ื’ื•ืจืžื™ื ืจื‘ื™ื, ื›ืžื• ื”ืขืจื™ืžื” ืฉื‘ื” ื ืขืฉื” ืฉื™ืžื•ืฉ, ืžื•ืžื—ื™ื•ืช ื‘ืฆื•ื•ืช ื•ื›ื•'. ื›ืืŸ ื›ืœ ืื—ื“ ืžื—ืœื™ื˜ ื‘ืขืฆืžื• ื›ื™ืฆื“ ืœืกื’ื•ืจ ืืช ืฉืืœืช ื‘ื“ื™ืงืช ื”ื™ื—ื™ื“ื”

ื‘ื“ื™ืงื•ืช IaC: ืžื‘ื—ื ื™ ืื™ื ื˜ื’ืจืฆื™ื”

ืžื” ืฉืœืžื“ืชื™ ืžื‘ื“ื™ืงืช 200 ืฉื•ืจื•ืช ืฉืœ ืงื•ื“ ืชืฉืชื™ืช

ื”ืฉืœื‘ ื”ื‘ื ื‘ืคื™ืจืžื™ื“ืช ื‘ื“ื™ืงื•ืช ื”ืชืฉืชื™ืช ื™ื”ื™ื” ืžื‘ื—ื ื™ ืื™ื ื˜ื’ืจืฆื™ื”. ื”ื ื“ื•ืžื™ื ืœื‘ื“ื™ืงื•ืช ื™ื—ื™ื“ื”:

  1. ื”ืชืฉืชื™ืช ืžื—ื•ืœืงืช ืœืœื‘ื ื™ื ืงื˜ื ื•ืช, ืœืžืฉืœ ืชืคืงื™ื“ื™ Ansible.
  2. ื ืคืจืกืช ืกื‘ื™ื‘ื” ื›ืœืฉื”ื™, ื‘ื™ืŸ ืื ื–ื” ื“ื•ืงืจ ืื• VM.
  3. ืขื‘ื•ืจ ืกื‘ื™ื‘ืช ื‘ื“ื™ืงื” ื–ื• ื—ืœ ืจื‘ ืชืคืงื™ื“ื™ื ืกื‘ื™ืจื™ื.
  4. ืื ื—ื ื• ื‘ื•ื“ืงื™ื ืฉื”ื›ืœ ืขื‘ื“ ื›ืคื™ ืฉืฆื™ืคื™ื ื• (ืื ื—ื ื• ืžื‘ืฆืขื™ื ื‘ื“ื™ืงื•ืช).
  5. ืื ื—ื ื• ืžื—ืœื™ื˜ื™ื ื‘ืกื“ืจ ืื• ืœื ื‘ืกื“ืจ.

ื‘ืื•ืคืŸ ื’ืก, ืื ื—ื ื• ืœื ื‘ื•ื“ืงื™ื ืืช ื”ื‘ื™ืฆื•ืขื™ื ืฉืœ ืจื›ื™ื‘ ื‘ื•ื“ื“ ืฉืœ ื”ืžืขืจื›ืช ื›ืžื• ื‘ื‘ื“ื™ืงื•ืช ื™ื—ื™ื“ื”, ืื ื—ื ื• ื‘ื•ื“ืงื™ื ืื™ืš ื”ืฉืจืช ืžื•ื’ื“ืจ ื›ืžื›ืœื•ืœ.

ื‘ื“ื™ืงื•ืช IaC: ื‘ื“ื™ืงื•ืช ืžืงืฆื” ืœืงืฆื”

ืžื” ืฉืœืžื“ืชื™ ืžื‘ื“ื™ืงืช 200 ืฉื•ืจื•ืช ืฉืœ ืงื•ื“ ืชืฉืชื™ืช

ื‘ืจืืฉ ื”ืคื™ืจืžื™ื“ื” ืžืงื‘ืœื™ื ืืช ืคื ื™ื ื• ืžื‘ื—ื ื™ ืžืงืฆื” ืœืงืฆื”. ื”ึธื”ึตืŸ. ืื ื—ื ื• ืœื ื‘ื•ื“ืงื™ื ืืช ื”ื‘ื™ืฆื•ืขื™ื ืฉืœ ืฉืจืช ื ืคืจื“, ืกืงืจื™ืคื˜ ื ืคืจื“ ืื• ืœื‘ื ื” ื ืคืจื“ืช ืฉืœ ื”ืชืฉืชื™ืช ืฉืœื ื•. ืื ื• ื‘ื•ื“ืงื™ื ืฉืฉืจืชื™ื ืจื‘ื™ื ืžื—ื•ื‘ืจื™ื ื™ื—ื“, ื”ืชืฉืชื™ืช ืฉืœื ื• ืคื•ืขืœืช ื›ืคื™ ืฉืื ื• ืžืฆืคื™ื ืžืžื ื”. ืœืฆืขืจื™, ืžืขื•ืœื ืœื ืจืื™ืชื™ ืคืชืจื•ื ื•ืช ืžื•ื›ื ื™ื ื‘ืืจื™ื–ื”, ื›ื ืจืื” ื‘ื’ืœืœ... ื”ืชืฉืชื™ืช ื”ื™ื ืœืจื•ื‘ ื™ื™ื—ื•ื“ื™ืช ื•ืงืฉื” ืœืชื‘ื ื™ืช ื•ืœื™ืฆื•ืจ ืžืกื’ืจืช ืœื‘ื“ื™ืงื”. ื›ืชื•ืฆืื” ืžื›ืš, ื›ืœ ืื—ื“ ื™ื•ืฆืจ ืืช ื”ืคืชืจื•ื ื•ืช ืฉืœื•. ื™ืฉ ื‘ื™ืงื•ืฉ, ืื‘ืœ ืื™ืŸ ืชืฉื•ื‘ื”. ืœื›ืŸ, ืื ื™ ืื’ื™ื“ ืœืš ืžื” ื™ืฉ ื›ื“ื™ ืœื“ื—ื•ืฃ ืื—ืจื™ื ืœื”ืฉืžื™ืข ืžื—ืฉื‘ื•ืช ืื• ืœืฉืคืฉืฃ ืืช ื”ืืฃ ืฉืœื™ ื‘ืขื•ื‘ื“ื” ืฉื”ื›ืœ ื”ื•ืžืฆื ืœืคื ื™ื ื• ืžื–ืžืŸ.

ืžื” ืฉืœืžื“ืชื™ ืžื‘ื“ื™ืงืช 200 ืฉื•ืจื•ืช ืฉืœ ืงื•ื“ ืชืฉืชื™ืช

ืคืจื•ื™ืงื˜ ืขื ื”ื™ืกื˜ื•ืจื™ื” ืขืฉื™ืจื”. ื”ื•ื ืžืฉืžืฉ ื‘ืืจื’ื•ื ื™ื ื’ื“ื•ืœื™ื ื•ื›ื ืจืื” ืฉื›ืœ ืื—ื“ ืžื›ื ื”ืฆื˜ืœื‘ ืื™ืชื• ื‘ืขืงื™ืคื™ืŸ. ื”ืืคืœื™ืงืฆื™ื” ืชื•ืžื›ืช ื‘ื”ืจื‘ื” ืžืกื“ื™ ื ืชื•ื ื™ื, ืื™ื ื˜ื’ืจืฆื™ื•ืช ื•ื›ื•'. ืœื“ืขืช ืื™ืš ื”ืชืฉืชื™ืช ืขืฉื•ื™ื” ืœื”ื™ืจืื•ืช ื–ื” ื”ืจื‘ื” ืงื‘ืฆื™ docker-compose, ื•ืœื“ืขืช ืื™ืœื• ื‘ื“ื™ืงื•ืช ืœื”ืคืขื™ืœ ื‘ืื™ื–ื• ืกื‘ื™ื‘ื” ื”ื™ื Jenkins.

ืžื” ืฉืœืžื“ืชื™ ืžื‘ื“ื™ืงืช 200 ืฉื•ืจื•ืช ืฉืœ ืงื•ื“ ืชืฉืชื™ืช

ืชื•ื›ื ื™ืช ื–ื• ืขื‘ื“ื” ื‘ืžืฉืš ื–ืžืŸ ืจื‘ ืœืžื“ื™, ืขื“ ื‘ืชื•ืš ื”ืžืกื’ืจืช ืžื—ืงืจ ืœื ื ื™ืกื™ื ื• ืœื”ืขื‘ื™ืจ ืืช ื–ื” ืœ-Openshift. ื”ืงื•ื ื˜ื™ื™ื ืจื™ื ื ืฉืืจื• ื–ื”ื™ื, ืื‘ืœ ืกื‘ื™ื‘ืช ื”ื”ืฉืงื” ื”ืฉืชื ืชื” (ืฉืœื•ื D.R.Y ืฉื•ื‘).

ืžื” ืฉืœืžื“ืชื™ ืžื‘ื“ื™ืงืช 200 ืฉื•ืจื•ืช ืฉืœ ืงื•ื“ ืชืฉืชื™ืช

ื”ืจืขื™ื•ืŸ ื”ืžื—ืงืจื™ ื”ืจื—ื™ืง ืœื›ืช, ื•ื‘-openshift ื”ื ืžืฆืื• ื“ื‘ืจ ื›ื–ื” ื›ืžื• APB (Ansible Playbook Bundle), ื”ืžืืคืฉืจ ืœืืจื•ื– ื™ื“ืข ื›ื™ืฆื“ ืœืคืจื•ืก ืชืฉืชื™ืช ืœืชื•ืš ืงื•ื ื˜ื™ื™ื ืจ. ื”ึธื”ึตืŸ. ื™ืฉื ื” ื ืงื•ื“ืช ื™ื“ืข ืฉื ื™ืชื ืช ืœื‘ื“ื™ืงื” ืขืœ ืื•ืคืŸ ืคืจื™ืกืช ื”ืชืฉืชื™ืช.

ืžื” ืฉืœืžื“ืชื™ ืžื‘ื“ื™ืงืช 200 ืฉื•ืจื•ืช ืฉืœ ืงื•ื“ ืชืฉืชื™ืช

ื›ืœ ื–ื” ื ืฉืžืข ื˜ื•ื‘ ืขื“ ืฉื ืชืงืœื ื• ื‘ืชืฉืชื™ืช ื”ื˜ืจื•ื’ื ื™ืช: ื”ื™ื™ื ื• ืฆืจื™ื›ื™ื Windows ืœื‘ื“ื™ืงื•ืช. ื›ืชื•ืฆืื” ืžื›ืš, ื”ื™ื“ืข ืฉืœ ืžื”, ื”ื™ื›ืŸ, ื›ื™ืฆื“ ืœืคืจื•ืก ื•ืœื‘ื“ื•ืง ื ืžืฆื ื‘ื’'ื ืงื™ื ืก.

ืกื™ื›ื•ื

ืžื” ืฉืœืžื“ืชื™ ืžื‘ื“ื™ืงืช 200 ืฉื•ืจื•ืช ืฉืœ ืงื•ื“ ืชืฉืชื™ืช

ืชืฉืชื™ืช ื›ืคื™ ืฉื”ืงื•ื“ ื”ื•ื

  • ืงื•ื“ ื‘ืžืื’ืจ.
  • ืื™ื ื˜ืจืืงืฆื™ื” ืื ื•ืฉื™ืช.
  • ื‘ื“ื™ืงืช ืชืฉืชื™ืช.

ืงื™ืฉื•ืจื™ื

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”