Saya pikir datang 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 sys admin tentang aplikasi yang Anda sebutkan di atas dan mudah-mudahan akan menjelaskan, atau memberikan perspektif non teknis yang akan menjelaskan mengapa seseorang (admin atau dev) akan mulai mempertimbangkan dengan tepat apa yang Anda minta misalnya dari para devops Perspektif apa hubungan antara x, y, z apakah alat-alat ini lebih besar dari jumlah bagian-bagiannya?
Saya benar-benar berpikir admin sys memiliki keunggulan di sini, sebagian besar aplikasi yang Anda sebutkan dalam pertanyaan Anda memecahkan masalah admin 'dan dengan demikian memberikan lingkungan pusat data yang lebih abstrak, dan ini pada gilirannya lebih diprogram untuk pengembang dan yang baru' strategi devops '(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 untuk membangun cloud pribadi Anda sendiri, karenanya dapat dibandingkan dengan sesuatu seperti AWS
Itu memang apa, tapi apa fungsinya? - sistem operasi yang paling tepat namanya adalah DOS - itu mengoperasikan disk Anda dengan mengabstraksi BIOS, OpenStack mengoperasikan pusat data Anda dan abstrak infrastruktur Anda (IaaS - adalah Jargon untuk sistem operasi pusat data). Sekarang pusat data Anda memiliki API, sintaks perintah dan GUI, OpenStack dapat menggerakkan hypervisor, switch, router, firewall, jaringan area penyimpanan, load balancers, host docker dll. Openstack menggunakan 'plugin' pabrik perangkat keras Anda atau fungsi tertentu dapat ada hanya dalam perangkat lunak sebagai perangkat lunak menentukan sesuatuatau virtualisasi fungsi jaringan. Di atas OpenStack ini, dan semua cloud lainnya, dapat mengatur infrastruktur mereka sendiri dengan membaca skrip yang Anda lemparkan ke mesin orkestrasi atau dipicu berdasarkan aturan (peningkatan, penurunan, dll.). Jadi openstack adalah lapisan abstraksi raksasa, mis. Saya tidak peduli saklar apa yang saya miliki, beri saya jaringan dengan perintah ini , atau, buat saya beban seimbang, HA, tersedia untuk umum, penskalaan otomatis, nama domain terdaftar, penyimpanan terlampir thingy - dengan skrip ini saya temukan di internet.
Docker: "VM ringan", berdasarkan pada beberapa konsep kernel Linux, yang dapat digunakan untuk menjalankan proses secara terpisah, misalnya dalam lingkungan hosting web bersama.
Docker adalah lapisan abstraksi lainnya dan seperti cloud adalah teknologi yang mengganggu, itu mengubah industri karena ia memecahkan banyak masalah operasional seperti ketergantungan perangkat lunak, peningkatan, isolasi data, dan portabilitas yang tipis. Java menjadi populer karena portabilitas kode sumbernya yang tidak perlu dipikirkan oleh pengembang, menjalankan JVM berarti kode mereka harus dijalankan pada mesin kopi selama itu mendukung java. Docker memecahkan masalah serupa, untuk menjalankan Aplikasi saya, Anda memerlukan host buruh pelabuhan, bukan, Anda memerlukan versi python, kernel ini, distro linux ini dan sebagainya, aplikasi masih memiliki dependensi itu tentu saja, tetapi host yang mendasari tidak peduli dan admin tidak peduli apa yang Anda lakukan di dalam wadah yang terisolasi ( ke titik tertentu). Docker mengubah paradigma pengembangan dan operasi, memperlakukan seluruh sistem operasi dan layanannya seperti biner. kita bisa mendapatkannya dari repositori , versi, modifikasi, 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, boneka, kemungkinan, garam, manajer operasi pusat sistem dan sejumlah besar aplikasi lain di ruang ini menyediakan cara bagi pengembang dan admin untuk memodelkan penyebaran, peningkatan, dan tindakan lainnya (konfigurasi perubahan), sepertinya tidak ada badan standar atas melihat upaya ini seperti ada untuk cloud . Tapi kami tidak berurusan dengan sesuatu yang definitif seperti Infrastruktur jadi, itu lebih menyakitkan untuk mempelajari ini dan tidak banyak yang dapat ditransfer dari satu ke yang lain.
Vagrant: Dari pemahaman saya adalah untuk mengotomatiskan pembuatan dan pengelolaan VM: Menyiapkannya, memulai dan menghentikannya. Ini dapat dilakukan dengan menggunakan VM lokal atau jarak jauh, 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 gelandangan, misalnya saya ingin mengembangkan aplikasi android, ambil IDE dari gelandangan, saya pikir itu akan diambil alih oleh Docker segera.
dapatkah Anda memberi saya saran tentang cara mulai menggunakan semua ini (itu cukup banyak pada saat yang sama, dan saya belum tahu harus mulai dari mana)?
Inilah mengapa saya pikir admin memiliki keunggulan, kami harus melakukan sebagian besar ini secara manual dan tahu apa yang salah, manifes wayang, komputasi awan, dan orkestra buruh pelabuhan akan lebih mudah bagi kami, pengembang akan menemukan diri mereka mengambil banyak garis singgung jadi saya saran untuk calon devops adalah menjadi admin terlebih dahulu.