Berita Buruk: Basis inti open source Wordpress memang membuat beberapa asumsi tentang dijalankan di server tunggal (konten-wp, unggahan pengguna, dan perpustakaan media untuk menyebutkan beberapa)
Berita Baik: Hampir semua penyedia cloud (termasuk Azure) memiliki abstraksi yang memungkinkan Anda mengatasi keterbatasan desain ini.
Pada dasarnya, Anda akan mengatasi masalah berikut:
- Load Balancing traffic antara dua (atau lebih) server web / aplikasi Wordpress "front-end". Tidak terlalu sulit karena Wordpress PALING stateless kecuali Anda membiarkan pengguna masuk ke situs. Ini dilakukan melalui kombinasi DNS dan Load Balancers. Anda akan memerlukan dukungan untuk 2 IP untuk server aplikasi Anda - 1 set akan terhubung ke subnet yang dapat dirutekan melalui Internet (meskipun mudah-mudahan dilindungi oleh firewall yang tidak diuraikan di bawah) dan dua lainnya akan berada di subnet BERBEDA yang diisolasi dari jaringan lain dan berisi Instance Server Database tetapi garis dasar seperti:
/ - (10.0.0.1 - eth0) wp1.domain.com (10.0.1.1 - eth2)
(Public IP) wp.domain.com
\ - (10.0.0.2 - eth1) wp2.domain.com (10.0.1.2 - eth3)
Mengelola sesi JIKA Anda membiarkan pengguna masuk ke situs. Jika demikian, Anda harus memastikan kapan mereka masuk ke server 1 bahwa semua permintaan masa depan mereka dialihkan ke server itu (sesi tempel) atau tidak masalah server mana yang mereka akses karena sesi dikelola melalui mekanisme lain (via Zend Server Session Clustering , misalnya).
Mengelola Login Admin JIKA Anda membiarkan beberapa pengguna masuk ke back-end untuk mengelola konten (mirip dengan di atas).
Memilih Sistem DB yang JUGA Sangat Tersedia. Tidak ada gunanya memiliki dua server ujung depan jika DB Anda menyebabkan seluruh sistem lumpuh. Anda harus memanfaatkan replikasi MySQL Master / Slave melalui ClearDB atau memodifikasi WordPress melalui plugin untuk memanfaatkan SQL Server sehingga Anda dapat menggunakan sistem pengelompokan asli . Ini berarti Anda membutuhkan setidaknya 4 VM jika Anda ingin mengelola sendiri layer DB (2 x App & 2 x DB). Begini tampilannya:
/ - wp1.domain.com (10.0.1.1) \ --- / (10.0.1.3) db1.domain.com (10.0.2.3) \
wp.domain.com X |
\ - wp2.domain.com (10.0.1.2) / --- \ (10.0.1.4) db2.domain.com (10.0.2.3) /
CATATAN - untuk memastikan kegagalan yang andal & melindungi keamanan sistem, subnet jaringan KETIGA biasanya digunakan untuk menghubungkan dua node basis data satu sama lain melalui saluran pribadi yang terpisah dari jaringan komunikasi lain yang digunakan server aplikasi untuk berbicara dengan database & server aplikasi gunakan untuk berkomunikasi dengan dunia luar.
Mengaktifkan Koneksi Pooling untuk memaksimalkan kinerja dan keandalan koneksi database server aplikasi Anda.
Memanfaatkan plugin Caching seperti W3 Total Cache atau Super Cache untuk meminimalkan beban pada server ujung depan.
Panduan berikut menawarkan spesifik tentang bagaimana Anda dapat mengatasi setiap tantangan di atas. Ada beberapa cara untuk menangani masing-masing dalam Azure, jadi terserah kepada Anda untuk memutuskan bagaimana Anda ingin menyerang setiap tantangan kemudian berurusan dengan kendala masing-masing pilihan yang dikenakan saat Anda bekerja naik turun tumpukan.