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:

  1. Perancangan Produk
  2. Pengurusan Komunikasi
  3. Perancangan pelaksanaan Pipeline CI/CD
  4. 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

  1. Pelan hala tuju produk
  2. Artifak product backlog
  3. Artifak sprint backlog
  4. Pelan pengujian
  5. Kes pengujian
  6. Persekitaran GitLab yang telah dikonfigurasi seperti berikut:
    • Groups
    • Epics
    • Projects
    • Milestones
    • Iterations
    • Runners
    • Issues
  7. 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

  1. 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
  2. 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