Development and IT operations (DEVOPS)
Pengertian DevOps
DevOps merupakan singkatan dari dua kata yaitu Development
dan Operation. Di mana kedua kata tersebut bermakna “operasional pengembang”.
Seperti yang disebutkan sebelumnya, DevOps adalah sebuah prinsip developer
untuk mengkoordinasikan antar tim yaitu tim development dengan tim operations
dengan efektif dan efisien.
Pola
pikir yang dibentuk oleh DevOps adalah koordinasi antar tim yang dapat
dilakukan dengan cara singkat sehingga tidak membutuhkan banyak pertanyaan. Tim
operation atau development cukup mengonfigurasi beberapa komponen yang
dibutuhkan melalui prosedur yang dibuat.
Tujuan DevOps
1. Meningkatkan deployment frequency.
2. Meningkatkan waktu pemasaran.
3. Menurunkan tingkat kegagalan pada rilisan terbaru.
4. Mempersingkat waktu perbaikan.
5. Meningkatkan waktu pemulihan.
Kegiatan DevOps
1.
Continuous Integration
Continuous Integration merupakan layanan yang diberikan DevOps untuk melakukan build dan automation testing. Kegiatan ini dikerjakan dengan menggunakan tools berupa Source Code Repository (SCR) untuk menemukan error code dan fixed code.
2.
Continuous Delivery
Continuous Delivery selalu bekerja di dalam software development untuk merubah kode. Proses ini dilakukan setelah Continuous Integration untuk menambah update lebih banyak untuk aplikasi yang sedang berjalan.
3.
Continuous Deployment
Setelah proses Continuous Integration-Delivery sudah
dinyatakan dengan baik, tim development dapat melihat perubahan yang terjadi
pada environment test / environment development / environment production.
4.
Configuration Management
Proses ini berkaitan dengan system engineering yang bertujuan untuk maintain konfigurasi sebuah produk. Configuration Management memungkinkan otomatisasi dan standardisasi konfigurasi produk.
5.
Infrastructure as a Code (IAAC)
IAAC adalah pekerjaan yang mana infrastruktur suatu produk didefinisikan melalui kode yang dapat diprogram, distandarisasi, dan mudah dalam duplikasi. Melalui IAAC, tim development dapat menambah mesin melalui satu baris kode.
6.
Monitoring
Produk IT menjadi sangat baik karena adanya proses monitoring saat produk tersebut digunakan oleh pengguna. Tujuannya adalah untuk mengetahui bagaimana perubahan yang ada pada kode cukup berdampak pada produk dan penggunanya.
7.
Logging
Centralized
logging menjadi hal yang tidak dapat dipisahkan dari kegiatan DevOps. Dengan
menerapkan log aplikasi, kita developer bisa mengetahui produk yang dibuat
berjalan dengan baik atau tidak.
Tools yang Digunakan DevOps
1. Source Code Management
Melalui sumber repository, antar developer dapat
memeriksa dan mengubah kode tanpa perlu saling menulis satu sama lainnya.
Source control ini mungkin telah ada sejak 40 tahun yang lalu, tetapi ini
merupakan komponen utama dari Continuous Integration atau CI.
2.
Build Server
Build server adalah alat otomatisasi yang
mengkompilasi kode dalam SCR (Source Code Repository) ke dalam basis kode yang
dapat dieksekusi. Alat ini bisa kamu temukan seperti Jenkins, SonarQube, dan
Artifactory.
3. Configuration
Management
Manajemen konfigurasi berguna untuk menetapkan
konfigurasi pada server atau lingkungannya. Alat yang populer biasa kamu
temukan seperti Puppet dan Chef.
4.
Virtual Infrastructure
Amazon Web Services dan Microsoft Azure adalah contoh
infrastruktur virtual. Virtual Infrastructure ini disediakan oleh vendor cloud
yang menjual insrastruktur atau Platform as a Service (PaaS). Infrastruktur ini
memiliki API yang memungkinkan kamu membuat mesin baru yang terprogram dengan
alat manajemen konfigurasi.
Ada juga private cloud di mana private infrastructure
virtual memungkinkan kamu menjalankan cloud di hardware sebagai data terpusat. Alat
ini dikombinasikan dengan alat otomatisasi untuk memberdayakan organisasi yang
melatih DevOps dengan kemampuan konfigurasi server tanpa jari di atas keyboard.
Jika ingin menguji kode baru, cukup mengirimkan kode ke infrastruktur cloud
untuk membangun lingkungan. Kemudian tes dijalankan tanpa adanya campur tangan
manusia.
5. Test Automation
Test automation sebenarnya sudah ada sejak lama.
Pengujian yang diadopsi oleh DevOps berfokus pada pengujian otomatis melalui
pipeline build untuk memastikan bahwa build deployable sudah dilakukan. Tools
populer untuk tahapan ini adalah Selenium dan Air.
Cara Kerja DevOps
1.
Plan
Tahap awal adalah perencanaan
untuk seluruh alur kerja yang dibutuhkan sebelum tim pengembang mulai menulis
kode dengan cara mereka akan bekerjasama untuk mengumpulkan requirements dan
feedback dari klien. Informasi tersebut kemudian akan dikumpulkan untuk
membangun roadmap produk untuk memandu proses pengembangan yang akan dilakukan.
2.
Code
Setelah rencana
dibuat, tim developer dapat mulai menulis kode yang dibutuhkan untuk
mengembangkan produk. Tim developer biasanya akan menggunakan seperangkat
plugin standar yang dipasang di lingkungan pengembangan mereka untuk membantu
proses pengembangan, membantu menerapkan gaya kode yang konsisten, serta
menghindari kelemahan keamanan umum dan anti-pattern.
3.
Build
Setelah tim
developer selesai menulis kode yang dibutuhkan, mereka akan memasukan kode tersebut
ke dalam shared code repository. Developer akan mengirimkan pull request,
setelah developer yang lain akan mereview perubahan yang telah dilakukan.
4.
Test
Langkah
selanjutnya adalah melakukan pengujian.
Jika ada masalah yang ditemukan pada fase ini, maka masalah tersebut
akan dikirim kembali ke tim developer untuk diselesaikan.
5.
Release
Relase adalah tonggak
penting dalam DevOps pipeline. Pada tahap ini, setiap perubahan kode telah
melewati serangkaian pengujian dan tim IT operations telah memastikan bahwa
masalah yang merusak dan regresi sudah teratasi dengan baik.
6.
Deploy
Setelah production
environment dibuat dan dikonfigurasi maka versi terakhir dari pengembangan yang
telah dilakukan akan diterapkan.
7.
Monitor
Pada tahap
terakhir ini, tim IT operations akan terus bekerja keras untuk memantau
infrastruktur, sistem, dan aplikasi. Mereka juga mengumpulkan data-data penting
dari log, analitik, sistem monitoring, serta melihat feedback dari pengguna
untuk mengetahui jika ada masalah pada kinerja aplikasi.
https://www.logique.co.id/blog/2021/05/28/apa-itu-devops/


Komentar
Posting Komentar