Apa perbedaan antara Situs Web Azure dan Peran Web Azure

241

Apa perbedaan materi antara Situs Web Azure baru dan Peran Web Azure tradisional untuk aplikasi ASP.NET MVC? Apa alasan saya memilih "situs web" daripada "peran web" atau sebaliknya?

Mari kita asumsikan bahwa saya akan membutuhkan kapasitas yang sama dalam kedua kasus (misalnya 2 contoh kecil). Harga tampaknya sebanding selain fakta bahwa ada diskon sementara 33% untuk situs web saat mereka berada dalam periode pratinjau mereka.

Adakah hal yang dapat saya lakukan dengan "situs web" yang sulit atau tidak mungkin dengan peran web? Misalnya, apakah mudah untuk menempatkan beberapa situs web dalam satu set VM menggunakan "situs web"? Apakah saya kehilangan sesuatu dengan "situs web" vs "peran web"? Kemampuan menyempurnakan IIS? Kemampuan untuk menggunakan layanan Cache secara lokal?

Erv Walter
sumber
memiliki qs yang sama. mereka harus benar-benar menjelaskannya dalam dokumen mereka.
90abyss

Jawaban:

213

Peran Web memberi Anda beberapa fitur di luar Aplikasi Web (sebelumnya Situs Web):

  • Kemampuan untuk menjalankan skrip startup yang ditinggikan untuk menginstal aplikasi, memodifikasi pengaturan registri, menginstal penghitung kinerja, menyempurnakan IIS, dll.
  • Kemampuan untuk membagi aplikasi menjadi beberapa tingkatan (mungkin Peran Web untuk front end, Peran Pekerja untuk pemrosesan backend) dan skala secara mandiri
  • Kemampuan untuk RDP ke dalam VM Anda untuk keperluan debugging
  • Isolasi jaringan
  • Alamat IP virtual khusus, yang memungkinkan mesin virtual peran web dalam layanan cloud untuk mengakses Mesin Virtual yang dibatasi IP
  • Titik akhir terbatas ACL (ditambahkan dalam Azure SDK 2.3, April 2014)
  • Dukungan untuk port TCP / UDP (Situs Web dibatasi untuk TCP 80/443)

Aplikasi Web memiliki kelebihan dibandingkan Peran Web:

  • Penempatan hampir instan dengan riwayat penyebaran / kembalikan
  • Visual Studio Online, github, git lokal, ftp, CodePlex, DropBox, dukungan penyebaran BitBucket
  • Kemampuan untuk meluncurkan salah satu dari banyak CMS dan kerangka kerja, (seperti WordPress, Joomla, Django, MediaWiki, dll.)
  • Penggunaan SQL Database atau MySQL
  • Sederhana dan cepat untuk menskalakan dari tingkat gratis ke tingkat bersama ke tingkat khusus
  • Pekerjaan Web
  • Cadangan konten Situs Web
  • Alat debugging berbasis web bawaan (konsol debug cmd / powershell sederhana, penjelajah proses, alat diagnostik seperti streaming log, dll.)

Dengan peluncuran April 2014 dan September 2014, sekarang ada beberapa fitur umum untuk Aplikasi Web dan Peran Web (dan Peran Pekerja), termasuk:

  • Pementasan + slot produksi
  • Wildcard DNS, sertifikat SSL
  • Integrasi Visual Studio
  • Dukungan Traffic Manager
  • Dukungan Jaringan Virtual

Berikut screengrab yang saya ambil dari formulir pemilihan galeri Situs Web: masukkan deskripsi gambar di sini

Saya pikir Aplikasi Web adalah cara yang bagus untuk bangun dan berjalan dengan cepat, di mana Anda dapat beralih dari berbagi ke sumber daya yang dipesan. Setelah Anda melampaui ini, Anda kemudian dapat naik ke Peran Web dan berkembang sesuai kebutuhan.

David Makogon
sumber
Selain Git + ftp, satu lagi yang hebat adalah PublishSettings (juga dapat digunakan di WebMatrix 2)
Kris van der Mast
18
Membagi menjadi tingkatan bukanlah faktor pembeda. Anda dapat menggunakan peran Pekerja dengan Situs Web.
RickAndMSFT
4
Mengenai tingkatan: Dengan Situs Web, Anda harus terhubung ke Pekerja melalui titik akhir eksternal, karena Situs Web tidak mendukung Jaringan Virtual. Lebih lanjut: Anda harus membagi kode Anda menjadi beberapa penyebaran (satu untuk Situs Web, satu untuk Layanan Cloud dengan peran pekerja). Dengan Layanan Cloud, Anda dapat dengan mudah mempartisi kode Anda ke dalam tingkatan yang dapat diukur, dan kemudian ukuran dan skala masing-masing tingkatan secara terpisah, semuanya sambil memiliki komunikasi internal antara tingkatan tersebut. Inilah yang saya maksud ketika menunjukkan tingkatan sebagai pembeda dari Layanan Cloud (web / pekerja).
David Makogon
1
Bukankah ini sedikit ketinggalan zaman dibandingkan dengan stackoverflow.com/a/10960755/56145 ?
Matt Kocaj
2
Dengan peran Web, Anda juga dapat melakukan pemrosesan latar belakang pada VM yang sama
Boris Lipschitz
44

EDIT 2014: Untuk apa nilainya, banyak info dalam jawaban ini tidak lagi benar - lihat komentar.

Tambahkan lebih banyak ke respons @David:

Dengan Situs Web Windows Azure, Anda tidak memiliki kendali atas IIS atau Server web karena Anda menggunakan irisan sumber daya bersama dengan ratusan situs web lainnya di mesin yang sama, Anda berbagi sumber daya seperti yang lain sehingga tidak ada kontrol atas IIS.

Perbedaan besar antara situs web yang dibagikan dan peran web Azure adalah bahwa situs web dianggap terikat proses sementara peran terikat VM.

Situs web disimpan pada konten yang dapat diakses dari semua "server web" di pertanian sehingga tidak ada replikasi atau hal seperti itu diperlukan.

Situs web Windows Azure tidak dapat memiliki nama host sendiri, melainkan mereka harus menggunakan websitename .azurewebsites.net saja dan Anda yakin dapat menggunakan pengaturan CNAME di penyedia DNS Anda untuk merutekan permintaan Anda persis sama dengan Peran Windows Azure sebelumnya hanya ketika mereka berjalan dalam mode yang dipesan . Pengaturan CNAME tidak didukung untuk situs web yang dibagikan.

AvkashChauhan
sumber
AFAIK WebRoles juga tidak mendapatkan nama host mereka sendiri - semuanya adalah rolename.cloudapp.net. Kecuali ada beberapa fitur yang tidak saya ketahui?
Brian Reischl
Tidak bisakah Anda menggunakan DNS untuk membuat alias CNAME yang menunjuk dari www.domainanda.com ke websitename.azurewebsites.net?
Bernard Vander Beken
Saya percaya untuk WA Situs Web, hanya apps berjalan dengan dicadangkan contoh (didedikasikan VMS) dapat memiliki domain kustom dipetakan kepada mereka.
user94559
Saya pikir scottgu baru-baru ini menyebutkan bahwa mereka juga ingin mendukung domain khusus pada instance bersama.
jeremy
19
Untuk apa nilainya, banyak info dalam jawaban ini tidak lagi benar (meskipun pada bulan Juni 2012): Situs Web sekarang dapat memiliki domain khusus. Situs web dapat berjalan dalam mode "khusus", yang pada dasarnya adalah VM, tetapi sepenuhnya dikelola.
Jay Querido
34

Saya baru saja memposting posting blog yang komprehensif tentang hal ini di http://robdmoore.id.au/blog/2012/06/09/windows-azure-web-sites-vs-web-roles/ .

Kutipan dari kesimpulan saya: Jika Anda membutuhkan pusat data berskala besar, SSL, Asia atau AS Barat, konfigurasi non-standar (IIS, port, diagnostik, sertifikat keamanan atau skrip start up), RDP atau Peran Pekerja yang hemat biaya ( dikombinasikan dengan Peran Web Anda) maka Anda harus tetap berpegang pada Peran Web untuk saat ini.

Jika tidak, Situs Web adalah pilihan bagus!

Robert Moore
sumber
14

Peran Web Azure seperti host pribadi virtual. Anda mendapatkan VM yang bertindak sebagai server web Anda, dan Anda memiliki instance VM itu.

Situs Web Azure seperti layanan hosting bersama yang elastis. Anda menyebarkan aplikasi Anda ke server web yang tidak dikontrol oleh Anda dan yang juga server situs pengguna lain. Anda dapat mengatur situs Anda naik dan turun (dengan biaya tambahan) untuk membuatnya lebih elastis karena sumber daya Anda perlu bergeser.

Jimmy
sumber
6

Ada satu lagi skenario yang mengemuka: Setelah 500 pengecualian ini dihilangkan, mereka belum mengatakan apa pun tentang kemampuan Situs Web Azure untuk menangani CNAME wildcard. Beberapa dari kita menggunakan Akselerator Peran Web Nate di Layanan Cloud, karena peretasan satu baris yang disediakan kemampuan subdomain wildcard yang disediakan dalam perangkat lunak Nate. Kami tidak dapat memindahkan aplikasi subdomain wildcard ini sampai kami tahu bahwa Situs Web Azure dapat menanganinya. Jika tidak akan pernah bisa melakukan itu, maka itu turun sebagai positif di sisi Peran Web persamaan. Yang juga perlu diperhatikan adalah bahwa dengan harga yang persis sama (setelah diskon pratinjau berakhir), saya tidak yakin saya ingin menyerahkan akses saya ke RDC dan Event Viewer (hanya untuk menyebutkan dua hal).

Luke Latham
sumber
6

Situs Web Azurememungkinkan Anda untuk membangun situs web yang sangat skalabel dengan cepat di Azure. Anda bisa menggunakan Azure Portal atau alat baris perintah untuk mengatur situs web dengan bahasa populer seperti .NET, PHP, Node.js, dan Python. Kerangka kerja yang didukung sudah digunakan dan tidak memerlukan langkah-langkah instalasi lebih lanjut. Galeri Situs Web Azure berisi banyak aplikasi pihak ketiga, seperti Drupal dan WordPress serta kerangka kerja pengembangan seperti Django dan CakePHP. Setelah membuat situs, Anda dapat memigrasikan situs web yang ada atau membangun situs web yang sama sekali baru. Situs Web menghilangkan kebutuhan untuk mengelola perangkat keras fisik, dan juga menyediakan beberapa opsi penskalaan. Anda dapat beralih dari model multi-penyewa bersama ke mode standar tempat mesin khusus melayani lalu lintas masuk. Situs Web juga memungkinkan Anda untuk berintegrasi dengan layanan Azure lainnya, seperti SQL Database, Service Bus, dan Storage. Menggunakan pratinjau SDK Azure WebJobs, Anda bisa menambahkan pemrosesan latar belakang. Singkatnya, Situs Web Azure membuatnya lebih mudah untuk fokus pada pengembangan aplikasi dengan mendukung berbagai bahasa, aplikasi open source, dan metodologi penyebaran (FTP, Git, Web Deploy, atau TFS). Jika Anda tidak memiliki persyaratan khusus yang memerlukan Layanan Cloud atau Mesin Virtual, Situs Web Azure kemungkinan besar merupakan pilihan terbaik.

Layanan Cloudmemungkinkan Anda untuk membuat aplikasi web yang sangat tersedia dan dapat diskalakan di lingkungan Platform as a Service (PaaS) yang kaya. Tidak seperti Situs Web, layanan cloud dibuat terlebih dahulu di lingkungan pengembangan, seperti Visual Studio, sebelum digunakan untuk Azure. Kerangka kerja, seperti PHP, membutuhkan langkah-langkah penerapan kustom atau tugas yang menginstal kerangka kerja pada startup peran. Keuntungan utama dari Layanan Cloud adalah kemampuan untuk mendukung arsitektur multitier yang lebih kompleks. Layanan cloud tunggal dapat terdiri dari peran web frontend dan satu atau lebih peran pekerja. Setiap tingkatan dapat diskalakan secara independen. Ada juga peningkatan level kontrol atas infrastruktur aplikasi web Anda. Misalnya, Anda dapat meremote desktop ke mesin yang menjalankan instance role.

Mesin virtualmemungkinkan Anda untuk menjalankan aplikasi web pada mesin virtual di Azure. Kemampuan ini juga dikenal sebagai Infrastruktur sebagai Layanan (IaaS). Buat mesin Windows Server atau Linux baru melalui portal, atau unggah gambar mesin virtual yang ada. Mesin Virtual memberi Anda kendali penuh atas sistem operasi, konfigurasi, dan perangkat lunak serta layanan yang diinstal. Ini adalah pilihan yang baik untuk memigrasikan aplikasi web kompleks secara cepat ke cloud, karena mesin dapat dipindahkan secara keseluruhan. Dengan Jaringan Virtual, Anda juga dapat menghubungkan mesin-mesin virtual ini ke jaringan perusahaan lokal. Seperti halnya Layanan Cloud, Anda memiliki akses jarak jauh ke mesin-mesin ini dan kemampuan untuk melakukan perubahan konfigurasi di tingkat administratif. Namun, tidak seperti Situs Web dan Layanan Cloud, Anda harus mengelola gambar mesin virtual dan arsitektur aplikasi sepenuhnya di tingkat infrastruktur. Salah satu contoh dasar adalah Anda harus menerapkan tambalan Anda sendiri ke sistem operasi.

Lihat perbandingan yang diperbarui dan komprehensif dari tautan ini: http://azure.microsoft.com/en-us/documentation/articles/choose-web-site-cloud-service-vm/

Jamil
sumber
4

Situs Web Azure, Pekerja Web, dan Mesin Virtual adalah tiga pendekatan komputasi berbeda yang tersedia di Windows Azure. Mereka berbeda dalam tingkat kontrol dan tanggung jawab:

  • Situs web Azure memiliki tingkat kontrol terendah, tetapi Anda tidak peduli tentang menjaga kesehatan mesin virtual dan IIS, karena hal-hal Azure melakukan ini untuk Anda
  • Peran Web memberi Anda lebih banyak kontrol (pengelola lalu lintas, desktop jarak jauh), tetapi administrasi lebih memungkinkan di sisi Anda yang artinya Anda dapat memecahkan sesuatu melalui desktop jarak jauh misalnya
  • Mesin Virtual memberi Anda kendali penuh terhadap VM, sehingga memerlukan upaya administrasi paling banyak.

Tidak ada satu pilihan terbaik, karena itu tergantung pada tingkat kontrol yang Anda butuhkan, fitur apa yang Anda butuhkan dan apa yang ingin Anda tinggalkan untuk dipelihara barang Azure. Dan itu adalah topik besar ..

Silakan lihat artikel ini untuk informasi lebih lanjut untuk membuat pilihan lebih banyak informasi:

Itu bermuara pada tradeoff antara kemudahan penggunaan dan kemampuan.

Johnnyno
sumber
3

Dua hal lagi yang saya temukan adalah biaya untuk mendapatkan SSL untuk situs domain kustom dan konfigurasi multi-tenant.

Untuk situs web Anda harus membayar bulanan di atas contoh standar (Contoh kecil adalah pilihan termurah). Ini berarti untuk mendapatkan https domain kustom akan dikenakan biaya ~ 70 / bulan untuk contoh kecil plus ~ 41 / bulan untuk SSL yang mendukung semua browser.

Untuk WebRole Anda bisa mendapatkan instance XS dan menambahkan SSL Anda sendiri secara gratis, yang berarti ~ $ 15 per bulan dan Anda memiliki domain khusus dengan SSL.

Untuk situs web multi-penyewa, periksa multi-tenant Azure, wildcard dinamis CName

Farnam
sumber
1

Peran web adalah mesin virtual yang meng-host beberapa situs web

mLar
sumber
2
Tidak terlalu akurat. Anda dapat meng - host beberapa situs web dalam peran web, tetapi peran web jauh melampaui itu, karena mereka adalah Windows Server VM. Anda dapat memilih untuk tidak menjalankan setiap situs web sama sekali, dan hanya menjalankan tugas latar belakang, endpoint REST, server database, dll (tidak ada persyaratan untuk menggunakan IIS, dan Anda bahkan dapat menonaktifkan itu). Dan jangan lupa bahwa mereka tanpa kewarganegaraan yang membuatnya mudah untuk diukur.
David Makogon
@DavidMakogon Jadi saya dapat juga mengatakan bahwa, peran web sebenarnya melakukan beberapa tugas, tetapi karena menggunakan protokol HTTP, itu disebut peran 'WEB', dan karena mendukung protokol ini, ia juga mendukung situs web, tetapi itu bukan tujuan utamanya Dengan demikian?
Aditya Bokade
@AdityaBokade Jangan mencoba membaca lebih lanjut: Namanya relic sejak diluncurkan pertama kali, di mana Peran Web adalah satu - satunya cara untuk meng-host aplikasi yang menghadap eksternal (Peran Pekerja tidak memiliki titik akhir eksternal, dan tidak ada lagi yang ada - bukan VM, bukan Aplikasi Web). Peran Web (dan Pekerja) adalah mesin virtual Windows stateless, dengan kemasan khusus untuk kode dan skrip startup Anda. Itu tidak didefinisikan dengan mendukung http: Anda dapat berkomunikasi dengan sumber daya eksternal melalui http, tcp, udp, atau bahkan tidak sama sekali. Hanya itu yang ada di sana.
David Makogon
0

Ini adalah pertanyaan umum, dan saya ingin memberikan kutipan dari msdn.

Akses ke layanan seperti Caching, Bus Layanan, Penyimpanan, Database SQL Azure- WebSite: Ya WebRole: Ya

Dukungan untuk ASP.NET, ASP klasik, Node.js, PHP- WebSite: Ya WebRole: Ya

Konten dan konfigurasi bersama - WebSite: Ya WebRole: Tidak

Menyebarkan kode dengan GIT, FTP- WebSite: Ya WebRole: Tidak

Penempatan hampir instan-WebSite: Ya WebRole: Tidak

Dukungan MySQL-as-a-service terintegrasi-WebSite: Ya WebRole: Ya

Berbagai lingkungan penempatan (produksi dan pementasan) -WebSite: Tidak WebRole: Ya

Isolasi jaringan-WebSite: Tidak WebRole: Ya

Akses desktop jarak jauh ke server-WebSite: Tidak WebRole: Ya

Kemampuan menjalankan program dengan izin tinggi-WebSite: Tidak WebRole: Ya

Kemampuan untuk mendefinisikan / menjalankan tugas start-up-WebSite: Tidak WebRole: Ya

Kemampuan untuk menggunakan kerangka kerja yang tidak didukung atau libraries-WebSite: Tidak WebRole: Ya

Dukungan untuk Windows Azure Connect / Windows Azure Network-WebSite: Tidak WebRole: Ya

Untuk mendapatkan lebih banyak detail, kunjungi tautan ini: http://blogs.msdn.com/b/silverlining/archive/2012/06/27/windows-azure-websites-web-roles-and-vms-when-to -menggunakan-which.aspx

Adithya Kumaranchath
sumber