DevOps kultur baru pengembangan aplikasi

Apa Itu DevOps?

DevOps adalah kultur baru dimana tim developer dan operation bekerja sama dalam proses pembuatan aplikasi agar lebih cepat dan efisien. Pandangan lama dalam mendevelop aplikasi cenderung membagi tim menjadi 2, yaitu tim developer sebagai tukang koding dan tim operations memastikan koding dari tim developrs terpasang pada server dan dapat tampil disisi pengguna dengan baik.

Jika cermati, dengan terpisahnya tim developers dan tim operations membuat kedua tim saling ketergantungan dan membuat proses pengembangan jadi lebih lama, tidak efisien dan terlalu banyak birokrasi
Dengan adanya DevOps Tim developer tidak lagi hanya menjadi tukang koding dan tim operation tidak lagi hanya berwenang pada sisi server, tetapi mereka berkolaborasi dalam membangun sistem.
sumber: https://pakar.co.id/wp-content/uploads/2017/09/devops-process.png

Developer bisa bebas mendeploy kode ke server kapanpun dan dimanapun, tanpa menunggu tim operation. Jika terjadi error maupun revisi kode, developer bisa langsung memperbaikinya dan melakukan rollback tanpa harus menunggu tim operation.

Tim Operation dari yang awalnya hanya berwenang pada sisi server, berubah menjadi tim otomatisasi dan menciptakan sistem baru yang kontinyu serta terintegrasi. Sistem dibuat agar developer mampu dengan bebas mengupload kode yang telah mereka kerjakan tanpa bergantung kepada tim operation lagi. 

Keuntungan DevOps

1. Kecepatan
Bergerak dengan kecepatan tinggi sehingga perusahaan dapat berinovasi untuk pelanggan lebih cepat, beradaptasi dengan perubahan pasar dengan lebih baik, dan tumbuh lebih efisien dalam mengarahkan hasil bisnis. Model DevOps memungkinkan pengembang dan tim operasi perusahaan mencapai hasil ini. Misalnya, layanan microservices dan continuous delivery memungkinkan tim mengambil kepemilikan atas layanan dan kemudian merilis pembaruan kepada pelanggan lebih cepat.
 
2. Rapid Delivery
Tingkatkan frekuensi dan kecepatan rilis sehingga perusahaan dapat berinovasi dan meningkatkan produk lebih cepat. Semakin cepat merilis fitur baru dan memperbaiki bug, semakin cepat pula perusahaan dapat merespon kebutuhan pelanggan dan membangun keunggulan yang kompetitif. Continuous integration dan continuous delivery adalah praktik yang mengotomatiskan proses rilis perangkat lunak, mulai dari build hingga deploy.

3. Reliability
Pastikan kualitas pembaruan aplikasi dan perubahan infrastruktur sehingga perusahaan dapat melakukan pengiriman dengan lebih cepat dengan andal sambil mempertahankan pengalaman positif bagi pengguna akhir. Gunakan praktik seperti continuous integration dan continuous delivery untuk menguji bahwa setiap perubahan berfungsi dan aman. Praktik monitoring dan logging membantu perusahaan tetap mendapatkan informasi tentang kinerja secara langsung (real-time).

4. Scale
Operasikan dan kelola infrastruktur dan proses pengembangan dalam skala besar. Otomatisasi dan konsistensi membantu perusahaan mengelola sistem yang kompleks atau berubah secara efisien dan dengan risiko yang berkurang. Misalnya, Infrastruktur sebagai Kode (Infrastructure as Code) membantu mengelola development environment, testing, dan production environment secara berulang dan lebih efisien.
5. Improved Collaboration
Membangun tim yang lebih efektif di bawah model DevOps, yang menekankan nilai-nilai seperti kepemilikan dan akuntabilitas. Pengembang dan tim operasi berkolaborasi secara erat, berbagi banyak tanggung jawab, dan menggabungkan alur kerja mereka. Ini mengurangi inefisiensi dan menghemat waktu (misalnya, periode serah terima yang dikurangi antara pengembang dan operasi, menulis kode yang memperhitungkan environment di mana kode dijalankan).
 
6. Security
Bergerak cepat sambil mempertahankan kontrol dan menjaga kepatuhan. Perusahaan dapat mengadopsi model DevOps tanpa mengorbankan keamanan dengan menggunakan kebijakan kepatuhan otomatis (automated compliance policies), fine-grained controls, dan teknik manajemen konfigurasi. Sebagai contoh, menggunakan infrastructure as code dan policy as code, perusahaan dapat menentukan dan kemudian melacak kepatuhan.

DevOps Tools

Beberapa tools yang digunakan dalam model DevOps:
  • Planning Tools: JIRA, Redmine, Trac, Rally, dsb.
  • Building Tools: Apache Maven, Apache Ant, Gulp, Travis CI, dsb.
  • CI/CD: Jenkins, Bamboo, Circle CI, Travis CI, Codeship, dsb.
  • Version Control & Repository Tools: Git, GitHub, Bitbucket, GitLab.
  • Configuration Management Tools: Ansible, Salt, Chef, Puppet, dsb.
  • Container Tools: Docker, Kubernetes, LXD, OpenVZ, Apache Mesos, dsb.
  • Monitoring Tools: New Relic, ElasticSearch, Kibana, Graphite, Icinga, dsb.
  • Log Management Tools: Graylog, Logsense, Sentry, Logstash, Loggly, dsb.
  • Communication/Collaboration Tools: Asana, Slack, GoToMeeting, Trello, Basecamp, Microsoft Teams, dsb.




Referensi:
https://blog.cilsy.id/2018/07/apa-itu-devops.html
https://aws.amazon.com/devops/what-is-devops/
https://en.wikipedia.org/wiki/DevOps

Komentar

Postingan populer dari blog ini

Apa sih PCI to PCI-E itu?

Amazon Web Service

James Gosling Bapak Bahasa Pemrograman Java