

# Efisiensi kinerja
<a name="performance-efficiency"></a>

 Pilar Efisiensi Kinerja menyertakan kemampuan untuk menggunakan sumber daya komputasi dengan efisien agar memenuhi persyaratan sistem, dan untuk memelihara efisiensi tersebut seiring dengan perubahan permintaan dan perkembangan teknologi. 

 Pilar efisiensi kinerja memberikan gambaran umum tentang prinsip, praktik terbaik, dan pertanyaan desain. Anda dapat menemukan panduan preskriptif tentang implementasi di [dokumen resmi Pilar Efisiensi Kinerja](https://docs.aws.amazon.com/wellarchitected/latest/performance-efficiency-pillar/welcome.html?ref=wellarchitected-wp). 

**Topics**
+ [Prinsip desain](perf-dp.md)
+ [Definisi](perf-def.md)
+ [Praktik terbaik](perf-bp.md)
+ [Sumber daya](perf-resources.md)

# Prinsip desain
<a name="perf-dp"></a>

 Ada lima prinsip desain untuk efisiensi kinerja di cloud: 
+  **Demokratisasikan teknologi canggih**: Jadikan implementasi teknologi canggih lebih lancar untuk tim Anda dengan mendelegasikan tugas kompleks ke vendor cloud Anda. Daripada bertanya kepada tim IT Anda tentang hosting dan menjalankan teknologi baru, pertimbangkan untuk memanfaatkan teknologi sebagai layanan. Misalnya, basis data NoSQL, transkode media, dan machine learning merupakan teknologi yang memerlukan keahlian khusus. Di cloud, teknologi ini menjadi layanan yang dapat digunakan tim Anda, sehingga mereka dapat berfokus pada pengembangan produk, bukan penyediaan dan manajemen sumber daya. 
+  **Menjangkau dunia dalam hitungan menit**: Men-deploy beban kerja ke beberapa Wilayah AWS di seluruh dunia untuk menyediakan latensi yang lebih rendah dan pengalaman yang lebih baik bagi pelanggan dengan biaya minimal. 
+  **Menggunakan arsitektur nirserver**: Arsitektur nirserver akan meniadakan perlunya menjalankan dan memelihara server fisik untuk aktivitas komputasi tradisional. Misalnya, layanan penyimpanan nirserver dapat bertindak sebagai situs web statis (tanpa memerlukan server web) dan layanan peristiwa dapat melakukan hosting kode. Dengan demikian, beban operasional untuk mengelola server fisik tidak lagi ada, dan biaya transaksional berkurang karena layanan terkelola dioperasikan pada skala cloud. 
+  **Bereksperimen lebih sering**: Dengan sumber daya virtual dan otomatis, Anda dapat melakukan pengujian komparatif dengan cepat menggunakan berbagai tipe instans, penyimpanan, atau konfigurasi. 
+  **Mempertimbangkan simpati mekanis**: Pahami cara layanan cloud digunakan dan selalu gunakan pendekatan teknologi yang selaras dengan tujuan beban kerja Anda. Misalnya, pertimbangkan pola akses data saat Anda memilih pendekatan basis data atau penyimpanan. 

# Definisi
<a name="perf-def"></a>

 Berikut lima area praktik terbaik untuk efisiensi kinerja di cloud: 
+  **Pemilihan arsitektur** 
+  **Komputasi dan perangkat keras** 
+  **Manajemen data** 
+  **Jaringan dan pengiriman konten** 
+  **Proses dan budaya** 

 Gunakan pendekatan yang didorong data untuk membangun arsitektur dengan kinerja tinggi. Kumpulkan data tentang semua aspek arsitektur, dari desain tingkat tinggi hingga pemilihan dan konfigurasi jenis sumber daya. 

 Meninjau pilihan Anda secara rutin akan memastikan bahwa Anda memanfaatkan Cloud AWS yang terus berkembang. Pemantauan akan memastikan Anda mengetahui adanya penyimpangan dari kinerja yang diharapkan. Buat kompensasi dalam arsitektur untuk meningkatkan kinerja, seperti menggunakan kompresi atau caching, atau persyaratan konsistensi yang lebih fleksibel. 

# Praktik terbaik
<a name="perf-bp"></a>

**Topics**
+ [Pemilihan arsitektur](perf-arch.md)
+ [Komputasi dan perangkat keras](perf-compute.md)
+ [Manajemen data](perf-data.md)
+ [Jaringan dan pengiriman konten](perf-networking.md)
+ [Proses dan budaya](perf-process.md)

# Pemilihan arsitektur
<a name="perf-arch"></a>

 Solusi yang optimal bervariasi untuk beban kerja tertentu, dan solusi sering kali menggabungkan beberapa pendekatan. Beban kerja Well-Architected menggunakan beberapa solusi dan memungkinkan berbagai fitur guna meningkatkan kinerja. 

 Sumber daya AWS tersedia dalam berbagai jenis dan konfigurasi, sehingga memudahkan Anda menemukan pendekatan yang sesuai kebutuhan. Anda juga dapat menemukan opsi yang tidak mudah dicapai dengan infrastruktur on-premise. Misalnya, layanan terkelola seperti Amazon DynamoDB menyediakan basis data NoSQL terkelola penuh dengan latensi satu digit milidetik pada skala berapa pun. 

 Pertanyaan berikut ini berfokus pada semua pertimbangan untuk efisiensi kinerja. (Untuk melihat daftar pertanyaan dan praktik terbaik efisiensi kinerja, buka [Appendix](a-performance-efficiency.md).). 


| PERF 1:  How do you select appropriate cloud resources and architecture patterns for your workload? | 
| --- | 
|  Often, multiple approaches are required for more effective performance across a workload. Well-Architected systems use multiple solutions and features to improve performance.  | 

# Komputasi dan perangkat keras
<a name="perf-compute"></a>

 Pilihan komputasi yang optimal untuk beban kerja tertentu bervariasi berdasarkan desain aplikasi, pola penggunaan, dan pengaturan konfigurasi. Arsitektur dapat menggunakan pilihan komputasi yang berbeda untuk berbagai komponen, dan memungkinkan fitur yang berbeda untuk meningkatkan kinerja. Memilih pilihan komputasi yang salah untuk arsitektur dapat menyebabkan efisiensi kinerja menjadi lebih rendah. 

 Di AWS, komputasi tersedia dalam tiga bentuk: instans, kontainer, dan fungsi: 
+  **Instans** adalah server tervirtualisasi, yang memungkinkan Anda mengubah kemampuannya hanya dengan menekan tombol atau melakukan panggilan API. Karena keputusan sumber daya di cloud tidaklah tetap, Anda dapat bereksperimen dengan jenis server yang berbeda-beda. Di AWS, instans server virtual ini berasal dari kelompok dan ukuran yang berbeda, dan menawarkan berbagai kemampuan, termasuk solid-state drive (SSD) dan unit pemrosesan grafis (GPU). 
+  **Kontainer** adalah metode virtualisasi sistem operasi yang memungkinkan Anda menjalankan aplikasi dan dependensinya dalam proses yang terisolasi sumber daya. AWS Fargate adalah komputasi nirserver untuk kontainer atau Amazon EC2 yang dapat digunakan jika Anda memerlukan kontrol atas penginstalan, konfigurasi, dan manajemen lingkungan komputasi. Anda juga dapat memilih dari berbagai platform pengaturan kontainer: Amazon Elastic Container Service (ECS) atau Amazon Elastic Kubernetes Service (EKS). 
+  **Fungsi ** mengabstraksi lingkungan yang dijalankan dari kode yang ingin Anda terapkan. Misalnya, AWS Lambda memungkinkan Anda menjalankan kode tanpa menjalankan instans. 

 Pertanyaan berikut ini berfokus pada semua pertimbangan untuk efisiensi kinerja. 


| PERF 2:  How do you select and use compute resources in your workload? | 
| --- | 
| The more efficient compute solution for a workload varies based on application design, usage patterns, and configuration settings. Architectures can use different compute solutions for various components and turn on different features to improve performance. Selecting the wrong compute solution for an architecture can lead to lower performance efficiency. | 

# Manajemen data
<a name="perf-data"></a>

 Solusi manajemen data yang optimal untuk sistem tertentu bervariasi berdasarkan jenis data (blok, file, atau objek), pola akses (acak atau berurutan), throughput yang diperlukan, frekuensi akses (online, offline, arsip), frekuensi pembaruan (WORM, dinamis), dan ketersediaan serta batasan daya tahan. Beban kerja Well-Architected menggunakan penyimpanan data yang dibuat khusus yang memungkinkan berbagai fitur untuk meningkatkan kinerja. 

 Di AWS, penyimpanan tersedia dalam tiga bentuk: objek, blok, dan file: 
+  **Penyimpanan objek** menyediakan platform yang dapat diskalakan dan berdaya tahan agar data dapat diakses dari lokasi internet mana pun untuk konten buatan pengguna, arsip aktif, komputasi nirserver, penyimpanan Big Data, atau pencadangan dan pemulihan. Amazon Simple Storage Service (Amazon S3) adalah layanan penyimpanan objek yang menawarkan skalabilitas, ketersediaan data, keamanan, dan kinerja yang terdepan dalam industri. Amazon S3 didesain untuk ketahanan hingga 99,999999999% (11 angka 9), dan menyimpan data jutaan aplikasi dari berbagai perusahaan di seluruh dunia. 
+  **Penyimpanan blok** menyediakan penyimpanan blok dengan ketersediaan tinggi, konsisten, dan berlatensi rendah untuk setiap host virtual dan serupa dengan penyimpanan terpasang langsung (DAS) atau Storage Area Network (SAN). Amazon Elastic Block Store (Amazon EBS) didesain untuk beban kerja yang memerlukan penyimpanan persisten yang dapat diakses oleh instans EC2 yang membantu Anda menyesuaikan aplikasi dengan kapasitas, kinerja, dan biaya penyimpanan yang tepat. 
+  **Penyimpanan file** menyediakan akses ke sistem file bersama di berbagai sistem. Solusi penyimpanan file seperti Amazon Elastic File System (Amazon EFS) ideal untuk kasus penggunaan seperti repositori konten besar, lingkungan pengembangan, penyimpanan media, atau direktori beranda pengguna. Amazon FSx menjadikannya efisien dan hemat biaya untuk meluncurkan dan menjalankan sistem file populer sehingga Anda dapat memanfaatkan rangkaian fitur yang kaya dan kinerja cepat dari sistem file open source dan berlisensi komersial yang banyak digunakan. 

 Pertanyaan berikut ini berfokus pada semua pertimbangan untuk efisiensi kinerja. 


| PERF 3:  How do you store, manage, and access data in your workload? | 
| --- | 
|  The more efficient storage solution for a system varies based on the kind of access operation (block, file, or object), patterns of access (random or sequential), required throughput, frequency of access (online, offline, archival), frequency of update (WORM, dynamic), and availability and durability constraints. Well-architected systems use multiple storage solutions and turn on different features to improve performance and use resources efficiently.  | 

# Jaringan dan pengiriman konten
<a name="perf-networking"></a>

 Solusi jaringan optimal untuk beban kerja bervariasi berdasarkan latensi, persyaratan throughput, jitter, dan bandwith. Batas fisik, seperti sumber daya on-premise atau pengguna, menentukan opsi lokasi. Batas-batas ini dapat diimbangi dengan penempatan sumber daya atau lokasi edge. 

 Di AWS, jaringan dibuat menjadi virtual dan tersedia dalam berbagai jenis dan konfigurasi yang berbeda-beda. Hal ini membuatnya lebih mudah untuk disesuaikan dengan kebutuhan jaringan Anda. AWS menawarkan fitur produk (misalnya, Enhanced Networking, instans yang dioptimalkan Amazon EC2, akselerasi transfer Amazon S3, dan Amazon CloudFront yang dinamis) untuk mengoptimalkan lalu lintas jaringan. AWS juga menawarkan fitur jaringan (misalnya perutean latensi Amazon Route 53, endpoint Amazon VPC, AWS Direct Connect, dan AWS Global Accelerator) untuk mengurangi jarak jaringan atau jitter. 

 Pertanyaan berikut ini berfokus pada semua pertimbangan untuk efisiensi kinerja. 


| PERF 4:  How do you select and configure networking resources in your workload? | 
| --- | 
|  This question includes guidance and best practices to design, configure, and operate efficient networking and content delivery solutions in the cloud.  | 

# Proses dan budaya
<a name="perf-process"></a>

 Saat merancang beban kerja, ada prinsip dan praktik yang dapat Anda adopsi untuk membantu Anda menjalankan beban kerja cloud berkinerja tinggi yang efisien dengan lebih baik. Untuk mengadopsi budaya yang mendorong efisiensi kinerja beban kerja cloud, pertimbangkan prinsip dan praktik utama berikut. 

 Pertimbangkan prinsip-prinsip utama berikut untuk membangun budaya ini: 
+  **Infrastruktur sebagai kode:** Tentukan infrastruktur Anda sebagai kode menggunakan pendekatan seperti templat AWS CloudFormation. Penggunaan templat memungkinkan Anda untuk menempatkan infrastruktur di kontrol sumber bersama dengan konfigurasi dan kode aplikasi Anda. Ini memungkinkan Anda untuk menerapkan praktik yang sama yang Anda gunakan untuk mengembangkan perangkat lunak di infrastruktur Anda sehingga Anda dapat mengulang dengan cepat. 
+  **Pipeline deployment:** Gunakan alur integrasi berkelanjutan/deployment berkelanjutan (CI/CD) (misalnya, repositori kode sumber, sistem pembangunan, deployment, dan otomatisasi pengujian) untuk men-deploy infrastruktur Anda. Ini memungkinkan Anda untuk melakukan deployment dengan cara yang dapat diulang, konsisten, dan murah saat Anda melakukan pengulangan. 
+  **Metrik yang terdefinisi dengan baik:** Siapkan dan pantau metrik untuk menangkap indikator kinerja utama (KPI). Kami menyarankan Anda menggunakan metrik teknis dan metrik bisnis. Untuk situs web atau aplikasi seluler, metrik utama menangkap waktu ke bita pertama atau rendering. Metrik lain yang umumnya berlaku antara lain, hitungan thread, laju pengumpulan sampah, dan keadaan tunggu. Metrik bisnis, seperti biaya kumulatif agregat per permintaan, dapat memberikan peringatan kepada Anda tentang berbagai cara untuk menghemat biaya. Pertimbangkan dengan hati-hati bagaimana Anda akan menafsirkan metrik. Misalnya, Anda dapat memilih nilai maksimum atau persentil 99 dan bukannya nilai rata-rata. 
+  **Pengujian kinerja otomatis:** Sebagai bagian dari proses deployment Anda, mulai uji kinerja secara otomatis setelah pengujian yang berjalan lebih cepat berhasil dilewati. Otomatisasi harus menciptakan lingkungan baru, menyiapkan kondisi awal seperti data uji, kemudian jalankan serangkaian uji beban dan tolok ukur. Hasil dari pengujian-pengujian ini harus dikaitkan kembali dengan pembangunan sehingga Anda dapat melacak perubahan performa seiring waktu. Untuk pengujian yang lama, Anda dapat membuat ini sebagai bagian dari pipeline yang asinkron dari sisa pembangunan. Atau, Anda dapat menjalankan uji kinerja semalaman menggunakan Instans Spot Amazon EC2. 
+  **Pembuatan beban:** Anda harus membuat serangkaian skrip pengujian yang mereplikasi perjalanan pengguna sintetis atau yang dicatat sebelumnya. Skrip ini harus idempoten dan tidak dipasangkan, dan Anda mungkin harus menyertakan skrip *prapemanasan* untuk mendapatkan hasil yang valid. Sejauh dapat dilakukan, skrip pengujian Anda harus mereplikasi perilaku penggunaan dalam produksi. Anda dapat menggunakan solusi perangkat lunak sebagai layanan (SaaS) atau perangkat lunak untuk membuat beban. Pertimbangkan untuk menggunakan solusi [AWS Marketplace](https://aws.amazon.com/marketplace/) dan [Instans Spot](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances.html)— solusi ini dapat menjadi cara yang hemat biaya untuk membuat beban. 
+  **Visibilitas kinerja:** Metrik utama harus terlihat oleh tim Anda, terutama metrik terhadap setiap versi build. Tindakan ini memungkinkan Anda melihat setiap tren positif atau negatif yang signifikan seiring waktu. Anda juga harus menampilkan metrik atas jumlah kesalahan atau pengecualian untuk memastikan Anda menguji sistem yang berfungsi. 
+ **Visualisasi:** Gunakan teknik visualisasi yang memperjelas di mana masalah kinerja, hot spot, status tunggu, atau pemanfaatan rendah terjadi. Lapisi diagram arsitektur dengan metrik kinerja — kode atau grafik panggilan dapat membantu mengidentifikasi masalah dengan cepat. 
+  **Proses peninjauan rutin:** Arsitektur yang berkinerja buruk biasanya disebabkan oleh tidak adanya atau rusaknya proses peninjauan kinerja. Jika arsitektur Anda memiliki kinerja buruk, implementasi proses peninjauan kinerja memungkinkan Anda mendorong peningkatan berulang. 
+  **Optimisasi berkelanjutan:** Adopsi budaya untuk terus mengoptimalkan efisiensi kinerja beban kerja cloud Anda. 

 Pertanyaan berikut ini berfokus pada semua pertimbangan untuk efisiensi kinerja. 


| PERF 5:  What process do you use to support more performance efficiency for your workload?  | 
| --- | 
|  When architecting workloads, there are principles and practices that you can adopt to help you better run efficient high-performing cloud workloads. To adopt a culture that fosters performance efficiency of cloud workloads, consider these key principles and practices.  | 

# Sumber daya
<a name="perf-resources"></a>

 Lihat referensi berikut untuk mempelajari selengkapnya tentang praktik terbaik kami untuk Efisiensi Kinerja. 

## Dokumentasi
<a name="perf-doc"></a>
+  [Amazon S3 Optimisasi Kinerja](https://docs.aws.amazon.com/AmazonS3/latest/dev/PerformanceOptimization.html?ref=wellarchitected-wp) 
+  [Amazon EBS Kinerja Volume](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSPerformance.html?ref=wellarchitected-wp) 

## Laporan resmi
<a name="perf-wp"></a>
+  [Pilar Efisiensi Kinerja](https://docs.aws.amazon.com/wellarchitected/latest/performance-efficiency-pillar/welcome.html?ref=wellarchitected-wp) 

## Video:
<a name="perf-video"></a>
+  [AWS re:Invent 2019: Landasan Amazon EC2 (CMP211-R2)](https://www.youtube.com/watch?v=kMMybKqC2Y0&ref=wellarchitected-wp) 
+  [AWS re:Invent 2019: Sesi kepemimpinan: Status penyatuan penyimpanan (STG201-L)](https://www.youtube.com/watch?v=39vAsGi6eEI&ref=wellarchitected-wp) 
+  [AWS re:Invent 2019: Sesi kepemimpinan: Basis data yang dibuat khusus AWS (DAT209-L)](https://www.youtube.com/watch?v=q81TVuV5u28&ref=wellarchitected-wp) 
+  [AWS re:Invent 2019: Konektivitas ke AWS dan arsitektur jaringan AWS hibrid (NET317-R1)](https://www.youtube.com/watch?v=eqW6CPb58gs&ref=wellarchitected-wp) 
+  [AWS re:Invent 2019: Memberdayakan Amazon EC2 generasi berikutnya: Mendalami sistem Nitro (CMP303-R2)](https://www.youtube.com/watch?v=rUY-00yFlE4&ref=wellarchitected-wp) 
+  [AWS re:Invent 2019: Menaikkan skala ke 10 juta pengguna pertama Anda (ARC211-R)](https://www.youtube.com/watch?v=kKjm4ehYiMs&ref=wellarchitected-wp) 