当人们发明或改进新的服务或技术时,他们通常会将精力集中在自己的领域上(尤其是那些首先想迎合其市场的软件供应商)。 云计算也不例外。 例如,IBM将Rainmaker技术定义为可以协同工作以帮助企业创建云的软件和硬件。 而且,像往常一样,魔鬼活在细节中,软件和硬件将以非常专有的方式协同工作。
如今,我们再也负担不起让市场再次为我们(最终用户)做出决定了。 就像金融危机一样,缺乏监管通常会导致巨大的灾难。 如果我们采用相同的云计算方法,企业将失去他们可能获得的大部分关键利益。 本文旨在温和地分享我对敏捷性和新的市场规则如何深刻改变我们“消费” IT方式的看法。
我想呼吁创建一个面向用户的独立云社区。 该社区将集中和利用人才,以从用户的角度定义对Cloud的明确要求,同时使当前的开源云项目之间实现更好的协作。 我们需要尽一切可能避免在云计算中出现新的事实雅尔塔(几个公司无法管理云世界:亚马逊,SalesForce.com,谷歌,微软以及任何IBM或惠普会提出的建议)。 我们已经看到了SOA发生了什么。
业务需要敏捷才能生存,并且需要“开放,易于部署且可互操作的” IT解决方案。 在大多数在IT部门之外工作的公司中,信息技术已不再是人们关注的,敏捷业务技术的长期存续期。 一个典型的产品管理团队总是在完美的时机以完美的价格寻找完美的技术,以在完美的时间将完美的产品交付到完美的渠道,以完美的价格。 “ Perfect”是一个业务术语,可以在IT措辞中通过“敏捷”,“快速”和“具有成本效益”来映射。 坦白地说,我们都知道软件即服务(SaaS)被用作业务线(LOB)以减少内部IT资源和IT成本。 除了成本之外,LOB还希望通过选择和配置“按需”所需的工具来恢复对命运的控制。 业务技术是可定制的业务流程及其在云中的实现的组合,将继续存在。
敏捷普及将影响IT流程和组织,IT开发和测试工具与技术,并最终影响IT运营和基础架构。 在以下各节中,我们将提供一些示例来概述有多少种不同的力量聚合到一个焦点:云计算。
敏捷是两年前我的组织发现的一个词汇,我们永远不会以相同的方式来构建软件。 Scrum,XP和精益管理等方法都提高了生产资产的质量,并缩短了上市时间。 当以真正的成功意愿应用这些过程框架时,它们会暴露组织的功能障碍并提供重要的结果。
流程框架始终需要自定义并适应特定环境,但始终遵循一些关键原则。 通常引用的原则是:团队成员之间的沟通和信任,IT团队内部业务(产品所有者)的集成,经常在规则和及时定义的时间间隔(冲刺)内发布和部署软件,并持续寻找任何浪费以及丢弃它们的方法。
让我们回顾一下可以视为敏捷催化剂的IT开发和测试技术的最新进展:
在数据中心购买服务器并进行安装通常需要3个月的时间。 而且我什至没有在谈论安装DBMS集群或设置VLAN。 在同一台服务器上安装多个应用程序可能会导致一些副作用(所使用的软件版本,配置冲突),更不用说组织战了。
IT运营的敏捷性来自于新一代数据中心,绿色IT约束(散热和能源),虚拟化技术(硬件上虚拟机密度不断提高)以及共享基础架构(负载平衡,存储,防火墙,安全设备等)。
通过扩展敏捷连续性以涵盖IT运营,还可以创建敏捷性(这种方法可以称为持续部署)。
让我们看看基础架构的发展速度如何,以及今天如何将其作为服务(基础架构即服务)提供:
有关云革命的更多信息,您可以阅读有关此主题的最新CSC Leading Edge论坛(LEF) 报告 。
在云中,部署和操作可以在同一流程连续性中更敏捷,更好地链接。 但这是否意味着我们可以创建一个应用程序并将其部署在Windows Azure或Google Application Engine上? 我们是否仍然需要关心应用程序代码将部署在何处以及需要多少CPU来维持负载? 我们是否仍然需要管理应用程序-ilities,这很耗时,容易出错并且在我的应用程序中需要其他和不必要的代码? 应用程序的业务和技术事件是否经过精心设计和关联,以提供所需的弹性? 我想您已经知道答案了。 这可能就是LOB尚未赶上潮流并大规模采用云的原因。
那么阻碍云采用的主要因素是什么?
那些阻碍者推动着该领域的主要参与者首先定义自己的服务,即使需要专有接口或技术也是如此。 他们的目标是尽快占领最大的市场份额并制定标准。 作为用户,这对我的LOB意味着什么? 今天,供应商锁定的风险太重要了,无法证明采取此举是合理的,尤其是因为它没有有吸引力的成本模型作为后盾。 除TIBCO(尚不清楚如何定价白银)外,其他大多数供应商都采用相同的方法(价格几乎相同)。
为了灌输更多的竞争并让新的创新和独立参与者脱颖而出,我们必须:
这次,让我们避免不得不跨越云专有解决方案的孤岛,而这会限制业务敏捷性的未来,这些孤岛相互关联以实现最大可能的利润(例如航空公司,为了实现这一目标,今天取消了一些航线),而不是为了实现最好的网状网(就像今天的Internet一样)。 创新还来自可入侵性因素(获取,理解,改进,发明)…
要求敏捷业务流程的自主利益相关者正在改变业务和IT团队协作和交付的方式。 现有的信息系统是如此复杂,以至于几乎不可能使它们对业务需求做出React。 现在是时候吃大象[2]了 ,一次咬一口。 信息技术不再是成功的有效途径。 应该将IT注入业务中以创建业务技术。 如果您遵循一些关键原则,就可以进行顺畅的变更管理和适应组织的发展,从而迈向敏捷世界,其中最重要的一些原则将在下面继续介绍(并沿用了SHINE原则):
我最近听说了一家闪闪发光的法国小公司Lokad的例子。 Lokad正在提供业务技术,并且专门研究用于销售,需求和呼叫量的预测软件。 借助云,他们能够在一小时内为法国一家主要零售商进行预测计算(由客户强加业务SLA!),而成本却只有几分之一。 Lokad投资了Azure(即使当时仍处于beta版),并确实使用Microsoft Web和worker服务定义重建了其应用程序。 他们能够提供所需的尽可能多的资源(但并不总是像它们想要的那样强大:10个具有2GB的单CPU VM不等于10个具有20GB的CPU计算机),以完成以前无法做的事情( (由于计算时间而异),甚至现在还支持创建和实施更复杂的算法以提供更好的预测(因为计算时间不再是问题,并且软件体系结构也不相同)。
像IBM这样的编辑器也正在从事SHINE的新业务技术服务。 大规模混搭(M2)是mashup范式的扩展,它“集成了基于Web的存储库中的千兆字节,太字节或PB级的非结构化数据,并使用您选择的非结构化信息管理架构(LanguageWare,OpenCalais等)提取和丰富了这些数据。 。),让您可以在特定的用户定义上下文(例如ManyEyes )中浏览和可视化这些数据,IBM还开发了一种适应性强的敏捷过程来帮助客户使用M2,首先需要两到三个小时的简介,以识别需求并了解如何最好使用M2。然后,需要1.5天来设置基本服务,而需要2到4天才能完成实施。
LOB表示的第一个要求是对业务技术的系统愿景。 您如何使不同的利益相关者访问并了解公司的敏捷和弹性资产? 接受将解决今天围绕云标准的战争以及当前缺乏互操作性的想法,该怎么办?
我们认为应该发明一种新型的分布式操作系统来实现“及时” IT。 然后,它将让您命令和控制您的云(而不仅仅是一台机器)。 该Cloud OS将能够在云中管理的任何实体上执行操作(如创建服务器,添加数据库,传输数据,部署应用程序等)。 我们预想以下关键实体将由此操作系统管理:
让我们以一个简单的示例来表达我们可以设想为Scrum用户故事的控制级别。 该公司将启动一个具有两个应用程序的新项目(一个在内部,一个在需求)。 我们需要运行此项目,并使其在公司云上变为现实。 最好的方法是使用命令行解释器。 因此,第一个目标是要使用一组命令,并在云OS中集成专有的云适配器,以便以正确的API转换命令(似乎我们回到了EAI……)。 为了管理业务技术并提供系统的愿景,我们应该收集有关应用程序产品组合,要部署的应用程序代码,应用程序配置和非功能性要求以及要使用的弹性基础结构的信息。 所有这些都在一个地方(即Cloud OS)(也称为3tera称为meta-OS)进行管理和聚合。
为了用伪代码构建小示例,我尝试重用了云供应商的API中已经可用的一些命令,添加了管理产品组合所需的数据并添加了企业体系结构需求所需的属性。 这里需要的是在多个域中找到最常见的分母:
CREATE DOMAIN myPortfolio ; my logical domain name composed of two applicationsADD myPortfolio APP1 Critical OnPremise ; APP1 is a critical application - app. portfolio
ADD myPortfolio APP2 Maintain OnDemand ; APP2 is in maintenance mode - app. portfolio
; Let's Begin with APP1
APP1 CREATE ; Definition of my APP1
APP1 IMPLEMENTS CustomerOnBoarding ; Link APP1 with Business Process
APP1 STATUS = Production ; APP1 is in production mode (portfolio)
; Automated cloud based deployment
APP1 SVN https://mycompany.com/svn/myPortfolio/app1.xml
APP1 REQUIRES JVM 8.x ; (we are dreaming ..)
APP1 SCALABILITY HORIZONTAL DYNAMIC ; Elasticity, create CPU when needed
APP1 PREFERRED AWS, RIGHTSCALE ; Elasticity, Preferred Cloud suppliers
APP1 RULE "COST < $200 PER DAY" ; Elasticity, Rule for elastic cost containment
APP1 SLA = 99.9 ; Elasticity, Rule for elastic cost containment
; Automated cloud based DBMS creation and data load
APP1 DATA SCHEMA https://mycompany.com/config/myPortfolio/Data/DataSchema.xml
APP1 DATA LOAD https://mycompany.com/config/myPortfolio/Data/DataDump.dat
APP1 DATA COMPUTE GRID MAPREDUCE https://mycompany.com/config/myPortfolio/Data/grid/MapReduce.cfg
APP1 STORAGE EXTEND ON DEMAND ; Elastic Storage
APP1 STORAGE DR ENABLED ; Storage with Disaster recovery
; Security information
APP1 SECURITY SSO
APP1 SECURITY OPENId
APP1 INTERFACE WITH APP2 USING HTTPS
; Service call
APP1 USE APP2 ; dependency management at architecture level
APP1 USE Service1 https://mycompany.com/config/myPortfolio/service1.wsdl
APP1 USE Service2 https://mycompany.com/config/myPortfolio/service2.wsdl
; Monitoring
APP1 MONITOR on MonitTweeter #APP1 ; monitoring is done through a Twitter-like interface
APP1 END
; Then
APP2 ATTACH APP2 https://www.app2.com/ ; APP2 is in on Demand 0
APP2 IMPLEMENTS CustomerProfile ; Link APP2 with Business Process
APP2 NEED OpenID ; APP2 is using OpenID
APP2 Certificate https://mycompany.com/certificate/app2.key ; Requires certificate
APP2 END
END Domain MyDomain
业务技术创新驱动的虚拟化是整体的(服务器,存储和网络)。 云需要并行和分布式的操作系统能力,这将迫使我们忘记以本地操作系统为中心的愿景(Microsoft Windows Seven可能是其同类产品中的最后一个操作系统)。 我们还应该重用许多有关分布式监视,配置和基础架构动态映射的功能。
一个明显的建议是创建一个特定的轻量级的类似Linux的微内核,该内核将针对云进行优化。 它应该能够在多种类型的处理器上本地运行,并能够运行市场上当前的大多数虚拟机管理程序(或至少通过网络与它们进行互操作)。 每个微内核将在每个处理器或CPU内核上运行。 中央系统还将收集数据并动态关联这些数据,以使分布式系统适应当前状态(在分布式系统中收集全局状态并不容易)并在需要时发出远程命令(类固醇上的分布式OSGi)。
胚胎计划已在世界各地启动,以解决其中一些关键问题。 一些最有前途的包括:
云将迫使企业架构师对弹性系统具有系统的,尽可能动态的愿景。 在专用工具(例如Aris , Mega , Casewise )中静态(或绘制)一些IT景观数据的先前方法将不再可行。 企业架构,应用程序产品组合和基础架构管理的集成是绝对必要的,以保持对域状态的全球视野并了解其对业务价值链的影响。
在自主基础架构上运行的弹性应用程序将挑战设计,部署,测试,记录和维护IT系统的旧方法。 尽管如此,我们仍需要创建挂钩,以使我们的IT足够敏捷以快速制定新的业务决策(在向云或其继任者大跃进之前)。
将来,业务流程的描述,集成和优化将越来越重要,这将在LOBs组织中创造新的工作机会。 相反,技术架构师,基础架构专家以及计划和项目组合经理的工作将越来越交织在一起。
我希望通过应用SHINE的简单原理,您将能够按照自己的步调使用云计算。 了解到云计算仍不成熟,在开发和部署应用程序时可能需要做一些修改。 但是,现在是为企业准备Cloud的正确时机。
从虚拟化到私有云基本上是向应用程序所有者提供自助服务功能的一步。 它增加了另一层抽象,因此增加了灵活性,缩短了上市时间并增加了管理复杂性。 仍需要流程和工具来管理这一层。
使用云的最大优点是您不必构建处理异常峰值的能力。 但是,您可以有针对性地设计弹性需求,并从中受益,从而更快地完成工作或花费很少的成本。
如果我们将云交给IT供应商,因为他们试图说服企业使用它来降低成本(这仍有待证明),我们将再一次失去创建一家持续敏捷的公司和内部机构的机会。只是将IT外部化为敏捷程度更高的外部供应商。 现在是时候建立或倡导可以确保对不断发展的Cloud生态系统进行治理的组织了。 这里的目标是避免将来出现IT系统性危机。
我确实希望在不久的将来,将有一个像我刚才概述的那样的操作系统。 我没有预见到严重的技术集成问题会阻止其实现。 此外,采用一种敏捷方法,对实体的粒度及其功能和非功能属性进行合理的范围划分,可以轻松实现快速获胜。 该操作系统如何能够对几种事件进行动态(重新)React,以及如何避免过度设计,仍然有待研究和讨论。
[1] Forrester首席执行官George F. Colony的“我的观点:从IT到BT”,2006年8月18日,( http://blogs.forrester.com/colony/it-to-bt.html )
[2]吃着IT大象,从Greenfield Development到Brownfield,Richard Hopkins和Kevin Jenkins,IBM Press,2008年。
翻译自: https://www.infoq.com/articles/cloud-shine/?topicPageSponsorship=c1246725-b0a7-43a6-9ef9-68102c8d48e1