Skenario Kinerja Tinggi dan Teroptimasi Biaya
Jawab pertanyaan skenario tentang strategi caching, optimalisasi kueri danau data, pertukaran Reserved vs Spot, serta arsitektur replika baca.
Skenario Kinerja Tinggi dan Teroptimasi Biaya adalah pelajaran Cloud & IT Cert Prep gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Cloud & IT Cert Prep, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Cloud & IT Cert Prep mencakup 4 pelajaran total.
Skenario 1: Caching untuk Mengurangi Beban Database
Skenario: Database RDS MySQL milik situs berita melayani 90% lalu lintas baca untuk konten artikel yang paling banyak berubah sekali dalam satu jam. Rata-rata CPU Database mencapai 80%, biaya meningkat, dan latensi setiap kueri adalah 200ms. Solusi: Tambahkan cluster Redis ElastiCache di depan RDS menggunakan pola lazy loading (cache-aside). Application memeriksa Cache terlebih dahulu—jika terjadi cache hit, artikel yang disimpan dalam Cache dikembalikan dalam waktu <1ms. Jika terjadi cache miss, kueri RDS dijalankan, hasilnya dikembalikan, lalu ditulis ke Cache dengan TTL 1 jam. Hasil yang diharapkan: rasio cache hit 90%, CPU RDS turun hingga di bawah 20%, dan latensi respons yang diambil dari Cache turun hingga di bawah 5ms.
import boto3, json
elasticache = boto3.client('elasticache')
redis_client = None # assume redis-py client connected to ElastiCache endpoint
def get_article(article_id):
cache_key = 'article:' + str(article_id)
# Check cache first
cached = redis_client.get(cache_key)
if cached:
return json.loads(cached) # cache hit: <1ms
# Cache miss: query RDS
article = rds_query('SELECT * FROM articles WHERE id = %s', article_id)
# Write to cache with 1-hour TTL
redis_client.setex(cache_key, 3600, json.dumps(article))
return articleSkenario 2: CloudFront untuk Pengiriman Aset Statis
Skenario: Pengguna di Asia Pasifik mengalami waktu muat 2–4 detik untuk Application web yang di-host di EC2 pada us-east-1. Application menyajikan aset statis berukuran besar (gambar, JS, CSS). Solusi: Tempatkan distribusi CloudFront di depan ALB. Konfigurasikan perilaku Cache untuk jalur /static/* dengan TTL yang panjang (misalnya 1 minggu) agar file statis disimpan di lokasi edge CloudFront yang dekat dengan pengguna di Asia. Permintaan API dinamis melewati Cache dengan TTL=0. Pengguna Asia memuat aset statis dari lokasi edge di Singapura atau Tokyo dalam waktu kurang dari 100ms, alih-alih menunggu perjalanan bolak-balik ke us-east-1.
# CloudFront origin for ALB + separate behaviour for static assets
aws cloudfront create-distribution --distribution-config '{
'Origins': {
'Quantity': 1,
'Items': [{
'Id': 'alb-origin',
'DomainName': 'my-alb.us-east-1.elb.amazonaws.com',
'CustomOriginConfig': {"HTTPSPort": 443, "OriginProtocolPolicy": "https-only"}
}]
},
'CacheBehaviors': {
'Quantity': 1,
'Items': [{
'PathPattern': '/static/*',
'DefaultTTL': 604800,
'MaxTTL': 604800
}]
},
'DefaultCacheBehavior': {"DefaultTTL": 0}
}'Skenario 3: Penyesuaian Ukuran dengan Compute Optimizer
Skenario: Sebuah perusahaan memiliki 500 instance EC2, banyak di antaranya disediakan 3 tahun lalu dengan Type instance yang besar. Tagihan AWS tinggi, tetapi perusahaan tidak mengetahui instance mana yang kapasitasnya berlebihan. Solusi: Aktifkan AWS Compute Optimizer (gratis, menggunakan metrik CloudWatch selama 14 hari). Compute Optimizer menganalisis penggunaan CPU, memori, jaringan, dan disk aktual setiap instance, lalu memberikan rekomendasi penyesuaian ukuran. t3.xlarge dengan rata-rata CPU 8% akan direkomendasikan untuk diturunkan ukurannya menjadi t3.small. Penerapan rekomendasi pada 500 instance biasanya mengurangi biaya EC2 sebesar 20–40%.
# Enable Compute Optimizer at account level
aws compute-optimizer update-enrollment-status \
--status Active
# Get EC2 instance recommendations
aws compute-optimizer get-ec2-instance-recommendations \
--filters Name=Finding,Values=OVER_PROVISIONED \
--query 'instanceRecommendations[*].{Instance: instanceArn, Current: currentInstanceType, Recommended: recommendationOptions[0].instanceType}' \
--output tableSkenario 4: Spot Instance untuk Pemrosesan Batch
Skenario: Sebuah perusahaan genomik menjalankan tugas Batch setiap malam yang berlangsung selama 8 jam dan dapat dicoba kembali jika terhenti. Biaya EC2 On-Demand untuk tugas ini adalah $10.000 per bulan. Solusi: Gunakan EC2 Spot Instance untuk fleet pemrosesan Batch. Spot Instance adalah kapasitas EC2 yang tidak terpakai dan tersedia dengan diskon hingga 90%. Untuk tugas Batch yang toleran terhadap interupsi, gunakan AWS Batch yang secara otomatis memasukkan kembali tugas Spot yang gagal ke Queue dan menggunakan fleet campuran (Spot + fallback On-Demand minimal). Penghematan yang diharapkan: pengurangan biaya Compute sebesar 70–90%—dari $10.000 menjadi $1.000–3.000 per bulan.
# AWS Batch compute environment with Spot instances
aws batch create-compute-environment \
--compute-environment-name spot-genomics \
--type MANAGED \
--state ENABLED \
--compute-resources '{
"type": "SPOT",
"bidPercentage": 60,
"minvCpus": 0,
"maxvCpus": 256,
"instanceTypes": ["optimal"],
"subnets": ["subnet-1a", "subnet-1b"],
"securityGroupIds": ["sg-batch"],
"instanceRole": "arn:aws:iam::123456789012:instance-profile/ecsInstanceRole",
"spotIamFleetRole": "arn:aws:iam::123456789012:role/AmazonEC2SpotFleetRole"
}' \
--service-role arn:aws:iam::123456789012:role/AWSBatchServiceRoleSkenario 5: DynamoDB On-Demand untuk Lalu Lintas Variabel
Skenario: Leaderboard permainan menggunakan DynamoDB dengan throughput yang disediakan. Saat peluncuran permainan, lalu lintas melonjak 50 kali lipat dan Table membatasi permintaan. Di luar waktu peluncuran, throughput mendekati nol—kapasitas yang disediakan terbuang. Solusi: Alihkan DynamoDB ke mode kapasitas On-Demand. On-Demand langsung diskalakan ke throughput apa pun tanpa perencanaan kapasitas manual dan mengenakan biaya per permintaan, bukan per unit yang disediakan. Anda hanya membayar permintaan yang dibuat—tanpa biaya kapasitas menganggur di antara peluncuran. On-Demand menukar biaya per permintaan yang sedikit lebih tinggi dengan jaminan tidak ada pembatasan permintaan dan tanpa pengelolaan kapasitas.
# Switch existing DynamoDB table to On-Demand mode
aws dynamodb update-table \
--table-name Leaderboard \
--billing-mode PAY_PER_REQUEST
# Verify the change
aws dynamodb describe-table \
--table-name Leaderboard \
--query 'Table.BillingModeSummary.BillingMode'Skenario 6: S3 Intelligent-Tiering untuk Akses yang Tidak Dapat Diprediksi
Skenario: Sebuah perusahaan menyimpan jutaan gambar buatan pengguna di S3 Standard. Pola aksesnya tidak dapat diprediksi—sebagian gambar diakses setiap hari, sementara gambar lainnya tidak diakses selama berbulan-bulan. Mereka ingin mengurangi biaya penyimpanan tanpa mengelola kebijakan siklus hidup secara manual. Solusi: Gunakan S3 Intelligent-Tiering. Layanan ini secara otomatis memindahkan objek antar-tingkat berdasarkan pola akses: Frequent Access (Standard), Infrequent Access (tidak diakses selama 30+ hari), Archive Instant Access (90+ hari), dan Archive Access (90+ hari, harus diaktifkan secara opsional). Tidak ada biaya pengambilan dalam Intelligent-Tiering. Biaya pemantauannya adalah $0.0025 per 1.000 objek per bulan—sangat kecil untuk dataset berukuran besar.
# Move objects to Intelligent-Tiering via lifecycle policy
aws s3api put-bucket-lifecycle-configuration \
--bucket user-images-bucket \
--lifecycle-configuration '{
"Rules": [{
"ID": "AutoTier",
"Status": "Enabled",
"Filter": {},
"Transitions": [{
"Days": 0,
"StorageClass": "INTELLIGENT_TIERING"
}]
}]
}'Skenario 7: Perbandingan Trade-off Athena dan Redshift
Skenario: Sebuah perusahaan rintisan ingin melakukan kueri pada tabel data lake S3. Mereka menjalankan sekitar 10 kueri ad hoc per minggu. Seorang vendor mengusulkan Amazon Redshift dengan klaster dc2.large. Solusi untuk perusahaan rintisan: Mulailah dengan Amazon Athena—tanpa biaya infrastruktur, dan Anda hanya membayar data yang dipindai (sekitar $5/TB). Sepuluh kueri per minggu pada data Parquet yang dipartisi dengan baik mungkin berbiaya kurang dari $5 per bulan. Redshift dc2.large berbiaya sekitar $180 per bulan jika dijalankan terus-menerus. Redshift baru menjadi lebih hemat biaya ketika konkurensi kueri tinggi (50+ kueri/hari) atau diperlukan respons dalam waktu kurang dari satu detik. Kata kunci 'ad hoc, infrequent' secara jelas mengarah ke Athena.
# Athena cost estimate for 10 queries/week:
# Assume each query scans 5 GB of Parquet data
# 10 queries x 5 GB = 50 GB / week = 200 GB / month
# Athena cost: 200 GB x $0.005/GB = $1.00 / month
#
# Redshift dc2.large cost: $0.25/hr x 24hr x 30days = $180/month
#
# For 10 queries/week -> Athena saves $179/month
# Breakeven: when queries scan >36 TB/month or concurrency >50/day -> use RedshiftSkenario 8: Pemilihan Jenis Volume EBS
Skenario: Sebuah server basis data relasional memerlukan 64.000 IOPS dengan latensi rendah yang konsisten. Volume EBS gp3 saat ini mencapai batas IOPS-nya. Solusi: Tingkatkan ke io2 Block Express (jenis volume EBS yang dirancang untuk basis data yang intensif terhadap I/O). io2 Block Express mendukung hingga 256.000 IOPS per volume dan latensi kurang dari satu milidetik. Biayanya lebih mahal daripada gp3 ($0.125/GB + $0.065/IOPS yang disediakan/bulan), tetapi merupakan satu-satunya opsi EBS yang memenuhi kebutuhan 64.000+ IOPS. Untuk beban kerja basis data yang sangat sensitif terhadap latensi, ketika batas 16.000 IOPS gp3 tidak mencukupi, io2 adalah satu-satunya pilihan EBS yang layak.
# Create io2 Block Express volume with 64,000 IOPS
aws ec2 create-volume \
--volume-type io2 \
--size 500 \
--iops 64000 \
--availability-zone us-east-1a \
--encrypted
# EBS volume type IOPS limits summary:
# gp3: up to 16,000 IOPS (default 3,000, configurable)
# io1: up to 64,000 IOPS (on Nitro instances)
# io2 Block Express: up to 256,000 IOPS
# st1 (throughput HDD): no IOPS focus, max 500 MB/s throughput
# sc1 (cold HDD): lowest cost, 250 MB/s max, rarely accessed dataSkenario 9: Reserved Instances untuk Beban Kerja yang Stabil
Skenario: Sebuah perusahaan menjalankan 20 instans EC2 r6i.4xlarge secara terus-menerus untuk aplikasi produksi dan memperkirakan tidak ada perubahan kebutuhan selama 3 tahun. Pengeluaran On-Demand mereka saat ini adalah $80.000/tahun untuk instans tersebut. Solusi: Beli Reserved Instances Standar 3 tahun (atau Compute Savings Plans) dengan pembayaran All Upfront untuk mendapatkan diskon maksimum. Reserved Instances Standar menawarkan diskon hingga 72% dibandingkan On-Demand. Instans berjalan 24/7 dengan beban kerja yang dapat diprediksi—profil klasik untuk Reserved Instances. Perkiraan pengurangan biaya: $80.000 × 0.72 = $22.400/tahun dibandingkan $80.000/tahun secara On-Demand—menghemat $57.600/tahun.
# Reserved Instance purchase decision matrix:
# On-Demand: No commitment, highest price, any workload
# 1-yr RI (All Up): 40% discount, 1-yr commitment, specific instance type
# 3-yr RI (All Up): 60-72% discount, 3-yr commitment, best for stable workloads
# Compute Savings Plan: 66% max discount, flexible instance family/size/Region
# EC2 Spot: 90% discount, interruptible, batch/stateless only
#
# Rule: if usage > 70% of the time for >1 year -> buy RI or Savings Plan
# Rule: if usage < 50% -> stick with On-Demand
# Rule: if usage pattern is steady 3yr -> 3yr RI All Upfront maximises savingsSkenario 10: Biaya Lambda dibandingkan EC2 untuk Lalu Lintas yang Berubah-ubah
Skenario: Sebuah perusahaan menjalankan API REST pada instans EC2 t3.micro dengan biaya $8/bulan. API tersebut menerima 1 juta permintaan/bulan, dan setiap permintaan membutuhkan waktu 100 md untuk diproses. Tim bertanya apakah Lambda akan lebih murah. Analisis: Harga Lambda: 1.000.000 permintaan × $0.0000002 = $0.20 (biaya permintaan) + 1.000.000 × 0.1 dtk × memori 128 MB × tarif = sekitar $1.67 (biaya komputasi) = sekitar $1.87/bulan. Lambda lebih murah daripada EC2 untuk API dengan lalu lintas rendah ini. Ketika lalu lintas meningkat melebihi sekitar 40 juta permintaan/bulan, EC2 menjadi lebih murah. Gunakan Kalkulator Biaya Lambda untuk menemukan titik impas setiap beban kerja.
# Lambda vs EC2 cost rough break-even calculation:
# Lambda costs: $0.20 per 1M requests + $0.0000166667 per GB-second
# At 128 MB memory, 100ms duration:
# GB-seconds per request = 0.128 GB x 0.1s = 0.0128 GB-s
# Cost per request = $0.0000166667 x 0.0128 = $0.000000213 compute
# + $0.0000002 request fee = $0.000000413 total per request
#
# EC2 t3.micro: $0.0104/hr x 720 hrs = $7.49/month
# Break-even: $7.49 / $0.000000413 = ~18 million requests/month
# Below 18M requests/month -> Lambda cheaper
# Above 18M requests/month -> EC2 cheaper (if utilisation is high)Skenario 11: Global Accelerator untuk API Dinamis
Skenario: Sebuah API global yang melayani pengguna di Eropa, US, dan Asia mengalami latensi yang tidak konsisten karena lalu lintas melewati jalur internet yang tidak dapat diprediksi. CloudFront sempat dipertimbangkan, tetapi respons API bersifat dinamis (tidak dapat di-cache). Solusi: Gunakan AWS Global Accelerator. Layanan ini menyediakan dua alamat IP anycast statis secara global. Lalu lintas pengguna memasuki backbone global AWS di lokasi edge AWS terdekat, lalu berjalan melalui jaringan privat AWS menuju asal di Region target—sehingga menghindari bagian tengah internet publik yang padat. Global Accelerator meningkatkan waktu respons API dinamis sebesar 20–60% dan menyediakan pengalihan otomatis seketika ketika Endpoint suatu Region menjadi tidak sehat.
# Create a Global Accelerator for an ALB
aws globalaccelerator create-accelerator \
--name my-api-accelerator \
--ip-address-type IPV4 \
--enabled
# Add a listener and endpoint group pointing to ALB
aws globalaccelerator create-listener \
--accelerator-arn arn:aws:globalaccelerator::123:accelerator/abc \
--protocol TCP \
--port-ranges '[{"FromPort": 443, "ToPort": 443}]'
# Endpoint group in us-east-1 with ALB
aws globalaccelerator create-endpoint-group \
--listener-arn arn:aws:globalaccelerator::123:listener/xyz \
--endpoint-group-region us-east-1 \
--endpoint-configurations '[{"EndpointId": "arn:aws:elasticloadbalancing:...", "Weight": 100}]'Pemeriksaan Singkat
Uji pemahaman Anda tentang konsep AWS Solutions Architect (SAA-C03) dari pelajaran ini.
Ringkasan Pelajaran
Dalam pelajaran ini, Anda mempelajari berbagai skenario yang mencakup: lazy loading ElastiCache untuk mengurangi CPU RDS dari 80% menjadi 20%, Spot Instances dan AWS Batch untuk menghemat biaya pekerjaan batch sebesar 70–90%, Athena untuk kueri ad hoc yang jarang dilakukan dibandingkan Redshift untuk analitik dengan konkurensi tinggi, serta S3 Intelligent-Tiering untuk pola akses yang tidak dapat diprediksi tanpa biaya pengambilan. Berikutnya adalah capstone terakhir: ujian mini dengan domain campuran dan batas waktu untuk mengukur kesiapan Anda.
Belajar Cloud & IT Cert Prep dengan tutor AI — gratis
Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.
- Kursus
- 150
- Pelajaran
- 600
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Skenario Kinerja Tinggi dan Teroptimasi Biaya” gratis?
Ya — teks lengkap “Skenario Kinerja Tinggi dan Teroptimasi Biaya” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Cloud & IT Cert Prep, upgrade ke CoddyKit PRO. Kursus Cloud & IT Cert Prep mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Skenario Kinerja Tinggi dan Teroptimasi Biaya”?
Jawab pertanyaan skenario tentang strategi caching, optimalisasi kueri danau data, pertukaran Reserved vs Spot, serta arsitektur replika baca. Kamu berlatih Cloud & IT Cert Prep dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Cloud & IT Cert Prep?
Tidak diperlukan pengalaman sebelumnya. Cloud & IT Cert Prep di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.
Berapa lama pelajaran “Skenario Kinerja Tinggi dan Teroptimasi Biaya” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Cloud & IT Cert Prep ini?
Ya. Setiap pelajaran Cloud & IT Cert Prep menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Skenario Arsitektur Aman
- Skenario Arsitektur Tangguh dan Berketersediaan Tinggi
- Skenario Kinerja Tinggi dan Teroptimasi Biaya
- Ujian Mini Lengkap Lintas Domain