Slurm DevOps - ืฆื™ืฆื™ ืžืชืคืงื“ ื˜ื•ื‘ ื™ื•ืชืจ ืชื•ืš 3 ื™ืžื™ื ืžืืฉืจ ืขื’ื•ืจ ื™ืคื”ืคื” ื‘ืขืชื™ื“ ื”ืจื—ื•ืง

ืื ื™ ืื•ื”ื‘ ืคืจื•ื™ืงื˜ ืฉืœ ืฉื‘ื•ืข ื•ืžืคื—ื™ื“ ืื•ืชื™ ืคืจื•ื™ืงื˜ื™ื ืฉืœ ืฉื ื”. ื‘-Agile, ืื”ื‘ืชื™ ืžืื•ื“ ืืช ื”ืจืขื™ื•ืŸ ืฉืœ MVP ื•-increment, ื–ื” ืจืง ื”ืงื˜ืข ืฉืœื™: ืœื™ืฆื•ืจ ื™ืฆื™ืจื” ื‘ืจ-ื‘ื™ืฆื•ืข, ืœื™ื™ืฉื ืื•ืชื” ื•ืœื”ืžืฉื™ืš ื”ืœืื”.

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

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

MVP DevOps: ื”ืงื•ืจืก ืžื›ื™ืœ ื›ืœื™ื ืœืชื”ืœื™ื›ื™ DevOps ื‘ืกื™ืกื™ื™ื. ืœื ื”ืฆื‘ื ื• ืœืขืฆืžื ื• ืืช ื”ืžืฉื™ืžื” ืœืกืงื•ืจ ื•ืœื”ืฉื•ื•ืช ืืช ื›ืœ ืžืขืจื›ื•ืช ื”-CI/CD ืื• ืœื—ืฉื•ืฃ ืืช ื”ืขื•ืžืง ืฉืœ ื’ื™ืฉืช ื”ืชืฉืชื™ืช ื›ืงื•ื“. ืื ื• ืžืกืคืงื™ื ืžื—ืกื ื™ืช ืื—ืช ื‘ืจื•ืจื”: Gitlab CI/CD, Ansible, Terraform and Packer, Molecule, Prometheus, EFK. ื ื™ืชืŸ ืœื”ื’ื™ืข ืžื”ืงื•ืจืกื™ื, ืœืืกื•ืฃ ืืช ื”ืชืฉืชื™ืช ืœืคืจื•ื™ืงื˜ ืคื™ื™ืœื•ื˜ ืžื—ื•ืžืจื™ ื”ื“ืจื›ื” ื•ืœืขื‘ื•ื“ ื‘ื”.

Slurm DevOps - ืฆื™ืฆื™ ืžืชืคืงื“ ื˜ื•ื‘ ื™ื•ืชืจ ืชื•ืš 3 ื™ืžื™ื ืžืืฉืจ ืขื’ื•ืจ ื™ืคื”ืคื” ื‘ืขืชื™ื“ ื”ืจื—ื•ืง

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

Slurm DevOps ื ื•ืฉืื™ื

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

ื ื•ืฉื ืžืก' 3: ื™ืกื•ื“ื•ืช CI/CD

  • ืžื‘ื•ื ืœืื•ื˜ื•ืžืฆื™ื” CI/CD
  • Gitlab CI Basics
  • ืฉื™ื˜ื•ืช ืขื‘ื•ื“ื” ืžื•ืžืœืฆื•ืช ืขื gitlab-runner
  • ื›ืœื™ื Bash, Make, Grade ื›ื—ืœืง ืž-CI/CD ื•ืขื•ื“
  • Docker ื›ื“ืจืš ืœืคืชื•ืจ ื‘ืขื™ื•ืช CI

ื ื•ืฉื #4: Gitlab CI/CD ื‘ื”ืคืงื”

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

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

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

ื‘ื”ืฉื•ื•ืื” ืœ-DevOps Slurm ื”ืจืืฉื•ืŸ, ื›ื™ื•ื•ืฅ ืืช ื”ืชื™ืื•ืจื™ื” ืคื™ 2 (ืฉืขื” ืœื›ืœ ื ื•ืฉื), ื”ืชืจื—ืงื ื• ืžื‘ื“ื™ืงืช ื›ืœ ื”ืžืขืจื›ื•ืช ื•ื”ืฉืืจื ื• ืจืง ืืช Gitlab CI. ื”ืชืžืงื“ื ื• ื‘ืชืจื’ื•ืœ ื•ื”ื•ืกืคื ื• ื”ืจื‘ื” ืฉื™ื˜ื•ืช ืขื‘ื•ื“ื” ืžื•ืžืœืฆื•ืช.

ื ื•ืฉื ืžืก' 5: ืชืฉืชื™ืช ื›ืงื•ื“

  • IaC: ื”ืชืงืจื‘ื•ืช ืœืชืฉืชื™ืช ื›ืงื•ื“
  • ืกืคืงื™ ืขื ืŸ ื›ืกืคืงื™ ืชืฉืชื™ืช
  • ื›ืœื™ ืืชื—ื•ืœ ื”ืžืขืจื›ืช, ื‘ื ื™ื™ืช ืชืžื•ื ื” (ืคืืงืจ)
  • IaC ืžืฉืชืžืฉ ื‘- Terraform ื›ื“ื•ื’ืžื”
  • ืื—ืกื•ืŸ ืชืฆื•ืจื”, ืฉื™ืชื•ืฃ ืคืขื•ืœื”, ืื•ื˜ื•ืžืฆื™ื” ืฉืœ ื™ื™ืฉื•ืžื™ื
  • ืชืจื’ื•ืœ ืฉืœ ื™ืฆื™ืจืช ืกืคืจื™ ืžืฉื—ืง ืฉืœ Ansible
  • ื—ื•ืกืจ ื™ื›ื•ืœืช, ื”ืฆื”ืจืชื™ื•ืช
  • IaC ืžืฉืชืžืฉ ื‘-Ansible ื›ื“ื•ื’ืžื”

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

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

ื ื•ืฉื ืžืก' 6: ื‘ื“ื™ืงืช ืชืฉืชื™ืช

  • ื‘ื•ืื• ื ื‘ื™ืŸ ืœืžื” ื”ื ืœื ื›ื•ืชื‘ื™ื ืžื‘ื—ื ื™ื?
  • ืื™ืœื• ื‘ื“ื™ืงื•ืช ื™ืฉ ื‘-IAC?
  • ืžื ืชื—ื™ื ืกื˜ื˜ื™ื™ื, ื”ืื ื”ื ื‘ืืžืช ื—ืกืจื™ ืชื•ืขืœืช?
  • ื‘ื“ื™ืงืช ื™ื—ื™ื“ื” ืฉืœ IaC ื‘ืืžืฆืขื•ืช ืžื•ืœืงื•ืœื” + ansible ื›ื“ื•ื’ืžื”
  • ื‘ื“ื™ืงื” ื›ื—ืœืง ืž-ci
  • ื‘ื“ื™ืงื•ืช ืขืœ ืกื˜ืจื•ืื™ื“ื™ื ืื• ืื™ืš ืœื ืœื—ื›ื•ืช 5 ืฉืขื•ืช ืœืกื™ื•ื ื‘ื“ื™ืงื•ืช IaC

ืฆืžืฆืžื ื• ืืช ื”ื—ืœืง ื”ืชื™ืื•ืจื˜ื™, ืคื—ื•ืช ืกื™ืคื•ืจื™ื ืขืœ ื ื•ื•ื“/ืžื•ืœืงื•ืœื”, ื™ื•ืชืจ ืชืจื’ื•ืœ ื•ื‘ื“ื™ืงื” ื™ืฉื™ืจื”, ืชื•ืš ื”ืชืžืงื“ื•ืช ื‘-linters ื•ื‘ืขื‘ื•ื“ื” ืื™ืชื. ืžืกืชื›ืœื™ื ืขืœ ื–ื” ืžื ืงื•ื“ืช ืžื‘ื˜ ืฉืœ CI
ืื™ืš ืœื”ืคื•ืš ืืช ื”ื‘ื“ื™ืงื” ืœืžื”ื™ืจื” ื™ื•ืชืจ. ื‘ืคื•ืขืœ ื™ื”ื™ื•:

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

ื ื•ืฉื #7: ื ื™ื˜ื•ืจ ืชืฉืชื™ื•ืช ืขื ืคืจื•ืžืชืื•ืก

  • ื›ื™ืฆื“ ืœื‘ื ื•ืช ืžืขืจื›ืช ื ื™ื˜ื•ืจ ื‘ืจื™ืื”
  • ื ื™ื˜ื•ืจ ื›ื›ืœื™ ืœื ื™ืชื•ื—, ื™ืขื™ืœื•ืช ืคื™ืชื•ื— ื•ื™ืฆื™ื‘ื•ืช ืงื•ื“, ืขื•ื“ ืœืคื ื™ ืžื›ื™ืจื”
  • ื”ื’ื“ืจืช prometheus + alertmanager + grafana
  • ืžืขื‘ืจ ืžื ื™ื˜ื•ืจ ืžืฉืื‘ื™ื ืœื ื™ื˜ื•ืจ ื™ื™ืฉื•ืžื™ื

ื ื“ื‘ืจ ื”ืจื‘ื” ืขืœ ื ื™ื˜ื•ืจ ืฉื™ืจื•ืชื™ ืžื™ืงืจื•: ืžื–ื”ื™ ื‘ืงืฉื”, ื›ืœื™ ื ื™ื˜ื•ืจ API. ื™ื”ื™ื• ื”ืจื‘ื” ืฉื™ื˜ื•ืช ืขื‘ื•ื“ื” ืžื•ืžืœืฆื•ืช ื•ื”ืจื‘ื” ืขื‘ื•ื“ื” ืขืฆืžืื™ืช.

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

ื ื•ืฉื ืžืก' 8. ืจื™ืฉื•ื ืืคืœื™ืงืฆื™ื” ืขื ELK

  • ืกืงื™ืจื” ื›ืœืœื™ืช ืฉืœ ืืœืกื˜ื™ืง ื•ื”ื›ืœื™ื ืฉืœื”
  • ELK/Elastic Stack/x-pack - ืžื” ื–ื” ื•ืžื” ื”ื”ื‘ื“ืœ?
  • ืื™ืœื• ื‘ืขื™ื•ืช ื ื™ืชืŸ ืœืคืชื•ืจ ื‘ืืžืฆืขื•ืช ElasticSearch (ื—ื™ืคื•ืฉ, ืื—ืกื•ืŸ, ืชื›ื•ื ื•ืช ืงื ื” ืžื™ื“ื”, ื’ืžื™ืฉื•ืช ืชืฆื•ืจื”)
  • ื ื™ื˜ื•ืจ ืชืฉืชื™ืช (x-pack)
  • ื™ื•ืžื ื™ ืžื™ื›ืœ ื•ื™ื™ืฉื•ืžื™ื (x-pack)
  • ืจื™ืฉื•ื ื‘ืืžืฆืขื•ืช ื”ืืคืœื™ืงืฆื™ื” ืฉืœื ื• ื›ื“ื•ื’ืžื”
  • ืฉื™ื˜ื•ืช ืขื‘ื•ื“ื” ืขื Kibana
  • ืคืชื— ืืช Distro for Elasticsearch ืžืืžื–ื•ืŸ

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

ื ื•ืฉื ืžืก' 9: ืื•ื˜ื•ืžืฆื™ื” ืฉืœ ืชืฉืชื™ื•ืช ืขื ChatOps

  • DevOps ื•-ChatOps
  • ChatOps: ื—ื•ื–ืงื•ืช
  • ืจืคื™ื•ืŸ ื•ื—ืœื•ืคื•ืช
  • ื‘ื•ื˜ื™ื ืขื‘ื•ืจ ChatOps
  • Hubot ื•ื—ืœื•ืคื•ืช
  • ืื‘ื˜ื—ื”
  • ื‘ื“ื™ืงื”
  • ื”ืฉื™ื˜ื•ืช ื”ื˜ื•ื‘ื•ืช ื•ื”ื’ืจื•ืขื•ืช ื‘ื™ื•ืชืจ

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

ืขื™ื•ื•ืช DevOps ืžืชื—ื™ืœ ื‘-30 ื‘ื™ื ื•ืืจ. ืžื—ื™ืจ - 30.
ืœืžื™ ืฉืกื™ื™ื ืœืงืจื•ื, ื™ืฉ 15% ื”ื ื—ื” ืขืœ ืงื•ืจืก DevOps ื‘ืืžืฆืขื•ืช ืงื•ื“ ื”ืงื™ื“ื•ื habrapost.

ื”ืจืฉืžื” ื›ืืŸ

ืื ื™ ืืฉืžื— ืœืจืื•ืช ืื•ืชืš ื‘-Slurms!

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

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