Video: Building Apps for Mobile, Gaming, IoT, and more using AWS DynamoDB by Rick Houlihan 2024
Beberapa tahun yang lalu, memilih contoh mana yang digunakan untuk aplikasi adalah suatu urusan yang jelas. Perkhidmatan Web Amazon (AWS) menyediakan beberapa jenis contoh yang bervariasi dalam fesyen utama; iaitu, jika anda mahukan lebih kuasa pemprosesan, anda memilih jenis contoh yang mengandungi lebih banyak ECU, dan ia dibekalkan dengan jumlah memori dan penyimpanan yang lebih besar - cakewalk.
Lebih sukar sekarang untuk menentukan jenis contoh mana yang hendak digunakan, kerana Amazon telah melancarkan (alasannya) beberapa keluarga contoh yang direka untuk membantu anda mengoptimumkan untuk jenis fungsi tertentu.
Sebagai contoh, bagaimana jika aplikasi anda adalah memori intensif, seperti aplikasi analisis tertentu? Anda biasanya terpaksa menggunakan contoh dari keluarga jenis contoh biasa, dan anda terpaksa menggunakan contoh-contoh dengan banyak memori yang membawa jumlah ECU yang tinggi, walaupun aplikasi anda tidak memerlukan banyak kuasa pemprosesan. Itulah caranya.
Jenis imej hanyalah satu sisi duit syiling EC2. Anda juga perlu mempertimbangkan jenis contoh - jenis mesin maya yang boleh anda jalankan di AWS.
Peristiwa berbeza mengikut jumlah tiga jenis sumber pengiraan:
-
Kekuatan pemprosesan: Setiap contoh mempunyai bilangan tertentu EC2 unit pengiraan s (ECU), yang merupakan jumlah kuasa pemprosesan yang diukur (bersamaan dengan kapasiti CPU 1-1-1. 2 GHz 2007 Opteron atau pemproses Xeon 2007). Sebagai contoh, contoh kecil dalam AWS mempunyai unit pengiraan 1 EC2, atau 1 ECU.
-
Memori: Setiap contoh mengandungi jumlah memori tertentu, diukur dalam gigabait. Contoh kecil mempunyai memori sebesar 7GB.
-
Penyimpanan: Setiap contoh mempunyai simpanan cakera tertentu. Contoh kecil mempunyai penyimpanan cakera 170GB.
Bergantung kepada jenis contoh, sesetengah storan cakera yang dikaitkan dengan suatu contoh boleh diberikan dalam bentuk tidak format - sebelum ia boleh digunakan, ia mesti diformat dengan sistem fail yang boleh digunakan oleh sistem operasi contohnya.
-
Sambungan rangkaian: Setiap contoh dibekalkan dengan satu kad antara muka rangkaian maya (NIC), yang digunakan untuk berkomunikasi dengan peranti atau perkhidmatan lain. Setiap contoh diberikan dua alamat IP: satu alamat peribadi yang digunakan semata-mata dalam AWS dan satu alamat awam yang digunakan untuk mengakses Internet untuk contohnya.
Tidak semua jenis contoh hanya mendapat satu NIC. Contoh dalam AWS Virtual Private Cloud (VPC) boleh mempunyai lebih dari satu NIC.
Jelas, di satu pihak, ini adalah dilema positif kerana anda mungkin mendapati satu keluarga yang disesuaikan untuk profil penggunaan aplikasi anda; Di sisi lain (dan ada selalu yang lain), anda perlu menggunakan ketekunan wajar dalam menentukan keluarga contoh yang paling sesuai untuk permohonan anda (yang memerlukan pemahaman ciri-ciri operasi aplikasinya secara terperinci).Dalam dokumentasi EC2, Amazon menerangkan tawaran EC2 contohnya (High-CPU, sebagai contoh) sebagai
keluarga, dan pelbagai saiz contoh (M1, di mana M bermaksud medium, contohnya), sebagai jenis. Dalam pengalaman, hampir semua orang lain (termasuk pekerja AWS) merujuk kepada
keluarga dari dokumentasi AWS sebagai jenis ("Itu contoh jenis High-CPU") dan ketik dari dokumentasi AWS sebagai saiz ("Itu contoh Saiz Besar M1," contohnya). Perbincangan ini menggunakan pendekatan yang lebih biasa kerana cara anda mendengarnya dibincangkan oleh hampir semua orang, tetapi juga kerana ia lebih logik. Dengan itu, melompat ke dalam gambaran jenis contoh:
Mikro:
-
Sangat, sangat kecil; menyediakan jumlah yang terhad dari kedua-dua CPU dan ingatan, walaupun jenis instan Mikro boleh pecah ke 2 ECU untuk tempoh yang singkat. Gunakan jenis ini untuk aplikasi rendah dan tapak web trafik rendah. Jenis Micro juga boleh didapati sebagai sebahagian daripada AWS Free Usage Tier, yang berguna untuk pembelajaran dan eksperimen. Standard:
-
Jenis "purata" dan yang paling banyak digunakan; menawarkan keseimbangan CU, memori, dan cakera yang sesuai untuk aplikasi arus perdana. CPU Tinggi:
-
Pergi untuk CU lebih tinggi daripada memori dan sesuai untuk aplikasi pemprosesan berat. Aplikasi nombor crunching adalah kes penggunaan kanonik untuk contoh CPU yang tinggi. Memori Tinggi:
-
Bumps memori lebih daripada CPU. Jenis ini sangat sesuai untuk aplikasi pangkalan data, aplikasi analisis, dan aplikasi yang bergantung pada caching memori. Jika anda menjalankan produk tier caching seperti memcached, jenis contoh ini adalah pilihan yang baik. Tinggi I / O:
-
Menyediakan high-throughput (input + output - I / O, dengan kata lain) dan sangat sesuai untuk aplikasi yang memindahkan banyak data. Ini adalah pilihan yang baik untuk menjalankan perkhidmatan penyimpanan nilai utama anda, seperti Cassandra atau MongoDB, daripada menggunakan perkhidmatan DynamoDB AWS. Contoh High-I / O mempunyai sambungan throughput tinggi (10 Gbps) dan menggunakan pemacu keadaan pepejal untuk memberikan prestasi cakera tinggi. Compute Cluster:
-
Menyediakan sebilangan besar ECUs bersama dengan rangkaian prestasi tinggi (10 Gbps). Jenis contoh ini, yang sesuai untuk tugas-tugas pengkomputeran berprestasi tinggi (aplikasi yang sangat besar untuk crunching nombor khusus, seperti analisis seismik medan minyak), berjalan pada perkakasan khusus, dengan AMI adat yang menggunakan jenis virtualisasi yang berbeza dan lebih efisien sebagai mesin yang berkait rapat untuk prestasi rangkaian yang lebih baik. GPU Cluster:
-
Analogous to Cluster Compute instances, tetapi menggunakan unit pemprosesan grafis (fikirkan pemproses di dalam kad grafik pada PC anda, jika anda peminat permainan video) yang lebih sesuai untuk jenis aplikasi tertentu, termasuk variasi analisis rangkaian pengkomputeran prestasi tinggi (HPC) tertentu. Contoh GPU cluster beroperasi sama dengan contoh Pengkomputeran Kluster, walaupun dengan cip CPU yang berlainan di dalam server, contoh-contoh ini dijalankan.