DevOps itu apa ya ?
DevOps ini seperti budaya yang mempromosikan kolaborasi antara Tim Pengembangan(development/Dev) dan Operasi(operation/Ops) untuk menyebarkan kode ke production lebih cepat secara otomatis & berulang. Kata ‘DevOps’ adalah kombinasi dari dua kata ‘Development’ dan ‘operation’.
DevOps membantu meningkatkan kecepatan organisasi untuk mengirimkan aplikasi dan layanan. Ini memungkinkan organisasi untuk melayani pelanggan mereka dengan lebih baik dan bersaing lebih kuat di pasar.
Dengan kata sederhana, DevOps dapat didefinisikan sebagai development dan IT opertaions dengan komunikasi dan kolaborasi yang lebih baik.
Berikut adalah informasi singkat tentang Continuous DevOps lifecycle :
1. Development
Dalam fase ini, tim development mengerjakan task untuk mendevelop suatu program dan di phase ini tim DevOps biasanya menyiapkan tempat terserbut untuk tim dev bisa melakukan development. di tahap ini tim DevOps juga menyiapkan CI/CD untuk mempermudah dan mempercepat pekerjaan development.
2. Testing
Ditahap ini Tim QA menggunakan tools automation tester seperti Selenium untuk melakukan testing aplikasi yang sudah di buat oleh tim dev , tujuan dari tim QA ini melakukan testing untuk mengidentifikasi dan memperbaiki jika ada bug di bagian kode yang baru di buat oleh tim development.
3. Integration
Integration ini adalah salah satu praktik dari DevOps di mana kita sebagai developer bisa mengintegrasikan kode ke dalam repositori kode seperti GitHub dan menjalankan pengujian secara cepat dan otomatis.
4. Deployment
Di tahap ini adalah praktek dimana para pengembang yang melakukan perubahan pada code, sudah melakukan build & test yang dijalankan otomatis oleh Continuous Integration dan siap untuk deploy ke environment production. Ketika Continuous Delivery dijalankan dengan baik, tim pengembang akan selalu memiliki build artifact yang siap untuk di deploy ke environment production.
5. Monitoring
Dalam fase ini, tim IT operational akan memonitor dari system yang telah di deploy .
Dari siklus DevOps diatas, kita penasaran tools apa sih yang DevOps gunakan untuk deployment ? menggunakan apa sih DevOps untuk memonitoring suatu system ?
untuk mempersingkat kerja dan kecepatan dalam deployment suatu aplikasi biasanya DevOps mempunya tools automation yang sudah disiapkan dari tahap development di mulai, berikut ini adalah beberapa contoh tools yang umum digunakan DevOps untuk automation :
- Ansible
- Travis ci
- Jenkins
- Git
- Docker
- New relic APM
- elastic APM
- Zabbix
- Nagios
- Kubernetes
- Terraform
Nah penasaran? ingin jadi DevOps ?
Ini 8 skill yang perlu dimiliki oleh DevOps pada umumnya
Di samping kemampuan utama (hard skill), DevOps yang andal juga perlu memiliki kemampuan pendukung (soft skill). Untuk lebih jelasnya, yuk simak penjelasan berikut ini adalah hard skills dan soft skills yang perlu dimiliki.
4 Hard skills yang dibutuhkan oleh DevOps
Dalam membangun atau mengembangkan sebuah aplikasi, peran DevOps sangat penting, khususnya 4 kemampuan di bawah ini:
- Mengenal dan menguasai Cloud
DevOps memiliki ikatan yang tak terpisahkan dari cloud. Apa sih alasannya?
Cloud menawarkan beragam CI/CD tool, hemat biaya, dan aman, yang memungkinkan dibangunnya DevOps automation. Cloud juga menyediakan platform terpusat untuk menguji dan menjalankan code bagi DevOps maupun seluruh anggota tim. Cloud juga mendukung DevOps untuk melakukan automation untuk scaling server, banyak lagi yang bisa di gunakan dalam Cloud di masa sekarang, apalagi banyak saingan di dunia cloud computing :)
Dengan memakai cloud, proses pemantauan akan menjadi lebih mudah. Demikian pula dengan penyesuaian biaya yang dibutuhkan sehingga proses Development bisa berjalan lebih cepat.
AWS cloud dan Google Cloud Platform paling banyak digunakan oleh tim DevOps.
- Kemampuan automation
Inilah salah satu kemampuan utama yang diperlukan oleh seorang DevOps. Di samping menurunkan risiko terjadinya error, sistem automation akan menggenjot kecepatan, meningkatkan keakuratan, dan memberikan konsistensi maupun reliabilitas.
Apabila automation berjalan lancar, pengembang dapat memberikan pelayanan yang lebih cekatan dan berkualitas bagi pelanggan. Dengan ini, tingkat kepuasan pelanggan akan turut meningkat.
- Kemampuan coding dan scripting
Bila ingin menjadi DevOps yang mantul, kamu sebaiknya mengenal dan menguasai bahasa pemograman. Terdapat beragam bahasa pemograman yang telah dikembangkan, sebut saja Phython, Ruby, Java, Javascript, Bash, hingga Shell.
Pengetahuan akan ragam bahasa pemograman tersebut akan menjadi nilai plus bagi DevOps. Semakin banyak yang kamu kuasai, peluangmu untuk berkarier juga akan meningkat.
- Memiliki pengetahuan dasar software security
Keamanan dan kenyamanan pengguna termasuk poin penting yang harus dipertimbangkan ketika membangun sebuah aplikasi. Kenapa? Jika aplikasi yang diluncurkan ada celah di sisi aplikasi atau bug yang mengganggu kelancaran pemakaian, pelanggan perlahan-lahan akan meninggalkan aplikasi tersebut dan beralih ke aplikasi lain. Oleh karena itu, DevOps setidaknya harus memiliki pengetahuan dasar mengenai software security.
4 Soft skills yang dibutuhkan oleh DevOps
Di samping kemampuan utama di atas, DevOps juga memerlukan sejumlah kemampuan pendukung atau soft skill jika ingin dilirik oleh sebuah perusahaan. Soft skill apa sajakah yang dibutuhkan?
- Mengutamakan pengguna
Tidak bisa dipungkiri bahwa kepuasan pelanggan adalah tujuan utama dari mendevelop aplikasi. Maka dari itu, DevOps perlu memprioritaskan pengguna dan bekerja sama dengan barbagai pihak agar hasilnya maksimal.
- Memiliki integritas
Kepribadian yang jujur dan terbuka dapat mengantarmu menuju kesuksesan dan mengembangkan kepercayaan, termasuk bagi para DevOps.
- Memiliki keinginan untuk terus belajar dan meningkatkan kemampuan
DevOps tidak boleh cepat puas dengan kemampuannya. Butuh pembelajaran yang kontinyu agar dapat mengikuti perkembangan teknologi yang terus terjadi.
- Memiliki keinginan untuk membuat infastruktur menjadi lebih tangguh
Seorang DevOps dianjurkan untuk bersikap kritis terhadap aplikasi yang dikembangkannya dan peka terhadap kemajuan teknologi. Begitu pula dengan menerapkan pola pikir yang kreatif dan adaptif ketika muncul masalah atau tantangan yang harus dihadapi.
Menjadi DevOps yang dapat diandalkan memang tidak mudah. Sama seperti pekerjaan pada umumnya, menguasai hard skill saja belum cukup. Butuh integritas dan keinginan untuk terus belajar agar kamu bisa semakin berkembang dan mencapai kesuksesan.