Bagaimana menjadi insinyur DevOps dalam enam bulan atau bahkan lebih cepat. Bagian 1. Pendahuluan

Target penonton


Apakah Anda seorang pengembang yang ingin mengubah kariernya menjadi model DevOps yang lebih maju? Apakah Anda seorang insinyur Ops klasik dan ingin mengetahui apa arti DevOps? Atau apakah Anda bukan satu atau yang lain dan, setelah menghabiskan waktu bekerja di bidang teknologi IT, ingin berganti pekerjaan dan tidak tahu harus mulai dari mana?
Jika demikian, baca terus untuk mengetahui bagaimana Anda bisa menjadi insinyur DevOps tingkat menengah dalam enam bulan! Akhirnya, jika Anda telah terlibat dalam DevOps selama bertahun-tahun, Anda masih dapat menarik banyak informasi berguna dari seri artikel ini dan mencari tahu di mana industri integrasi dan otomasi saat ini dan di mana ia berusaha untuk berkembang.



Tentang apa semua ini?


Pertama, apa itu DevOps? Anda dapat google definisi dan melewati semua kulit verbal ini, tetapi perlu diketahui bahwa sebagian besar definisi hanya kumpulan kata-kata yang dibungkus dalam bentuk yang ramping. Oleh karena itu, saya akan memberikan Anda ekstrak dari semua definisi ini: DevOps adalah cara memberikan perangkat lunak di mana sakit kepala dan tanggung jawab dibagi di antara semua yang terlibat. Itu saja.

OK, tapi apa sih arti reduksi ini? Ini berarti bahwa Pengembang tradisional (orang yang membuat perangkat lunak) dalam pekerjaan mereka dipandu oleh insentif yang berbeda secara signifikan dari insentif Operasi (operator, atau orang yang mengelola perangkat lunak). Misalnya, sebagai pengembang, saya ingin membuat sebanyak mungkin fitur baru. Bagaimanapun, ini adalah pekerjaan saya, dan itulah yang diminta pelanggan! Namun, jika saya adalah orang Ops, maka saya perlu fitur baru sesedikit mungkin, karena setiap fungsi baru adalah perubahan, dan setiap perubahan penuh dengan kegagalan fungsi. Sebagai hasil dari insentif inkonsistensi seperti itu, DevOps lahir.

DevOps sedang mencoba untuk menggabungkan pengembangan dan operasi (integrasi dan otomatisasi) ke dalam satu grup. Idenya adalah bahwa sekarang satu kelompok akan berbagi rasa sakit dan tanggung jawab (dan mungkin penghargaan) untuk menciptakan, menyebarkan dan menghasilkan pendapatan dari perangkat lunak yang berorientasi pelanggan.

Purist akan memberi tahu Anda bahwa tidak ada yang namanya "insinyur DevOps." di luar makna aslinya. Jadi, seorang insinyur DevOps adalah sedikit dari seorang "system engineer 2.0." Dengan kata lain, dia adalah orang yang memahami siklus hidup pengembangan perangkat lunak dan menciptakan alat dan proses pengembangan perangkat lunak untuk memecahkan masalah operasional klasik.



Pada akhirnya, DevOps berarti membuat saluran pipa digital yang mengambil kode dari laptop pengembang dan mengubahnya menjadi pendapatan dari menggunakan produk akhir, itulah intinya. Perhatikan fakta bahwa pilihan karir DevOps sangat dikompensasi oleh imbalan keuangan, dan hampir setiap perusahaan baik "membuat DevOps" atau mengklaim menjadi. Terlepas dari di mana perusahaan-perusahaan ini berada, peluang kerja secara keseluruhan karena DevOps cukup tinggi dan menyiratkan "pekerjaan menyenangkan" dan bermakna selama bertahun-tahun yang akan datang.

Namun, berhati-hatilah dengan perusahaan yang mempekerjakan "tim DevOps" atau "departemen DevOps." Sebenarnya, hal-hal seperti itu seharusnya tidak ada, karena pada akhirnya DevOps masih merupakan budaya dan cara penyampaian perangkat lunak, daripada membuat tim tim baru atau membuat departemen dengan nama modis.

Penolakan tanggung jawab


Sekarang, sisihkan segelas Cool-Ad sejenak dan pikirkan hal berikut. Pernahkah Anda mendengar pepatah lama "Insinyur Junior DevOps tidak ada?" Jika tidak, ketahuilah bahwa ini adalah jejak yang populer di Reddit dan StackOverflow. Tapi apa yang dia maksud?

Dalam istilah yang sederhana, frasa ini berarti perlu bertahun-tahun pengalaman, dikombinasikan dengan pemahaman yang kuat tentang alat-alat, untuk akhirnya menjadi praktisi Senior DevOps yang benar-benar efektif. Dan, sayangnya, tidak ada jalan pintas untuk mencapai tujuan. Jadi ini bukan upaya untuk menipu sistem - saya tidak berpikir bahwa sebenarnya Anda bisa berpura-pura menjadi insinyur DevOps senior dengan pengalaman beberapa bulan di industri ini. Mencapai pemahaman yang jelas tentang alat dan metodologi yang berubah dengan cepat membutuhkan pengalaman bertahun-tahun, dan tidak ada cara lain. Namun, ada menu alat dan konsep yang hampir konsisten (modis, jika Anda suka) yang digunakan sebagian besar perusahaan, dan inilah yang akan dibahas.

Sekali lagi, alat-alat berbeda dari keterampilan, jadi saat Anda mempelajari alat-alat tersebut, pastikan bahwa Anda tidak mengabaikan keterampilan Anda (survei, jaringan, komunikasi tertulis, pemecahan masalah, dll.). Di atas semua itu, jangan lupakan apa yang ingin kita temukan - cara untuk membuat pipa digital otomatis sepenuhnya yang mengambil ide dan mengubahnya menjadi fragmen kode yang menghasilkan pendapatan. Ini adalah satu-satunya kesimpulan yang paling penting dari seluruh artikel ini!

Berhenti bicara, kapan saya bisa mulai?


Di bawah ini adalah peta jalan Pengetahuan Dasar Fundamental DevOps. Setelah menguasai semua yang digambarkan di sana, Anda dapat dengan aman dan jujur ​​menyebut diri Anda seorang insinyur DevOps! Atau insinyur cloud jika Anda tidak suka nama "DevOps".



Peta ini mencerminkan pandangan saya (dan mungkin sebagian besar orang yang bekerja di tempat ini) tentang apa yang harus diketahui oleh seorang insinyur DevOps yang kompeten. Namun, ini hanya pendapat, dan, tentu saja, akan ada perbedaan pendapat dengannya. Ini normal! Di sini kami tidak mengupayakan yang terbaik, kami mengupayakan fondasi yang kuat untuk membangun.

Anda harus melalui cara ini secara bertahap, lapis demi lapis. Mulai (dan lanjutkan!) Ikuti dari dasar-dasar, pertama-tama memeriksa elemen-elemen yang ditandai dengan warna biru - Linux, Python dan AWS. Kemudian, jika waktu atau permintaan di pasar tenaga kerja memungkinkan, lakukan hal-hal ungu seperti Golang dan Google Cloud.

Jujur, lapisan paling atas yang mendasar adalah sesuatu yang harus Anda pelajari tanpa henti. OS Linux sangat kompleks dan membutuhkan waktu bertahun-tahun untuk dikuasai. Python membutuhkan latihan terus menerus untuk tetap up to date. AWS berkembang sangat cepat sehingga apa yang Anda ketahui hari ini dalam setahun hanya akan menjadi bagian dari portofolio pengetahuan Anda secara keseluruhan. Setelah Anda mempelajari dasar-dasarnya, beralihlah ke serangkaian keterampilan nyata. Harap dicatat bahwa total ada 6 kolom biru (Konfigurasi, Versi, Pengepakan, Penempatan, Startup, Pemantauan), satu untuk satu bulan studi.



Tentu saja, Anda memperhatikan tidak adanya tahap penting dalam pipa enam bulan kami - pengujian. Saya sengaja tidak memasukkannya ke dalam roadmap, karena menulis modul, tes integrasi dan penerimaan tidak mudah dan secara tradisional berada di pundak para pengembang. Dan kelalaian dari fase "pengujian" dijelaskan oleh fakta bahwa tujuan dari peta jalan ini adalah untuk menguasai keterampilan dan alat dasar secepat mungkin. Kurangnya pengalaman pengujian, menurut penulis, hanya merupakan hambatan kecil untuk penggunaan yang tepat dari DevOps.

Selain itu, ingatlah bahwa kita tidak mempelajari sejumlah celoteh teknis yang tidak terkait di sini, tetapi berusaha untuk memahami alat-alat yang, dalam satu bundel, menciptakan cerita yang dapat dimengerti. Kisah ini adalah otomatisasi proses ujung ke ujung - konveyor digital yang menggerakkan bit seperti jalur perakitan. Anda tidak ingin belajar banyak alat dan berhenti terus-menerus! Toolkit DevOps berubah dengan cepat, dan konsepnya jauh kurang umum. Karena itu, Anda harus berusaha menggunakan alat sebagai proksi pelatihan untuk konsep tingkat yang lebih tinggi.

Oke, mari kita gali sedikit lebih dalam!

Pengetahuan mendasar


Di bawah tangga teratas dengan kata-kata Foundation, Anda melihat keterampilan yang perlu dikuasai setiap insinyur DevOps. Keterampilan ini percaya diri menangani tiga "pilar" industri, yaitu: sistem operasi, bahasa pemrograman, dan cloud publik. Hal-hal ini bukanlah sesuatu yang Anda dapat dengan cepat berkenalan dan melangkah lebih jauh. Keterampilan ini perlu terus ditingkatkan dan diasah untuk menguasainya agar berada di garis depan industri dan untuk memperbarui lingkungan profesional di sekitar Anda. Mari kita telusuri mereka secara bergantian.

Linux adalah tempat segala sesuatu bekerja. Bisakah Anda menjadi seorang praktisi DevOps hebat sementara sepenuhnya tersisa dalam ekosistem Microsoft? Tentu kamu bisa! Tidak ada hukum yang hanya menggunakan Linux. Namun, perlu diingat - terlepas dari kenyataan bahwa semua hal Linux dapat dilakukan pada Windows juga, itu terjadi di sana jauh lebih menyakitkan dan dengan fungsionalitas yang lebih sedikit. Saat ini, kita dapat dengan aman berasumsi bahwa tanpa pengetahuan tentang Linux tidak mungkin menjadi seorang profesional DevOps sejati, jadi Linux adalah apa yang harus Anda pelajari dan pelajari.

Jujur saja, cara terbaik untuk melakukan ini adalah cukup menginstal Linux (Fedora atau Ubuntu) di rumah dan menggunakannya sebanyak mungkin. Tentu saja, Anda akan memecahkan banyak hal, Anda akan terjebak dalam proses kerja, Anda harus memperbaiki semuanya, tetapi Anda akan belajar Linux!



Omong-omong, varian RedHat lebih umum di Amerika Utara, jadi masuk akal untuk memulai dengan Fedora atau CentOS. Jika Anda bertanya-tanya apakah Anda harus membeli KDE atau edisi Gnome, pilih KDE. Inilah yang digunakan Linus Torvalds sendiri.

Python adalah bahasa back-end yang dominan saat ini. Sangat mudah untuk memulainya, itu digunakan secara luas. Python sangat umum di bidang kecerdasan buatan dan pembelajaran mesin, jadi jika Anda ingin pindah ke bidang aktivitas panas lainnya, Anda akan sepenuhnya siap untuk ini.



Amazon Web Services: Sekali lagi, tidak mungkin untuk menjadi profesional DevOps yang berpengalaman tanpa pemahaman yang solid tentang bagaimana cloud publik bekerja. Dan jika Anda ingin mempelajari lebih lanjut tentang itu, periksa Amazon Web Services. Ini adalah pemain terkemuka di bidang layanan, yang menawarkan seperangkat alat kerja terkaya.

Bisakah saya mulai dengan Google Cloud atau Azure? Tentu! Tetapi mengingat krisis keuangan terbaru, harus dicatat bahwa AWS adalah opsi paling aman, setidaknya pada tahun 2018, karena memungkinkan Anda untuk mendaftarkan akun secara gratis dan mulai menjelajahi kemampuan layanan cloud. Selain itu, konsol AWS menyediakan pengguna dengan menu sederhana dan intuitif untuk seleksi. Berita baiknya adalah Anda tidak perlu tahu semua teknologi Amazon untuk ini.



Mulai dengan yang berikut ini: VPC, EC2, IAM, S3, CloudWatch, ELB (Penyeimbangan Beban Elastis dengan kedok EC2) dan Grup Keamanan. Hal-hal ini sudah cukup untuk memulai, dan setiap perusahaan modern berbasis cloud secara aktif menggunakan alat-alat ini. Situs pelatihan AWS sendiri adalah tempat yang baik untuk memulai.

Saya sarankan Anda menghabiskan 20-30 menit setiap hari untuk belajar dan berlatih dengan bahasa Python, sistem operasi Linux, dan layanan cloud AWS, selain hal-hal lain yang harus Anda pelajari. Secara umum, saya percaya bahwa menghabiskan satu jam sehari lima kali seminggu sudah cukup untuk memahami proses dalam industri DevOps selama 6 bulan atau kurang. Ada total 6 komponen utama, yang masing-masing sesuai dengan satu bulan pelatihan. Ini semua yang Anda butuhkan untuk memperoleh pengetahuan dasar.
Dalam artikel selanjutnya, kami akan mempertimbangkan tingkat kerumitan berikut: cara mengotomatisasi konfigurasi, versi, pengemasan, penyebaran, peluncuran dan pemantauan perangkat lunak sepenuhnya.

Bagaimana menjadi insinyur DevOps dalam enam bulan atau bahkan lebih cepat. Bagian 2: Konfigurasi

Sedikit iklan :)


Terima kasih untuk tetap bersama kami. Apakah Anda suka artikel kami? Ingin melihat materi yang lebih menarik? Dukung kami dengan melakukan pemesanan atau merekomendasikan kepada teman Anda, cloud VPS untuk pengembang dari $ 4,99 , analog unik dari server entry-level yang diciptakan oleh kami untuk Anda: Seluruh kebenaran tentang VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps mulai dari $ 19 atau cara membagi server? (opsi tersedia dengan RAID1 dan RAID10, hingga 24 core dan hingga 40GB DDR4).

Dell R730xd 2 kali lebih murah di pusat data Equinix Tier IV di Amsterdam? Hanya kami yang memiliki 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV dari $ 199 di Belanda!Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - mulai dari $ 99! Baca tentang Cara Membangun Infrastruktur Bldg. kelas c menggunakan server Dell R730xd E5-2650 v4 seharga 9.000 euro untuk satu sen?

All Articles