なぜ私は人々にAnsibleを学ばないようにアドバイスするのですか?構成の同期から不変のインフラストラクチャへの移行。アンドレイ・デヴィアトキン

著者のコメント:この講演の主な目的は、インフラストラクチャを構築する方法(構成の同期/不変のインフラストラクチャ)について話し、それらを比較することです。 Ansibleは、構成同期ツールの1つの例として使用されます。著者の観点から、世界は不変のインフラストラクチャに向かって動いており、レポートは著者の立場を明確にするための議論を提供します。また、世界は不変のインフラストラクチャに移行しているため、構成同期アプローチを使用した教育ツールは、時間を最大限に活用できない可能性があります。もう一度繰り返しますが、レポートはツールに関するものではなく、「ツールから」ではなく「問題から」のアプローチと意思決定に関するものです。







免責事項:このレポートは、ロシアの聴衆向けに作成されているため難しいものです。プレゼンテーションでは、これらすべてに触れます。ロシアでは、人々は一般的にアマゾンに住んでいないため、インフラストラクチャの使用は特定のものです。そこに住んでいる会社はありますが、少数です。そして、これは制限です。これは、インフラストラクチャの展開に関連するすべてのレポートで考慮に入れる必要があります。「みんな、クラウドに行きましょう。AWSではすべてがうまくいくでしょう」と言うまでもなく、そこに行けない人が大勢います。ロシアの聴衆は非常に具体的であるようです。そして、ヨーロッパで来るそれらの報告は必ずしもロシアで来るとは限りません。おそらくこれは、この聴衆の特別な認識によるものです。















! , ! , Ansible. .













- Ansible? .













.







– , - . . . Ansible vs Terraform, Ansible CloudFormation, Ansible Chef . .













, , : « ?»













:







  • FivexL.
  • , .
  • , , , . .
  • , . . , , . , , .








Ansible?













Ansible. Ansible. 2 , . , Ansible .







, application deployment, , . OpenSSH, WinRM.







: « , ?».













use-cases. , , .







, provisioning , , , . - .













. : « ».







, , .







, .







, . . .













, Ansible, , – IT.







, , , , .







, , .







Ansible.













, Ansible .







AWS .







Kubernetes.







HashiCorp Vault .







Ansible .













– Ansible , . . . .













, , .













. , mainstream, . Vendor, , , . - - -. : « , - . community, , community , . . - ».







: «, , , ? -, ?».







, , , -, , , - , , . , .













Ansible , , provisioning , applications, . , .













, , . . IT.







, , . . .













.







cloud engineering-.







AWS HashiCorp. HashiConf , .







- FivexL.







. podcast DevSecOps, , . , , . , .













, . 5 , .







, – .







, – .







immutable- , , , , .







, , .







, . .







, .













, IT, .







, , - , .







. , - , . - - .







, , .







. competition, . . , , , , , , . . , AWS , Google, Amazon, Alibaba, , . . , Amazon , . .







: Google, Amazon, Alibaba — Amazon Azure







, . . . , , , . .







. .













. , .













, – , , , ultimate state, . . .













: « Ansible?».













: « , ?».













: «DevOps!».







«Infrastructure as code!»







«Ansible!», .







? , .













. . – , , , .













.













– configuration drift. , Keif Morris « ». , . PuppetLabs .







, -- , - , , , - .













, - -. - , Martin Fowler .







- – , . , , , . . . . . , , -.













? , , . . 100%- , , .







, - , : , , . , , . , .







MTTR (mean time to recovery), . . .













. , AWS , , EC2 instance, , . -, , .







Amazon . , . , .







, shellshock . , , . . .







-, GPU-. - , . GPU-. . , .







, . , . ? ? ?













. , , 2010- .













?













– . 4 , « »:







  1. , . . .
  2. , , . disposable.
  3. , , .
  4. . , , , . -, -, , , - , . , , , . .


4 , .













, , – . – machine-readable, . . - , , , .













software – . , . . , , , , . code review, CI













, . . . infra as code.













.













.







, : Puppet, Chef. Ansible SaltStack . , . , .







, provisioning. . , firewall , , , SSH- , .













Martin Fowler. , , . , .







. . . , . . , , . , - , , . . , , .







, . , - . -.













.













? , . . , - : - , . , , , , . -.













, .













ThoughtWorks Phoenix server,













: , , - , , . , .













.













, , , . , - . - , , . . . , (wipe, ) . , . .







, , SSH, , - , , . SSH , . .













  • , , , .







  • . , AWS auto scaling . . -, , . ami ( ), auto scaling group , . , . . backing vs. frying, cattle vs pets. .







  • . , . . . , , . , - .







    , , ? . , : «, - IP-, IP-». . , IP-, . , . , .







  • , , provisioning , , , , EC2 spot instance. - spot instance , . , -, . . . 2 , , instance .















: « Ansible, , , , ?».













. , . , . , . : « , ! !».







, . , . , . , . . , , , 80 % 20 % .







, , .













, , , . , , . , immutable-.







, immutable- – .













? .













, , . , 12 app.







. , , , , : « 12 factor app ? ». .







, . immutable-.







, , .













, .







3 , :







  • - , . , , Ansible.
  • - , . , .
  • , , , . - , .








.













. , , . , AWS, instance-, credentials, .







Bare Metal, .







SPIFFE , identity. , identity .







– , , . , AWS KMS , . AMI , , . - HSM (hardware security module), , , . , , .







, , . . , , HashiCorp Vault. AWS, Secrets Manager .







credentials. immutable-, , .







(pull) , , , Consul.













?













, . , , . , SSH-, SSH- firewall. , firewall. - event. , . event , , .







. - - , 12 .













debug?













  • , . , , . . , , .
  • . . , . , , , . , . . , , . - , . . .
  • - , , , . , , . . , production.
  • , , .








  • . continuous integration, . .
  • . , , , .
  • , . . .
  • , . . , , , , . , - production.
  • . , . commit, . , , . , . , . commit. , - , – commit, , . commit. , . , commit, , , . , - CI. . . .
  • . , commit’ . . . - , . , . . . , .








, , .







HashiCorp Packer, , . , . Packer’, . .







cloud API, Terraform – . , . , vendor - , . . , Terraform – . PXE baremetal, baremetal .







, Packer’ PXE . , , , , , .







– Audibeat, WAZUH . Vault – . , , .







debug - , . Prometheus, Logstash. , CloudWatch, Datadog.













, .







Ansible . immutable-, Ansible , . Packer Ansible . , . .







Server provisioning. . , , .







, , , . . .







I task? , Ansible.













, .













, . – .













, , , . , .













immutable , . . docker-, docker images immutable. Docker container – mutable. 12 factors app, docker container. () immutable . . State , . . , .







. . , , , , . , . host, , . , volume.







stateless. , stateless , . - , – , , . .













, , - . Kubernetes. AWS ECS , Kubernetes . clouds, prime clouds, hybrid clouds, Nomad, 2 Reinvent Amazon , EKS ECS anywhere. , . , EKS ECS on-premises - Amazon. , .







Nomad – , (Cloudflare/CircleCI/Roblox), .







. 2015- . Kubernetes, CNCF . Docker Swarm, Mitrantis. , Kubernetes. OpenShift Kubernetes.













, container OS, . . , , . . . .







, . . , .













, . «», . ECS – . Kubernetes, . . Kubernetes.







– , Terraform , kubernetes-. kubernetes- . , community GitOps. GitOps, . , – . GitOps.







– Infra as data, . . . , , GitOps, yaml , .







– ArgoCD, . Helm, kubernetes’ . Terraform, . AWS, Terraform , CRD Kubernetes.







, . – , - . . – , .













Ansible , build .







Server provisioning , , , containers OS, . . . , .













Serverless. , . . Kubernetes – . Serverless – . , . Serverless . , Kubernetes Serverless, .













. , 8 , , . MicroVM.







, , AWS Firecracker, .







Unikernels – . , hypervisor, .







- , , , -. hypervisor. , , . Amazon Nitro. , - , Unikernel , .







. , , , . , , , , , . , , .













Kubernetes? . Kubernetes reconciliation loop, . . yaml, , etcd , , . – , ? , pod , pod . , , .







, , 2-3-5 , : « ? . . Terraform, - ». , cloud- - . YAML, cloud , . . Cloud , . , .













, – ? GitOps Chef? : , Kubernetes – Linux. Linux – , Kubernetes. Kubernetes – user space, . GitOps , , . . . ArgoCD , apply Kubernetes. , , Chef .







, . , , , immutable- – , . , . , . , , , immutable-.







, immutable-. , , , .













. - , , immutable- Kubernetes.







, kubernetes- ? , , . Kubernetes in-place, security- , . (), , .













, .













: « ? , Ansible. . ?». , .







, 10 ClearCase Git. , .







, , , .







- – , . , 2015- , , , . Kubernetes, Nomad, Docker Swarm. . - . 2 , Docker Swarm, , .







Technology bets – , . , - , . , , , . . , .













, . Chef, Ansible Terraform Google Trends. , Chef, Ansible Puppet Terraform, . , . .







Ansible . Terraform . cloud . - , .







. Terraform , cloud.













Yandex keyword-, . , , Ansible – 29 000.













Terraform – 6 000. Google Trends.













, . , Terraform. Ansible , cloud 5-6 . 2010- , Netflix. . Reinvent, , . . . . cloud. , 3-5 – , , .













, .













. . , . .













, , . . IT .







.







Ansible, Puppet, Chef .













- , immutable-. , , . - , .













? , . , . , . - , .







, , , : , .













. . , .







:







: , . . : « Ansible - ?». , infra . . , Kubernetes Helm. , Kubernetes, Ansible – ?







: . . , . . . , . immutable-, . . – . . , Ansible. . . , .







, , . , , . . , . , , - . , . .







: , , immutable-, ? . . , . , , , , . immutable- , , , , - , . immutable- ?







: . . , , . . , , . . , . . Ansible , , ? . , ?







. . , , Ansible , . , , Ansible playbook , , , . , . playbooks . .







, - , Ansible, . . , , . . . , vamilla , Packer . , . , - .







, -. - . 95 % , , , . , , .







: - Ansible? , , - . immutable- .







: . Packer, playbook Packer playbook, . , . , . , . , . .







: . ? . . , ? , , - . , MySQL - , . immutable ?







: . , .







: . . . , . , Mongo , . , unlock , . , . , . . , .







: . . , ? . . Mongo, ?







: , Mongo, . , .







: volume, , , , . . - . – immutable. - , , , , , . .







. . , . , . . , . .








All Articles