Evolution of a website: Going from single server to serverless

Evolution of a website: Going from single server to serverless

Lab Overview

Kita dipekerjakan oleh AnyCompany Ice Cream untuk membuat dan memelihara situs web mereka. Dalam proyek ini, Kita mengikuti perkembangan bisnis ini dan bagaimana infrastruktur situs web mereka berkembang.

Kita memulai dengan membuat situs web statis perusahaan yang dihosting di Layanan Penyimpanan Sederhana Amazon (Amazon S3) yang menampilkan berbagai rasa es krim. Bisnis ini mulai populer di kalangan penduduk setempat dan rasa-rasa tersebut mulai habis terjual sebelum hari berakhir. Pemilik bisnis meminta Kita untuk beralih ke sebuah server di mana mereka bisa mendapatkan pembaruan dari Kita. Mereka memutuskan untuk bermigrasi dari situs statis mereka ke Amazon Elastic Compute Cloud (EC2) dengan tumpukan Linux, Apache, MySQL, PHP (LAMP) yang dibangun di atasnya.

Hal ini akan memungkinkan situs web untuk diperbarui dan bereaksi secara dinamis. Permintaan untuk es krim AnyCompany melonjak setelah video viral, dan infrastruktur serta pemeliharaan situs menjadi sulit untuk dikelola. Untuk mengatasi peningkatan permintaan, Kita menyarankan untuk memindahkan bagian-bagian dari tumpukan LAMP mereka ke layanan serverless, dimulai dengan database MySQL. Database MySQL akan digantikan dengan database serverless Amazon DynamoDB.


Kurang lebih Lab Overview dari 3 FREE Builder Labs for Beginners and Pros alike yang akan kita pelajari sekarang.

Task 1 : Upload files to Amazon S3

TASK 1.1: DOWNLOAD THE STATIC-SITE.ZIP FILE

download the static-site.zip yang isinya static website files ke PC pribadi.

Unzip static-site.zip.

TASK 1.2: UPLOAD THE FILES TO AMAZON S3

pilih bucket nya dengan nama s3hmtlbucket

drag file static-site yang sudah di extract tadi.

pilih upload di bawah halaman, jika sudah success klik close

TASK 1.3: TEST THE STATIC S3 WEBSITE

Pada Amazon S3 buckets ke bagian properties > static website hosting. Copy link url dan paste ke dalam browser.

done

Task 2: Verify the dynamic website on Amazon EC2 is running

Bisnis mulai tumbuh, dan pelanggan ingin fitur di situs web di mana mereka bisa melihat rasa es terbaru atau ketika suatu rasa sudah habis terjual. Kita menyarankan untuk memindahkan server ke instansi Amazon EC2 dengan LAMP terpasang di dalamnya. Ini memungkinkan situs untuk menghasilkan konten dinamis menggunakan database dan memungkinkan Kita untuk memperbarui rasa saat stok ditambahkan atau habis terjual.

Dalam tugas ini, Kita memverifikasi bahwa situs web dinamis baru berfungsi dan bahwa data tentang inventaris rasa es krim yang tersedia diambil dari database. Kita menyalin alamat IP untuk instansi EC2 dan menempelkannya ke tab browser baru untuk melihat apakah situs web berhasil dimuat.

Untuk membantu mempercepat langkah ini, tugas ini sudah dikonfigurasi dengan Amazon VPC dan sumber daya jaringannya, serta Amazon EC2 dengan tumpukan LAMP yang sudah dikonfigurasi. Beberapa tindakan berikut sudah selesai dilakukan.

  • LAMP stack sudah di install sebagai web server untuk host AnyCompany’s dynamic website.

  • Selain itu, sebuah Kebijakan IAM digunakan untuk mendefinisikan izin-izin untuk setiap layanan yang digunakan..

  • Rasa dan harga sekarang diperbarui melalui database MySQL yang secara dinamis memperbarui situs web.

Dynamic architecture

di atas pada AWS Management Console, di bagian search bar, search for and choose EC2, dan pilih instance dengan nama ice cream.

copy public IPv4 Address ke dalam browser

Task 3: Update dynamic website to a serverless solution using DynamoDB for the MySQL database

Bisnis terus tumbuh, tetapi dengan video baru-baru ini tentang pengalaman pelanggan yang kemudian menjadi viral, situs web AnyCompany Ice Cream telah mengalami lonjakan lalu lintas web yang melebihi kemampuan server database MySQL saat ini. Sayangnya, pelanggan mengalami kesalahan saat mengakses situs web. Untuk mengatasi ini, Kita ditugaskan untuk memindahkan database MySQL lokal ke Amazon DynamoDB karena dapat melibatkan permintaan lalu lintas web pelanggan untuk memastikan pelanggan terus dapat mengakses situs web AnyCompany Ice Cream tanpa gangguan.

Dynamic architecture

TASK 3.1: UPDATE THE AMAZON DYNAMODB PRODUCTS TABLE WITH A NEW ICE CREAM FLAVOR

TASK 3.2: UPDATE THE WEBSITE TO USE AMAZON DYNAMODB

ke service EC2 pada search bar AWS. di dalamnya pilih nama instance Ice Cream. selanjutnya klik connect di sampai di bagin ini, untuk username ec2-user

masuk ke AWS console, jalankan automation tersbut dengan perintah /var/www/html/migrate-database.sh

berikut ini isi dari file migrate-database.sh kemudian jalankan

# put this in /var/www/html

echo "Renaming index.php to compute-index.php" 
mv /var/www/html/index.php /var/www/html/compute-index.php

echo "Renaming serverless-index.php to index.php"
mv /var/www/html/serverless-index.php /var/www/html/index.php

echo "Restarting Apache"
sudo systemctl restart httpd

serverless-index.php

done.

Website with new ice cream flavor listed

AWS Traning and Certifiaction (https://learn.labs.awsevents.com/)