- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
26|洞悉PaaS平台的本质
2017-12-28,
26|洞悉PaaS平台的本质
朗读人:柴巍11′33′′|5.29M
在了解了前面几篇文章中提的这些问题以后,我们需要思考一下该怎样解决这些问题。为了解决这
些问题,请先让我来谈谈软件工程的本质。
我认为,一家商业公司的软件工程要体现在三个地方。
第一,提高服务的SLA。
所谓服务的SLA,也就是我们能提供多少个9的系统可用性,而每提高一个9的可用性都是对整个
系统架构的重新洗礼。而提高系统的SLA主要表现在两个方面:
高可用的系统;
自动化的运维。
你可以看一下我在CoolShell上写的《关于高可用系统》,这篇文章主要讲了构建高可用的系统需
要使用分布式系统设计思路。然而这还不够,还需要一个高度自动化的运维和管理系统,因为故障
是常态,如果没有自动化的故障恢复,很难提高服务的SLA。
第二,能力和资源重用或复用。
软件工程还有一个重要的能力是让能力和资源可以重用。其主要表现在如下两个方面:
软件模块的重用;
软件运行环境和资源的重用。
为此,需要我们有两个重要的能力:一个是“软件抽象的能力”,另一个是“软件的能力”。你可
以认为软件抽象就是找出通用的软件模块或服务,软件就是使用统一的软件通讯协议、统一
的开发和运维管理方法……这样能让整体软件开发运维的能力和资源得到最大程度的复用,从而增加
效率。
第三,过程的自动化。
编程本来就是把一个重复的工作自动化的过程,所以,软件工程的第三个本质就是把软件生产和运
维的过程自动化起来。也就是下面这两个方面:
软件生产流水线;
软件运维自动化。
为此,我们除了需要CI/CD的DevOps式的自动化,也需要能够对正在运行的生产环境中的软件进
行自动化运维。
通过了解软件工程的这三个本质,你会发现,我们上面所说的那些分布式的是高度一致的,
也就是下面这三个方面的能力。(是的,世界就是这样的。当参透了本质,你会发现世界是大
同的。)
分布式多层的系统架构。
服务化的能力供应。
自动化的运维能力。
只有做到了这些,我们才能够真正拥有云计算的。这就是所谓的Cloutive。而这些目标都
完美地体现在PaaS平台上。
前面讲述的分布式系统关键技术和软件工程的本质,都可以在PaaS平台上得到完全体现。所以,
需要一个PaaS平台把那么多的东西给串联起来。这里,我结合自己的认知给你讲一下PaaS相关
的东西,并把前面讲过的所有东西做一个总结。
PaaS平台的本质
一个好的PaaS平台应该具有分布式、服务化、自动化部署、高可用、敏捷以及分层开放的特征,
并可与IaaS实现良好的联动。
下面这三件事是PaaS跟传统中间件最大的差别。
服务化是PaaS的本质。软件模块重用,服务治理,对外提供能力是PaaS的本质。
分布式是PaaS的根本特性。多租户、高可用、服务编排是PaaS的基本特性。
自动化是PaaS的。自动化部署安装运维,自动化伸缩调度是PaaS的关键。
PaaS平台的总体架构
从下面的图中可以看到,我用了Docker+Kubernete层来做了一个“技术缓冲层”。也就是说,如果
没有Docker和Kubernete,构建PaaS将会复杂很多。当然,如果你正在开发一个类似PaaS的
平台,那么你会发现自己开发出来的东西会跟Docker和Kubernete非常像。相信我,最终你还是
会放弃自己的而采用Docker+Kubernete的。
在Docker+Kubernete层之上,我们看到了两个相关的PaaS层。一个是PaaS调度层,很多人将
其称为iPaaS;另一个是PaaS能力层,通常被称为aPaaS。没有PaaS调度层,PaaS能力层很
难被管理和运维,而没有PaaS能力层,PaaS就失去了提供实际能力的业务价值。而本文的
是在讲P
文档评论(0)