当前位置:K88软件开发文章中心编程资讯编程资讯08 → 文章内容

如何跨云实现应用部署管理

减小字体 增大字体 作者:华军  来源:华军资讯  发布时间:2019-2-11 18:25:03

时至今日,云计算凭借其弹性、可扩展性、易维护性,已经被大多数的企业所采用,而多云管理将成为企业云战略的下一个热点。多云拥有诸多优点的同时也带来了挑战,比如管理复杂。在多云环境下,用户希望屏蔽底层资源的复杂性,拥有一个可统一管理各种应用的服务平台,来降低运维和管理的复杂性。OpenPitrix 是一个多云应用管理系统,目标是 Run Any Application at Any Scale on Any Infrastructure(能够将任何应用以任何规模部署在任何基础设施上),能够一站式管理企业各种类型的应用,让用户可以把精力专注于核心业务层。本次内容为青云QingCloud 应用平台顾问工程师迟连义在 2018 年 QCon 全球软件开发大会北京站上演讲内容整理而来。以下为本次分享的内容整理多云 Multiple Runtime,是指多个云服务提供商的服务应用管理平台,和一般云管理平台 (CMP) 的区别是:一般的云管理平台是管理云的基础资源也就是我们俗称的 IaaS,而应用管理平台是管理应用程序, 这些应用程序可以是单节点,可以是多节点、多角色的,节点之间交互时需要配合上网络、负载均衡器、存储等资源,也就是我们俗称的 PaaS。多云部署与管理是趋势我们为什么要去做多云应用管理平台。今年 1 月份的时候,在知名云服务商 RightScale 公布的一份年度云状况调查报告中显示,采用多云管理的企业占受访的 81%,这充分说明多云是未来企业上云的一个大趋势。多云的好处很多,很重要的一个因素防止被单个云服务提供商绑定,跨多个云服务提供商可以对冲风险,再者,每个云服务商的产品各有优劣,比如有的云存储功能强大,有的云数据库产品更稳定,采用多云可以充分利用其优势产品。使用单云架构时,可以直接用这个云提供商所提供的成熟的管理工具或管理界面就可以了,但在多云环境下,用户希望能有一个统一的界面管理多个云服务,来降低运维和管理的复杂性。应用是最贴近需求的,所以一个多云应用管理系统更具有市场需求,这样用户可以把更多的精力放在核心的业务层。同时企业可能有各种类型的应用需要管理,包括传统的应用,像数据库、Tomcat、Hadoop,还有基于微服务架构的应用、以及近来发展迅猛的 Serverless 应用等。企业需要一个可以管理不同类型应用程序的一站式管理平台。俗话讲「格局有多大,成就就有多大」,做项目也是这样,既然我们做「多云应用管理平台」,我们的目标就是形成一个应用市场生态系统,各种企业开发者都可以在这个平台上开发他们擅长的 App,并便捷的提供在线运维和帮助,这些开发好的 App 提供给其他企业用户去使用,开发者可以盈利,使用者可以跳过手动搭建和维护的流程,使用现成的产品。为了做成生态这个目标,从一开始这个项目就是以开源的方式进行,包括讨论、设计、代码都是在 GitHub 上完成的。还有一个很主要的原因,我们几年前就开始开发应用上云的平台,2015 年 5 月发布了 AppCenter 的第一个正式版本,在 2017 年初发布了 AppCenter 2.0,旨在让开发者以最低的学习成本几天将应用部署到云平台上,这个平台提供应用的服务感知、弹性伸缩、配置变更等云计算基础特性。而且还为开发者提供便捷的管理、日志、监控、财务、工单等功能,最终用户在应用市场很便捷的找到自己需要的各种应用,通过一键部署来使用。AppCenter 平台自去年 3 月份发布以来,已经陆续上线了一百多个不同企业开发者所开发的 App,其中涵盖了:大数据、AI、容器、 区块链等各种领域的应用。但 AppCenter 底层只兼容青云的 IaaS,我们的私有云用户也有 AppCenter 的需求,但私有云一般有多个云部署环境,所以客户提出 AppCenter 兼容其它云厂商的要求。多云+应用+开源这就是多云应用管理平台诞生的由来,我们给他起的名字叫做:OpenPitrix,集多云,应用管理,开源于一身的项目。这个名字的由来,Pitrix 是 PaaS + IaaS + Matrix (矩阵) 三个词的一个集合,这个其实是青云内部的项目的名字。我们拿来用了,前面加上 Open 即表示这个项目是开源的,也表明我们开放的心态。OpenPitrix 想实现的是 Run any application at any scale on any infrastructure,也就是通过 OpenPitrix 这个平台可以将任何类型的应用部署到任何类型的基础设施上面。对于开发者来说就是 Build Once,Run Anywhere。OpenPitrix 所能提供的功能,主要有 4 大块。首先是多云平台的支持。云平台可以是 AWS,可以使 OpenStack,既可以是基于 VM 的,也可以是基于容器的, 可以是公有云,也可以是私有云。 针对于平台提供商,OpenPitrix 会提供相应的 ProviderPlugin 插件,去调用相应云平台提供商的 API 来管理运行在其上的应用。第二个是多应用类型的支持。各种类型的应用都会支持,很多企业使用的是传统应用,他们希望在不改变其现有架构的情况下将其应用上云,所以这些传统应用是需要支持的。这些传统应用既可以是典型的基于三层架构的软件,也可以是各种分布式软件:Hadoop 这种主从结构、ZooKeeper 这种 Peer to Peer 结构、Redis Cluster 这种分片结构都可以被 OpenPitrix 所管理。微服务架构是大趋势,所以微服务类型的应用我们也会支持,微服务应用往往是容器化的,在容器的编排方面,开源项目 Kubernetes 已经是事实上的标准,因此,OpenPitrix 会支持 Kubernetes。Helm 是一个非常不错的 Kubernetes 包管理器,提供了打包、部署等功能。 在第一版 OpenPitrix 中,我们使用 Helm 作为 Kubernetes 应用程序的部署工具,来提供微服务类型应用的部署。Serverless 应用我们也会支持,但目前来讲,由于 Severless 应用还没有一个统一的标准,第一个版本暂不支持,会持续关注其发展。第三个功能就是高度可扩展和可插拔。既包括云平台的支持,也包括应用类型的支持,这样无论未来出现了何种新的云服务商,或者是新的应用类型,都可通过添加相应插件的方式支持它。第四是可商业运营。我们最大限度解耦应用和应用所运行的云环境,一方面让开发者便捷的开发 App,同时平台为其提供管理和运维、计量计费、查看报表及统计信息等,应用可以放到公共市场,或者专有市场上去售卖。 另一方面用户可以在其所拥有的云运行环境上,部署相应的 App。任何基于 OpenPitrix 开发的应用, 都可以在任何基于 OpenPitrix 的应用管理

[1] [2] [3] [4]  下一页


如何跨云实现应用部署管理