View
131
Download
0
Category
Preview:
Citation preview
PERTEMUAN 4PENGEMBANGAN APLIKASI ENTERPRISE
MemahamiKualitas Sistem
Tujuan I nstruksional
Setelah mengikuti pertemuan ini, diharapkan mahasiswa dapat : Mendeskripsikan kualitas-kualitas sistem
sebuah aplikasi Mendeskripsikan praktek-praktek umum
untuk memperbaiki kualitas-kualitas sistem Memprioritaskan kebutuhan quality-of-
service Melakukan inspeksi kebutuhan quality-of-
service untuk peluang trade-off
Mengukur Kualitas Sistem Perbedaan kualitas sistem akan menghasilkan tekanan-
tekanan pada disan sistem secara keseluruhan.
Arsitek seharusnya mengevaluasi dan memprioritaskan kebutuhan-kebutuhan kualitas sistem untuk meminimalisasi constraint
Kualitas sistem seharusnya tidak telalu ambisius didefinisikan.
Kebutuhan-kebutuhan kualitas sistem didokumentasikan dalam Service Level Requirements (SLR)
Kategori-Kategori Kualitas Sistem
Daftar kualitas yang selalu disampaikan ke pengguna : Performance Reliability Availability Usability
Daftar Kualitas-kualitas operasional yang terikat dengan sistem yang sedang berjalan : Throughput Manageability Security Serviceability Testability
Kategori-Kategori Kualitas Sistem
Daftar Kalitas pengembangan yang berdampak pada bagaimana sistem dibangun : Realizability Planability
Kualitas evolusioner yang terkait dengan bagaimana sistem berperilaku ketika sistem diubah atau di-upgrade : Scalability Maintainability Extensibility Flexibility Reusability Portability
Dimensi-dimensi sistem
Capacity (System Height) Redundancy (System Width) Modularity (System Depth) Tolerance Workload Heterogeneity
Dimensi Sumber Daya Komputasi
Dampak Kualitas Dimensi
Redudancy dan Kualitas Sistem Redundancy dapat diterapkan pada
produk-produk vendor atau sistem-sistem server.
Redundancy umumnya diimplementasikan dengan replication
Common techniques include Load balancing Failover Cluster
Load Balancing
Strategi Load balancing Load balancers in network switches Load balancers in cluster management software and
application servers Load balancers based on server instance DNS configuration
Load balancing algorithms Round-robin algorithm Response-time or first-available algorithm Least-loaded algorithm Weighted algorithm Client DNS based algorithm
Failover
Failover adalah konfigurasi sistem yang memungkinkan satu server menganggap adanya identitas kegagalan sistem
Salah satu aspek penting dari failover adalah adanya kapasitas yang tersedia dimana dapat ditangani dengan dua cara, yaitu : Disain dengan kapasitas ekstra Maintaining a stand-by server
Akibat Failover
Cluster
Cluster adalah kelompok sistem-sistem server dan piranti lunak pendukung yang digunakan untuk mengelola kelompok server.
Clusters menghasilkan ketersediaan tinggi oada sumber daya sistem
Benefits of clusters Memungkinkan adalanya pengelompokan administrasi Mendeteksi kegagalan piranti keras dan piranti lunak Menangani failover sistem Secara otomatis melakukan restart layanan ketika terjadi
kegagalan.
Konfigurasi Cluster
Two-node clusters (symmetric and asymmetric)
Clustered pairsRingN+1 (Star)Scalable (N-to-N)
Mengevaluasi Strategi Replikasi Perlu dipertimbangkan perhatian terhadap
arsitektur dan menemukan pendekatan yang efektif dari segi biaya untuk menyelesaikan permasalahan yang dihadapi.
Perlu masukan dari stackholder
Pertimbangkan faktor berikut : Machine Equivalence Network Design Cost Consideration
▪ Cost of Ownership▪ Initial Outlay Costs▪ Machine equivalence
Memperbaiki Kinerja dan Troughput
Dua faktor yang menentukan kinerja sistem Processing time Blocked time
Praktek-praktek umum untuk memperbaiki kinerja : Meningkatkan kapasitas sistem. Meningkatkan efisiensi komputasi Memperkenalkan cached data untuk mengurangi
overhead komputasi Memperkenalkan concurrency Membatasi jumlah concurrent request Memperkenalkan intermediate response Menerapkan time out operasi out the long-lasting
Memperbaiki Ketersediaan (Availability)
Faktor mempengaruhi availability sistem : System downtime Long response time
Praktek-praktek umum untuk memperbaiki availability sistem adalah melalui salah satu dari tipe replikasi berikut : Active Replication Passive Replication
Memperbaiki Ekstensibilitas dan Fleksibilitas
Kebutuhan ekstensibilitas dan fleksibilitas disebabkan oleh perubahan requirement
Pertimbangkan praktek-praktek berikut untuk ekstensibilitas dan fleksibilitas sistem : Mendefinisikan dengan jelas cakupan dalam
Service Level Agreement Antisipasi perubahan yang mungkin akan
terjadi menerapkan pattern pada arsitektur sistem
Tujuan Keamanan Sistem
ConfidentialityIntegrityAuthenticationAuthorizationNon-Repudiation
Praktek-Praktek Keamanan yang Umum Digunakan
Gunakan teknologi yang terbukti handal dan terbuka Memiliki kebijakan keamanan yang didefinisikan
dengan jelas Menerapkan infrastruktur keamanan yang konsisten
Praktek-Praktek Keamanan yang Umum Digunakan
Mengadopsi metode proaktif untuk mendeteksi dan mengidentifikasi serangan Protect audit trails
Mengurangi pembukaan komponen-komponen sistem yang tidak diinginkan
Menyediakan sekurang-kurangnya set privileges yang seperlunya untuk mengoperasikan sistem
Memperbaiki Skalabilitas
Skalabilitas dapat dikonfigurasi dengan dua cara :
Vertical Scalability Menambah daya pemrosesan di sistem
server yang sedang berjalan. Mengganti server yang ada dengan
sistem yang punya kapabilitas lebih baik.
Horizontal Scalability Menambah instan-instan server yang
berjalan
Skalabilitas Vertikal v.s Horizontal
Skalabilitas Vertical Transparan terhadap arsitektur sistem Dibatasi pada keterbatasan fisik sistem Biaya pembelian piranti keras yang lebih
powerful sangat besar
Skalabilitas Horizontal Tidak memiliki keterbatasan fisis Berdampak pada arsitektur sistem Harus mencatat machine equivalence
Prioritaskan Kebutuhan Kualitas Kebutuhan quality-of-service menentukan
nilai-nilai yang diminta dan diharapkan untuk kualitas sistem. Evaluasi kebutuhan QoS di basis-basis yang
umum dibutuhkan. Bekerja dengan stakeholders untuk
memprioritaskan kebutuhan-kebutuhan.
Variasi di prioritas dapat memberikan solusi berbeda pada arsitektur sistem secara dramatis
Pertimbangan Disain Sistem
Uji proyek untuk menentukan kualitas atau kategori kualitas mana yang paling penting
Examples: Sebuah proyek membangun sistem yang
dominan di komputasi, namun memiliki jumlah pengguna yang tetap.
Sebuah proyek membangun sistem dengan kemungkinan jumlah penggunanya yang meningkat besar, namun sulit menentukan jumlahnya.
Perangkingan Kebutuhan QoS Berbasis domain bisnis
Online Shopping Online Banking Online Brokerage
Berbasis harapan pelanggan Stakeholder memerlukan tingkat kualitas dari
aplikasiyang berbasis pada pengalaman mereka yang pernah menggunakan sistem serupa.
Jika kualitas sistem tidak memenuhi harapan pelanggan, maka projek dianggap gagal.
Memprioritaskan Kebutuhan QoS
Mereview Estimasi Kualitas Presentasikan estimasi ke untuk validasi
Beri ruang stakeholder untuk memilih nilai-nilai requirement atau untuk mengubah nilai-nilai berbasis biaya arsitektur saat ini.
Selaraskan sudut pandang stakeholder proyek dan tujuan proyek dengan deliverable proyek aktual
Gunakan prototipe arsitektur untuk memvalidasi kemampuan meraih tujuan QoS.
Merevisi Nilai-Nilai QoS
Mengatur nilai-nilai requirement ke nilai-nilai yang realistis jika dihadapkan dengan isu-isu berikut : Keterbatasan anggaran Keterbatasan waktu Kompleksitas tinggi
Mengatur arsitektur ketika dihadapkan pada isu-isu berikut: Kekurangan dukungan teknologi Kebutuhan akan distribusi ulang layanan Perbaikan diperlukan untuk fleksibilitas atau
kemudahan pengelolaan
Membuat Keputusan Trade-Off
Arsitek seharusnya memiliki kemampuan untuk memilih solusi optimal dari beberapa pilihan
Untuk membuat keputusan trade-off : Identifikasi Invariant Requirements –
requirements yang tidak dapat dikompromikan.
Bandingkan invariant Requirements untuk Trade-offs
SELESAI PERTEMUAN 4
Recommended