WordPress Nasıl Gönderiyoruz: Sınırsız Ölçek, Artıklık ve Kod Denetimi

CampUSpress ve WPMU Dev Hosting Platformumuz boyunca milyonlarca site yayınlıyoruz. Ayrıca, dünyanın en büyük WordPress multisite ağı olasılığı olan Edublogs’un arkasındayız (WordPress.com’u saymıyorsanız). Ekim 2020: En iyi WordPress ana bilgisayarlarını test ediyoruz! Nasıl karşılaştırdığımızı öğrenin. 11 yıldan fazla bir süredir bu hizmetin oluşturulması ve geliştirilmesi için sonuçlara bakın, yaptığımız her şeyi geliştirdik. Hatalar yaptık, çok şey öğrendik ve müşterilerimiz için daha iyi hizmetler sağlamak için altyapımızı ve pratiğimizi geliştirmeye devam edeceğiz.
Mevcut ayarlarımızla ilgili perde arkasında küçük bir ekran paylaşmanın daha iyi olacağını düşünüyoruz. Ayrıca, düzenlemenin maliyetin ne kadar olduğunu hesaplayacağız. Siteniz iyi bir trafik alırsa, durma süresi gerektirmezse veya bazı kullanıcıların bir kerede girmesi için tasarlanmışsa (multisite, BuddyPress veya üyelik sitesi gibi) tasarlanmışsa, bu kılavuz sizin için uygundur!

CampUSPress, binlerce okul ve üniversite için çok bölgeli WordPress düzenliyor.
Bu yazıda paylaştığımız şeylerin çoğu, dünyadaki okullar ve üniversiteler için küçük ve büyük çoklu ağlar yayınlayan CampUSpress hizmetimizden geliyor. Örneğin, kampüste korkunç bir etkinlik veya doğal felaket durumunda kısa sürede yüz binlerce potansiyel ziyaretçiyi idare edebilen acil durum.cornell.edu gibi sitelere ev sahipliği yapıyoruz. Ana web sitesi (Providence.edu) ve haber sitesi (thelantern.com) da yüksek bir yüke sahip olabilir ve durmadan aktif ve çalıştırılmalıdır.
Garip bir şekilde, teknik olarak yüksek trafiğe sahip site ev sahipliği yapmak en zor değil. Önbellek ve CDN statik içerik konusunda yardımcı olabilir. Ancak, üyelik siteleri, forumlar, BuddyPress sosyal ağları ve kullanıcının etkinliklerine giren diğer siteler, az sayıda kullanıcı ile bile önemli ölçüde büyüyen bir veritabanı yükü yapar. Bu, veritabanının Web sunucusundan fazlalığı ve ayrılması çalınır. Ve bizim için Amazon Web Services, WordPress ve WordPress Multisite için ideal bir ortam yaratmamıza izin verdi. Neden yıllarca AWS’ye taşındık, Peer1’den veri merkezinde bir sunucu kiraladık. Bu iyi çalışıyor, çünkü teknik ekibimiz bize iyi hizmet eden optimize edilmiş bir ayar oluşturmak için sunucuyu uzaktan yönetebilir.

Bununla birlikte, çoğu web gibi, son yıllarda tüm altyapımızı Amazon Web Hizmetlerine (AWS) yavaş yavaş hareket ettirmemize neden olan birçok faktör vardır. Örnek olarak:
Yerelleştirme – AWS, ABD, Kanada, Avustralya ve AB dahil olmak üzere dünyanın dört bir yanındaki bölgelerde hazırlığı kolaylaştırır. Peer1 ayrıca birçok ülkede bir veri merkezi vardır, ancak o kadar da değildir ve aralarında hareket etmek ve yönetmek kolay değildir. Müşterilerimizin birçoğu, verilerle ilgili yasalar ve düzenlemeler nedeniyle belirli ülkelerde giderek daha fazla barındırılmaya ihtiyaç duyuyor. Diğerleri sadece gecikmeyi azaltmak istiyor.
Önceki ayarlarımız, gerektiğine bakılmaksızın her ay bir sunucu kiralamamızı gerektirir. Her zaman trafik artışıyla karşılaşmaya hazır olmalıyız. AWS, daha çok talep üzerine bir modeldir ve sanal sunucuları neredeyse anında çalıştırmamıza izin verir, bu yüzden sadece kullandığımızı ödüyoruz. Aynı şekilde, trafik sessiz olduğunda, müşterilerimizin çoğu Noel tatillerinde okul tatillerinde olduğu gibi, faturalarımız düşüyor. Gerçekten Amazon – AWS şimdiye kadarki en güvenilir ve ünlü bulut sağlayıcısı haline geldi. Müşterilerimizi ev sahipliği yaptığımız sitenin arkasındaki teknolojinin kalitesi konusunda ikna etmek için AWS’nin sahip olduğu güvenden (ve güvenlik sertifikası) yararlanabiliriz.
Sanal Özel Bulutlar
AWS’de CampUSpress Ayarları – Görüntüler Cloudcraft.co’da yapılır
Yukarıdaki şema, kullandığımız her bir sanal özel bulut kümesinin (VPC) temel yapısını gösterir. Bazı müşteriler kendi özel kümelerine ihtiyaç duyacak veya isteyecek olsa da, her birinde bazı çok bölgeli WordPress ağlarına ev sahipliği yapabiliriz. Bu blogu ve ayrıca edublogs.org’umuzu (4 milyondan fazla siteye sahip!) Göndermek için benzer bir VPC kullanıyoruz.

VPC’ye ayrıntılı olarak bakalım … CDN Her ziyaretçi tarafından ziyaret edilecek ilk şey bir nakliye içeriği veya CDN ağıdır. Biz bir CloudFlare barındırma ortağıyız, bu nedenle müşterilerimizin çoğu WAF (Web Uygulaması Güvenlik Duvarı) ve DDOS koruması gibi birkaç ek güvenlik avantajı içeren CloudFlare kullanıyor. Diğerleri AWS CloudFront’u seçer ve diğerleri hala sayısız CDN hizmetini etkinleştirir. CDN, ziyaretçilere en yakın olan herhangi bir veri merkezinden statik görüntüler ve içerik sunar, bu da web sunucusuna ulaşan ve sayfanızın yükleme süresini hızlandırabilir trafiği sınırlar. Burada bazı CDN seçeneklerini incelememize bakın. Her AWS bölgesinde, ayrı fiziksel veri merkezleri olan birkaç “kullanılabilirlik bölgesi” vardır. Bu, bir yeri etkileyen bir karartma veya doğal felaket varsa, diğeri devralabilir. Trafiği bu EC2 örneğine yönlendirmek, hangi sanal EC2 sunucusunun ziyaretçilerin her sayfa görünümünü veya eylemini gerçekleştirmesi gerektiğini belirleyen elastik bir yük baladerdir.
Docker kabı, örnek boyunca farklı WordPress kurulumlarını birbirinden ayrı hale getirir. İçerik, yorum ve kullanıcı verilerini barındıran veritabanları için Aurora veritabanı, MySQL çalıştıran iki M4 standart RDS kurumunu kullanıyoruz. Bu, Master ile bir hata durumunda beklemeye bir yük devretme ile ‘Master/Bekleme’ ayarında düzenlenir. Resimler ve dosyalar gibi kullanıcı dosyalarını yüklemek için S3 kullanarak S3 Dosya Depolama AWS ile ilk deneyimimizdir – ve sitenizi Amazon dışında başka yerlerde gönderseniz bile bu (ve yapmanız gereken) bir şeydir. S3, depolama ve bant genişliği için hızlı, aşırı ve çok ucuzdur. EFS Kodu Temel Temel Kodunuz, Core WordPress, eklenti ve tema dahil. Bunu işlemek için AWS’deki nispeten yeni elastik dosya sisteminin (EFS) bir parçası olduk. Kod yönetimi ve kontrol sürümü için Bitbucket.com’u ve ev sahipliği yaptığımız tüm sitelerde güncellemeler yapmak için dahili uygulama uygulamalarını kullanıyoruz. GIT veya barındırma hizmetlerini ve diğer kod yönetimini de kullanabilirsiniz. Elastik Hastalık, karışıma AWS Elasticache hizmetleri ekler, veritabanında herhangi bir çalışmaya ihtiyaç duymadan ziyaretçilere herhangi bir statik HTML içeriğini sunabileceğimiz anlamına gelir. Genellikle, giren kullanıcılara önbellek içeriği sunulmadığını unutmayın. Yani, tüm siteleriniz kişisel veya üyelik sitelerse, önbellek size fazla yardımcı olmaz.
EC2 EC2 e -posta, WordPress’ten yorumların bildirimi veya parolaların yeniden belirlenmesi gibi e -posta gönderebilir. Ancak siteniz çok sayıda e -posta gönderiyorsa, özellikle e -posta yoluyla abone olmak gibi bir şey kullanıyorsanız, özellikle e -postayı işlemek için tasarlanmış hizmetleri daha iyi kullanmanız. Başka bir şey yoksa, SES gönderilme şansını artırmanıza izin verir (ve spam olarak işaretlenmez). Alarm ve Cloudwatch Günlüğü, Elang gibi tüm VPC’leri CloudWatch’ı denetler. Günlük toplayan ve kaynakları izleyen CloudWatch alarmı, yüklenirken EC2 örneklerini otomatik olarak ekleyebilir (veya silebilir), böylece gerektiğinde sanal hizmetler ödemezsiniz ve hayal edebileceğiniz en yüksek trafiği işlemek için bölünebilirsiniz. Dış Altyapı
Sunucu, yüksek WordPress kullanılabilirliğinin barındırma sitesinin sadece bir parçasıdır. Site, eklenti/tema çatışmaları, kullanıcı hataları, güvendiğiniz üçüncü taraf hizmetleri ve daha fazlası dahil olmak üzere çeşitli nedenlerle çevrimdışı olabilir. Bu yüzden bu olasılığın olmasını önlemeye yardımcı olacak kadar sıkı bir prosedürümüz var. Ev sahipliği yaptığımız herhangi bir şirket sitesi için eklentiler ve temalar için kod yönergeleri, ortalama kullanıcı tarafından görülecek büyük farklılıklardan biri, eklentilerin ve temaların doğrudan WordPress panosundan eklenememesidir.
Yıllar boyunca, ev sahipliği yaptığımız eklentiler veya temalar için karşılanması gereken işlevler ve kod gereksinimlerinin bir listesini yaptık. Sitelerine kaçınılmaz olarak tüm eklentileri eklemeye alışkın olanlar için, bu bazen bir anlaşmazlık noktası olabilir. Ancak yüksek performans ve güvenli kod izliyoruz. Ve tüm eklentiler ve temalar aynı yapılmaz. Böylece geliştirme ekibimiz, ev sahipliği yaptığımız her temayı ve eklentiyi manuel olarak gözden geçirdi. Aşağıdakiler aradığımız bir listedir – desteklediğimiz tüm eklentiler ve temalar: WordPress tema yönergelerine ve WordPress kodlama standartlarına uymalıdır;
Üçüncü taraf hizmetlerine bağlı değildir (iyi başarısız olduğundan ve/veya mevcut hizmetlerin tam tersini kabul etmesini sağlayamazsak);

dosyaları otomatik olarak artırmaz veya değiştirmez;
WP_REMOTE_*çağırma zaman sınırını değiştirmez;

WP_FEED_CACHE_TRANSIENT_LIFETIME (filtreye bağlanma) asla değiştirmeyin;
Gösteri tablolarını kullanmamak, daha ziyade ‘wp_xyz’ gibi gösteri tablolarını kullanmak;
Tabloyu tanımlamak için DESC kullanmamak, ancak tanımlamak;
wp_debug, error_reporting veya display_errors değiştirmemek;
Varsayılanın rolünü silmez (Remove_Role);
Yeniden yazma kurallarını silmeyin ($ wp_rewrite-> flush_rules izin verilmez);
Önbelleği temizlemiyor (wp_cache_flush izin verilmez);
SQL sorguları içermez. Her biri yayınlar, sayfalar, ekler, kullanıcılar ve etiket meta almak için varsayılan WordPress işlevini kullanmalıdır;
yeni bir tablo oluşturmaz veya tablo şemasını değiştirmez;
Burada listelenen dosya sistemi işlevini kullanmayın;
Dosya sunucusu sistemine dosyaları kaydetmeyin. Dosya yüklemeleri alırsanız WordPress eklerini her zaman kullanmalısınız; değerlendirdiğimiz birçok eklenti ve tema bu kılavuzu geçmeyin. Kueri SQL Custom, gördüğümüz en yaygın sorundur. Ve hiçbir şeyin işe yaramadığından emin olmak için her eklenti ve tema güncellemesi incelenir. Kalite güvencemiz ve testlerimiz ayrıca otomatik çekirdek güncellemeleri, eklentileri ve WordPress temalarını devre dışı bıraktı. Yenilemeyi yayınlanmadan önce iyice test etmek istiyoruz. Çoğu müşteri için, güncellemenin Salı sabahı her bölgeye itildiği haftalık ‘değişim’ döngüsünü çalıştırıyoruz. Bu şekilde, müşterilerimiz ne zaman güncellemeler bekleyeceklerini bilir ve ekibimizin etrafta olmasını ve izlemesini planlayabiliriz. Asla bir sürpriz olmadı. Değişiklik veya güncelleme işlemden geçmeden önce:
En az iki geliştirici tarafından yerel test ortamında manuel ve tamamen gözden geçirildi
Çeşitli geliştirme ortamlarında olası tüm otomatik testleri ve/veya birimleri bitirdi
Çeşitli geliştirme ortamlarında KG/Destek Ekibi tarafından manuel testi geçti
Beta test programına en az 72 saat katılmaya istekli az sayıda doğrudan siteye ve tüm müşteri geliştirme/test sitelerinde harekete geçirildi
Teknik ekibin liderliği ile son manuel kodu ve performans incelemesini geçti
Birleştir – Maliyet
AWS teknik altyapısını katı kod yönetimi uygulamalarıyla birleştirdiğinizde,% 99,99 veya daha yüksek bir aktif zaman bekleyebileceğiniz ve yapabileceğiniz herhangi bir trafik hacmini gerçekleştirebileceğiniz bir site alırsınız. Ama her şey bedeli geliyor. Böyle bir şeyi kendiniz denemeye çalışırsanız ne kadar görüyoruz? AWS kişisel kümesiyle başlayalım. Aşağıda, US-Virginia bölgesi için mevcut fiyat özeti: Veritabanları için iki büyük M4 RDS örneği-her biri 126,00 $. Web sunucusu için iki büyük EC2 C4 örneği-her biri 144,00 dolar. Bir Büyük Elasticache M3 Örneği – 131.04 $ Bir dengeleme elastik yük örneği her ay işlenen 10 GB’lik minimum verilerle – 100GB – 30,00 $ ile bir EFS dosya depolama örneği ayda 575.12 $ – ve biz henüz ödeme yapmadık Bir ziyaretçi, dosya depolama veya hatta 1MB bant genişliği yükleyin. Trafiğinize bağlı olarak ayda binlerce olmasa da yüzlerce kolayca ekleyebilirsiniz. Ayrıca, kesinlikle ihtiyacınız olan bazı DevOps geliştiricileri ve mühendislerinin maliyetlerini de dikkate almıyoruz. İyi keder! Başka bir yolu var mı?
Bu yazının biraz daha ayrıntılı olacağını uman DIY türü için, AWS’yi nasıl yapılandıracağınızı adım adım yönlendiren bu gönderiye bakın, burada açıkladığımız şeyle neredeyse aynı.Başkalarınız için, şirketimizin barındırma hizmeti ile aynı ölçek ve prosedürlerden de yararlanabilirsiniz – tek başına girmek için daha ucuz bir maliyetle.;) Okulda veya üniversitede iseniz Campuspress.com ve WPMU Dev herkes için barındırma.Yardım etmekten mutluluk duyarız! Umarım bu sahnelerin arkasındaki ekrandan çoklu WordPress’i nasıl ağırladığımızla ilgili çok şey öğrendiniz.Bir sorunuz varsa, aşağıdaki yorumları sorun.
Etiket:
çokitus

admin

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir