避免供应商锁定:为Windows Azure编写的代码是否可以完全移植到自托管的IIS/ASP.NET? [英] Avoiding Vendor-Lock-in: Is code written for Windows Azure completely portable to self-hosted IIS/ASP.NET?

查看:91
本文介绍了避免供应商锁定:为Windows Azure编写的代码是否可以完全移植到自托管的IIS/ASP.NET?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

背景
我刚刚开始开发打算在云中托管的新的Web开发产品,并正在权衡我对云提供商的选择.

我真的很喜欢使用像Azure这样的平台即服务解决方案的想法,因为我的服务器管理技能不像我的开发技能那么强大.因此,仅专注于应用程序和外包问题(例如备份/负载平衡/等)的能力.对我很有吸引力.

但是,我也担心供应商的锁定.我希望我的应用程序的利润空间很小,并且需要仔细关注成本控制.如果我选择像Azure这样的PaaS解决方案,而MS决定大幅提高其价格,那么我希望能够将我的业务带给更便宜的提供商.

我已经从事ASP.NET开发多年了,但是很快就可以使用Azure.我知道Azure应用程序是使用与普通ASP.NET应用程序相同的工具/语言编写的,但是不知道它们之间是否有足够的差异,以至于同一应用程序未经大量修改就无法在常规的IIS/ASP.NET安装上运行.

问题
通常,Azure应用程序是否可以移植到IIS/ASP.NET的非云版本中,从而使您可以轻松地将其移动到众多IaaS/HaaS提供程序之一,而无需进行大量手术?

我知道很明显我会失去PaaS的优势,例如内置的负载平衡和其他功能.我主要担心的是Azure是否会迫使您以一种非常特定于Azure的方式来编写Web应用程序,而该方法需要进行重构才能在Microsoft的Cloud之外运行.

解决方案

不,对于网站",Microsoft当前不强迫您以非常特定于Azure的方式编写代码-网络角色本质上只是一个网站. >

因此,如果您仅坚持使用Web角色,并且仅使用SQL Azure进行存储,那么当前您的Azure代码将具有很高的可移植性.

但是,如果您开始包括: -工人角色 -表,blob或队列存储 -高级Azure配置 -Azure诊断 -Azure管理(例如用于扩展或部署)

然后,您将开始包括Azure特定功能.

另外,作为个人观点,我认为微软不会抬高"价格可能是问题,但竞争对手可能会选择更便宜或更实用的解决方案.

Background
I'm just getting started on a new web-development product that I intend to host in the cloud and am weighing my options for cloud-providers.

I really like the idea of going with a Platform-as-a-Service solution like Azure because my server administration skills aren't nearly as robust as my development skills. So the ability to focus only on the app and outsource concerns like backups/load balancing/etc. is attractive to me.

HOWEVER, I am also concerned about vendor lock-in. I expect the margins on my application to be fairly slim and need to keep a careful eye on cost controls. If I pick a PaaS solution like Azure and MS decides to jack up their prices substantially I'd like to be able to take my business to a cheaper provider.

I've been doing ASP.NET development for years, but am just getting up to speed with Azure. I know that Azure apps are written using the same tools/language as normal ASP.NET apps, but don't know whether they differ enough that the same app wouldn't run on a regular IIS/ASP.NET installation without substantial modifications.

The Question
Are Azure apps generally portable to non-cloud versions of IIS/ASP.NET enabling you to move them easily to one of the numerous IaaS/HaaS providers without major surgery?

I understand that obviously I'd lose the PaaS advantages like built-in load balancing and the other extras. I am mainly concerned about whether Azure forces you to write you web app in a very Azure specific way that will need to be re-factored to work outside of Microsoft's Cloud.

解决方案

No, for "websites" Microsoft does not currently force you to write code in a very Azure specific way - a web role is essentially just a website.

So if you are sticking to just web roles and you are just using SQL Azure for storage, then currently your Azure code would be very portable.

However, if you start to include: - worker roles - table, blob or queue storage - advanced Azure configuration - Azure diagnostics - Azure management (e.g. for scaling or for deployment)

then you will start to include Azure specific functionality.

Also, as a personal opinion, I don't think Microsoft "jacking up" the price is likely to be the problem - but competitors coming along with cheaper or more functional solutions might be an issue.

这篇关于避免供应商锁定:为Windows Azure编写的代码是否可以完全移植到自托管的IIS/ASP.NET?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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