Saya pikir berasal dari latar belakang pengembang akan membuat menjadi 'devops' sebenarnya lebih rumit, pertanyaan Anda hampir 3 tahun sehingga akan menarik untuk mendengar bagaimana Anda menemukan perjalanan, saya akan memberikan jawaban dari sudut pandang admin sys tentang aplikasi yang Anda sebutkan di atas dan mudah-mudahan itu akan menjelaskan, atau memberikan perspektif non teknis yang akan menjelaskan mengapa seseorang (admin atau dev) akan mulai mempertimbangkan dengan tepat apa yang anda tanyakan misalnya dari perspektif devops apa hubungan antara x, y, z adalah alat-alat ini lebih besar dari jumlah bagian mereka?
Saya benar-benar berpikir admin sys berada di atas angin di sini, sebagian besar aplikasi yang Anda sebutkan dalam pertanyaan Anda memecahkan 'masalah' admin dan dengan demikian menyediakan lingkungan pusat data yang lebih abstrak, dan ini pada gilirannya lebih dapat diprogram untuk pengembang dan strategi 'devops' baru (baca strategi/tim, devops bukan orang). Jadi apa hubungannya dengan aplikasi yang Anda sebutkan? bagaimana ini memberikan pendekatan holistik untuk layanan TI?
OpenStack: alat yang memungkinkan Anda membangun cloud pribadi Anda sendiri, karenanya sebanding dengan sesuatu seperti AWS
Itulah apa itu, tapi apa fungsinya? - sistem operasi sebagian besar aptly bernama adalah D. O. S-dioperasikan disk Anda dengan abstrak BIOS, OpenStack mengoperasikan pusat data Anda dan abstrak Infrastruktur Anda (IaaS - adalah Jargon untuk sistem operasi data center). Sekarang pusat data Anda memiliki API, sintaks perintah, dan GUI, OpenStack dapat menggerakkan hypervisor, sakelar, router, firewall, jaringan area penyimpanan, penyeimbang beban, host docker, dll.. Openstack menggunakan hardware Anda memproduksi'plugin' atau fungsi tertentu dapat eksis hanya dalam perangkat lunak sebagai perangkat lunak didefinisikan sesuatu atau virtualisasi fungsi jaringan. Di atas OpenStack ini, dan semua cloud lainnya, dapat mengatur infrastrukturnya sendiri dengan membaca skrip yang Anda lemparkan ke mesin orkestrasi atau dipicu berdasarkan aturan (tingkatkan, turunkan, dll.). Jadi openstack adalah lapisan abstraksi raksasa, misalnya saya tidak peduli sakelar apa yang saya miliki, beri saya jaringan ini perintah, atau, membangun saya beban yang rumit seimbang, HA, tersedia untuk umum, Auto scaling, nama domain terdaftar, penyimpanan terpasang thingy - dengan script ini saya temukan di internet.
Docker: "VM ringan", berdasarkan beberapa konsep kernel Linux, yang dapat digunakan untuk menjalankan proses secara terpisah, misalnya di lingkungan hosting web bersama.
Docker adalah lapisan abstraksi lain dan seperti cloud adalah teknologi yang mengganggu, ini mengubah industri karena memecahkan banyak 'masalah' operasional seperti ketergantungan perangkat lunak, peningkatan, isolasi data, dan portabilitas belaka. Java menjadi populer karena itu kode sumber portabilitas bahwa pengembang tidak perlu berpikir tentang, JVM berjalan berarti bahwa kode mereka harus berjalan pada mesin kopi asalkan didukung java. Docker memecahkan masalah serupa, untuk menjalankan aplikasi saya, Anda memerlukan host docker, tidak, Anda memerlukan versi python ini, kernel ini, distro linux ini dan sebagainya, aplikasi masih memiliki dependensi tersebut tentu saja, tetapi host yang mendasarinya tidak peduli dan admin tidak peduli apa yang anda lakukan di dalam wadah yang terisolasi (ke titik). Docker mengubah paradigma pengembangan dan operasi, memperlakukan seluruh sistem operasi dan layanannya seperti biner. kita bisa mendapatkannya dari repositori, versi mereka, modifikasi mereka, jalankan dengan parameter dll.
Chef: alat untuk mengatur dan mengkonfigurasi sistem operasi, misalnya di dalam VM.
Ya, dan tidak mengganggu seperti dua yang pertama, Chef, puppet, ansible, salt, system center operations manager, dan sejumlah besar aplikasi lain di ruang ini menyediakan cara bagi pengembang dan admin untuk memodelkan penerapan, peningkatan, dan tindakan lainnya (perubahan konfigurasi), tampaknya tidak ada badan standar yang melihat upaya ini seperti ada untuk cloud. Tapi kita tidak berurusan dengan sesuatu yang pasti seperti infrastruktur jadi, lebih menyakitkan untuk mempelajarinya dan tidak banyak yang dapat ditransfer dari satu ke yang lain.
Gelandangan: dari pemahaman saya adalah mengotomatiskan pembuatan dan pengelolaan vm: menyiapkannya, memulai, dan menghentikannya. Hal ini dapat dilakukan dengan menggunakan VM lokal atau remote, misalnya pada platform cloud.
Ini adalah yang aneh dalam daftar aplikasi yang Anda sebutkan, Vagrant adalah alat untuk pengembang dan mainan untuk admin, anda dapat dengan cepat berdiri di lingkungan pengembangan dengan vagrant, misalnya saya ingin mengembangkan aplikasi android, ambil IDE dari vagrant, saya pikir itu akan segera diambil alih oleh Docker.
Bisakah Anda memberi saya saran tentang cara mulai menggunakan semua ini (cukup banyak pada saat yang sama, dan saya belum tahu harus mulai dari mana)?
Inilah mengapa saya pikir admin berada di atas angin, kami harus melakukan sebagian besar ini secara manual dan tahu apa yang bisa salah, manifes boneka, komputasi awan dan orkestrasi buruh pelabuhan akan lebih mudah bagi kami, pengembang akan menemukan diri mereka mengambil banyak garis singgung jadi saran saya untuk setiap devops potensial adalah menjadi admin terlebih dahulu.