Cloud Native Weekly |IBM收购Red Hat;CNCF 托管第一个容器运行时安
更新:HHH   时间:2023-1-7


云原生一周精选

1——IBM收购Red Hat,在拥挤云市场另辟蹊径

2——业内首个Apache微服务顶级项目 | 华为开源的ServiceComb毕业

3——CNCF 托管第一个容器运行时安全项目

4——Spinnaker 1.10强化Kubernetes自动化部署,不再需要操作复杂的Manifests部署

1.IBM收购Red Hat,在拥挤云市场另辟蹊径

Red Hat是将开源软件商业化的先驱之一,其采用的模式是,代码免费提供给其他公司使用,以便重新分发和修改。开源软件已逐渐成为许多应用系统的基石,即便在大企业中也是如此,比如Linux操作系统、Web浏览器Firefox以及Apache Hadoop之类的大数据分析软件。

然而,许多公司一直很难靠免费软件赚到钱--两家基于开源的大数据公司Cloudera和Hortonworks最近宣布合并就是一个佐证。Red Hat已被业界视为典范:以一种财务上可持续的方式,为开源软件提供服务和支持。

就在今天凌晨,IBM给出了每股支付190美元的价码,收购了Red Hat,这比Red Hat上周五的收盘价溢价60%以上。这笔金额高达340亿美元的交易是IBM悠久历史上最大的一笔交易,也是美国科技界历史上的第三大交易。重金收购也表明了IBM非常看重这家公司,这个计算机和服务巨头多年来致力于让其云应用平台在开发人员面前更具有吸引力,而Red Hat有望立即为它增添信誉和美名。

市场研究公司Wikibon的分析师斯图•米尼曼(Stu Miniman)说:“Red Hat有望弥补IBM不受开发人员的追捧这块短板。”他表示,此外,“IBM立即巩固了其在当今多云领域的地位。”

的确,此举反映了IBM很难在云计算时代齐步并进。它最近发布了季度收益,显示了连续几个季度收入较大幅增长后却出现了下滑,这让投资者大跌眼镜。AWS和微软等云计算巨头通过将计算、存储、网络资源和应用软件(常常来自开源)作为一项在线服务来提供,已偷偷抢在了IBM和惠普企业(HPE)等传统软硬件厂商的前头。

不过,IBM为这个开源界宠儿支付了溢价,表明它很注重在云计算行业有更大的作为。IBM董事长兼首席执行官吉尼•罗曼蒂(Ginni Rometty)在一份声明中说:“收购Red Hat是改变游戏规则的举措。这改变了云市场的一切。IBM将成为全球的头号混合云提供商,为公司企业提供唯一的开放云解决方案,从而为客户充分发掘云的价值。”

罗曼蒂特别指出,大多数公司在通向云的道路上仍然只走完了约20%的路程。她说: “余下的80%旨在发掘真正的商业价值,并推动增长。这是云计算的下一个篇章。这需要将业务应用软件转移到混合云,提取更多的价值,并且优化业务的方方面面,从供应链到销售,不一而足。”

IBM料到外界会担心:这次收购可能危及Red Hat作为一家与平台无关的开源软件提供者具有的吸引力,表示自己将“继续致力于Red Hat的开放治理、开源贡献、参与开源社区和开发模式,并继续打造其广泛的开发者生态系统。”尤其是,IBM表示自己致力于开源工作或项目,比如Patent Promise、GPL合作承诺、开放式发明网络(OIN)以及LOT网络。

IBM还郑重承诺,会继续与AWS、微软的Azure云、谷歌云、阿里巴巴以及其他公司保持合作伙伴关系。Red Hat将成为IBM的混合云团队的一部分,成为一个“单独的部门”,保持Red Hat的开源开发传统和理念的独立性和中立性,保持当前的产品组合和产品上市战略以及独特的开发文化,总部同样在北卡罗来纳州罗利,保持原有品牌。

2.业内首个Apache微服务顶级项目 | 华为开源的ServiceComb毕业

全球最大的开源软件基金会Apache软件基金会(以下简称Apache)于北京时间10月24日宣布Apache ServiceComb毕业成为Apache顶级项目。

ServiceComb由华为公司于2017年11月捐赠给Apache并启动孵化,之后在Apache导师的指导下由孵化器管理委员会成员进行经营孵化;9月25日,在Apache孵化器10票一次性通过毕业提案投票;10月17日,Apache董事会通过ServiceComb毕业决议,这也是业界首个微服务项目在Apache孵化并毕业成为顶级项目。

Apache ServiceComb作为一站式微服务解决方案,包含3个子项目:

Java-Chassis
一个开箱即用的Java语言微服务SDK,包括四个部分:服务契约、编程模型、运行模型和通信模型,以及一整套微服务治理能力,如负载均衡、容错、限流和调用链跟踪。微服务治理和业务逻辑是隔离的。
Service-Center
基于Etcd的、高性能、高可用性、无状态、Go语言实现的服务发现和注册中心,提供实时服务实例注册,实时服务实例通知和服务间契约测试
Saga
为分布式事务提供最终的一致性解决方案,解决微服务痛点问题。
Apache ServiceComb的亮点包括:

异步内核
基于VertX的同步和异步模型编程有效确保了无论是在传统企业或电商领域,还是在新兴的互联网或物联网等新兴企业中,都能够保持高性能和低延迟,以避免在达到峰值负载时应用出现雪崩效应。
开箱即用体验
开发人员通过脚手架网站http://start.servicecomb.io启动的微服务项目,可以集服务注册、发现、通信和微服务治理能力和默认的集中化配置为一体。
OpenAPI
自动代码生成,业务逻辑代码和治理能力隔离,可以使能DevOps Pipeline,使用契约文件和OpenAPI的双向生成能力可以使不同的团队高效且独立的开发和管理代码、测试和进行文档化工作。
2015年,华为云推出了微服务相关的服务,这是ServiceComb的原始代码。Apache ServiceComb是华为云微服务引擎CSE的核心。它广泛应用于华为消费云、华为云核、华为EI等众多主要产品,是华为微服务的事实标准。华为消费者云基于Apache ServiceCom的高性能,低延迟的异步技术来实现1500多个节点级的微服务,支持4亿移动手机用户在线。使用ServiceComb,QPS提升2倍+,时延降低45%。

3.CNCF 托管第一个容器运行时安全项目

CNCF托管了第一个容器运行时安全项目 Falco,用于保护在生产环境中的运行容器。Falco项目最初为Sysdig开源监控平台的核心仪器技术,后由Sysdig捐赠给CNCF。

Falco项目功能:

利用Linux内核在应用程序、文件、系统和网络级别提供运行时安全性(缩短容器和微服务架构的检测和响应时间);
链接到其他CNCF项目,如Fluentd logging project、Kubernetes容器编排项目(这种链接将允许Falco采取措施应对安全威胁,隔离相关Kubernetes节点);
通过Kubernetes API服务器访问元数据(提供从Linux内核收集到的更多详细数据信息)。
CNCF执行董事Dan Kohn说:“Falco为云原生平台提供***和异常检测,包括Kubernetes、Mesosphere和Cloud Foundry。当Falco与其他云原生项目(如 Fluentd,Nats,rkt等)一起使用时,Falco可以提供完整的容器运行时安全解决方案。”

4.Spinnaker 1.10强化Kubernetes自动化部署,不再需要操作复杂的Manifests部署

由Google和Netflix Inc.共同开发的多云持续交付平台Spinnaker发布了1.10版本,新增了Kubernetes供应商(Kubernetes Provider),并且整合了Helm套件管理器,让使用者以样板产生Manifests,通过Istio对流量控制的支持,让容器和Kubernetes的自动化部署更加容易。

Google提到,在Kubernetes环境中,持续交付工作仍然属于早期阶段,而企业中的发布工程团队希望Spinnaker能以最佳实践提供软体交付框架,而对于刚开始使用Kubernetes的组织,也期望能取得所需要的资源,设计出适合的环境。

因此在Spinnaker 1.10中,Google与社区合作,重新设计了Kubernetes的支持,抽象化管理Kubernetes Manifests的复杂性,让开发人员可以花更多心力在开发工作上。现在发布工程团队可透过Manifests存取完整的Kubernetes资源,而且还会自动化处理管理Manifests的低阶复杂性,像是正确处理标签,或是为非专家提供量身定做的使用者体验。

发布工程团队可以为企业设计专属的Kubernetes使用方法,并将工作管线打包成最常用路径,发布给其他开发团队,这将让开发团队不用接触复杂的脚本以及低阶Manifests操作,但同时也能继续使用Kubernetes的所有功能。

一般来说,有两种将应用程式自动化部署到Kubernetes的方法,其一是使用像是Jenkins这类通用调度程式(Orchestrator),编写部署流程来控制应用程式部署,另外一种则是相对较新,以Kubernetes为主的持续整合和持续交付工具。Google指出,通用调度软体编写的脚本容易出错,而这两种方法都需要开发人员深入研究Kubernetes Manifests,但这将在进行大规模部署的时候产生瓶颈。

而Spinnaker 1.10新增的Kubernetes供应商,提供了多种特性来解决既存问题。Kubernetes供应商可以自动为要释出的容器映像档抓取正确的Manifests,并且支持GitOps型程序的储存库布局和控制流。而且还会为工作管线中的开发、QA以及产品阶段产生多个Manifests,且支持Helm或是其他的样版引擎。

Kubernetes供应商会自动再将被部署的Manifests中设定容器映像档版本,在最佳实践中,会使用摘要(Digests)而非标记(Tags),进而避免复杂的脚本操作。另外,也赋予了发布工程团队限制开发人员存取Kubernetes命名空间、丛集和资源类型的能力。

Google提到,Spinnaker 1.10是持续交付和自动化软体交付工作管线的重要里程碑,使用者现在可在Codelab中取得Spinnaker对Kubernetes的支持。

返回云计算教程...