Ini adalah panduan langkah demi langkah tentang cara menjadi insinyur DevOps, dengan tautan ke sumber belajar yang relevan.
Jika Anda ingin mempelajari lebih lanjut tentang DevOps, pastikan untuk berlangganan buletin saya .
Jika Anda merasa repositori ini bermanfaat, pertimbangkan untuk mendukung saya di Patreon:
Tujuan dari peta jalan ini adalah untuk memberi Anda gambaran tentang lanskap. Peta jalan akan memandu Anda jika Anda bingung tentang apa yang harus dipelajari selanjutnya, alih-alih mendorong Anda untuk memilih apa yang sedang populer dan trendi. Anda harus mengembangkan pemahaman tentang mengapa satu alat lebih cocok untuk beberapa kasus dibandingkan yang lain dan ingat bahwa hype dan trendi tidak selalu berarti paling cocok untuk pekerjaan tersebut.
Jika Anda menyukai atau menggunakan proyek ini untuk mempelajari atau memulai solusi Anda, silakan beri bintang. Terima kasih!
Unduh versi PDF.
Sumber belajar untuk DevOps Engineers (kebanyakan gratis)
1. GI
2. Pelajari satu bahasa pemrograman
3. Pelajari Linux & Scripting
4. Pelajari Jaringan & Keamanan
5. Pelajari Manajemen Server
6. Pelajari Wadah
7. Pelajari Orkestrasi Kontainer
8. Pelajari Infrastruktur sebagai kode
9. Pelajari CI/CD
10. Pelajari Pemantauan & Observabilitas
11. Pelajari salah satu penyedia Cloud
12. Pelajari Praktik Rekayasa Perangkat Lunak
Sumber daya tambahan
Peralatan
Buku
Semua sumber daya (file) Anda akan disimpan di repositori GIT. File-file itu adalah kode aplikasi tetapi juga infrastruktur sebagai kode .
Git adalah alat gratis yang digunakan untuk manajemen kode sumber. Git digunakan untuk melacak perubahan dalam kode sumber, memungkinkan banyak pengembang untuk bekerja sama dalam pengembangan non-linier.
Dua platform Git yang paling populer adalah GitLab dan GitHub .
Di sini Anda perlu mempelajari perintah Git, seperti git clone, cabang, penggabungan, dan cara berkolaborasi dalam proyek dengan permintaan tarik.
Sumber daya:
Buku Pro Git GRATIS
Pelajari Git oleh Atlassian GRATIS
Pelajari Percabangan Git GRATIS
Pelajari Git & GitHub di CodeAcademy GRATIS
Git Command Explorer GRATIS
Git Perendaman GRATIS
Referensi Visual Git GRATIS
Sebagai seorang insinyur, disarankan untuk mengetahui setidaknya satu bahasa pemrograman yang dapat Anda gunakan untuk menulis skrip otomatisasi .
Beberapa bahasa pemrograman populer untuk DevOps-es adalah Python, Go, dan JavaScript .
Python adalah bahasa multi-paradigma. Sebagai bahasa yang ditafsirkan, kode dieksekusi segera setelah ditulis, dan sintaksisnya memungkinkan penulisan kode dengan cara yang berbeda. Python sering kali direkomendasikan sebagai bahasa pertama yang harus dipelajari oleh pembuat kode baru, karena fokusnya pada keterbacaan, konsistensi, dan kemudahan penggunaan.
Di sini Anda perlu mempelajari konsep dasar bahasa pemrograman, seperti sintaksis, if/else, loop, struktur data, dll.
Sumber daya:
Otomatiskan Hal-Hal yang Membosankan dengan buku Python GRATIS
Kursus Singkat Python GRATIS
Tutorial JavaScript Modern GRATIS
Kursus Singkat JavaScript Untuk Pemula GRATIS
JavaScript yang fasih, edisi ke-3, buku GRATIS Marjin Haverbeke
Ikuti Contoh GRATIS
Sistem Operasi berfungsi sebagai jembatan antara pengguna komputer dan perangkat kerasnya. Fungsinya adalah untuk menawarkan pengaturan di mana pengguna dapat menjalankan program dengan nyaman dan efektif.
Karena sebagian besar server menggunakan OS Linux , Anda perlu merasa nyaman dengan Linux dan CLI-nya.
Salah satu distribusi yang mudah untuk memulai adalah Ubuntu .
Selain itu, Anda perlu mengetahui skrip untuk mengotomatiskan tugas pengembangan dan pengoperasian.
Di sini Anda dapat mempelajari bahasa khusus OS, seperti Bash atau Powershell , atau bahasa independen, seperti Python atau Go.
Sumber daya:
Sistem Operasi - Ikhtisar GRATIS
Tutorial Skrip Shell GRATIS
Tutorial Powershell untuk Pemula: Pelajari Powershell Scripting GRATIS
Manual Referensi Bash GRATIS
Panduan Utama: Memulai Ubuntu GRATIS
Buku Panduan FreeBSD GRATIS
Buku pegangan perintah Linux GRATIS
Protokol jaringan adalah seperangkat aturan yang menentukan bagaimana data ditransmisikan antara perangkat berbeda dalam jaringan yang sama. Pada dasarnya, ini memungkinkan perangkat yang terhubung untuk berkomunikasi satu sama lain, terlepas dari perbedaan apa pun dalam proses, struktur, atau desain internalnya.
Di sini Anda perlu mengetahui cara kerja jaringan, cara mengkonfigurasi firewall , memahami cara kerja DNS , model OSI , alamat IP, port, dll.
Sumber daya:
Model OSI Dijelaskan GRATIS
Jaringan Komputer: Buku Konten Video Pendekatan Top-Down
Kursus Dasar-dasar TCP/IP dan Jaringan untuk Profesional TI Pluralsight
DevSecOps : Master Mengamankan CI/CD | Kursus Udemy Saluran DevOps
Keamanan Praktis di DevOps: Pastikan keamanan, penerapan, dan pengiriman berkelanjutan dengan Buku DevSecOps
Mengamankan DevOps: Keamanan di Cloud Book
Manajemen server mencakup semua pemantauan dan pemeliharaan infrastruktur yang diperlukan agar server dapat beroperasi dengan andal dan pada tingkat kinerja optimal. Tujuan utama dari strategi manajemen server yang efektif adalah untuk:
Minimalkan kelambatan dan waktu henti server sekaligus memaksimalkan keandalan.
Bangun lingkungan server yang aman.
Skalakan server dan operasi terkait untuk memenuhi kebutuhan organisasi dari waktu ke waktu.
Di sini Anda perlu mengetahui apa itu proxy maju dan mundur , server caching , dan cara mengoperasikan Server Web , seperti Nginx, Apache, atau IIS.
Sumber daya:
Apa itu proksi terbalik? BEBAS
Server Cache GRATIS
Proxy Terbalik vs. Proxy Maju: Perbedaannya GRATIS
Apa itu penyeimbangan beban? BEBAS
Apa itu Firewall? BEBAS
Buku Panduan NGINX GRATIS
Pelajari Server Apache GRATIS
Pelajari IIS GRATIS
Kontainer adalah unit perangkat lunak standar yang mengemas kode dan semua dependensinya, sehingga aplikasi berjalan dengan cepat dan andal dari satu lingkungan komputasi ke lingkungan komputasi lainnya.
Docker sejauh ini merupakan teknologi container paling populer saat ini. Gambar kontainer Docker adalah paket perangkat lunak ringan, mandiri, dan dapat dieksekusi yang mencakup semua yang diperlukan untuk menjalankan aplikasi: kode, waktu proses, alat sistem, pustaka sistem, dan pengaturan. Di sini Anda perlu mengetahui cara menjalankan container, Docker Networking, Volumes, Dockerfiles, dan menjalankan banyak container dengan Docker-Compose.
Sumber daya:
Apa itu Kontainer? BEBAS
Wadah Pembelajaran Dari Bawah ke Atas GRATIS
Tutorial Docker untuk Pemula oleh TechWorld dengan Nana GRATIS
Penguasaan Docker: dengan Kubernetes +Swarm dari kursus Docker Captain Udemy
Apa itu Service Mesh? BEBAS
DevOps dengan Kubernetes GRATIS
Orkestrasi container mengotomatiskan penerapan, pengelolaan, penskalaan, dan jaringan container.
Orkestrasi container dapat digunakan di lingkungan mana pun tempat Anda menggunakan container. Ini dapat membantu Anda menerapkan aplikasi yang sama di lingkungan yang berbeda tanpa perlu mendesain ulang. Dan layanan mikro dalam container memudahkan pengaturan layanan, termasuk penyimpanan, jaringan, dan keamanan.
Di sini Anda perlu mempelajari cara kerja Kubernetes , dan cara mengelola cluster Kubernetes serta menerapkan aplikasi di dalamnya.
Sumber daya:
Kursus Singkat Kubernetes untuk Pemula Mutlak oleh TechWorld dengan Nana GRATIS
Panduan Dasar: Bagaimana Kubernetes Menjadi, Apa Artinya, dan Mengapa Anda Harus Peduli Artikel
Administrator Kubernetes Bersertifikat (CKA) dengan Tes Latihan kursus Udemy
Pelajari Kubernetes - Pemula hingga Mahir dengan Kursus KodeKloud
Pahami kapan harus menggunakan Layanan Cluster, Ingresses, atau API Gateway GRATIS
Pahami Masalah mana yang dipecahkan oleh Service Mesh (Gunakan Abstraksi smi-spec.io GRATIS
Pelajari cara mengotomatiskan TLS dan DNS GRATIS
Buku Aktif dan Berjalan Kubernetes
Jalur Pembelajaran Kubernetes - 50 hari dari nol hingga menjadi pahlawan dari Microsoft GRATIS
Kadang-kadang disebut sebagai IaC , mengacu pada teknik dan alat yang digunakan untuk mendefinisikan infrastruktur, biasanya dalam bahasa markup seperti YAML atau JSON. Infrastruktur sebagai kode memungkinkan Insinyur mengotomatiskan pengaturan dan pembongkaran lingkungan. Mempercepat dan mengurangi risiko penerapan dengan menyediakan lingkungan salinan emas sesuai permintaan.
Terraform adalah alat penyediaan infrastruktur paling populer, tetapi ada juga alat lain seperti Ansible, Chef, Puppet, dan Vagrant.
Di sini Anda perlu mengetahui cara melakukan penyediaan infrastruktur dan manajemen konfigurasi .
Sumber daya:
GUI, CLI, API: Pelajari Ketentuan Dasar Infrastruktur sebagai Kode GRATIS
Tutorial Terraform Resmi GRATIS
Panduan Komprehensif untuk Terraform GRATIS
Otomatiskan dokumentasi Terraform seperti seorang profesional! BEBAS
Menulis modul Terraform yang dapat digunakan kembali GRATIS
Apa itu Istio? BEBAS
Ikhtisar boneka GRATIS
Kursus Wayang GRATIS dan BERBAYAR
Memulai Dengan Kemungkinan GRATIS
Mempelajari Dasar-Dasar yang Mungkin
Mulailah dengan Red Hat Ansible GRATIS dan BERBAYAR
Menguasai Kursus Udemy yang Mungkin
Pelajari Koki GRATIS
Continuous Integration / Continuous Deployment (CI/CD) adalah metode untuk sering mengirimkan aplikasi ke pelanggan dengan memperkenalkan otomatisasi ke dalam tahapan pengembangan aplikasi. CI/CD adalah solusi untuk masalah pengintegrasian kode baru yang dapat ditimbulkan oleh tim pengembangan dan operasi.
CI/CD memperkenalkan otomatisasi berkelanjutan dan pemantauan berkelanjutan di seluruh siklus hidup aplikasi, mulai dari fase integrasi dan pengujian hingga pengiriman dan penerapan. Praktik-praktik yang terhubung ini sering disebut sebagai " pipa CI/CD " dan didukung oleh tim pengembangan dan operasi.
Ada tahapan yang berbeda dalam pipeline CI/CD, seperti: build, test, dan deploy , namun mungkin ada lebih banyak aktivitas yang mencakup:
Memeriksa kode dari kontrol versi dan membuatnya
Memiliki gerbang yang dipentaskan untuk berbagai jenis persetujuan
Mengelola variabel lingkungan
Memulai ulang layanan
Menjalankan tes
Dan banyak lagi...
Di sini Anda perlu mempelajari cara menyiapkan server CI/CD, mengintegrasikan kode dan memicu pipeline secara otomatis, serta membuat dan mengemas alat manajemen.
Beberapa alat CI/CD yang populer adalah Jenkins, TeamCity, CircleCI, Bamboo, GitLab, dan Azure DevOps.
Sumber daya:
Integrasi Berkelanjutan GRATIS
CI/CD Pipeline: Pengantar Lembut GRATIS
Pelajari GitLab dengan tutorial GRATIS
Mulailah dengan GitLab CI/CD GRATIS
Jenkins, From Zero To Hero: Menjadi kursus DevOps Jenkins Master Udemy
Pelajari tindakan GitHub GRATIS
Sintaks alur kerja untuk GitHub Actions GRATIS
Pelajari Azure DevOps GRATIS
Lembar Cheat GitLab GRATIS
Pemantauan mencakup pengawasan seluruh proses pengembangan mulai dari perencanaan, pengembangan, integrasi dan pengujian, penerapan, dan operasi. Ini melibatkan tampilan status aplikasi, layanan, dan infrastruktur yang lengkap dan real-time di lingkungan produksi.
Hal ini sangat penting ketika perangkat lunak kita sedang dalam tahap produksi , dan kita perlu melacak semua jenis masalah dalam infrastruktur dan aplikasi kita.
Dua alat yang paling populer adalah Prometheus dan Grafana .
Di sini Anda perlu mengetahui cara mengatur pemantauan dan memvisualisasikan data.
Sumber daya:
Apa itu Observabilitas? Panduan Pemula Komprehensif GRATIS
Bagaimana, Mengapa, dan Apa yang Memantau Layanan Mikro GRATIS
Pemantauan DevOps GRATIS
Menerapkan Teknik Pemantauan Dasar vs. Lanjutan GRATIS
Pelajari Prometheus GRATIS
Pelajari Grafana GRATIS
Tumpukan Elastis GRATIS
Penyedia cloud menyediakan lapisan API untuk mengabstraksi infrastruktur dan menyediakannya berdasarkan batasan keamanan dan penagihan. Cloud berjalan di server di pusat data, namun abstraksinya secara cerdik memberikan tampilan interaksi dengan satu "platform" atau aplikasi besar. Kemampuan untuk menyediakan, mengonfigurasi, dan mengamankan sumber daya dengan cepat menggunakan penyedia cloud telah menjadi kunci keberhasilan dan kompleksitas DevOps modern yang luar biasa.
Penyedia cloud paling populer di pasar adalah AWS dan Azure , serta Google Cloud .
Di sini Anda perlu mengetahui cara mengelola pengguna dan administrasi, jaringan, server virtual, dll.
Sumber daya:
Ujian AZ-900: Dasar-Dasar Microsoft Azure GRATIS
Kursus Sertifikasi Dasar-Dasar Microsoft Azure (AZ-900) GRATIS
AZ-900 | Kursus Lengkap Dasar-Dasar Microsoft Azure, Tes Latihan Gratis, Situs Web dan Panduan Belajar GRATIS
Praktisi Cloud Tersertifikasi AWS Terbaik - Udemy 2022
Pengembang AWS oleh jalur Pembelajaran Cloud Guru
Sebagai insinyur DevOps, Anda mungkin akan bekerja dalam tim dengan pengembang lain di dunia Agile, seperti Scrum . Jadi, sangat penting untuk mengetahui berbagai bagian SDLC , serta alat yang digunakan di sana.
Selain itu, ada baiknya mengetahui cara kerja pengujian otomatisasi , karena Anda perlu mengaturnya dengan cara CI/CD.
Di sini Anda perlu mengetahui apa itu Scrum , semua fase SDLC , cara kerja pengujian otomatisasi , dll.
Sumber daya:
Apa itu Scrum? BEBAS
Cara Belajar Tentang Scrum GRATIS
Fase & Model Siklus Hidup Pengembangan Perangkat Lunak (SDLC) GRATIS
Panduan Pemula untuk Agile di Jira: Deskripsi kursus GRATIS
Pelajari AMAN GRATIS
Pelajari Pengujian Otomasi GRATIS
GitLab - Panduan Pemula untuk DevOps GRATIS
Model SDLC Umum GRATIS
Pelacakan Kerja :** Asana, Senin, Jira, Trello, Azure Boards.
Kontrol kode sumber : Git, Github, GitLab, BitBucket, Azure DevOps.
CI/CD : Jenkins, Team City, Github Actions, Travis CI, Bamboo, Circle CI, Azure Pipelines, Octopus Deploy, Harness, CloudBees CodeShip.
Analisis Kode Sumber : SonarQube, Veracode.
Manajemen artefak : Artifactory, Docker Container Register, npm, Yarn, NuGet.
Manajemen Konfigurasi : Terraform, Ansible, Puppet, Chef.
Orkestrasi container : Docker, Kubernetes, Red Hat OpenShift.
Pemantauan : Prometheus, Grafana, Splunk, Dynatrace, Kibana.
Buku Panduan DevOps: Cara Menciptakan Ketangkasan, Keandalan, dan Keamanan Kelas Dunia dalam Organisasi Teknologi , Gene Kim, Patrick Debois, John Willis, Jez Humble
Buku ini memperkenalkan pengembangan produk, jaminan kualitas, operasi TI, dan keamanan informasi. Ini adalah bacaan yang bagus bagi mereka yang baru mengenal DevOps atau yang ingin mempelajari lebih lanjut tentang bagaimana berbagai komponen DevOps bekerja sama.
Mempercepat: Ilmu Perangkat Lunak Lean dan DevOps: Membangun dan Menskalakan Organisasi Teknologi Berkinerja Tinggi , Nicole Forsgren, Jez Humble, Gene Kim
Buku ini menyajikan temuan dan ilmu di balik pengukuran kinerja pengiriman perangkat lunak. Untuk mempromosikan DevOps ke manajemen senior, ini adalah alat yang luar biasa.
Pengiriman Berkelanjutan: Rilis Perangkat Lunak yang Andal melalui Otomatisasi Pembuatan, Pengujian, dan Penerapan , Jez Humble, David Farley
Ini memperkenalkan manajemen arsitektur otomatis dan migrasi data. Banyak konsep alur penerapan yang telah menjadi standar ditetapkan dalam buku ini. Konfigurasi sebagai Kode, otomatisasi pembuatan dan penerapan, serta teknik pengujian yang efisien dibahas dalam beberapa detail teknis. Sebagian besar bukunya bersifat teknis.
Topologi Tim: Pengorganisasian Tim Bisnis dan Teknologi untuk Arus Cepat , Matthew Skelton, Manuel Pais
Buku ini berbicara tentang cara mengatur tim sedemikian rupa sehingga memungkinkan aliran nilai yang cepat ke pelanggan. Ini menyediakan empat topologi tim mendasar: Tim Stream-Aligned, Tim Pengaktifan, Tim Subsistem Rumit, dan Tim Platform, yang dapat digabungkan dan disesuaikan agar sesuai dengan konteks organisasi yang berbeda.
DevOps yang Efektif: Membangun Budaya Kolaborasi, Ketertarikan, dan Peralatan dalam Skala Besar , Jennifer Davis, Ryn Daniels
Buku ini memberikan cara efektif untuk meningkatkan koordinasi tim. Ini menunjukkan cara memecah silo informasi, memantau hubungan, dan memperbaiki kesalahpahaman yang muncul antara dan di dalam tim di organisasi Anda.
Proyek Phoenix: Novel tentang TI, DevOps, dan Membantu Bisnis Anda Menang , Gene Kim, Kevin Behr, George Spafford
Ini adalah novel klasik tentang efektivitas dan komunikasi. Pekerjaan TI seperti pekerjaan pabrik, dan suatu sistem harus ditetapkan untuk menyederhanakan alur kerja. Salah satu buku terbaik di luar sana.
Rekayasa Keandalan Situs , Betsy Beyer, Chris Jones, Jennifer Petoff, Niall Richard Murphy
Buku ini menjelaskan keseluruhan siklus pengembangan, penerapan, dan pemantauan Google, serta cara mengelola sistem perangkat lunak terbesar di dunia (juga dikenal sebagai SRE). Siapa pun yang menganggap dirinya lebih berada di pihak "Ops" di sisi DevOps atau yang ingin mengetahui cara memperkuat ikatan antara berbagai tim Dev dan Ops harus membaca SRE.
Kami bahkan dapat menyajikan peta jalan ini sebagai burger :).
Jika menurut Anda peta jalan ini dapat diperbaiki, silakan buka PR dengan pembaruan apa pun dan kirimkan masalah apa pun. Selain itu, saya akan terus menyempurnakannya, jadi Anda mungkin ingin memberi bintang pada repositori ini untuk dikunjungi kembali.
Buka permintaan tarik dengan perbaikan
Diskusikan ide-ide dalam masalah
Sebarkan beritanya
Milan Milanović - CTO di 3MD.
Romano Roth - Kepala DevOps di Zühlke.