部署Web站点Azure和传统的IIS [英] Deploy web site to azure and traditional IIS

查看:255
本文介绍了部署Web站点Azure和传统的IIS的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我目前正在与传统asp.net web应用程序的工作和未来的要求之一是,它可以部署到Windows Azure。

I currently work with a legacy asp.net web application and one of the requirements going forward is that it be deployable to windows azure.

我想知道这将是多么困难,管理部署既Azure和传统的IIS Web服务器。

I would like to know how difficult it will be to manage deployment to both Azure and a traditional IIS web server.

Azure的人似乎都需要一个Web应用程序了项目的特定定制版是否有可能部署定制的Web应用程序到标准一旦被转换IIS实例。

Azure seems to require a specific customized version of a web applicaiton project is it possible to deploy the customized web application to a standard IIS instance once it has been converted.

编辑:

这是一个ASP.NET Web应用程序,而不是一个网站(编译一切成一个DLL)

It is a ASP.NET Web Application rather than a Web Site (compiles everything into one dll)

更新:

在因参与转换的应用程序中的Azure工作的工作量,并与其他云解决方案就决定去与传统的相比,云计算的Azure的成本到底托管虚拟服务器。

In the end due to the amount of work involved in converting the application to work in Azure and the cost of Azure compared with other cloud solutions it was decided to go with a traditional Cloud hosted virtual server.

和感谢你的真正的好答案。

And thank you for the really good answers.

推荐答案

无论你是否可以将应用程序部署到Azure的几乎是靠应用程序如何工作很多。 Azure的pretty很多需要您的应用程序是无状态的。如果它是仅在会话或应用程序缓存存储的数据和数据保存到只有一个数据库,一个普通的Web应用程序,那么你可以将其部署到Azure上。

Whether or not you can deploy your application to Azure almost as is depends a lot on how your application works. Azure pretty much requires your application be stateless. If it's a plain vanilla web application that stores data in the session or application cache only and saves data to a database only, then you can deploy it to Azure.

如果你有状态的服务,如后台线程运行(这是坏反正),或者将数据保存到文件系统(除了临时缓存),那么你可能有问题。真的,移动到Azure的问题真的一样动人任何多服务器负载均衡解决方案。一个需要注意的是永久存储。

If you have stateful services running like background threads (which is bad anyways), or if you save data to the file system (besides temporary caching), then you may have issues. Really, the issues moving to Azure are really the same as moving to any multi-server load balanced solution. One caveat is permanent storage.

如果您需要将数据存储在除数据库以外的地方,那么你最好与具有用于存储二进制数据,键/值数据的API和客户端库的Azure的存储解决方案的工作(他们称之为表,但实际上,这不是表),以及队列。他们也确实有兼容性透明的斑点,如文件系统的选项。如果你想在你的应用程序也使用的Azure之外使用这些,那么你需要写你的code和同时支持Azure服务和标准的本地服务Azure的客户端库之间的额外的层。 Azure的SDK不包括Azure服务模拟器,但他们绝对不意味着在生产中使用。

If you need to store data in a place other than the database, then you're best off working with Azure's storage solution which has an API and client library for storing binary data, key/value data (they call it tables, but really, it's not tables), and queues. They also do have a transparent blob-as-file-system option for compatibility. If you want to use these in your app that also is used outside of Azure then you need to write an extra layer between your code and the Azure client library that supports both Azure services and standard local service. Azure SDK does include emulators for Azure services, but they're definitely not meant for production use.

至于具体的Azure项目的机制,这实际上并不难。是的,你需要创建您的解决方案,它定义了W​​eb角色和部署得到一个什么Azure的具体项目,但会参考现有的Web应用程序,而不是周围的其他方法。您可以部署在Azure Web角色天青或者您也可以继续正常,并同时部署现有的应用到IIS。

As far as the mechanics of Azure-specific projects, that is actually not that difficult. Yes, you need to create an Azure-specific project in your solution that defines the Web Role and what gets deployed, but it will reference your existing Web Application, not the other way around. You can deploy the Azure Web Role to Azure or you can continue to deploy the existing application to IIS normally and concurrently.

Web站点,Web应用程序,MVC,真的没有多大的差别。实际上不必进行任.NET。可以是PHP,Java或任何你想要把你的虚拟机。它会所有的工作一样尽可能天青而言。

Web Site, Web Application, MVC, really doesn't make much of a difference. Actually doesn't have to be .NET either. Can be PHP or Java or whatever you want to put on your VM. It'll all work the same as far as Azure is concerned.

MS乐于挑战的Azure作为一个平台作为一种服务(PaaS)解决方案,他们有一吨,他们提供的服务,并运行自己的标准平台的应用程序,并对比与亚马逊的AWS他们称之为基础设施 - 作为一种服务(IaaS),这是只是一个虚拟机。然而,MS真的是一样多的IaaS一个解决方案,AWS,甚至有过之而无不及。 AWS和Azure中的唯一区别是AWS,您可以选择安装在VM和Azure的,你必须使用Windows Server 2008 R2为你的虚拟机的基础是什么(但你可以自定义虚拟机映像安装在上面定制软件窗口)。与这两个Azure和AWS,主机提供了可以采取的用于数据存储和消息路由的优势更多的PaaS服务。 AWS还提供吨的额外服务,如视频流。

MS likes to push Azure as a Platform-as-a-Service (Paas) solution where they have a ton of services they offer and you run apps on their standard platform, and contrasts that with Amazon AWS which they call Infrastructure-as-a-Service (Iaas) which is "just" a Virtual Machine. However, MS is really just as much a IaaS solution as AWS, perhaps even more so. The only difference between AWS and Azure is AWS allows you to choose what to install on your VM and with Azure you have to use Windows Server 2008 R2 as the basis for your VM (but you can customize the VM image to install custom software on top of windows). With both Azure and AWS, the hosts offer additional PaaS services you can take advantage of for data storage and message routing. AWS also offers tons of extra services like video streaming.

另外请注意,以天青(AWS和我认为),你可以使用他们甚至在非托管的应用程序提供的服务。如果你想使用的Azure的数据存储从非Azure应用程序,你可以做到这一点,它只是HTTP REST调用来获取/放置数据。你付出的数据的唯一区别输入/输出数据中心和您的非数据中心托管的应用程序,它是免费的,如果应用程序也是数据中心(只是在里面的数据之间的输入/输出在数据中心的自由,你还有存储和交易费)。

Also note that with Azure (and AWS I think) you can use the services they offer even in a non-hosted application. If you want to use Azure's data storage from a non-Azure application, you can do that, it's just HTTP REST calls to get/put data. The only differences you pay for data in/out between datacenter and your non-datacenter-hosted application which would be free if the app was also inside the datacenter (just the data in/out is free in-datacenter, you still have storage and transaction fees).

这篇关于部署Web站点Azure和传统的IIS的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆