Whitepaper ini hanya untuk referensi sejarah. Beberapa konten mungkin sudah usang dan beberapa tautan mungkin tidak tersedia.
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Pengantar
Aplikasi multi-tier (three-tier, n-tier, dan sebagainya.) telah menjadi pola arsitektur landasan selama beberapa dekade, dan tetap menjadi pola populer untuk aplikasi yang dihadapi pengguna. Meskipun bahasa yang digunakan untuk menggambarkan arsitektur multi-tier bervariasi, aplikasi multi-tier umumnya terdiri dari komponen-komponen berikut:
-
Tingkat presentasi: Komponen yang berinteraksi langsung dengan pengguna (misalnya, halaman web dan aplikasi UIs seluler).
-
Tingkat logika: Kode yang diperlukan untuk menerjemahkan tindakan pengguna ke fungsionalitas aplikasi (misalnya, operasi database CRUD dan pemrosesan data).
-
Tingkat data: Media penyimpanan (misalnya, database, penyimpanan objek, cache, dan sistem file) yang menyimpan data yang relevan dengan aplikasi.
Pola arsitektur multi-tier menyediakan kerangka kerja umum untuk memastikan komponen aplikasi yang dipisahkan dan dapat diskalakan secara independen dapat dikembangkan, dikelola, dan dipelihara secara terpisah (seringkali oleh tim yang berbeda).
Sebagai konsekuensi dari pola ini di mana jaringan (tingkat harus membuat panggilan jaringan untuk berinteraksi dengan tingkat lain) bertindak sebagai batas antara tingkatan, mengembangkan aplikasi multi-tier sering membutuhkan pembuatan banyak komponen aplikasi yang tidak terdiferensiasi. Beberapa komponen ini meliputi:
-
Kode yang mendefinisikan antrian pesan untuk komunikasi antar tingkatan
-
Kode yang mendefinisikan antarmuka pemrograman aplikasi (API) dan model data
-
Kode terkait keamanan yang memastikan akses yang tepat ke aplikasi
Semua contoh ini dapat dianggap sebagai komponen “boilerplate” yang, meskipun diperlukan dalam aplikasi multi-tier, tidak sangat bervariasi dalam implementasinya dari satu aplikasi ke aplikasi berikutnya.
AWS menawarkan sejumlah layanan yang memungkinkan pembuatan aplikasi multi-tier tanpa server — sangat menyederhanakan proses penerapan aplikasi tersebut ke produksi dan menghapus overhead yang terkait dengan manajemen server tradisional. Amazon API Gateway
Integrasi Amazon API Gateway dengan AWS Lambda memungkinkan fungsi kode yang ditentukan pengguna untuk dimulai secara langsung melalui permintaan HTTPS. Terlepas dari volume permintaan, API Gateway dan Lambda menskalakan secara otomatis untuk mendukung kebutuhan aplikasi Anda dengan tepat (lihat kuota API Gateway Amazon API Gateway dan catatan penting untuk informasi skalabilitas). Dengan menggabungkan kedua layanan ini, Anda dapat membuat tingkat yang memungkinkan Anda untuk menulis hanya kode yang penting untuk aplikasi Anda dan tidak fokus pada berbagai aspek lain yang tidak membedakan dalam menerapkan arsitektur multi-tier seperti arsitek untuk ketersediaan tinggi, menulis klien, server dan manajemen sistem operasi (OS) SDKs, penskalaan, dan penerapan mekanisme otorisasi klien.
API Gateway dan Lambda memungkinkan pembuatan tingkat logika tanpa server. Bergantung pada persyaratan aplikasi Anda, AWS juga menyediakan opsi untuk membuat tingkat presentasi tanpa server (misalnya, dengan Amazon dan CloudFrontAmazon
Whitepaper ini berfokus pada contoh paling populer dari arsitektur multi-tier, aplikasi web tiga tingkat. Namun, Anda dapat menerapkan pola multi-tier ini jauh melampaui aplikasi web tiga tingkat yang khas.
Ikhtisar arsitektur tiga tingkat
Arsitektur tiga tingkat adalah implementasi paling populer dari arsitektur multi-tier dan terdiri dari tingkat presentasi tunggal, tingkat logika, dan tingkat data. Ilustrasi berikut menunjukkan contoh aplikasi tiga tingkat generik yang sederhana.

Pola arsitektur untuk aplikasi tiga tingkat
Ada banyak sumber daya online yang bagus di mana Anda dapat mempelajari lebih lanjut tentang pola arsitektur tiga tingkat umum. Whitepaper ini berfokus pada pola implementasi khusus untuk arsitektur ini menggunakan Amazon API Gateway dan. AWS Lambda