论派的制作与平台的选择:Paas vs. CaaS

本文讲的是论派的制作与平台的选择:Paas vs. CaaS【编者的话】本文作者用派的制作过程,举例说明了CaaS和PaaS的区别及各自的特点,形象生动,是一篇浅显易懂的文章。译者认为所谓专家,一定是能把高深和晦涩难懂的概念用简单生动的方法比喻出来,让没有接触过此概念的人都能明白这其中的道理,原文的作者 Chip Childers 算是一个。我最近有幸接触了两大开源PaaS平台:Pivotal的Cloud Foundry和RedHat的OpenShift,虽然两个平台的实现方法各不相同,但核心理念都是以容器为中心,以应用的快速发布、快速迭代为价值体现。个人认为在今后的云领域中,PaaS具有非常广阔的应用价值和市场价值。
89257787-pie-clip.jpg

我经常被问到用平台即服务( PaaS )和容器即服务( CaaS )在开发云应用程序时的区别。那么如何去合理的选择它们呢?有一个比喻可以去形容他们之间的区别:那就是看它如何影响你开发的时间和资源,这个过程就像制作一个派(Pie)。

如果你要想得到一个美味的派,首先你必须有一块好的派皮(就是制作派的面团)。决定每个派好不好吃的实际上是派里面的馅不是皮。不过,也许你喜欢自己制作派皮。如果你有时间,你可以自己快乐的烹饪,和面并且切成合适的大小。不过这仅仅是制作派的皮,咱们还没有馅呢!

现在假设你决定要同时烤10个派。一个一个的手工的制作显然是下策,即使你经常自己和面而且手艺不错,那也要从头开始。当然也有些人在当地超市的冷冻食品区出售他们自己制作的派皮。

制作一个派用CaaS还是PaaS

用CaaS平台去制作派,你不但要制作馅,而且一切都要从头开始,包括制作派皮。你必须在添加馅之前,经历和面,揉面,根据烤盘的大小把面团分割成块。

用多云应用平台的方法比如 Cloud Foundry ,你不必自制面团,你可以把精力都放在做馅上,因为馅的好坏才是你制作的派区别于其他人的地方。

一个冷冻的派皮实际上就很不错了,一个合格的面粉制造商可以提供一致的、质量合格的皮。跳过那些费时的步骤可以帮助你更快的制作出派。

论派与平台

让我们来说一些在写应用程序时,用CaaS或PaaS(比如:Cloud Foundry)更具体的区别吧。

比如,你用一个你比较熟悉的语言— Java 或者 Python 或者 Ruby去写一个web的应用程序。作为一个CaaS的开发者,首先你得写一些额外的步骤去创建一个空的容器镜像(image),在基础文件系统上,把你的代码放成到你的刚创建容器中。你也许还需要在容器里运行一些编译步骤,这时你就需要下载一些在编译时依赖的库文件等,然后去创建一个容器镜像。一旦你有了你的容器镜像,你就可以把它推送到CaaS平台了。

像Cloud Foundry这样的PaaS平台,它在你开发应用程序时为你做的,就像你制作派时,面粉制造商为你提供派皮一样,不需要你在容器镜像里额外去封装一些其他的软件了。

Cloud Foundry使用的是Linux容器技术,执行一条简单的CF push命令,平台就会为你创建出一个容器。用Cloud Foundry,你仅仅需要关注的是你写的代码,平台就会替你创建对应的容器。

这篇文章还有另外一些内容。除了如何创建容器之外,一个好的PaaS平台还应该做一些事情,帮助你操作软件更加简单。

你在容器平台上有很多的方法可以把日志收集起来。但是像Cloud Foundry这样的系统,这更简单,你只需要把日志打印到屏幕上,平台就会帮你捕捉到它,并且自动的存到共享日志系统里,在这个系统里你可以找到这个应用所有实例化的容器的日志,甚至是跨应用的日志。

PaaS框架能够让开发者把注意力放在代码的编写或者是业务逻辑上,同时帮助开发者处理一些技术细节比如底层架构(plumbing)。你不用分心在如何创建容器或如何收集日志上。一旦把Cloud Foundry部署到你的环境中,它就可以大大简化你软件的安装和管理。

一些企业开发人员想要知道如何设计它们应用程序的底层架构(plumbing)。我知道它的价值并且愿意做这个。然而一些开发者宁愿去解决商业问题,或者从新写一个新的软件。程序底层(plumbing)的重要性不及它实际跟用户直接打交道的部分。

选择CaaS而不是PaaS,是在交换速率以便进行控制(译者注:这句话原文是you’re trading velocity for control)。不管用哪种方法,你都可以写出好的应用程序。用CaaS这种方法就像制作10个派时,从制作10个派皮开始,相比买10个现成的皮而仅仅关注在派的馅上来说,它需要做很多的工作。

原文连接:Of Pies and Platforms: Platform-as-a-Service vs. Containers-as-a-Service(翻译:王晓轩)

原文发布时间为:2017-03-30

本文作者:王晓轩

本文来自云栖社区合作伙伴Dockerone.io,了解相关信息可以关注Dockerone.io。

原文标题:论派的制作与平台的选择:Paas vs. CaaS

优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/224988

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Apache Tomcat7、8、9(Java Web服务器)

Apache Tomcat7、8、9(Java Web服务器)

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。