zoukankan      html  css  js  c++  java
  • [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.

    ChoicesDiagram

    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.

    FeatureWeb SitesWeb 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

        Note    

    Web or worker roles can integrate MySQL-as-a-service through ClearDB's offerings, but not as part of the Management Portal workflow.

        
        Note    

    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.

        
        Note    

    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.

        
  • 相关阅读:
    主进程与渲染进程的异同
    Electron node integration enabled 设置
    JS-函数总结
    JS-变量、作用域、垃圾回收机制总结
    python进阶知识笔记
    高级抽象函数
    mac支持的文件系统
    生成器generator & 迭代器iterator
    磁盘如何做才能让系统识别
    winPE盘能做什么
  • 原文地址:https://www.cnblogs.com/licheng/p/3256367.html
Copyright © 2011-2022 走看看