新一代应用开发平台强势来袭

近几年,随着云计算、移动化等技术的广泛应用和普及,IT行业进入快速演进阶段,软件的应用开发也在其中。一个最直接的体现就是,容器、微服务、DevOps、CI/CD、CaaS、云原生应用等一个个热词不断涌现,而且几乎每一个都引起了广泛关注。这些热词背后折射出的正是整个软件开发领域的巨大变化,这一变化直接引发了新一代应用开发平台的诞生,而新一代应用开发平台的诞生反过来又进一步推动了软件开发和应用领域的这一轮变革。

新一代应用开发平台强势来袭 

数字化转型大潮中的软件开发与交付

万事皆有因果,软件开发领域的这些变化也是如此。促使这一变化的最重要原因是外界市场环境的变化,比如,一浪高过一浪的企业数字化转型大潮。市场环境的变化使得业务需求发生了变化,业务部门对软件提出的需求也变化了,软件开发和部署以及运维方法相应地就得变化。

“每一个技术变革都有一个大的时代背景。这一轮变革的大背景是从2010年开始,全球进入以客户为中心的时代,这个时代的客户拥有更大的话语权,他们可以通过自己的手持设备方便地访问他们所需的产品和服务,他们还可以非常方便地在社交平台发表意见去影响企业品牌。在这种背景下,每个企业都开始进行数字化转型。”Forrester大中华区首席分析师戴鲲表示。

企业数字化转型压力传递到软件开发领域,就要求开发过程必须足够敏捷,因为每个企业都需要加速软件的交付过程,与此同时还要能够保证软件质量以及灵活性,只有这样企业才能快速试错,不断推出新的产品和服务,抢占市场。

红帽应用开发产品线产品经理蔡书和记者分享了一个段子:有一家位于美国底特律的传统汽车制造业,企业的CEO带着CIO去了一趟加州的硅谷,参观完几家做自动驾驶和电动汽车的公司,在回来的路上他问自己的CIO,为什么这些公司能在两个月就把想要的功能做出来,而我们的企业去年的想法现在还在计划当中。

在这个段子中,底特律的公司和硅谷的公司代表了企业在创新能力上的两个极端,它们之间的一个重要差距在于前者无法快速交付出想要的产品和服务。“在今天激烈的市场竞争中谁能更敏捷,谁就更有竞争力。”蔡书表示。

由于传统技术很难实现所要的这种敏捷和灵活,这就要求企业必须寻找新兴技术来应对新的要求。因此,这种技术一出现就很容易地受到市场的追捧,哪怕这些技术的成熟度可能还不够,还仍然处于快速发展过程中。这也就是如今各种开源软件大受欢迎的重要原因。

实际上,在软件开发和部署领域里,开源软件正在成为技术创新的最大推动力之一。“无开源,不创新”这句不少开源人士的口头禅也正在成为事实。比如,如今大红大紫的容器就是一种开源软件,微服务、DevOps等很多先进的开发理念也正是借助开源软件才真正落地。

容器应用平台受欢迎

当企业尤其是很多传统企业,在选择诸如容器等各种开源技术来进行云原生应用的开发时,它们却普遍遇到了不小的挑战。

蔡书结合自己的体会告诉记者,除了一部分具有雄厚技术实力的互联网企业之外,大部分的普通企业在进行云原生应用开发时都要面对两个困难:一是如何选择,比如,在容器技术上要选择哪个?容器编排引擎要选择什么?对于尚在快速发展过程中的技术,技术积累不够的企业要结合自己的业务需求做出最佳的选择并不是一件容易的事情。另一个问题是在做出前面的选择之后,如何将所选择的各种技术整合到一起。这也就涉及到应用开发平台的问题。

“要让容器等各种先进的软件技术在企业中落地,有一个支撑性的应用开发平台非常重要,这就是现在新一代应用开发平台受到市场关注的原因。”蔡书表示。

他解释说,这个支撑平台需要把所有技术集成到一起作为一个整体提供给用户。比如,这个平台要帮助企业了解目前自己有多大的可用容量,还要能对日志、软件的运行进行监控等。

而用户需求是市场最好的催化剂,包括红帽在内的不少公司开始提供整合的应用开发平台——面向容器技术的新一代应用开发平台。Forrester曾经对这些应用开发平台进行过深入研究。戴鲲告诉至顶网记者,从最早的Paas到今天的CaaS,新一代应用开发平台一直在不断演进。根据Forrester的研究,为了满足快速、敏捷交付软件,新一代应用开发平台需要具备以下特点:

首先,一个现代的应用开发平台需要具有很全面的支持能力,比如开发语言的独立性,具有分布式架构,能快速进行封装、快速实现软件的交付。

第二,能够满足现代企业对应用高弹性、高密度的部署要求,而且能支持不同的技术架构。

第三,具备企业级的运营和治理能力,比如具有监控和运维告警能力,以及和其他框架的整合,这个整合包括向下整合不同的基础设施资源,向上整合各种大数据应用框架。

而红帽的OpenShift也正是因为上述这些能力而被市场认可。OpenShift是红帽2015年推出的一个PaaS平台,随着容器的升温,红帽逐步强化了对容器技术的支持,特别是对Kubernetes(K8s)的全面支持,其定位也从最初的PaaS转变成为容器平台。由于同时拥有PaaS和K8s两大属性,再加上红帽本身的市场影响力使得OpenShift很快成为容器开发和部署时最主要的支撑平台。

对多云环境的支持需求开始凸显

如上所述,对于新一代的应用开发平台而言,全面的支持能力是非常重要的,其中也包括多云环境的支持,这一点之前并没有引起很多人注意,而如今开始逐渐凸显出来。

实际上,IT系统正在不断云化,从底层的硬件基础设施一直到上面的应用都在云化,这是个不争的事实。而另一方面,云也开始呈现出多样性,不仅有公有云和私有云之分,还有不同的公有云(比如,同时有阿里云和腾讯云)和不同私有云(如同时有vSphere云和KVM云)。这就是使得软件开发,特别是云原生应用的开发,必须面向这样的一个多云环境。

“这是一个普遍性的需求,即使在国外有AWS在公有云市场占有绝对领先地位,也同时存在很多细分市场。在中国云服务市场还处在群雄混战的阶段,这一需求就更明显。”戴鲲表示。

云服务市场既然存在更多选择,那么如何在多云环境下保证软件的体验、效率,以及要迁移时如何顺利迁移就是新一代应用开发平台必须考虑的问题。当然,市场上可以的各种应用开发平台也在努力。

以红帽的OpenShift为例,蔡书透露,红帽有考虑多云环境,并做了很多工作,其具体办法就是建立一个中间层解耦,用这个中间层来兼容其他不同的云。比如,在K8s里好多面向公有云平台的插件,如它和AWS的插件、它和GCE的插件等,都是红帽主导开发的。

“红帽的愿景就是,确保客户的应用程序可以运行在任何的环境,并保持一致的用户体验,为此红帽会不断努力,OpenShift中对容器、对多云环境、对K8s的支持都是基于这一目的。”蔡书说,“比如最近红帽与AWS扩展战略联盟合作,将AWS服务引入红帽OpenShift容器平台,只需点击几下鼠标,企业用户就能直接从红帽 OpenShift控制台中无缝地配置和部署一系列AWS服务。”

蔡书同时也提醒说,新一代应用开发平台还是一个新生事物,未来也有些不确定性,但可以肯定的是,以容器为基础的云原生应用平台是一个未来的发展趋势。这一点也得到了戴鲲的高度认可。

“每一个架构师、每一个开发人员,对于新一代应用开发平台,都应该以一种积极的心态去拥抱,同时也要以一种全面的视角去系统化评估我们的解决方案,从而帮助我们的企业加速数字化的进程。”戴鲲说,这才是软件领域从业者乃至CTO、C IO对待新一代应用开发平台的正确“姿势”。 






原文发布时间为:2017年7月11日 
本文作者:作者:邹大斌
本文来自云栖社区合作伙伴至顶网,了解相关信息可以关注至顶网。
上一篇:MySQL内核月报 2014.08-TokuDB·社区八卦·TokuDB团队


下一篇:视频应用开发中常用的几个结构体