Abdullah Fathi
Pautan Muat Turun
Recap: Agile
Mahu Perubahan/Agility
- Pembangunan dan pengujian sistem berlaku secara berterusan.
- Kod yang dibangunkan berfungsi pada laptop pembangun sistem
- Proses penempatan tidak berlaku secara berterusan.
- Kod yang dibangunkan tidak berfungsi pada persekitaran produksi
PASUKAN PEMBANGUN
PASUKAN OPERASI
Mahu Kestabilan
Limitation of Agile
Penyelesaiannya adalah DevOps
Pasukan Pembangun
Pasukan Operasi
Apa itu "DevOps" ?
Antara perkataan yang kerap didengari dalam IT industri pada masa kini
- Konsep yang agak baru
- Menjadi semakin popular
"DevOps"
Proses Pelepasan Aplikasi
Development
Operations
Release Product
Agile + DevOps
Proses yang Sama: Deliver aplikasi kepada pengguna akhir
Sentiasa menjadi matlamat utama
Deliver aplikasi kepada pengguna
Typical Software Release Process
Idea
Keperluan
Pengekodan
Pengujian
Pembangunan
/ Pakej
Penempatan
- Pemasangan Tools
- Penempatan Aplikasi
- Konfigurasi Firewall
Konfigurasi Pelayan
Typical Software Release Process
Idea
Keperluan
Pengekodan
Pengujian
Pembangunan
/ Pakej
Penempatan
- Adakah terdapat sebarang ralat pada sistem?
- Adakah pengguna mempunyai masalah menggunakan sistem?
- Bolehkah sistem mengendalikan trafik pengguna yang tinggi?
Operasi
&
Pemantauan
Typical Software Release Process
- Penambahan feature baru
- Pembetulan Ralat
- Mengoptimumkan Prestasi Sistem
Pelancaran Awal
Penambahbaikan
Idea
Keperluan
Pengekodan
Pengujian
Pembangunan
/ Pakej
Penempatan
Operasi
&
Pemantauan
Versi Sistem (Semantic Versioning)
Pengekodan
Pengujian
Pembangunan
/ Pakej
Versi 1
Pengekodan
Pengujian
Pembangunan
/ Pakej
Versi 2
Pengekodan
Pengujian
Pembangunan
/ Pakej
Versi 3
Pengekodan
Pengujian
Pembangunan
/ Pakej
Versi 4
Penggantian Framework
Feature Baru
1.0.0
1.1.0
1.1.1
1.1.2
1 . 5 . 2
Major
Minor
Patch
Pembetulan Ralat
Pembetulan Ralat
Apa itu DevOps?
DevOps adalah amalan yang memerlukan penglibatan pasukan pembangun dan operasi dalam kitar hayat pembangunan sistem secara keseluruhan
CI/CD is in the heart of DevOps
Test it
Build & Package
Deploy it
Push Code
Changes
Artifact
Repository
CI
CD
DevOps CI/CD
- Mempercepatkan proses
- Pengurangan Ralat
Penyampaian yang cepat dengan kod yang berkualiti
CD of CI/CD
Deploy to
PROD
- We don't deploy directly to PRODUCTION environment
- We can't be sure that the changes won't break anything
- We deploy the application in stages
- To test the application extensively on multiple levels
Continuous Deployment
Deploy to
PROD
Deploy to
DEV
Deploy to
STAGING
Unit Tests,
functional tests
Code analysis tests, lint tests
Load tests,
Regression tests
- Every code change is built, tested and deployed to the different environments
- Deployment to production happens automatically without explicit manual approval
Continuous Delivery
- Automated test not 100% reliable
- Not enough time or too difficult to test each and every aspect of the application
- Not confident enough to release automatically to production
Continuous Delivery
Deploy to
PROD
Deploy to
DEV
Deploy to
STAGING
Unit Tests,
functional tests
Code analysis tests, lint tests
Load tests,
Regression tests
- Pipeline is automated only until the non-production environment
- Update to production happens only with a manual approval
CI of CI/CD
remote git
repository
Test it
Build & Package
Push Code
Changes
Continuous Integration
- Developer commits code changes to remote git repository
- Triggers the CI/CD Pipeline
Why continuously integrating the code changes is important?
- Each developer works with their own local copy of app code
- Changes need to be integrated ("merged") into central shared code
- Handle conflict, if some code updated
- Run automated tests: The bigger the code changes, the more likely that something in the application breaks
DevOps Continuous Stages
Pengurusan Kod Sumber
source: edureka
Integrasi Berterusan (Continuous Integration)
Integrasi Berterusan (Continuous Integration)
source: edureka
Penyampaian Berterusan (Continuous Delivery)
Penyampaian Berterusan (Continuous Delivery)
source: edureka
Penempatan Berterusan (Continuous Deployment)
Penempatan Berterusan (Continuous Deployment)
Development
Operations
DevOps
"DevOps"
Intersection of Dev & Ops?
Where do boundaries start and end?
Which part of Dev is not DevOps?
Which part of Ops is not DevOps?
Why was there a need between those?
Proses Peralihan Pelaksanaan DevOps
Cabaran yang cuba diselesaikan oleh DevOps
1. Miscommunication & Kurang Kolaborasi
Code the application
Deploy & Operate the application
Pembangun Sistem
Operasi
- Can't deploy & run the app
- Don't consider, where app gets deployed
- Tidak pasti bagaimana sistem berfungsi
Cabaran yang cuba diselesaikan oleh DevOps
2. Conflict of Interest
Bertanggungjawab dalam pengoperasian
Pembangun Sistem
Operasi
- New features fast
- Mengekalkan Kestabilan Sistem
- Resist the speed of release
- Memastikan dan menyemak kod adalah 100% selamat
Bertanggungjawab dalam pembangunan sistem
Cabaran yang cuba diselesaikan oleh DevOps
3. Keselamatan
- Adakah perubahan akan memberi impak kepada keselamatan sistem?
- Proses Manual
Pasukan Keselamatan
Cabaran yang cuba diselesaikan oleh DevOps
4. Pengujian Sistem
- Menguji specific features
- Pengujian secara End to End
- Pengujian dilakukan pada persekitaran yang berbeza
- Pengujian prestasi
Penguji
Cabaran yang cuba diselesaikan oleh DevOps
5. Kerja Manual
- Lambat dan cenderung untuk menghasilkan ralat
- Perkongisan pengetahuan adalah sukar
- Intransparent, hard to trace, who executed and when
Penempatan sistem secara manual
Pengujian secara manual
Semakan keselamatan secara manual
Konsep DevOps
Kunci utama adalah Pasukan Pembangun dan Pasukan Operasi haruslah bekerjama dengan lebih kerap
Anything that creates the process of releasing the software fast with high quality
DevOps
Automasi secara keseluruhan, Proses yang diperkemas
CI/CD Pipeline
Rangka Kerja DevOps Sektor Awam - Muka Surat: 75
Infrastruktur Pipeline DevOps
Rangka Kerja DevOps Sektor Awam - Muka Surat: 84
Penggunaan Tools Mengikut Peringkat DevOps
Tools DevOps
Tools DevOps
Aktiviti di Peringkat DevOps
Perancangan
Peringkat awal dalam pembangunan produk yang membantu memastikan matlamat dan hala tuju produk yang dibangunkan difahami oleh setiap ahli pasukan DevOps
Panduan DevOps Sektor Awam - Muka Surat: 82
Aktiviti utama pada peringkat ini:
- Perancangan Produk
- Pengurusan Komunikasi
- Perancangan pelaksanaan Pipeline CI/CD
- Perancangan Ujian
TOOLS PERANCANGAN
- Penyediaan pelan hala tuju produk: Artifak product vision, epic dan user story akan dikumpul sebagai pelan hala tuju produk dan didokumenkan dalam bentuk wiki
- Penyediaan tools bagi persekitaran pembangunan: Tools seperti Gitlab akan digunakan sepanjang pembangunan produk perlu disediakan
-
Pengumpulan keperluan pengguna:
- Keperluan pengguna dan tugasan dikumpulkan dalam artifak product backlog dan sprint backlog akan dimasukkan ke tools Gitlab
- DoD didokumenkan dalam bentuk wiki.
- Membuat perancangan kapasiti: Dibuat pada sprint planning kedua boleh didokumenkan ke bentuk wiki
1. Perancangan Produk
Panduan DevOps Sektor Awam - Muka Surat: 87
Merangkumi komunikasi, perbincangan dan pengumuman di antara ahli pasukan sepanjang pembangunan produk.
Antara aktiviti dalam pengurusan komunikasi:
- ChatOps
- Pengumuman pelepasan versi produk
- Perkongsian fail
2. Pengurusan Komunikasi
Panduan DevOps Sektor Awam - Muka Surat: 93
Merancang jobs yang perlu diautomasikan pada pipeline CI/CD bagi setiap peringkat DevOps
Pipeline merupakan komponen terpenting dalam asas penambahbaikan berterusan. Pipline merangkumi dua komponen utama iaitu:
- Jobs
- Stages
3. Perancangan Pelaksanaan Pipeline CI/CD
Panduan DevOps Sektor Awam - Muka Surat: 95
Dilaksanakan bagi membolehkan pemilik produk, pasukan pembangun dan penguji merancang, menjadual dan melaksana aktiviti pengujian
Bermula sprint zero, pemilik produk dan pasukan pembangun akan membincangkan perkara yang perlu dicapai dalam aktiviti pengujian bagi setiap sprint
4. Perancangan Pengujian
Panduan DevOps Sektor Awam - Muka Surat: 100
- Penetapan jenis dan skop aktiviti pengujian yang akan dilaksanakan
- Pendekatan pelaksanaan pengujian
- Penetapan tahap kritikal untuk pengendalian ralat
- Penetapan traceability matrix untuk liputan kes pengujian
4.1. Pelan Pengujian
Panduan DevOps Sektor Awam - Muka Surat: 100
Menggunakan pendekatan incremental testing
Pengujian Unit -> Pengujian Integrasi -> Pengujian Sistem
- Pengujian keperluan fungsian (functional test)
- Pengujian Unit
- Pengujian Integrasi
- Pengujian Sistem
- Pengujian Penerimaan Pengguna (UAT)
- Pengujian keperluan bukan fungsian
(non-functional test)- Kualiti Kod
- Pengujian Static Application Security Test (SAST)
- Pengujian Prestasi
4.2. Jenis dan Skop Aktiviti Pengujian
Panduan DevOps Sektor Awam - Muka Surat: 100
Aktiviti pengekodan serta pengujian dilakukan secara incremental dan iterative. Setiap sprint menghasilkan product increment dan maklum balas yang diperolehi akan menjadi input kepada sprint seterusnya
4.3. Pelaksanaan Pengujian
Panduan DevOps Sektor Awam - Muka Surat: 105
Panduan DevOps Sektor Awam - Muka Surat: 106
Aktiviti Pengujian Berdasarkan Agile Scrum
4.4 Penetapan Tahap Kritikal (Severity Level)
Tahap kritikal terhadap kegagalan fungsian atau penemuan ralat semasa pengujian. Masalah yang diperolehi semasa proses pengujian akan dianalisis dan dikategorikan berdasarkan Tahap Kritikal dan kesannya
Panduan DevOps Sektor Awam - Muka Surat: 111
Aliran Proses Pengendalian Ralat
Panduan DevOps Sektor Awam - Muka Surat: 112
4.5 Penetapan Traceability Matrix
Menjejaki hubungan diantara keperluan (requirement) dengan kes pengujian sepanjang kitar hayat pembangunan produk
Panduan DevOps Sektor Awam - Muka Surat: 113
Panduan DevOps Sektor Awam - Muka Surat: 115
Serahan / Output Peringkat Perancangan
- Pelan hala tuju produk
- Artifak product backlog
- Artifak sprint backlog
- Pelan pengujian
- Kes pengujian
- Persekitaran GitLab yang telah dikonfigurasi seperti berikut:
- Groups
- Epics
- Projects
- Milestones
- Iterations
- Runners
- Issues
- Persekitaran komunikasi Mattermost ChatOps.
Panduan DevOps Sektor Awam - Muka Surat: 116
Apa itu Mattermost?
Merupakan platform yang menyediakan perkhidmatan komunikasi dan kolaborasi antara ahli pasukan. Integrasi Mattermost dengan GitLab boleh dilaksanakan bagi tujuan mewujudkan Issues dan memulakan CI/CD jobs
Apa itu WikiJS?
Merupakan perisian kolaboratif yang membolehkan pengguna mencipta dan mengemas kini dokumentasi secara dalam talian. Kandungan dokumentasi ditulis
menggunakan format Markdown atau fungsi visual editor
Apa itu Gitlab?
- Platform Pengurusan Kod Sumber
- CI/CD
- Platform DevOps secara menyeluruh
- Menyokong metodologi agile dan mempunyai fungsi yang bersesuaian dengan setiap aktiviti yang dilaksanakan dalam pendekatan agile scrum
Aliran Proses Kerja Peringkat Perancangan
Rujuk Panduan DevOps Sektor Awam: Muka Surat 83
Pengekodan
Peringkat pembangunan kod aplikasi berdasarkan
user story yang telah ditetapkan pada sprint semasa
Panduan DevOps Sektor Awam - Muka Surat: 117
- Pengurusan Kod Sumber
- Konfigurasi Pipeline CI/CD
- Semakan Kualiti Kod
PENGEKODAN
- Pewujudan feature branch bagi setiap ahli pasukan pembangun berdasarkan product backlog atau sprint backlog yang telah ditetapkan
- Merge request daripada feature branch ke repositori berpusat
1. Pengurusan Kod Sumber
Panduan DevOps Sektor Awam - Muka Surat: 121
Konfigurasi Pipeline CI/CD akan dikonfigurasikan pada peringkat ini berdasarkan kesesuaian sistem aplikasi
2. Konfigurasi Pipeline CI/CD
Panduan DevOps Sektor Awam - Muka Surat: 123
Memastikan kod sumber dibina berasaskan standard pembangunan sistem aplikasi yang telah ditetapkan berdasarkan Jaminan Kualiti Perisian (SQA)
3. Semakan Kualiti Kod
Panduan DevOps Sektor Awam - Muka Surat: 124
Pengujian awal yang boleh dibuat:
- Pengujian Unit
- Pengujian SAST
- Kualiti Kod
Serahan / Output Peringkat Pengekodan
- Pembangun commit dan push kod sumber ke branch utama
- Pengujian awal seperti:
- Pengujian Unit
- Pengujian SAST
- Kod Kualiti
Panduan DevOps Sektor Awam - Muka Surat: 125
Aliran Proses Kerja Peringkat Pengekodan
Rujuk Panduan DevOps Sektor Awam: Muka Surat 118
Pembangunan
Proses pengubahsuaian fail dan aset lain dibawah tanggungjawab pasukan pembangun menjadi produk dalam bentuk akhir atau boleh digunakan. Pembinaan ini termasuk menyusun (compiling) fail kod sumber.
Panduan DevOps Sektor Awam - Muka Surat: 126
- Compile Code
- Package Code
- Pembinaan Kod dan Imej Container
PEMBANGUNAN
- Proses penyusunan dan pengubahsuaian kod sumber daripada human-readable code kepada machine-executable code
- Penggunaan code compiler bagi menganalisis dan menterjemahkan kod sumber kepada bentuk fail executable
1. Compile Code
Panduan DevOps Sektor Awam - Muka Surat: 128
- Membentuk satu pakej fail (distributable format) seperti fail WAR atau fail JAR yang sedia untuk diimport atau digunakan semula ke aplikasi pelayan di peringkat penempatan
2. Package Code
Panduan DevOps Sektor Awam - Muka Surat: 128
- Proses pembangunan atau pembinaan produk daripada kod sumber kepada sistem yang boleh execute dan diuji
- Aktiviti CI seperti menyusun kod sumber, memuat turun dependencies, membina imej container dan menghasilkan pakej perisian yang sedia untuk digunakan
3. Pembinaan Kod dan Imej Container
Panduan DevOps Sektor Awam - Muka Surat: 129
Serahan / Output Peringkat Pembangunan
- Binary package seperti fail JAR/WAR
- Imej container
Panduan DevOps Sektor Awam - Muka Surat: 130
- Platform yang membolehkan sistem aplikasi dipakejkan kepada satu format standard Open Container Initiative (OCI) dipanggil imej container yang mengandungi library, runtime dan kod sumber sistem aplikasi
- Platform ini membolehkan pasukan membina, menguji dan menempatkan sistem aplikasi dengan efektif melalui teknologi container.
- Imej container boleh disediakan secara automasi dengan bantuan pipeline CI/CD khusus kepada persekitaran penempatan tertentu dan disimpan dalam repositori imej container berpusat untuk dikongsikan bersama pasukan DevOps
Apa itu Docker?
Docker
Virtual Machine
Container
Port 5000
Container
Port 5000
Container
Port 5000
Container
Port 3000
Container
Port 5000
Container
Port 3000
Port 5000
Port 3000
Port 3001
Host
HOST Port vs CONTAINER Port
- Merupakan repositori container yang menyimpan dan melindungi artifak dengan dasar dan kawalan capaian berasaskan peranan, memastikan imej diimbas serta bebas dari isu berkaitan keselamatan
- Membolehkan pengurusan imej container secara konsisten dan selamat merentasi platform seperti Kubernetes dan Docker
Apa itu Harbor?
Aliran Proses Kerja Peringkat Pembangunan
Rujuk Panduan DevOps Sektor Awam: Muka Surat 127
Pengujian
Aktiviti verifikasi yang dilakukan terhadap komponen atau sistem aplikasi untuk memastikan sistem dibangunkan berdasarkan kepada spesifikasi keperluan dan reka bentuk sistem
Panduan DevOps Sektor Awam - Muka Surat: 131
- Pengujian Unit, SAST, Kualiti Kod
- Pengujian Prestasi Pelayar
- Pengujian Prestasi Beban
- Pengujian API
- E2E Automation Test
PENGUJIAN
Prasyarat
-
Dokumentasi
- Keperluan fungsian telah dipersetujui dan disemak di antara pasukan pembangun dan pemilik produk
- Pelan pengujian telah dibangun dan disemak oleh pemilik produk
- Kes Pengujian telah dibangun dan disemak di antara pasukan pembangun dan pemilik produk
-
Persekitaran dan tools
- Konfigurasi Jobs pada pipeline CI/CD dan Gitlab Runner bagi menyokong arahan kerja berkaitan aktiviti pengujian
- Tools pengujian yang menyokong bahasa pengaturcaraan yang digunakan
Panduan DevOps Sektor Awam - Muka Surat: 131
Serahan / Output Peringkat Pengujian
- Artifak Gitlab hasil Pengujian SAST
- Artifak Gitlab hasil Pengujian Kualiti Kod
- Artifak Gitlab hasil Pengujian Unit
- Artifak Gitlab hasil Pengujian Integrasi
- Artifak Gitlab hasil Pengujian Sistem
- Artifak Gitlab hasil Pengujian Prestasi
- Laporan Ujian Penerimaan Pengguna
Panduan DevOps Sektor Awam - Muka Surat: 143
Apa itu Sitespeed?
-
Sitespeed.io merupakan tools yang membantu dalam memantau, menganalisis dan mengoptimumkan prestasi laman web. Sitespeed.io mempunyai 3 keupayaan utama
berikut:- Menguji sistem web menggunakan pelayar web sebenar, mensimulasi capaian pengguna dan mengumpul metrik yang penting seperti Speed Index dan First Visual Render.
- Menganalisis cara halaman pada web sistem dibina dan memberi maklumbalas cara untuk meningkatkan halaman web tersebut bagi kegunaan pengguna
- Mengumpul dan menyimpan data seperti rakaman video, dan filmstrip
Apa itu Grafana k6?
- Merupakan tools pengujian prestasi load testing untuk sistem berasaskan web dan web API
- K6 dapat melaksanakan pengujian terhadap reliability dan prestasi sistem aplikasi seterusnya mengesan masalah berkaitan prestasi lebih awal
- Pengujian smoke: Mengesahkan bahawa sistem boleh diakses dan boleh mengendalikan beban minimum
- Pengujian Load: menilai prestasi sistem dari segi akses pengguna secara serentak atau berdasarkan request per second
- Pengujian Stress: menilai had dan kestabilan sistem dalam keadaan yang maksimum berdasarkan had yang ditetapkan
- Pengujian Endurance: menilai had dan kestabilan sistem dalam keadaan yang maksimum berdasarkan had yang ditetapkan
Rujuk Panduan DevOps Sektor Awam: Muka Surat 132
Aliran Proses Kerja Peringkat Pengujian
Pelepasan
Proses untuk mengeluarkan versi baru produk kepada persekitaran penempatan. Pelepasan perubahan kod ke persekitaran penempatan boleh dilaksanakan secara automatik dalam pipeline CI/CD atau manual
Panduan DevOps Sektor Awam - Muka Surat: 144
- Penyediaan Nota Pelepasan (Release Note)
- Penandaan Versi (Version Tagging)
- Snapshot pada repositori kod sumber
PELEPASAN
- Product release adalah product increment yang terdiri dari beberapa sprint di mana produk direka, dibangunkan, diuji dan ditempatkan.
- Product Icrement yang terdiri dari setiap sprint 1 hingga sprint 3 dan dari setiap sprint 4 hingga sprint 6 akan dilepaskan kepada pengguna sebagai product release.
1. Product Release
Panduan DevOps Sektor Awam - Muka Surat: 146
Versi Sistem (Semantic Versioning)
Pengekodan
Pengujian
Pembangunan
/ Pakej
Versi 1
Pengekodan
Pengujian
Pembangunan
/ Pakej
Versi 2
Pengekodan
Pengujian
Pembangunan
/ Pakej
Versi 3
Pengekodan
Pengujian
Pembangunan
/ Pakej
Versi 4
Penggantian Framework
Feature Baru
1.0.0
1.1.0
1.1.1
1.1.2
1 . 5 . 2
Major
Minor
Patch
Pembetulan Ralat
Pembetulan Ralat
2. Kaedah Penetapan Versi Release
Panduan DevOps Sektor Awam - Muka Surat: 147
Serahan / Output Peringkat Pelepasan
Artifak Gitlab Release
Panduan DevOps Sektor Awam - Muka Surat: 143
Aliran Proses Kerja Peringkat Pelepasan
Rujuk Panduan DevOps Sektor Awam: Muka Surat 145
Penempatan
Penempatan sistem aplikasi secara automasi oleh pipeline CI/CD memudahkan pasukan menempatkan versi baharu sistem aplikasi dengan pantas, mengurangkan masa henti dan mengurangkan ralat semasa proses pemasangan imej sistem aplikasi
ke persekitaran penempatan.
Panduan DevOps Sektor Awam - Muka Surat: 152
- Penempatan sistem aplikasi pada persekitaran infrastruktur
- Verification on deployment. (Smoke test)
PENEMPATAN
Prasyarat
- Konfigurasi Jobs pada pipeline CI/CD dan Gitlab Runner bagi menyokong arahan kerja berkaitan proses penempatan
- Menyediakan pakej fail sistem aplikasi pada repositori kod sumber
- Membina imej Docker dalam Container Registry
- Menyediakan persekitaran pembangunan, staging dan produksi untuk penempatan sistem aplikasi
- Menyediakan nota pelepasan daripada artifak Gitlab Releases untuk rujuk penempatan
Panduan DevOps Sektor Awam - Muka Surat: 152
Persekitaran dan Pelayan
- Persekitaran
- Pembangunan
- Staging
- Produksi
- Pelayan
- Virtual Machine (VM)
- Docker Container
- Kubernetes / Docker Swarm
Panduan DevOps Sektor Awam - Muka Surat: 131
Serahan / Output Peringkat Penempatan
Paparan Environments yang memaparkan status senarai persekitaran penempatan
Panduan DevOps Sektor Awam - Muka Surat: 156
Aliran Proses Kerja Peringkat Penempatan
Rujuk Panduan DevOps Sektor Awam: Muka Surat 153
Pengoperasian
Merujuk kepada proses dan aktiviti yang dilakukan untuk mengurus dan menyelenggara infrastruktur sistem aplikasi secara automasi. Matlamat pengoperasian adalah untuk memastikan infrastruktur sistem aplikasi
beroperasi pada tahap optimum
Panduan DevOps Sektor Awam - Muka Surat: 158
- Scale up/down resources
- Penyandaran pangkalan data
(Database Backup) - Pemulihan sistem aplikasi
- Pengemasan Container Registry
PENGOPERASIAN
Apa itu Kubernetes?
- Kubernetes adalah platform orkestrasi container yang mengautomasikan proses penempatan, pengurusan dan penskalaan sistem aplikasi
- Kubernetes dilengkapi dengan fungsi high availability (HA) kepada persekitaran container dan menyokong
ciri-ciri self healing serta auto scalling
Apa itu Rancher?
Rancher adalah platform untuk menguruskan kluster Kubernetes melalui antara muka web
Aliran Proses Kerja Peringkat Pengoperasian
Rujuk Panduan DevOps Sektor Awam: Muka Surat 159
Pemantauan
Proses menjejak, menganalisis dan memaparkan laporan prestasi sistem aplikasi untuk membantu pasukan operasi mengenal pasti dan menyelesaikan isu dengan lebih efisien
Panduan DevOps Sektor Awam - Muka Surat: 163
- Pemantauan Sistem
- Pemantauan prestasi sistem aplikasi
- Perancangan kapasiti (capacity planning)
- Pemantauan maklum balas pengguna
PEMANTAUAN
Konsep Kebolehperhatian (Observability)
Ditakrifkan sebagai bagaimana pasukan membuat tafsiran terhadap keadaan sistem berdasarkan output yang diperoleh daripada aktiviti pemantauan
Panduan DevOps Sektor Awam - Muka Surat: 163
1. Pemantauan Sistem
Proses untuk memantau log, penggunaan sumber dan kadar ketersediaan sistem
Panduan DevOps Sektor Awam - Muka Surat: 169
Aktiviti dalam pemantauan sistem:
- Pemantauan log
- Pemantauan infrastruktur
- Pemantauan uptime
2. Pemantauan Prestasi Sistem Aplikasi
Proses mengumpul data untuk membantu pasukan mengesan ralat, memantau penggunaan sumber dan mengesan perubahan prestasi yang berlaku dalam sistem aplikasi seterusnya memberi kesan terhadap pengalaman pengguna
Panduan DevOps Sektor Awam - Muka Surat: 173
- Pemantauan Prestasi Aplikasi (APM)
- Pemantauan Pengguna Sebenar (RUM): Peranti pengguna, versi pelayar tindakan yang diambil oleh pengguna, dll
- Pemantauan Sintetik: Simulasi Interaksi Pengguna
3. Perancangan Kapasiti Sistem (Capacity Planning)
Memastikan perkhidmatan sistem aplikasi dan kapasiti infrastruktur dapat menyokong penyampaian perkhidmatan berdasarkan sasaran tahap perkhidmatan yang telah ditetapkan
Panduan DevOps Sektor Awam - Muka Surat: 174
4. Pemantauan Maklum Balas Pengguna
Membantu meningkatkan kualiti sistem aplikasi. Saluran maklum balas seperti meja bantuan boleh digunakan sebagai medium pengantara untuk pengguna memberikan maklum balas berkaitan sistem aplikasi
Panduan DevOps Sektor Awam - Muka Surat: 176
Serahan / Output Peringkat Pemantauan
- Paparan Pemantauan Log
- Paparan Pemantauan Infrastruktur
- Paparan Pemantauan Uptime
- Paparan Pemantauan Prestasi Aplikasi (APM)
- Paparan Pemantauan Pengguna Sebenar (RUM)
- Paparan Pemantauan Sintetik
- Laporan Perancangan Kapasiti
- Hasil pemantauan maklum balas pengguna
Panduan DevOps Sektor Awam - Muka Surat: 179
Apa itu Elastic Observability?
Elastic Observability menyediakan satu platform yang mengumpulkan data log, metrik infrastruktur, data uptime, data jejak (traces) transaksi sistem aplikasi, data
pengalaman pengguna dan data sintetik
Pemantauan Prestasi Aplikasi (APM)
Aliran Proses Kerja Peringkat Pemantauan
Rujuk Panduan DevOps Sektor Awam: Muka Surat 168
DEMO
Q & A
Your feedback matters
Muat Turun Slaid Persembahan
Terima Kasih
DevOps Introduction New
By Abdullah Fathi
DevOps Introduction New
- 223