真正理解微软的Azure堆栈

SDN控制
ThankStock.

在过去的一个月里,微软发布了一个Azure Stack的公开预览版,我下载了它,对它进行了修改,并把它放在了这篇博文中来分享它的全部内容。与我所有的博客,这不仅仅是微软的声明的返流或一个简单的意见我概念上“思考”,但这是一个真实的评论后几周的铁杆摆弄Azure堆栈真正理解能力和解决问题的能力。

什么是Azure Stack?
开始,“什么是Azure堆栈?”Azure Stack有效地利用Microsoft的Azure云进入组织自己的数据中心。TRUE,在引擎盖Azure堆栈下运行Microsoft的Hyper-V,Windows和Microsoft网络和存储,但您没有看到任何一个。当你停下来思考它时,你就是“在数据中心运行微软的天蓝色!”

这就像我在自己的数据中心运行box.com或salesforce.com或amaxon aws或twitter的实例。而不仅仅是“功能类似于这些云产品的东西”,但运行Azure Stack正在在数据中心运行Microsoft的公共天蓝色云!

你为什么要在附近运行Azure堆栈?
人们可能会问,为什么要在自己的数据中心运行云服务?“云计算”的整体理念难道不是将工作负荷转移给第三方,以将it的管理足迹降到最低吗?是的,将数据中心的工作负载转移到公共云上是组织将东西转移到云上的一个原因,但这不是唯一的原因。

在Azure Stack上的内部测试场景中,我在Azure Stack上启动了公司会计和人力资源应用程序的几个实例。相对简单的Dynamics Great Plains和Microsoft SQL Server应用程序,但我的CFO拒绝把这些东西放到公共云(现在)。以安全、合规性和可靠性(借口)为由,我们的核心业务应用程序(目前)不允许在我们的数据中心之外运行。有道理,我现在不想和我的首席财务官争论或争吵,我有很多其他的工作很容易转移到云计算,让我们忙(电子邮件,5分享,www,协作等)。

我们可以用Azure Stack来实现我们的应用,那些我们可以转移到公共Azure云的应用,我们可以把它们从Azure Stack (on-prem)转移到Azure(公共)。由于在prem上的环境和在公共云上的环境是一样的,因此,我并不是在做一些“类似的”内部环境,这是微软的Azure公共云,而是在我自己的内部开发/测试环境和内部数据中心环境中。

Azure Stack(或Azure Public)比现有的VM环境更好?
这是从传统的基于VM的环境中完全区分Azure(公共)/ Azure堆栈的简单问题。当你了解这一点时,你了解这一切的事情是如何在我们的世界中如此变革。

在过去的几十年里,我们一直认为应用程序的可伸缩性就是“添加更多的服务器”。如果需要增加容量,可以增加服务器。十年前,这意味着购买另一台物理服务器,并把它放在架子上。有了虚拟化(VMware、HyperV、OpenStack),它大大简化了可伸缩性,因为我们可以简单地“旋转”另一台虚拟机,而无需立即购买更多硬件。

但是,当您停止并仔细思考时,每次您启动一个新的虚拟机时,您都会有一个操作系统(Windows/Linux)的底层开销,可能是一个底层核心应用程序(Microsoft SQL、MySQL、Oracle、Apache),以及另一个需要修补、维护和管理的“系统”。您还面临着在集群VM环境中插入“节点”并在保持应用程序持续运行的同时删除节点的挑战。当您运行几十个“虚拟机”来托管应用程序时,您现在运行一个Web应用程序或一个数据存储应用程序的开销是多少?

Azure Stack(和Azure public)所做的是聚合cpu、存储、网络、数据库层、Web层,并允许你分配你想要/需要的容量,你的应用程序得到你想要它拥有的资源。您可以添加或移除资源,而不是“添加虚拟机”或“移除虚拟机”。

Azure Stack (and Azure public) still allows me to import virtual machines (Windows, Linux, etc) up into the environment and run VMs the way we’ve been doing for years with VM management, but you have the option of running Infrastructure as a Service (IaaS) with VMs as well as Platform as a Service (PaaS).

我经常使用类比,如果你正在移动东西,你最初只是扔在汽车的后座或后备箱里的东西。如果你正在移动更多的东西,你会抓住几个朋友,你会把东西扔在一辆夫妻车的背面。But if you have a LOT of stuff you need to move, you wouldn’t hire 20, 50, 100 cars and move stuff bit by bit in a lot of cars, you’d rent a large moving truck (privately managed) or even hire a semi-tractor trailer company (externally managed) to put your stuff in a bigger vehicle.

运行应用程序是完全相同的事情。在独立的vm中运行1、2甚至4个实例是有意义的。但是,如果您真的想要扩展,那么使用所有相关开销构建20、50或100个vm只会加重组织的负担,使其无法使用大量小(沉重的开销)实例来处理大型应用程序。把你的应用放到一个大型的移动货车概念中,你有很多的能力可以放在公共云中,由别人来处理操作(例如:Azure public),或者你想要的一些可伸缩性和容量,你可以在内部管理操作(例如:Azure Stack)。

IaaS vs Paas吗?
因此,这就引出了十年来的“基础设施即服务”(IaaS)或“平台即服务”(PaaS)的问题。目前的答案是两者都有,但当你开始扩展你的it业务时,你会发现PaaS模型更有意义。但对于老派的it人员来说,要完全理解PaaS还很困难。这主要是因为大约十年前PaaS首次出现时,应用程序必须完全重写,以支持当时的PaaS提供者。在早期引入PaaS时,即使是基本的虚拟化(VMware)也还处于婴儿期,因此提升和转移工作负载的想法还没有为市场做好准备。那些在早期尝试过PaaS的人仍然认为PaaS是糟糕的、困难的、复杂的,但这不再是一个准确的评估。

在过去的十年里,不管我们是否知道,我们已经使我们的应用程序更具有可扩展性和可移植性。我们必须更新我们的应用程序,以便能够在集群节点和多个vm之间传播它们,以创建基本的可伸缩性。我们能够将IIS Web或Apache Web的多个实例放到负载均衡的Web服务器群中。我们已经创建了SQL集群,以便跨SQL服务器分布数据库负载,用于扩展和向外扩展数据场景。所以在过去的几年里,我们一直在更新我们的应用来扩展和分配应用工作负载,一点一点地。

下一个逻辑步骤是摆脱几十个小微小的VM并进入移动的范概念,这是转移到PaaS平台。Continuing with the moving van analogy, yes, instead of putting the stereo on the back seat of the car with maybe a blanket on top, you’d have to box the thing up a little more neatly and securely to put it in the moving van. Moving from IaaS to PaaS will likely require some changes of (inefficient) code running on the overhead laden redundant systems, to a more broadly scalable PaaS model, but once you make the changes, you can now scale and distribute your application (up and down) based on your needs.

Again, Azure (and Azure Stack) do NOT require you to solely run your apps in a PaaS model, you can easily upload or create Windows and Linux VMs and run your apps like you’ve been doing on VMware and Hyper-V in an IaaS model. And quite frankly, most orgs that are moving to the cloud (Amazon AWS, Azure) have been doing it using IaaS by uploading entire VMs. It’s an easy concept to understand, it’s lifting and shifting an entire workload including the underlying operating system. But to truly benefit from the agility of the cloud, you HAVE to consider rewriting apps to support a truly scalable (and greatly lower overhead) of a PaaS platform. But again, Azure (and Azure Stack) provide you the option of IaaS and PaaS.

用于开发/测试场景的Azure堆栈
回到之前的问题,为什么是Azure Stack?如果你打算做的只是构建一堆虚拟机并在Azure Stack中运行,那么你是否已经投资了一个健壮的基于IaaS虚拟机的环境就更难理解了。我们在IaaS模型中为基础虚拟机构建Azure Stack的一个真实场景是针对Dev/Test场景。

我们有一个早期的Adopter Azure堆栈组织,在Azure(公共)中运行他们的公众申请。Azure正在为组织提供一个地理上冗余的全局数据中心环境,外部托管并衡量他们在他们正在服务的所有分布式地理区域的客户群中的需求。Azure(公共)对他们的生产应用程序完美无缺。

但是他们喜欢无限可扩展的开发/测试环境,Azure(公共)提供了他们,他们想要更好地控制他们的应用程序开发过程中。他们想要发展能力与孤立的位置把尽可能多的权力他们想代码编译和处理。

构建Azure Stack是为了让该组织能够完全控制其后端环境的物理位置和分配容量。当他们在Azure Stack内部开发时,他们可以很容易地将应用程序从Dev/Test转移到Azure(公共)环境中,因为它们实际上是相同的底层环境。

Azure Stack用于非常安全的环境
我们正在用Azure Stack构建的另一个早期采用者场景,是为那些希望并需要Azure(公共)提供的可伸缩性,但在私有的高度安全环境中的组织设计的。并不是“每个人”都在转移到公共云,至少现在是这样,对于那些希望以公共云方式扩展和管理应用程序的组织来说,但是在他们自己的数据中心的约束下,Azure Stack为他们提供了这种能力。

回到我的搬家货车的比喻,当美国政府需要移动绝密的东西时,他们不会翻阅黄页并选择一家搬家公司来移动他们的东西,他们会承包或使用内部的搬家货车资源。然而,一旦材料包装,没有什么阻止政府从私人转向公共模型,同样的,Azure堆栈使模型高效和有效的操作模型,给出了一个组织的途径公共模型如果当他们选择在未来任何时候。

用于主机的Azure堆栈
主机和管理服务提供商在利用Azure Stack区分他们的服务方面有一个独特的机会。第三方托管虚拟机的世界已经迅速成为一种商品,各组织纷纷组建数据中心,称自己为“云提供商”,实际上只是在传统的管理程序(ESX、Hyper-V或OpenStack)上托管虚拟机(Windows和Linux)。

但是Azure堆栈不是一个“以前所做的商品解决方案”,而是企业开始意识到可扩展性和敏捷性真的依赖于将平台作为服务模型,除了基础架构作为服务模型提供,Azure堆栈有助于托管人将自己与竞争对手区分开来。

实践Azure Stack
所以我的手中的叠层过去几周已经证实了我们最初为环境映射的场景。我在收敛计算(我工作)中有几个团队构建了Azure堆栈环境,以3个单独的数据中心中的特定,5个环境。我们希望证明Azure堆栈可以进行IAAS,PAAS,DEV /测试,以及我们所设想的安全计算场景。简而言之,我们在所有测试中都完全成功,而不是沿途的几个颠簸和瘀伤,但我们所有的团队都对Azure堆可以做的彻底印象深刻。

我们面对Azure Stack的第一个挑战是分配运行基础平台所需的硬件(微软建议一个带有2个插槽、128gb RAM和5个硬盘驱动器的系统)。不能说我们有那种类型的硬件闲置在我们的实验室里,当我们“借来”我们有一对测试服务器,我们通过购买华硕双插座主板和建立了一些系统补充。总之,我们最终为测试分配了5个系统。

12 第1页
第1页共2页
工资调查:结果在