Mengapa Heroku memperingatkan terhadap nama domain "telanjang"?

65

Saya berlari melintasi halaman ini di dokumen Heroku ...

Domain telanjang, juga disebut domain bare atau apex, dikonfigurasikan dalam DNS melalui A-records dan memiliki implikasi ketersediaan serius ketika digunakan di lingkungan yang sangat tersedia seperti pusat data besar-besaran di lokasi, layanan infrastruktur cloud, dan platform seperti Heroku.

Untuk skalabilitas maksimum dan ketahanan aplikasi harus menghindari domain telanjang dan alih-alih hanya mengandalkan nama host berbasis subdomain.

Apakah ada yang berbicara Enterprise di sini? Apa "implikasi ketersediaan" yang mereka beri peringatan?

(Saya perhatikan bahwa http://stackoverflow.com tidak berfungsi, jadi jelas ada filosofi alternatif yang layak tentang masalah ini.)

Agvorth
sumber
24
Saya menjalankan www.yes-www.org dan saya menyetujui pertanyaan ini.
Michael Hampton
3
Ada kekhawatiran lain juga: aset statis tidak dapat dilayani tanpa cookie terlampir (Anda tidak dapat menambahkan cookie HANYA untuk domain root; cookie harus untuk subdomain atau untuk .domain.com(wildcard, digunakan jika domain root)). Anda dapat mengatasinya dengan menyajikan aset dari domain yang berbeda (SE menggunakan sstatic.net ) untuk menghindari subdomain www yang mengerikan.
Tom Marthenal
2
@MichaelHampton mengapa kita tidak bisa meninggalkan komentar di www.yes-www.org? Mengapa Anda tidak menyebutkan ALIAS(atau ANAMEmencatat) di halaman Anda?
Augustin Riedinger
Pertanyaan ini berusia 6 tahun, dan terutama tentang keterbatasan dalam perangkat lunak. Adakah pembaruan?
Michael Cole

Jawaban:

57

Apa yang mereka bicarakan adalah bahwa ketika Anda menggunakan CNAMEuntuk menunjuk ke layanan mereka (yang hanya mungkin pada subdomain, bukan root zona - itu tidak dapat hidup berdampingan dengan SOAdan NScatatan yang diperlukan pada root zona Anda), mereka dapat membuat perubahan pada catatan DNS mereka sendiri untuk mengatasi beberapa jenis masalah ketersediaan.

Dengan root zona, Anda harus menggunakan Acatatan untuk menunjuk ke alamat IP tertentu untuk layanan. Jika mereka memiliki masalah dengan perutean, atau semacam penolakan layanan terhadap alamat tertentu, mereka tidak dapat memperbarui catatan zona Anda A untuk menunjuk ke IP yang berbeda dengan cepat; mereka dapat memperbarui sendiri, dan itulah yang CNAMEmemungkinkan mereka lakukan.

Ini tidak berlaku untuk Stack Exchange karena mereka tidak menggunakan platform pihak ketiga; mereka akan merespons masalah ketersediaan, jadi apakah itu CNAMEatau Atidak ada bedanya bagi mereka.

Shane Madden
sumber
1
Bagaimana dengan ALIAS(atau ANAME) catatan?
Augustin Riedinger
1
@AugustinRiedinger Mereka sebenarnya bukan tipe catatan DNS - mereka adalah konfigurasi di mana penyedia DNS tertentu akan menangani abstraksi secara dinamis memeriksa Acatatan target saat ini, kemudian melayani kembali sebagai tanggapan terhadap permintaan untuk nama itu. Mereka pada dasarnya dirancang untuk memecahkan masalah yang tepat ini, jadi mereka pasti cocok untuk digunakan untuk kasus ini.
Shane Madden
1
Jadi jika kita menggunakannya, peringatan skalabilitas dari heroku tidak lagi benar, kan? Atau adakah kelemahan teknis dalam menggunakannya?
Augustin Riedinger
2
@AugustinRiedinger Benar. Kelemahan teknis dalam kesulitan implementasi, karena server DNS "standar" tidak dapat menyelesaikan hal seperti itu tanpa penyesuaian. Selama implementasi penyedia Anda stabil, itu akan sama baiknya dengan CNAMEsetup pada subdomain.
Shane Madden
13

Sebagai tambahan untuk jawaban @ ShaneMadden, satu solusi adalah untuk platform pihak ketiga untuk juga mengelola zona DNS Anda. Misalnya, jika Anda menggunakan layanan Elastic Load Balancer AWS , dan layanan Route 53 DNS mereka, Anda dapat dengan andal menunjuk puncak zona pada instance ELB menggunakan catatan alias khusus mereka , yang memungkinkan mereka untuk memperbarui zona DNS Anda dalam menanggapi masalah ketersediaan.

Namun ini adalah argumen yang menentang konsep no-www , karena www.example.comdapat memiliki CNAMEcatatan.

Mgorven
sumber