[Windows Azure] Windows Azure Web Sites, Cloud Services, and VMs: When to use which?
This document provides guidance on how to make an informed decision in choosing between Windows Azure Web Sites, Cloud Services, and virtual machines to host a web application. Each of these services allows you to run highly scalable web applications in Windows Azure. Most of the differences involve a trade-off between manageability and control.

Windows Azure Web Sites enables you to build highly scalable websites quickly on Windows Azure. You can use the Windows Azure Portal or the command-line tools to set up a website with popular frameworks such as .NET, PHP, and Python. These supported frameworks are already deployed and do not require more installation steps. The Windows Azure Web Sites gallery contains many third-party applications, such as Drupal and WordPress as well as development frameworks such as Django and CakePHP. After creating a site, you can either migrate an existing website or build a completely new website. There is no need to learn a new application model or to manage your own machines. Web Sites are also easy to scale. Using the portal, you can move from a shared multitenant model to a standard mode where dedicated machines service incoming traffic. Web Sites also allows you to integrate with other Windows Azure services, such as SQL Database, Service Bus, and Storage. In summary, Windows Azure Web Sites makes it easier to focus on application development by supporting a wide range of languages, open source applications, and deployment methodologies (FTP, Git, WebDeploy, or TFS). If you don’t have specialized requirements that require Cloud Services or virtual machines, a Windows Azure Web Site is most likely the best choice.
Cloud Services enables you to create highly-available, scalable web applications in a rich Platform as a Service (PaaS) environment. Unlike Web Sites, a cloud service is created first in a development environment, such as Visual Studio, before being deployed to Windows Azure. Frameworks, such as PHP, require custom deployment steps or tasks that install the framework on role startup. The main advantage of Cloud Services is the ability to support more complex multitier architectures. A single cloud service could consist of a frontend web role and one or more worker roles. Each tier can be scaled independently. Developing in a PaaS environment supports code and architecture options that get the most out of the platform. There is also an increased level of control over your web application infrastructure. For example, you can remote desktop onto the machines that are running the role instances. You can also script more advanced IIS and machine configuration changes that run at role startup, including tasks that require administrator control.
Virtual Machines enable you to run web applications on virtual machines in Windows Azure. This capability is also known as Infrastructure as a Service (IaaS). Create new Windows Server or Linux machines through the portal, or upload an existing virtual machine image. Virtual machines give you the most control over the operating system, configuration, and installed software and services. This is a good option for quickly migrating complex on-premises web applications to the cloud, because the machines can be moved as a whole. With Virtual Networks, you can also connect these virtual machines to on-premises corporate networks. As with Cloud Services, you have remote access to these machines and the ability to perform configuration changes at the administrative level. However, unlike Web Sites and Cloud Services, you must manage your virtual machine images and application architecture completely at the infrastructure level.
| Windows Azure Web Sites are ideal for... | Windows Azure Cloud Services are ideal for... | Windows Azure Virtual Machines are ideal for... |
|---|---|---|
|
Modern Web Applications. Applications that consist of a client-side markup and scripting, server-side scripting and a database. You can scale out or up as needed. |
Multi-tier Applications. Applications that are composed of multiple tiers. Each tier can be scaled independently, with asynchronous background processing, like order processing, using both web and worker roles. |
Server Applications. Existing applications that leverage SQL Server, MySQL, MongoDB, SharePoint Server, etc. |
|
Continuous Development. Deploy directly from your source code repository by using Git or Team Foundation Service. |
Applications that Require Advanced Administration. Applications that require administrator access, remote desk"top" access, or running code with elevated privileges. |
Existing Line-of-business Applications. Choose an image from the gallery or upload your own VHD. |
|
Popular Open Source Applications. Launch a website with a few clicks with such applications as WordPress, Joomla!, and Drupal. Create advanced, high-traffic open-source websites on Windows Azure. |
Applications that Require Advanced Networking. Applications that require network isolation with Windows Azure Virtual Network. |
Windows or Linux. Support for Windows Server and community/commercial versions of Linux. Connect virtual machines with Cloud Services to take advantage of PaaS services. |
Web Sites and Cloud Services Feature Comparison
When you consider the options, virtual machines can be used for almost any application architecture. However, Web Sites and Cloud Services have similar use cases and advantages; knowing when to use each can be difficult. The following table compares the capabilities of Web Sites and Cloud Services to help you make the best choice.
| Feature | Web Sites | Web Roles |
|---|---|---|
|
Access to services like Service Bus, Storage, SQL Database |
Yes |
Yes |
|
Integrated MySQL-as-a-service support |
Yes |
Yes, see note below |
|
Support for ASP.NET, classic ASP, Node.js, PHP, Python |
Yes |
Yes |
|
Scale out to multiple instances without redeploy |
Yes |
Yes |
|
Support for SSL |
Yes, see note below |
Yes |
|
Visual Studio integration |
Yes |
Yes |
|
Deploy code with TFS |
Yes |
Yes |
|
Deploy code with GIT, FTP |
Yes |
No |
|
Deploy code with Web Deploy |
Yes |
No, see note below |
|
WebMatrix support |
Yes |
No |
|
Near-instant deployment |
Yes |
No |
|
Instances share content and configuration |
Yes |
No |
|
Scale up to larger machines without redeploy |
Yes |
No |
|
Multiple deployment environments (production and staging) |
No |
Yes |
|
Network isolation with Windows Azure Virtual Network |
No |
Yes |
|
Support for Windows Azure Traffic Manager Preview |
No |
Yes |
|
Support for CDN |
No |
Yes |
|
Remote desk"top" access to servers |
No |
Yes |
|
Ability to define/execute start-up tasks |
No |
Yes |
Web or worker roles can integrate MySQL-as-a-service through ClearDB's offerings, but not as part of the Management Portal workflow.
For Web Sites, SSL is only supported for standard mode. For more information on using SSL with Web Sites, see Configuring an SSL certificate for a Windows Azure Web Site.
Web Deploy is supported for cloud services when deploying to single-instance roles. However, production roles require multiple instances to meet the Windows Azure SLA. Therefore, Web Deploy is not a suitable deployment mechanism for cloud services in production.
[Windows Azure] Windows Azure Web Sites, Cloud Services, and VMs: When to use which?的更多相关文章
- 比较Windows Azure 网站(Web Sites), 云服务(Cloud Services)and 虚机(Virtual Machines)
Windows Azure提供了几个部署web应用程序的方法,比如Windows Azure网站.云服务和虚拟机.你可能无法确定哪一个最适合您的需要,或者你可能清楚的概念,比如IaaS vs PaaS ...
- [Windows Azure] Windows Azure Execution Models
Windows Azure Execution Models Windows Azure provides different execution models for running applica ...
- How to use VS2012 remote debug Windows Azure Cloud Services
Background: Windows Azure Cloud Services 可以在本地调试,使用Visual Studio 2012 + 模拟器 Emulator.但是模拟器的工作状态和环境和真 ...
- [Windows Azure] How to Configure Cloud Services
How to Configure Cloud Services To use this feature and other new Windows Azure capabilities, sign u ...
- [Windows Azure] How to Monitor Cloud Services
How to Monitor Cloud Services To use this feature and other new Windows Azure capabilities, sign up ...
- [Windows Azure] How to Manage Cloud Services
How to Manage Cloud Services To use this feature and other new Windows Azure capabilities, sign up f ...
- 把Orchard部署到Windows Azure Web Sites
很久前就想做个人站点,主要用来记录自己的生活,我喜欢摄影,烘焙…然后又刚刚入皮坑,这些都可以放在网站上展示一下,或许还能为自己带来收入. 然后手上刚好有Azure的试用,于是乎动力就上来了. 以下是部 ...
- [Windows Azure] Developing Multi-Tenant Web Applications with Windows Azure AD
Developing Multi-Tenant Web Applications with Windows Azure AD 2 out of 3 rated this helpful - Rate ...
- [Windows Azure] Building the web role for the Windows Azure Email Service application - 3 of 5
Building the web role for the Windows Azure Email Service application - 3 of 5. This is the third tu ...
随机推荐
- Photoshop CS6 操作记录
全局快捷键 橡皮 E 画笔 B 魔棒工具 W 钢笔工具 P 选区工具 M 移动画布 按住Space后鼠标拖动 放大缩小画布 Ctrl+-, Ctrl++ 调出/收回标尺 Ctrl+R 调整画笔大小 [ ...
- QQ登录整合/oauth2.0认证-01-申请appkey和appid
本节需要你申请appkey和appid还有绑定域名的空间 首先 再讲课之前 你需要准备以下东西 到腾讯开发平台中申请 开发者 获得appid 和appkey 这两个东东 这两个东东 就算没审核 也可以 ...
- Ubuntu字库安装
目录 [隐藏] 1 字体相关库的简介 1.1 LibXft 1.2 Cairo 1.3 Fontconfig 1.4 Freetype 1.5 Pango 2 基本概念 2.1 点阵字体与矢量字体 2 ...
- MATLAB 的函数句柄
MATLAB 的函数句柄: 1.何为函数句柄? 函数句柄也是MATLAB中的一种常见的数据类型, 它的地位类似于其它计算机语言里的函数对象(Javascript,Python),函数指针(C++),或 ...
- servlet 中通过response下载文件
public class ResponseDemo3 extends HttpServlet { private static final long serialVersionUID = -52329 ...
- iOS 自动布局框架 – Masonry 详解
目前iOS开发中大多数页面都已经开始使用Interface Builder的方式进行UI开发了,但是在一些变化比较复杂的页面,还是需要通过代码来进行UI开发的.而且有很多比较老的项目,本身就还在采用纯 ...
- Spring 3.0 AOP 之 AOP 术语 (一)
关于AOP.之前我已写过一个系列的随笔: <自己实现简单的AOP>,它的关注点在于实现.实现语言是C#,实现方式为 自定义实现 RealProxy 抽象类.重写Invoke方法,以便进行方 ...
- 【javascript】js中的函数节流和函数防抖
一.概念解释 函数节流和函数防抖,两者都是优化高频率执行js代码的一种手段. 大家大概都知道旧款电视机的工作原理,就是一行行得扫描出色彩到屏幕上,然后组成一张张图片.由于肉眼只能分辨出一定频率的变 ...
- 【Struts2】Struts2与Spring整合后,如何指定Action为多例模式
Strust2默认是多例的,但是Spring默认是单例的,在进行Spring+Strust2整合的时候,就需要把Spring管理的action指定为多例模式,只需要在action上面加上@Scope( ...
- Ilist<object>转换成I<实体> 如何转换
ml = objects.Cast<menu>().ToList(); //需要 using System.Linq;