Hai semuanya 👋, Selamat datang Roadmap menjadi seorang DevOps Engineer.

Disini temen-temen akah diarahkan Step by Step menjadi seorang DevOps Engineer, Jadi Beberapa tahun belakangan sampai saat ini (2023) posisi DevOps Engineer menjadi topic hangat di industri IT sehingga kebutuhan akan profesi DevOps Engineer meningkat. Sebelum lebih jauh kita lihat dulu yuk apa sih Itu DevOps?

DevOps alias Development & Operation adalah kombinasi dari culture, implementasi dan tools yang digunakan untuk meningkatkan/meng-improve dalam membangun, mengembangkan, mendeliver produk secara stabil dan cepat serta mengelola infrastruktur.

diagram

Bagaimana DevOps bekerja?

DevOps adalah gabungan/kombinasi antara Development & Operation, Nah klo kita lihat kebelakang dimana dalam suatu organisasi memiliki team Development dan Operation yang biasanya saling “terisolasi”. Misalnya ada requirement product yang telah di develop kemudian takeover oleh operation supaya di deploy ke environment, yang jadi pertanyaan

“Apakah product yang telah didevelop tersebut bisa langsung berjalan? (ditangani Operation team)”

Jawabannya mungkin bisa, tetapi yang pasti tidak akan berjalan secara baik/sempurna. Nah loh kok bisa gitu? ya jelas karena Operation team khan gak tau secara detail feature yang didevelop oleh developer team begitu pula sebaliknya. Dengan hadirnya DevOps masalah tersebut bisa di minimalisir karena DevOps adalah sebagai jembatan antara Development team dan Operation team.

Selain itu juga DevOps Engineer perlu melakukan automation, Task yang sifatnya manual dan repetisi jika bisa di automatisasi dengan menggunakan teknologi atau tools sehingga dalam mengoprasikan task tersebut bisa lebih cepat dan andal. Tools ini juga dapat membantu team teknis menyeleasikan task secara independen contohnya proses build, testing, release bisa menggunakan CI/CD automation.

Mengapa DevOps Penting?

Software dan internet telah mengubah dunia dan industri, dari belanja, hiburan, perbankan sampai pemerintahan. Software tidak lagi sekadar mendukung bisnis; tetapi telah menjadi komponen integral dari setiap bagian bisnis. Perusahaan berinteraksi dengan pelanggan mereka melalui software yang diluncurkan sebagai layanan online atau aplikasi dan pada berbagai perangkat. Mereka juga menggunakan software untuk meningkatkan efisiensi operasional dengan mengubah tiap bagian rantai nilai, seperti logistik, komunikasi, dan pengoperasian. Perusahaan di masa kini harus mengubah bagaimana mereka membangun dan menghadirkan software.

scalability

Skala

Automasi dan konsistensi membantu Anda mengelola sistem yang kompleks atau berubah secara efisien dan dengan risiko yang berkurang

collaboration

Kolaborasi

Tim pengembang dan pengoperasian berkolaborasi dengan erat, mengemban tanggung jawab bersama, dan menggabungkan alur kerja mereka. Ini mengurangi inefisiensi dan menghemat waktu

security

Keamanan

Anda dapat menggunakan model DevOps tanpa mengorbankan keamanan dengan menggunakan kebijakan kepatuhan yang terautomasi, kontrol yang menyeluruh, dan teknik manajemen konfigurasi.

realibility

Keandalan

Memastikan kualitas pembaruan aplikasi dan perubahan infrastruktur sehingga Anda dapat memberikan dengan andal pada kecepatan yang lebih tinggi sambil mempertahankan pengalaman yang positif bagi pengguna akhir.

delivery

Kecepatan deliver

Tingkatkan frekuensi dan kecepatan peluncuran sehingga Anda dapat berinovasi dan meningkatkan produk Anda dengan lebih cepat. Semakin cepat Anda dapat meluncurkan fitur baru dan memperbaiki bug, semakin cepat Anda dapat merespons kebutuhan pelanggan dan mendapatkan keuntungan yang kompetitif.

Beralih ke DevOps memerlukan perubahan dalam budaya dan pola pikir. Pada tingkat paling sederhana, DevOps adalah tentang menghilangkan pemisah antara dua tim yang terisolasi secara tradisional, yaitu pengembangan dan pengoperasian. Dengan DevOps, dua tim bekerja bersama untuk mengoptimalkan produktivitas pengembang dan keandalan pengoperasian. Mereka berusaha untuk sering berkomunikasi, meningkatkan efisiensi, dan meningkatkan kualitas layanan

Skill-set yang dibutuhkan?

Ada beberapa skill-set yang harus ditempuh untuk menjadi seorang DevOps (Develoment & Operation) Engineer diataranya seperti berikut:

mindmap root((DevOps
Engineer)) (Undestanding diffrent OS Concept?) I/O Management Virtualization Memory/Storage File System Service Management (systemd) taks (Scope of work/tasks) scripting [Bash/Powershell Scripting] compile [Compiling apps from source] container [Containers] orchestration [Container Orchestration System] automation [Automation Tools] cicd_tools [CI/CD Tools] infra_provision [Infrastructure Provisioning] infra_code [Infrastructure as a Code] config_code [Configuration as a Code] monitoring [Monitoring Tools] Operation System Linux [Ubuntu / Debian] SUSE Linux RHEL Windows Networking Web Server Load Balancer Firewall [Reverse / Forward proxy] Protocol [TCP / Socket] [HTTP / HTTPS] [FTP / SFTP] [SSL / TLS] [SSH]

Kelas berkaitan dengan DevOps

Berikut adalah daftar kelas yang temen-temen bisa ikuti secara Step by Step untuk menjadi DevOps Engineer diantaranya:

linux-centos

Linux CentOS: Pemula s/d Mahir

Mempelajari System Operation adalah tahap awal/pertama untuk menjadi seorang DevOps Engineer. Salah satunya mempelajari OS Linux server dengan CentOS.

Mengapa kita mempelajari operation system linux? karena hampir 87% workload aplikasi berbasis web yang beredar dipasaran saat ini menggunakan Linux Server.

Read More

docker

Docker: Pemula s/d Mahir

Mempelajari Container adalah tahap ke-dua untuk menjadi seorang DevOps Engineer.

Untuk saat ini teknology container masih menjadi tools utama dalam mem-package aplikasi, melakukan automation testing, membangun Engine Continues Integration dan Continues Delivery serta dalam Deployment baik untuk dev, staging, dan production.
Salah satu toolsnya adalah Docker, Containerd, CRI-O dan lain-lain

Read More

k8s

Kubernetes: Pemula s/d Mahir

Mempelajari Container Orchestration adalah tahap ke-tiga untuk menjadi seorang DevOps Engineer.

Dalam membangun workload aplikasi yang bisa High Available (HA), Zero Downtime, Horizontal scalling dan lain-lain membutuhkan tools Container Orchestration System. Container Orchestration System biasanya digunakan untuk menjalankan workload aplikasi kita di environment dev, stagging dan production.

Salah satu tools dari Container Orchestration System adalah Kubernetes alias k8s.

Read More

ansible

Ansible: Pemula s/d Mahir

Mempelajar Automation adalah tahap ke-empat untuk menjadi seorang DevOps Engineer.

Saat ini hampir semua IT Automation baik untuk Infrastructure as a Code (IaaC), Configuration as a Code (CaaC) dan Network as a Code (NaaC) atau gabungan dari semua itu adalah Anything as a Code (XaaC) menggunakan code dalam mem-provision suatu task tertentu contohnya Menginstall database, configurasi master/slave database dan lain-lain.

Salah satu tools yang kita bisa gunakan untuk Configuration as a Code (CaaC) yaitu ansible

Read More

gitops-gitlab

GitOps - Gitlab: Pemula s/d Mahir

Mempelajari GitOps adalah tahap ke-lima untuk menjadi seorang DevOps Engineer.

Saat ini hampir semuanya profesi IT membutuhkan Version Control System, Version Control berperan untuk menjaga/membaca perubahan pada suatu file, berkolaborasi dengan team, handle versioning/release management dan handle automation CI/CD dan lain-lain.

Salah satu tools yang kita bisa gunakan adalah git dan Gitlab

Read More

Setelah temen-temen mengikuti semua kelasnya, Tahap selanjutnya adalah jangan berhenti belajar karena diluar sana masih banyak sekali tool-tools yang tidak bisa di cover pada roadmap ini dan coba temen-temen mengikuti sertifikasi seperti

Frequently Asked Questions

Berikut adalah beberapa pertanyaan yang sering muncul ditanyakan:

Of course not!, dengan adanya DevOps justru akan membantu tugas dari Operation Team, Sehinga Operation team bisa fokus ke main/bisnis operational tasks


Jika temen-temen ada pertanyaan silahkan tulis di kolom komentar ya!