Static WordPress Hosting
dengan S3 & CloudFront

Rio Astamal
Founder BelajarAWS.com | TeknoCerdas.com
22 Oktober 2020
Bukit Asah - Karang Asem, Bali

Rio Astamal

2020 TeknoCerdas.com
2019 Full-time Dad
2017 Lead Backend at ClearView Studios
2016 BelajarAWS.com
2015 Lead Dev at DominoPOS
2014 System Engineer at WowRack
2004 Freelance Web Developer

Slide Presentasi

Apa yang akan kamu pelajari

{Apa itu Static WordPress} {Kelebihan} {Kekurangan} {Solusi} {Alur Deployment} {S3 sebagai Hosting} {CloudFront sebagai CDN} {Demo Deployment} {Simulasi Artikel Viral} {Estimasi Biaya Bulanan}

Apa itu Static WordPress?

Static WordPress

Semua halaman pada WordPress diubah menjadi static HTML file.
Menjalankan "WordPress" tanpa WordPress

Normal WordPress

Static WordPress

Kelebihan Static WordPress

Tidak ada PHP, Tidak ada database, Tidak ada WordPress!

✔ Sangat cepat

✔ Lebih aman

✔ Infinite Scaling dengan CDN

Tidak perlu takut "Detik Effect" atau Lamb* Turah yang menjadikan artikel kamu viral.

$ Lebih murah :)

Kekurangan Static WordPress

Segala hal yang membutuhkan pemrosesan PHP untuk dilakukan maka kemungkinan tidak berjalan

Contact Form Tidak Bekerja

Solusi Contact Form

Google Forms, Formspack, Formkeep, dll. Atau...

Hilangkan fitur contact form dan cantumkan saja email :)

Komentar Tidak Bekerja

Solusi Komentar

Discus, FB Comments, GitHub Comments, dll. Atau...

Hilangkan fitur komentar

WooCommerce Tidak Bekerja

Solusi WooCommerce

Shopify Buy Button, Snip Cart, dll. Atau...

Buat sendiri

Alur Deployment Static WordPress

Bagaimana Menghasilkan Static File?

1. WordPress Plugin

WP2Static, Simply Static, dll.

2. Eksternal Tools

wget, cURL, custom script

3. Vendor Static WordPress

Shifter, HardyPress, Strattic, dll

Intinya adalah...

  1. Menghasilkan Static HTML
  2. Server untuk hosting static file

Hosting Static WordPress di Amazon S3

Amazon S3

Adalah layanan object storage yang menyediakan skalabilitas dan durabilitas tinggi dari AWS. Lokasi tersebar hampir disemua benua dan unlimited storage.

Pricing S3

Kita hanya perlu membayar storage yang digunakan dan jumlah akses ke object tersebut. Pay-as-you-go model.

S3 Bucket

Sebuah wadah untuk menyimpan setiap object/data pada S3. Nama setiap bucket harus unik karena berasosiasi dengan sebuah end-point.

End-point Object pada S3


						[Bucket-Name].s3.[Region].amazonaws.com/object-key
					

Contoh


						demo.teknocerdas.com.s3.ap-southeast-1.amazonaws.com/index.html
					

Website end-point

Jika fitur static website hosting diaktifkan maka bucket akan otomatis memiliki juga end-point berikut.


						[Bucket-Name].s3-website-[Region].amazonaws.com/object-key
					

Contoh


						demo.teknocerdas.com.s3-website-ap-southeast-1.amazonaws.com/index.html
					

Upload ke S3

AWS CLI


						$ aws cp
						$ aws sync
					

AWS SDK (Programming)

AWS Console

Amazon CloudFront

Layanan Content Delivery Network (CDN) dari Amazon yang memiliki 220+ titik diseluruh dunia. Tersebar di 87 kota dan 44 negara (Per Oktober 2020).

Cara Kerja CDN

Alur CloudFront dan S3

Demo Deployment TeknoCerdas

Plugin yang digunakan

  • WP2Static
  • Yoast SEO
  • Autopmize

Tema yang digunakan

  • Mediumish

Skema TeknoCerdas

Alur Menulis TeknoCerdas

Perintah Harian yang Dijalankan


                        $ terraform apply
                    

                        $ bash ../../post-install/deploy.sh
                    

                        $ create_wordpress_snapshot_disk
                    

                        $ destroy_wordpress_ec2_instance
                    

Load Testing

Simulasi 10K clients dalam 30 detik menggunakan Loader.io dengan dua akun secara bersamaan. Setiap client memanggil dua URL HTML & CSS/Javascript.

Hasil Load Testing

Total 20K clients dalam 30 detik.

Akun # Success # Error Avg Resp
Akun 1 20K 0 3 ms
Akun 2 20K 0 3 ms
Total 40K 0 3 ms

Links https://bit.ly/3m8WRMO & https://bit.ly/3dOivmL

Estimasi Biaya (Simplifikasi)

Biaya bulanan untuk S3 dan CloudFront

Layanan Biaya (USD) Keterangan
S3 1 5 GB + 100K PUT + 1000K GET
CloudFront 1.7 20 GB Data transfer
EC2 0.4 t2.micro 30 jam sebulan
EBS Snapshot 2 40GB disk
Total 5.1 Estimasi bulanan

./end