Bagaimana menjadi insinyur DevOps dalam enam bulan atau bahkan lebih cepat. Bagian 3. Versi

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



Segarkan memori


Pada bagian pertama, kami berbicara tentang budaya dan tujuan DevOps, di bagian kedua - bagaimana meletakkan dasar untuk penerapan kode masa depan menggunakan Terraform, yang itu sendiri adalah kode. Pada bagian ketiga, kita akan membahas cara menyimpan semua bagian kode ini dari kekacauan total. Spoiler: Ini semua tentang Git!

Bonus: kami juga akan berbicara tentang cara menggunakan Git yang sama ini untuk membuat dan mempromosikan merek pribadi Anda sendiri. Gambar menunjukkan di mana kita berada sekarang.



Kenapa repot-repot dengan ini?


Apa yang dimaksud dengan versi? Bayangkan Anda sedang mengerjakan beberapa jenis perangkat lunak dan terus-menerus mengubahnya, menambah atau menghapus fungsi sesuai kebutuhan. Seringkali perubahan terakhir akan menjadi perubahan mendasar, menghancurkan semua yang dibuat sebelumnya. Jika Anda adalah perwakilan dari sekolah lama, Anda mungkin akan memberi nama file pertama Anda awesome_code.p1.

Kemudian Anda mulai membuat perubahan, dan Anda perlu menyimpan apa yang berhasil, jika Anda harus kembali ke sana. Oleh karena itu, Anda mengganti nama file Anda menjadi ini: awesome_code.12.25.2018.p1.

Semuanya berfungsi dengan baik sampai, pada hari yang sama, Anda membuat beberapa perubahan dan Anda harus memberi nama file baru awesome_code.GOOD.12.25.2018.p1. Dan terus bekerja dengan baik.

Kemungkinan besar, dalam lingkungan profesional, Anda memiliki beberapa tim berkolaborasi dalam basis kode yang sama, yang selanjutnya melanggar model ini. Tak perlu dikatakan, kereta gila ini dengan cepat tergelincir.

Source Code Control Versi Sistem Kontrol





Gunakan sistem kontrol versi SCC - ini adalah cara untuk menyimpan file Anda di tempat terpusat di mana beberapa tim dapat bekerja bersama pada basis kode umum. Gagasan ini bukan hal baru. Penyebutan awal sistem SCC yang saya berhasil temukan tanggal kembali ke 1972. Dengan demikian, gagasan bahwa kita harus memusatkan kode kita di satu tempat sudah ketinggalan zaman.

Namun, gagasan bahwa semua artefak yang diproduksi harus diversi versi relatif baru. Ini berarti bahwa segala sesuatu yang berkaitan dengan lingkungan produksi Anda harus disimpan dalam sistem kontrol versi, dapat dilacak, diperiksa, dan dicatat sejarah perubahannya.

Selain itu, penerapan undang-undang "semua artefak produk harus versi" benar-benar membuat Anda mendekati masalah dengan prinsip "otomatisasi pertama".

Misalnya, ketika Anda memutuskan untuk hanya mengklik pada masalah kompleks di lingkungan pengembangan AWS Anda, Anda dapat berhenti sejenak dan berpikir, "apakah ini klik pada artefak berversi"? Tentu saja, jawabannya adalah β€œtidak.”

Meskipun merupakan praktik normal untuk membuat prototipe cepat melalui antarmuka pengguna untuk melihat apakah ada sesuatu yang berfungsi atau tidak, pekerjaan Anda akan berumur pendek. Karena itu, ketika melakukan pekerjaan yang menjanjikan dan memakan waktu, pastikan untuk melakukannya. di Terraform atau alat infrastruktur-sebagai-kode lainnya. Ingat - kelola artefak berversi dan simpan menggunakan repositori Git.

Git repositori


Sebelum Git, menggunakan SCCS seperti SVN adalah canggung, tidak ramah pengguna, dan umumnya pengalaman yang agak menyakitkan. Perbedaannya dengan Git adalah ia menyediakan kontrol versi terdistribusi. Sederhananya, Anda tidak memblokir pengguna lain dari repositori kode sumber terpusat saat Anda mengerjakan perubahan, tetapi Anda bekerja dengan salinan penuh basis kode. Setelah Anda menyelesaikan pekerjaan Anda, salinan ini akan tertanam dalam repositori master.

Perlu diingat bahwa hal di atas adalah penyederhanaan besar tentang cara kerjanya. Deskripsi seperti itu cukup untuk keperluan artikel ini, namun, pengetahuan terperinci tentang Git adalah pengalaman yang melelahkan tetapi bermanfaat.



Untuk saat ini, ingatlah bahwa Git tidak berfungsi seperti SVN. Ini adalah sistem manajemen kode sumber terdistribusi (versi) di mana beberapa tim pengembangan dapat bekerja dengan aman dan andal pada basis kode umum.

Mengapa Anda perlu mengetahui hal ini?


Saya sangat menegaskan bahwa tanpa mengetahui cara kerja Git, Anda tidak akan pernah menjadi insinyur DevOps (Cloud) profesional. Bagaimana cara mempelajarinya? Perhatikan bahwa hasil pencarian Google untuk "Git Tutorial" biasanya menyediakan tautan ke tutorial yang sangat membingungkan dan membingungkan. Namun demikian, beberapa buku pelajaran yang sangat masuk akal ditemukan di antara mereka.

Salah satu seri tutorial yang saya rekomendasikan kepada semua orang untuk dibaca, dipelajari, dan digunakan dalam praktik adalah Tutorial Git dari Atlassian . Semuanya cukup bagus, tetapi satu bagian, Alur Kerja Git , yang menggambarkan alur kerja dari repositori ini, digunakan oleh programmer profesional di seluruh dunia.

Tutorial lain yang sangat bagus adalah menjelajahi percabangan repositori Learn Git Branching. Tutorial Atlassian dibangun berdasarkan prinsip "baca dan pelajari", dan Learn Git Branching adalah tutorial interaktif. Bagaimanapun, Anda tidak akan jauh dalam mempelajari DevOps kecuali Anda memahami bagaimana repositori ini bekerja.



Saya mencatat bahwa kurangnya pemahaman tentang bagaimana fungsi Git Branching bekerja atau ketidakmampuan untuk menjelaskan apa itu Gitflow, tenggelam selama wawancara 99% pelamar untuk pencalonan insinyur pengembangan DevOps. Ini adalah titik kunci - Anda bisa datang untuk wawancara dan tidak tahu Terraform atau alat infrastruktur-kode-mode terbaru lainnya, dan ini normal, karena Anda dapat mempelajarinya dalam proses. Tetapi ketidaktahuan tentang karya Git menunjukkan bahwa Anda tidak memiliki dasar-dasar praktik terbaik modern dalam pengembangan perangkat lunak, tidak masalah apakah itu menyangkut DevOps atau tidak. Ini menandakan manajer perekrutan bahwa kurva belajar Anda terlalu tidak merata.

Sebaliknya, kemampuan Anda untuk berbicara dengan penuh percaya diri tentang praktik terbaik Git memberi tahu manajer perekrutan bahwa Anda datang dengan instalasi untuk melakukan pengembangan perangkat lunak terlebih dahulu, dan itulah gambar yang ingin Anda proyeksikan. Kesimpulan: Anda tidak perlu menjadi ahli Git terkemuka di dunia untuk mendapatkan pekerjaan DevOps yang luar biasa ini, tetapi Anda perlu hidup dan bernafas sebentar untuk berbicara dengan percaya diri tentang apa yang terjadi padanya. Untuk melakukan ini, minimal, Anda harus memiliki pemahaman yang baik tentang bagaimana melakukan hal berikut:

  • buat salinan repositori (Fork repo);
  • Buat cabang Git
  • sinkronisasi aliran ke repositori dan sebaliknya;
  • buat permintaan tarik.

Apa berikutnya?


Setelah Anda mempelajari pelajaran pengantar di Git, dapatkan sendiri akun di GitHub. Ini adalah repositori open source Git yang paling umum, dan Anda mungkin ingin bersama pengikut Git lainnya.

Segera setelah Anda memiliki akun di GitHub, mulailah memasukkan kode Anda ke dalamnya. Perbaiki semua yang mengharuskan Anda menulis kode dalam proses pengerjaan di GitHub. Ini tidak hanya menanamkan disiplin yang baik dalam menangani versi, tetapi juga membantu Anda menciptakan merek Anda sendiri.

Catatan: saat menjelajahi penggunaan git + GitHub, berikan perhatian khusus pada Pull Request (atau PR jika Anda ingin menjadi keren).

Merek


Berbicara tentang kecuraman: merek sendiri adalah cara untuk menunjukkan kepada dunia apa yang Anda mampu. Salah satu cara (ini saat ini adalah salah satu cara terbaik!) Adalah mengikat GitHub sebagai proxy untuk merek Anda. Hampir semua majikan akhir-akhir ini akan memintanya. Karena itu, Anda harus berusaha untuk memiliki akun GitHub yang rapi dan diawasi dengan cermat. Ini adalah sesuatu yang bisa Anda masukkan pada resume Anda dan dibanggakan.



Dalam artikel berikut, saya akan menunjukkan kepada Anda cara membuat situs sederhana namun keren di GitHub menggunakan generator situs statis Hugo. Itu ditulis dalam Go, dan, mungkin, hari ini adalah yang tercepat di antara analog. Hugo mengumpulkan sekitar 5.000 halaman dalam 6 detik, yang merupakan 75 kali kecepatan Middleman. Tetapi untuk sekarang, Anda hanya perlu meletakkan kode Anda di GitHub.
Kemudian, ketika Anda mendapatkan pengalaman, ada baiknya memikirkan memiliki dua akun GitHub. Satu untuk menyimpan aplikasi tertulis Anda sendiri, kode kerja, dan yang lainnya untuk menyimpan kode yang ingin Anda perlihatkan kepada orang lain.

Jadi, kami meringkas di atas:

  • belajar git;
  • Posting di GitHub semua yang Anda pelajari
  • gunakan dua akun untuk menyimpan dan mendemonstrasikan semua yang telah Anda pelajari
    untuk mendapat manfaat dari ini!

temuan


Ikuti perkembangan terbaru di bidang ini, seperti GitOps. GitOps membawa semua ide yang telah kita bahas sejauh ini ke tingkat baru, di mana semuanya dilakukan dengan menggunakan git, menarik permintaan, dan menyebarkan pipa.

Harap perhatikan bahwa GitOps dan perkembangan serupa berbicara tentang sisi bisnis, yaitu, menunjukkan bahwa Anda tidak hanya menggunakan Git, karena itu keren dan modis. Anda menggunakannya untuk memastikan kelincahan bisnis, mempercepat inovasi dan menyediakan fungsi yang lebih cepat, yaitu, untuk akhirnya menghasilkan lebih banyak uang!

Bagaimana menjadi insinyur DevOps dalam enam bulan atau bahkan lebih cepat. Bagian 4. Pengemasan perangkat lunak

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