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

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

Apakah Anda seorang pengembang yang ingin mengarahkan karier Anda ke model DevOps yang lebih maju? Apakah Anda seorang insinyur Ops klasik dan ingin mengetahui apa yang dimaksud dengan DevOps? Atau apakah Anda bukan keduanya dan, setelah menghabiskan beberapa waktu bekerja di bidang TI, ingin berganti karier dan tidak tahu harus mulai dari mana?
Jika ya, baca terus untuk mengetahui bagaimana Anda bisa menjadi insinyur DevOps tingkat menengah dalam enam bulan! Terakhir, jika Anda telah terlibat dalam DevOps selama bertahun-tahun, Anda masih akan mendapatkan banyak manfaat dari seri artikel ini untuk mempelajari di mana industri integrasi dan otomasi saat ini dan ke mana arahnya.

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

Tentang apa semua ini?

Pertama, apa itu DevOps? Anda dapat mencari definisi di Google dan menelusuri semua kata-kata yang bertele-tele, tetapi ketahuilah bahwa sebagian besar definisi hanyalah kumpulan kata yang dikemas dalam bentuk yang disederhanakan. Oleh karena itu, saya akan memberikan ringkasan dari semua definisi ini: DevOps adalah metode penyampaian perangkat lunak di mana sakit kepala dan tanggung jawab dibagi di antara semua yang terlibat. Itu saja.

Oke, tapi apa arti singkatan ini? Artinya, secara tradisional, Pengembang (orang yang membuat perangkat lunak) termotivasi untuk melakukan pekerjaan mereka dengan insentif yang sangat berbeda dengan insentif Operasional (orang yang mengelola perangkat lunak). Misalnya, sebagai pengembang, saya ingin membuat fitur baru sebanyak mungkin secepat mungkin. Bagaimanapun, ini adalah pekerjaan saya dan inilah yang diminta klien! Namun, jika saya seorang Ops, maka saya memerlukan fitur baru sesedikit mungkin, karena setiap fitur baru adalah perubahan, dan perubahan apa pun penuh dengan masalah. Akibat ketidakselarasan insentif ini, lahirlah DevOps.

DevOps berupaya menggabungkan pengembangan dan operasi (integrasi dan otomatisasi) ke dalam satu kelompok. Idenya adalah bahwa satu kelompok sekarang akan berbagi penderitaan dan tanggung jawab (dan kemungkinan imbalan) dalam membangun, menerapkan, dan menghasilkan pendapatan dari perangkat lunak yang berhubungan dengan pelanggan.

Penganut aliran puritan akan mengatakan kepada Anda bahwa tidak ada yang namanya “insinyur DevOps.” “DevOps adalah budaya, bukan peran,” mereka akan memberi tahu Anda. Tentu saja, dari sudut pandang teknis mereka benar, namun, sebagaimana adanya Seringkali istilah ini menjadi tidak terkendali. Di luar arti aslinya, seorang insinyur DevOps adalah sesuatu seperti "insinyur sistem 2.0." Dengan kata lain, dia adalah seseorang yang memahami siklus hidup pengembangan perangkat lunak dan menciptakan alat dan proses pengembangan perangkat lunak. untuk memecahkan masalah operasional klasik.

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

DevOps pada akhirnya berarti menciptakan saluran digital yang mengambil kode dari laptop pengembang dan mengubahnya menjadi pendapatan dari penggunaan produk akhir, itulah inti dari DevOps. Perhatikan bahwa memilih karier DevOps cukup dikompensasi oleh imbalan finansial, dengan hampir setiap perusahaan “melakukan DevOps” atau mengaku sebagai salah satunya. Terlepas dari lokasi perusahaan-perusahaan ini, peluang kerja secara keseluruhan sebagai DevOps cukup tinggi dan menawarkan pekerjaan yang "menyenangkan" dan bermakna selama bertahun-tahun yang akan datang.

Namun, berhati-hatilah terhadap perusahaan yang mempekerjakan “tim DevOps” atau “departemen DevOps”. Sebenarnya, hal-hal seperti itu tidak boleh ada, karena pada akhirnya DevOps masih merupakan budaya dan cara penyampaian perangkat lunak, bukan mempekerjakan tim baru atau membuat departemen dengan nama yang mewah.

penolakan

Sekarang mari kita kesampingkan sejenak gelas Kool-Aid dan pikirkan hal berikut. Pernahkah Anda mendengar pepatah lama “tidak ada insinyur DevOps junior?” Jika tidak, ketahuilah bahwa ini adalah kiasan populer di Reddit dan StackOverflow. Tapi apa maksudnya?

Sederhananya, frasa ini berarti bahwa dibutuhkan pengalaman bertahun-tahun yang dikombinasikan dengan pemahaman yang kuat tentang alat-alat tersebut untuk akhirnya menjadi praktisi Senior DevOps yang benar-benar efektif. Dan sayangnya, tidak ada jalan pintas untuk mencapai tujuan tersebut. Jadi ini bukan upaya untuk mempermainkan sistem - menurut saya tidak mungkin berpura-pura menjadi insinyur DevOps senior dengan pengalaman beberapa bulan di industri ini. Untuk mencapai pemahaman yang kuat tentang alat dan metodologi yang berubah dengan cepat memerlukan pengalaman bertahun-tahun, dan tidak ada jalan lain. Namun, ada menu alat dan konsep yang hampir konsisten (modis, jika Anda mau) yang digunakan sebagian besar perusahaan, dan itulah yang akan kita bicarakan.

Sekali lagi, alat berbeda dengan keterampilan, jadi saat Anda mempelajari alat tersebut, pastikan Anda tidak mengabaikan keterampilan Anda (survei, jaringan, komunikasi tertulis, pemecahan masalah, dll.). Yang terpenting, jangan lupakan apa yang ingin kita temukan - cara untuk menciptakan saluran digital yang sepenuhnya otomatis yang mengambil ide dan mengubahnya menjadi potongan kode yang menghasilkan pendapatan. Ini adalah satu-satunya kesimpulan terpenting dari keseluruhan artikel ini!

Cukup ngobrolnya, kapan saya bisa mulai?

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

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

Peta ini mewakili gagasan saya (dan mungkin sebagian besar orang yang bekerja di bidang ini) tentang apa yang harus diketahui oleh insinyur DevOps yang kompeten. Namun hal ini hanya sekedar opini saja, dan tentunya akan ada yang tidak setuju. Ini bagus! Kami tidak berjuang untuk kesempurnaan di sini, kami berjuang untuk landasan kokoh yang bisa kami bangun.

Jalur ini harus Anda lalui secara bertahap, lapis demi lapis. Mari kita mulai (dan melanjutkan!) dengan dasar-dasarnya dengan terlebih dahulu mempelajari elemen-elemen berwarna biru—Linux, Python, dan AWS. Kemudian, jika waktu atau permintaan pasar kerja memungkinkan, lakukan hal yang ungu - Golang dan Google Cloud.

Sejujurnya, lapisan atas yang mendasar adalah sesuatu yang harus Anda pelajari selamanya. OS Linux sangat kompleks dan membutuhkan waktu bertahun-tahun untuk dikuasai. Python membutuhkan latihan terus-menerus agar tetap terkini. AWS berkembang sangat cepat sehingga apa yang Anda ketahui saat ini hanya akan menjadi bagian dari keseluruhan portofolio pengetahuan Anda satu tahun dari sekarang. Setelah Anda mempelajari dasar-dasarnya, lanjutkan ke keahlian sebenarnya. Harap dicatat bahwa ada total 6 kolom biru (Konfigurasi, Versi, Pengemasan, Penerapan, Peluncuran, Pemantauan), satu kolom per bulan studi.

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

Anda, tentu saja, memperhatikan tidak adanya tahapan penting dalam pipa enam bulan kami - pengujian. Saya sengaja tidak memasukkannya ke dalam peta jalan karena menulis modul, tes integrasi dan penerimaan tidaklah mudah dan secara tradisional berada di pundak pengembang. Dan melewatkan tahap “pengujian” disebabkan oleh fakta bahwa tujuan dari peta jalan ini adalah untuk menguasai keterampilan dan alat dasar secepat mungkin. Kurangnya pengalaman pengujian, menurut penulis, hanyalah kendala kecil dalam penggunaan DevOps yang benar.

Selain itu, ingatlah bahwa kita tidak mempelajari banyak omongan teknis yang tidak berhubungan di sini, melainkan pemahaman tentang alat-alat yang digabungkan untuk menciptakan cerita yang jelas. Kisah ini tentang otomatisasi proses end-to-end—jalur perakitan digital yang menggerakkan bagian-bagian seperti jalur perakitan. Anda tidak ingin mempelajari banyak alat dan terus berhenti! Alat DevOps berubah dengan cepat, namun konsepnya lebih jarang berubah. Oleh karena itu, Anda harus berusaha menggunakan alat sebagai proxy pengajaran untuk konsep tingkat yang lebih tinggi.

Oke, mari kita gali lebih dalam!

Pengetahuan mendasar

Di bawah langkah teratas yang bertuliskan Dasar, Anda dapat melihat keterampilan yang harus dikuasai oleh setiap insinyur DevOps. Keterampilan ini merupakan penanganan percaya diri terhadap tiga pilar industri, yaitu: sistem operasi, bahasa pemrograman, dan cloud publik. Hal-hal ini bukanlah sesuatu yang dapat Anda pelajari dan lanjutkan dengan cepat. Keterampilan tersebut perlu terus ditingkatkan dan dikuasai agar dapat menjadi yang terdepan dalam industri dan relevan dengan lingkungan profesional di sekitar Anda. Mari kita bahas satu per satu.

Linux adalah tempat semuanya bekerja. Bisakah Anda menjadi praktisi DevOps yang luar biasa sambil tetap berada dalam ekosistem Microsoft? Tentu kamu bisa! Tidak ada undang-undang yang mengharuskan Anda hanya menggunakan Linux. Namun, perlu diingat bahwa meskipun semua hal tentang Linux dapat dilakukan di Windows, hal itu terjadi di sana jauh lebih menyakitkan dan dengan fungsionalitas yang lebih sedikit. Pada titik ini, dapat diasumsikan bahwa tanpa mengetahui Linux, tidak mungkin menjadi profesional DevOps sejati, jadi Linux adalah sesuatu yang harus Anda pelajari dan pelajari.

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

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

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 edisi KDE atau Gnome, pilihlah KDE. Inilah yang digunakan Linus Torvalds sendiri.

Python adalah bahasa back-end yang dominan saat ini. Sangat mudah untuk memulai dan digunakan secara luas. Python sangat umum di bidang kecerdasan buatan dan pembelajaran mesin, jadi jika Anda ingin pindah ke bidang lain yang menarik, Anda harus siap sepenuhnya.

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

Amazon Web Services: Sekali lagi, tidak mungkin menjadi profesional DevOps berpengalaman tanpa pemahaman yang kuat tentang cara kerja cloud publik. Dan jika Anda ingin mempelajarinya lebih lanjut, lihat Amazon Web Services. Ini adalah pemain terkemuka di bidang layanan ini dan menawarkan seperangkat alat kerja terkaya.

Apakah mungkin memulai dengan Google Cloud atau Azure? Tentu saja Anda bisa! Namun mengingat krisis keuangan terakhir, perlu dicatat bahwa AWS adalah opsi teraman, setidaknya pada tahun 2018, karena memungkinkan Anda mendaftarkan akun secara gratis dan mulai menjajaki kemungkinan layanan cloud. Selain itu, konsol AWS memberi pengguna menu yang sederhana dan jelas untuk dipilih. Kabar baiknya adalah Anda tidak perlu mengetahui semua teknologi Amazon untuk melakukan hal ini.

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

Mulailah dengan yang berikut: VPC, EC2, IAM, S3, CloudWatch, ELB (Elastic Load Balancing di bawah payung EC2) dan Grup Keamanan. Hal-hal ini cukup untuk membantu Anda memulai, dan setiap perusahaan modern berbasis cloud menggunakan alat ini dengan cukup aktif. Situs pelatihan AWS adalah tempat yang baik untuk memulai.

Saya menyarankan Anda meluangkan 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 keseluruhan, saya yakin bahwa menghabiskan satu jam sehari, lima kali seminggu sudah cukup untuk memahami industri DevOps dalam 6 bulan atau kurang. Ada total 6 komponen utama, yang masing-masing sesuai dengan satu bulan pelatihan. Itu saja yang Anda butuhkan untuk mendapatkan pengetahuan dasar.
Pada artikel selanjutnya, kita akan melihat tingkat kerumitan berikutnya: cara mengotomatisasi sepenuhnya konfigurasi, pembuatan versi, pengemasan, penerapan, pengoperasian, dan pemantauan perangkat lunak.

Akan segera dilanjutkan...

Beberapa iklan 🙂

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

Dell R730xd 2x 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 dari $199 di Belanda! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - mulai $99! Membaca tentang Bagaimana membangun infrastruktur corp. kelas dengan penggunaan server Dell R730xd E5-2650 v4 senilai 9000 euro untuk satu sen?

Sumber: www.habr.com

Tambah komentar