Mengapa saya menyarankan orang untuk tidak belajar Ansible. Bermigrasi dari Sinkronisasi Konfigurasi ke infra yang tidak dapat diubah. Andrey Devyatkin

Komentar penulis: Tujuan utama dari pembicaraan ini adalah untuk membicarakan metode membangun infrastruktur (Konfigurasi Sinkronisasi / Infra yang Tidak Dapat Diubah) dan membandingkannya. Ansible digunakan sebagai contoh salah satu alat sinkronisasi konfigurasi. Dari sudut pandang penulis, dunia sedang bergerak menuju infrastruktur yang tidak dapat diubah dan laporan tersebut memberikan argumen untuk memperjelas posisi penulis. Dan karena dunia sedang bergerak menuju infrastruktur yang tidak dapat diubah, alat pengajaran yang menggunakan pendekatan sinkronisasi konfigurasi mungkin bukan penggunaan waktu yang terbaik. Saya akan ulangi sekali lagi - laporannya bukan tentang alat, tetapi tentang pendekatan dan pengambilan keputusan "dari masalah", bukan "dari alat"







Penafian: Laporan ini sulit karena disiapkan untuk audiens Rusia, yang bekerja dalam kondisi yang agak spesifik. Kami akan menyentuh semua hal ini selama presentasi. Di Rusia, penggunaan infrastruktur bersifat spesifik, karena masyarakat umumnya tidak tinggal di Amazon. Ada perusahaan yang tinggal di sana, tetapi jumlahnya sedikit. Dan ini adalah batasan. Ini harus diperhitungkan dalam semua laporan yang terkait dengan peluncuran infrastruktur, agar tidak mengatakan: "Teman-teman, ayo kita ke cloud, semuanya akan baik-baik saja di AWS" dan ada sekumpulan orang yang tidak bisa pergi ke sana. Penonton Rusia tampaknya sangat spesifik. Dan laporan yang masuk ke Eropa tidak selalu datang dari Rusia. Mungkin ini karena persepsi khusus dari penonton ini.















! , ! , 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