Pertimbangan utama saat menggunakan AWS untuk hosting web - Hosting Aplikasi Web di AWS Cloud

Pertimbangan utama saat menggunakan AWS untuk hosting web

Ada beberapa perbedaan utama antara AWS Cloud dan model hosting aplikasi web tradisional. Bagian sebelumnya menyoroti banyak area utama yang harus Anda pertimbangkan saat men-deploy aplikasi web ke cloud. Bagian ini menunjukkan beberapa pergeseran arsitektur utama yang perlu Anda pertimbangkan saat Anda membawa aplikasi apa pun ke cloud.

Tidak ada lagi peralatan jaringan fisik

Anda tidak dapat menerapkan peralatan jaringan fisik di AWS. Misalnya, firewall, router, dan penyeimbang beban untuk aplikasi AWS Anda tidak dapat lagi berada di perangkat fisik, tetapi harus diganti dengan solusi perangkat lunak. Ada berbagai macam solusi perangkat lunak berkualitas perusahaan, baik untuk penyeimbangan beban atau membangun koneksi VPN. Ini bukan batasan dari apa yang dapat dijalankan di AWS Cloud, tetapi ini adalah perubahan arsitektur untuk aplikasi Anda jika Anda menggunakan perangkat ini saat ini.

Firewall di mana-mana

Di mana Anda pernah memiliki zona demiliterisasi sederhana (DMZ) dan kemudian membuka komunikasi di antara host Anda dalam model hosting tradisional, AWS memberlakukan model yang lebih aman, di mana setiap host dikunci. Salah satu langkah dalam merencanakan deployment AWS adalah analisis lalu lintas antar host. Analisis ini akan memandu keputusan tentang apa port yang perlu dibuka. Anda dapat membuat grup keamanan untuk setiap jenis host dalam arsitektur Anda. Anda juga dapat membuat berbagai macam model keamanan sederhana dan berjenjang untuk memungkinkan akses minimum di antara host dalam arsitektur Anda. Penggunaan daftar kontrol akses jaringan dalam Amazon VPC dapat membantu mengunci jaringan Anda di tingkat subnet.

Pertimbangkan ketersediaan beberapa pusat data

Pikirkan Zona Ketersediaan dalam Wilayah AWS sebagai beberapa pusat data. Instans EC2 di Zona Ketersediaan berbeda dipisahkan secara logis dan fisik, dan mereka menyediakan model yang mudah digunakan untuk men-deploy aplikasi Anda di seluruh pusat data untuk ketersediaan dan keandalan yang tinggi. Amazon VPC sebagai layanan Regional memungkinkan Anda memanfaatkan Zona Ketersediaan sambil menyimpan semua sumber daya Anda dalam jaringan logis yang sama.

Perlakukan host sebagai sementara dan dinamis

Mungkin pergeseran yang paling penting dalam bagaimana Anda mungkin arsitek aplikasi AWS Anda adalah bahwa host Amazon EC2 harus dianggap sebagai fana dan dinamis. Setiap aplikasi yang dibuat untuk AWS Cloud tidak boleh berasumsi bahwa host akan selalu tersedia dan harus dirancang dengan pengetahuan bahwa data apa pun di penyimpanan instan EC2 akan hilang jika instans EC2 gagal.

Ketika host baru dibesarkan, Anda tidak boleh membuat asumsi tentang alamat IP atau lokasi dalam Zona Ketersediaan host. Model konfigurasi Anda harus fleksibel, dan pendekatan Anda untuk bootstrapping host harus memperhitungkan sifat dinamis cloud. Teknik-teknik ini sangat penting untuk membangun dan menjalankan aplikasi yang sangat mudah diskalakan dan toleran terhadap kesalahan.

Pertimbangkan kontainer dan nirserver

Laporan resmi ini terutama berfokus pada arsitektur web yang lebih tradisional. Namun, pertimbangkan untuk memodernisasi aplikasi web Anda dengan pindah ke Kontainer dan teknologi Nirserver , memanfaatkan layanan seperti AWS Fargate dan AWS Lambda untuk memungkinkan Anda untuk mengabstraksi penggunaan mesin virtual untuk melakukan tugas-tugas komputasi. Dengan komputasi nirserver, tugas manajemen infrastruktur seperti penyediaan kapasitas dan patching ditangani oleh AWS, sehingga Anda dapat membangun aplikasi yang lebih gesit yang memungkinkan Anda untuk berinovasi dan merespons perubahan lebih cepat.

Pertimbangkan deployment otomatis

  • Amazon Lightsail adalah server privat virtual (VPS) yang mudah digunakan yang menawarkan kepada Anda semua yang diperlukan untuk membangun aplikasi atau situs web, ditambah dengan paket bulanan yang hemat biaya. Lightsail cocok untuk beban kerja sederhana, deployment cepat, dan memulai menggunakan AWS. Server ini dirancang untuk membantu Anda memulai dari yang kecil, lalu meningkat seiring pertumbuhan Anda.

  • AWS Elastic Beanstalk adalah layanan yang mudah digunakan untuk men-deploy dan menyesuaikan skala aplikasi dan layanan web yang dikembangkan dengan Java, .NET, PHP, Node.js, Python, Ruby, Go, dan Docker pada server yang umum dikenal seperti Apache, NGINX, Passenger, dan IIS. Anda cukup mengunggah kode Anda dan Elastic Beanstalk secara otomatis akan menangani deployment, mulai dari penyediaan kapasitas, penyeimbangan beban, penskalaan otomatis, hingga pemantauan kondisi aplikasi. Pada saat yang sama, Anda tetap memegang kendali penuh atas sumber daya AWS yang memberdayakan aplikasi Anda dan dapat mengakses sumber daya yang menjadi dasarnya kapan saja.

  • AWS App Runner adalah layanan terkelola penuh yang memudahkan developer men-deploy aplikasi web dan API dalam kontainer dengan cepat, sesuai skala, dan tanpa memerlukan pengalaman infrastruktur sebelumnya. Mulailah dengan kode sumber Anda atau gambar kontainer. App Runner secara otomatis membangun dan men-deploy aplikasi web dan menyeimbangkan beban lalu lintas dengan enkripsi. App Runner juga meningkatkan atau turun secara otomatis untuk memenuhi kebutuhan lalu lintas Anda.

  • AWS Amplify adalah serangkaian alat dan layanan yang dapat digunakan bersama atau terpisah, untuk membantu developer web dan seluler front-end membangun aplikasi tumpukan penuh yang dapat diskalakan dan didukung oleh AWS. Dengan Amplify, Anda dapat mengonfigurasi backend aplikasi dan menghubungkan aplikasi Anda dalam hitungan menit, menerapkan aplikasi web statis dalam beberapa klik, dan dengan mudah mengelola konten aplikasi di luar AWS Management Console.