Bagaimana untuk menjadi jurutera DevOps dalam enam bulan atau lebih cepat. Bahagian 1. Pengenalan

ЦСлСвая аудитория

Adakah anda seorang pembangun yang ingin menggerakkan kerjaya anda ke arah model DevOps yang lebih maju? Adakah anda seorang jurutera Ops klasik dan ingin mendapatkan idea tentang maksud DevOps? Atau adakah anda tidak dan, selepas meluangkan sedikit masa bekerja dalam IT, mahu menukar kerjaya dan tidak tahu di mana untuk bermula?
Jika ya, baca terus untuk mengetahui cara anda boleh menjadi jurutera DevOps peringkat pertengahan dalam masa enam bulan! Akhir sekali, jika anda telah terlibat dalam DevOps selama bertahun-tahun, anda masih akan mendapat banyak daripada siri artikel ini untuk mengetahui di mana industri penyepaduan dan automasi pada masa ini dan ke mana arahnya.

Bagaimana untuk menjadi jurutera DevOps dalam enam bulan atau lebih cepat. Bahagian 1. Pengenalan

Apakah ini pula?

Pertama, apakah itu DevOps? Anda boleh mentakrifkan Google dan mengharungi semua kata kerja, tetapi ketahui bahawa kebanyakan definisi hanyalah gabungan perkataan yang dibungkus dalam bentuk yang diperkemas. Oleh itu, saya akan memberikan ringkasan kepada anda semua definisi ini: DevOps ialah kaedah penyampaian perisian di mana sakit kepala dan tanggungjawab dikongsi di kalangan semua yang terlibat. Itu sahaja.

Baiklah, tetapi apakah maksud singkatan ini? Ini bermakna bahawa secara tradisinya, Pembangun (orang yang mencipta perisian) telah didorong untuk melakukan kerja mereka dengan insentif yang berbeza dengan ketara daripada Operasi (orang yang menguruskan perisian). Sebagai contoh, sebagai pembangun, saya ingin mencipta seberapa banyak ciri baharu secepat mungkin. Lagipun, ini adalah tugas saya dan ini adalah permintaan pelanggan! Walau bagaimanapun, jika saya seorang Ops, maka saya memerlukan sedikit ciri baharu yang mungkin, kerana setiap ciri baharu adalah perubahan, dan sebarang perubahan penuh dengan masalah. Akibat salah jajaran insentif ini, DevOps dilahirkan.

DevOps cuba menggabungkan pembangunan dan operasi (integrasi dan automasi) ke dalam satu kumpulan. Ideanya ialah satu kumpulan kini akan berkongsi kesakitan dan tanggungjawab (dan kemungkinan ganjaran) membina, menggunakan dan menjana hasil daripada perisian yang dihadapi pelanggan.

Purists akan memberitahu anda bahawa tidak ada perkara seperti "jurutera DevOps." "DevOps ialah budaya, bukan peranan," mereka akan memberitahu anda. Sudah tentu, dari sudut pandangan teknikal mereka betul, tetapi, begitu juga selalunya, istilah itu telah hilang dari tangan Di luar maksud asalnya, seorang jurutera DevOps adalah seperti "jurutera sistem 2.0." Dalam erti kata lain, dia adalah seseorang yang memahami kitaran hayat pembangunan perisian dan mencipta alat dan proses pembangunan perisian untuk menyelesaikan masalah operasi klasik.

Bagaimana untuk menjadi jurutera DevOps dalam enam bulan atau lebih cepat. Bahagian 1. Pengenalan

DevOps akhirnya bermakna mencipta saluran paip digital yang mengambil kod daripada komputer riba pembangun dan mengubahnya menjadi hasil daripada penggunaan produk akhir, itulah maksudnya. Ambil perhatian bahawa memilih kerjaya DevOps diberi pampasan yang agak tinggi oleh ganjaran kewangan, dengan hampir setiap syarikat sama ada "melakukan DevOps" atau mengaku sebagai satu. Tidak kira di mana syarikat-syarikat ini berada, peluang pekerjaan keseluruhan sebagai DevOps adalah agak tinggi dan menawarkan pekerjaan yang "seronok" dan bermakna untuk beberapa tahun akan datang.

Walau bagaimanapun, berhati-hati terhadap syarikat yang mengupah "pasukan DevOps" atau "jabatan DevOps". Tegasnya, perkara sebegitu tidak sepatutnya wujud, kerana akhirnya DevOps masih menjadi budaya dan cara untuk menyampaikan perisian, bukan menempatkan pasukan baharu atau mewujudkan jabatan dengan nama yang mewah.

Penafian

Sekarang mari letakkan gelas Kool-Aid diketepikan seketika dan fikirkan perkara berikut. Pernahkah anda mendengar pepatah lama "tiada jurutera DevOps junior?" Jika tidak, ketahuilah bahawa ini adalah kiasan popular di Reddit dan StackOverflow. Tetapi apakah maksudnya?

Ringkasnya, frasa ini bermakna bahawa pengalaman bertahun-tahun diperlukan digabungkan dengan pemahaman yang kukuh tentang alatan untuk akhirnya menjadi pengamal Kanan DevOps yang benar-benar berkesan. Dan, malangnya, tiada jalan pintas untuk mencapai matlamat. Jadi ini bukan percubaan untuk mempermainkan sistem - Saya tidak fikir ia sebenarnya mungkin untuk berpura-pura menjadi jurutera kanan DevOps dengan pengalaman beberapa bulan dalam industri. Mencapai pemahaman yang kukuh tentang alat dan metodologi yang berubah dengan pantas memerlukan pengalaman bertahun-tahun, dan tiada penyelesaian untuk mengatasinya. Walau bagaimanapun, terdapat menu alat dan konsep yang hampir konsisten (bergaya, jika anda mahu) yang kebanyakan syarikat gunakan, dan itulah yang akan kita bincangkan.

Sekali lagi, alatan adalah berbeza daripada kemahiran, jadi semasa anda mempelajari alatan tersebut, pastikan anda tidak mengabaikan kemahiran anda (tinjauan, rangkaian, komunikasi bertulis, penyelesaian masalah, dll.). Paling penting, jangan lupa tentang perkara yang ingin kami temui - satu cara untuk mencipta saluran paip digital automatik sepenuhnya yang mengambil idea dan mengubahnya menjadi kod yang menjana hasil. Ini adalah satu-satunya kesimpulan yang paling penting dari keseluruhan artikel ini!

Cukup sembang, bila boleh mula?

Di bawah ialah peta jalan Pengetahuan Asas DevOps. Setelah menguasai semua yang digambarkan di sana, anda boleh dengan selamat dan jujur ​​menyebut diri anda seorang jurutera DevOps! Atau jurutera awan jika anda tidak suka nama "DevOps".

Bagaimana untuk menjadi jurutera DevOps dalam enam bulan atau lebih cepat. Bahagian 1. Pengenalan

Peta ini mewakili idea saya (dan mungkin kebanyakan orang yang bekerja di ruang ini) tentang perkara yang harus diketahui oleh jurutera DevOps yang cekap. Namun, ini hanyalah pendapat, dan sudah tentu akan ada yang tidak bersetuju dengannya. Ini baik! Kami tidak berusaha untuk kesempurnaan di sini, kami sedang berusaha untuk asas yang kukuh di mana kami sebenarnya boleh membina.

Anda mesti melalui laluan ini secara beransur-ansur, lapisan demi lapisan. Mari mulakan (dan teruskan!) dengan asas-asas dengan terlebih dahulu mempelajari unsur-unsur dalam warna biruβ€”Linux, Python dan AWS. Kemudian, jika masa atau permintaan pasaran pekerjaan mengizinkan, lakukan perkara ungu - Golang dan Google Cloud.

Secara jujur, lapisan atas asas adalah sesuatu yang anda perlu kaji selama-lamanya. OS Linux sangat kompleks dan mengambil masa bertahun-tahun untuk dikuasai. Python memerlukan latihan berterusan untuk kekal terkini. AWS berkembang dengan pantas sehingga apa yang anda ketahui hari ini hanya akan menjadi sebahagian daripada portfolio pengetahuan keseluruhan anda setahun dari sekarang. Sebaik sahaja anda mempelajari asas-asas, teruskan kepada set kemahiran sebenar. Sila ambil perhatian bahawa terdapat sejumlah 6 lajur biru (Konfigurasi, Versi, Pembungkusan, Penggunaan, Pelancaran, Pemantauan), satu setiap bulan pengajian.

Bagaimana untuk menjadi jurutera DevOps dalam enam bulan atau lebih cepat. Bahagian 1. Pengenalan

Anda, sudah tentu, menyedari ketiadaan peringkat penting dalam perancangan enam bulan kami - ujian. Saya sengaja tidak memasukkannya ke dalam pelan hala tuju kerana menulis modul, ujian integrasi dan penerimaan bukanlah mudah dan secara tradisinya terletak di bahu pembangun. Dan melangkau peringkat "ujian" dijelaskan oleh fakta bahawa matlamat peta jalan ini adalah untuk menguasai kemahiran asas dan alat secepat mungkin. Kekurangan pengalaman ujian, menurut penulis, hanyalah halangan kecil kepada penggunaan DevOps yang betul.

Selain itu, ingat bahawa kami tidak mempelajari banyak perkara teknikal yang tidak berkaitan di sini, sebaliknya memahami alat yang digabungkan untuk mencipta cerita yang jelas. Cerita ini mengenai automasi proses hujung ke hujungβ€”talian pemasangan digital yang menggerakkan bit seperti talian pemasangan. Anda tidak mahu mempelajari banyak alatan dan terus berhenti! Alat DevOps berubah dengan cepat, tetapi konsep berubah kurang kerap. Oleh itu, anda harus berusaha untuk menggunakan alatan sebagai proksi pengajaran untuk konsep tahap yang lebih tinggi.

Okay, mari kita gali lebih dalam!

Pengetahuan asas

Di bawah langkah teratas yang mengatakan Foundation, anda boleh melihat kemahiran yang harus dikuasai oleh setiap jurutera DevOps. Kemahiran ini adalah pengendalian yang yakin terhadap tiga tonggak industri, iaitu: sistem pengendalian, bahasa pengaturcaraan dan awan awam. Perkara-perkara ini bukanlah sesuatu yang anda boleh pelajari dengan cepat dan teruskan. Kemahiran ini perlu sentiasa dipertingkatkan dan dikuasai untuk berada di barisan hadapan dalam industri dan relevan dengan persekitaran profesional di sekeliling anda. Mari kita lalui mereka satu persatu.

Linux adalah tempat segala-galanya berfungsi. Bolehkah anda menjadi pengamal DevOps yang hebat sambil kekal sepenuhnya dalam ekosistem Microsoft? Pasti anda boleh! Tiada undang-undang yang menetapkan bahawa anda hanya menggunakan Linux. Walau bagaimanapun, perlu diingat bahawa walaupun pada hakikatnya semua perkara Linux boleh dilakukan dalam Windows, ia berlaku di sana dengan lebih menyakitkan dan dengan fungsi yang kurang. Pada ketika ini, adalah selamat untuk mengandaikan bahawa tanpa mengetahui Linux, adalah mustahil untuk menjadi profesional DevOps sejati, jadi Linux adalah sesuatu yang anda patut pelajari dan pelajari.

Secara jujur, cara terbaik untuk melakukan ini adalah dengan memasang Linux (Fedora atau Ubuntu) di rumah dan menggunakannya sebanyak mungkin. Sudah tentu, anda akan memecahkan banyak perkara, anda akan terjebak dalam proses kerja, anda perlu membetulkan segala-galanya, tetapi anda akan belajar Linux!

Bagaimana untuk menjadi jurutera DevOps dalam enam bulan atau lebih cepat. Bahagian 1. Pengenalan

By the way, varian RedHat lebih biasa di Amerika Utara, jadi masuk akal untuk bermula dengan Fedora atau CentOS. Jika anda tertanya-tanya sama ada anda perlu membeli edisi KDE atau Gnome, pilih KDE. Inilah yang Linus Torvalds sendiri gunakan.

Python ialah bahasa back-end yang dominan pada hari ini. Ia mudah untuk dimulakan dan digunakan secara meluas. Python adalah sangat biasa dalam bidang kecerdasan buatan dan pembelajaran mesin, jadi jika anda ingin beralih ke medan panas yang lain, anda akan bersedia sepenuhnya.

Bagaimana untuk menjadi jurutera DevOps dalam enam bulan atau lebih cepat. Bahagian 1. Pengenalan

Perkhidmatan Web Amazon: Sekali lagi, adalah mustahil untuk menjadi profesional DevOps yang berpengalaman tanpa pemahaman yang kukuh tentang cara awan awam berfungsi. Dan jika anda ingin mengetahui lebih lanjut mengenainya, lihat Perkhidmatan Web Amazon. Ia merupakan pemain terkemuka dalam bidang perkhidmatan ini dan menawarkan set alat kerja terkaya.

Adakah mungkin untuk bermula dengan Google Cloud atau Azure? Sudah tentu anda boleh! Tetapi mengingati krisis kewangan yang lalu, perlu diingatkan bahawa AWS adalah pilihan paling selamat, sekurang-kurangnya pada 2018, kerana ia membolehkan anda mendaftar akaun secara percuma dan mula meneroka kemungkinan perkhidmatan awan. Selain itu, konsol AWS menyediakan pengguna dengan menu yang mudah dan jelas untuk dipilih. Berita baiknya ialah anda tidak perlu mengetahui semua teknologi Amazon untuk melakukan ini.

Bagaimana untuk menjadi jurutera DevOps dalam enam bulan atau lebih cepat. Bahagian 1. Pengenalan

Mulakan dengan yang berikut: VPC, EC2, IAM, S3, CloudWatch, ELB (Pengimbangan Beban Anjal di bawah payung EC2) dan Kumpulan Keselamatan. Perkara ini sudah cukup untuk anda bermula, dan setiap perusahaan berasaskan awan moden menggunakan alat ini dengan agak aktif. Tapak latihan AWS sendiri ialah tempat yang baik untuk bermula.

Saya mengesyorkan agar anda meluangkan 20-30 minit setiap hari untuk belajar dan berlatih dengan bahasa Python, sistem pengendalian Linux dan perkhidmatan awan AWS sebagai tambahan kepada perkara lain yang perlu anda pelajari. Secara keseluruhannya, saya percaya meluangkan masa satu jam sehari, lima kali seminggu sudah cukup untuk memahami industri DevOps dalam masa 6 bulan atau kurang. Terdapat sejumlah 6 komponen utama, setiap satunya sepadan dengan sebulan latihan. Itu sahaja yang anda perlukan untuk mendapatkan pengetahuan asas.
Dalam artikel seterusnya, kita akan melihat tahap kerumitan seterusnya: cara mengautomasikan sepenuhnya konfigurasi, versi, pembungkusan, penggunaan, jalan dan pemantauan perisian.

Akan diteruskan tidak lama lagi...

Beberapa iklan πŸ™‚

Terima kasih kerana tinggal bersama kami. Adakah anda suka artikel kami? Ingin melihat kandungan yang lebih menarik? Sokong kami dengan membuat pesanan atau mengesyorkan kepada rakan, cloud VPS untuk pembangun dari $4.99, analog unik pelayan peringkat permulaan, yang kami cipta untuk anda: Keseluruhan kebenaran tentang VPS (KVM) E5-2697 v3 (6 Teras) 10GB DDR4 480GB SSD 1Gbps daripada $19 atau bagaimana untuk berkongsi pelayan? (tersedia dengan RAID1 dan RAID10, sehingga 24 teras dan sehingga 40GB DDR4).

Dell R730xd 2 kali lebih murah di pusat data Equinix Tier IV di Amsterdam? Hanya disini 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV daripada $199 di Belanda! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - daripada $99! Baca tentang Bagaimana untuk membina infrastruktur corp. kelas dengan penggunaan pelayan Dell R730xd E5-2650 v4 bernilai 9000 euro untuk satu sen?

Sumber: www.habr.com

Tambah komen