CaaS: 内容是新的基础设施 Content-as-a-Service

内容是每家企业的必争之地,根据 CMI 的数据报告,88% 的 B2B 企业天天至少产生一篇内容。内容正在成为新的基础设施,Content as a Service 能够被简单理解为一种 CMS(Content Management Systen,内容管理系统),可是和传统的 CMS (如 Wordpress、Drupal 等)彻底不一样。传统 CMS 聚焦于内容管理和建立网站(好比 Wordpress 提供的大量网站模版),而 CaaS 只聚焦于内容的生产,并以 API (应用程序编程接口)的形式向外提供服务,这些 API 可被二次编程,从而用于打印机、移动应用或者其余设备上。git

在这篇文章中,你将了解到什么是 CaaS 以及为何内容是一种新的基础设施。在你想要使用 CaaS 时,本文可做为对比 CMS 和 CaaS 优劣的参考文章。咱们还会罗列一些 CaaS 的使用场景,帮助你更好的了解 CaaS。程序员

内容是新的基础设施

互联网上的全部应用都是信息管理软件,这些软件在本质上是由一张张互相联系的表组成的(若是你不理解这句话,那么你能够将一个网站想象成三张 Excel 表,一张表存储网站用户,一张表存储网站内容,还有一张表存储网站分类)。当你使用一个传统 CMS 时,你能够建立一些分类,并在分类上面撰写文章,这样的操做在网站时代是比较友好的,由于每一个用户都只有一个平台 —— 那就是浏览器,这种方式在浏览器上分发很是容易。github

进入移动时代后就不同了,一家公司至少拥有三个平台(Web、iOS、Android),针对这些平台,每家企业都须要定制本身的 CMS,他们多是在 Wordpress 上作深度定制,也多是本身开发。作的多了以后,你们会发现,每家公司都在作一样的事情 —— 写管理界面、建表、写 API,这些界面多是与公司业务高度结合的,好比头条 APP 的后台与微信公众号的后台确定是不同的。但细细研究却会发现,其本质就是五个事情:增删改查和联表。数据库

因而有人作了一种名为「Headless CMS」的平台出来,这种平台能够在线设计表和表的字段(和 想象下 Excel 的建表,写字段,可是用起来要比 Excel 简单不少),而后系统会根据设计好的表和字段自动生成立马可使用的 API,这些 API 符合一种名为 RESTful 的规范,这种规范是开发者们共同遵照的一种规范,只要看到这个规范,开发者就知道该如何使用这些 API。知道如何使用以后,开发者就能够将这些内容用于实际的应用中(也就是展现给终端用户看),多是抖音,也多是微博(这些本质上都是信息管理软件)。编程

这么作带来的好处是,假如一款产品上线后,产品经理想要新上一个「用户反馈功能」,在没有 Headless CMS 的时候须要开发者在数据库中建一个新的表,而后用一上午的时间调通 API 和图片上传功能,最后再作个界面。有了 Headless CMS 以后就不得了了,产品经理想要用户反馈什么内容直接在后台建好字段,而后 API 就自动生成了,开发者省去了建表、建字段、调 API 的时间,直接进入界面开发了。若是产品经理想修改需求,本身就能直接改,这样不但大幅提高了工做效率,还减小了不少产品经理与程序员之间因为需求变动带来的巨大摩擦,所以世界更加美好了。segmentfault

这类 Headless CMS 正在开发者圈子中流行开来,开发者开始主动将这类软件用于公司业务中。「Headless CMS」 翻译成中文就是「无头 CMS」,简单来讲就是无论界面生成的 CMS,他使用了一种名为「RESTful API」的规范对外提供服务,开发者根据这套规范能够作任何应用。后端

一旦标准化,就会变成基础设施,内容正在这条路上。api

什么是 CaaS

CaaS 是内容基础设施的云上版本,他提供云上的 Headless CMS,并提供公网可用的 API 让开发者能够直接使用,开发者省去了部署运维的精力开销。除此以外,其还有 Headless CMS 不具有的高性能高可用优点。大部分 Headless CMS 是开源的,只能处理百万级别的数据,对于千万或亿级的数据,仍须要作很多优化工做,而 CaaS 将这些也省去了,这就是云计算的好处,标准化一切能够标准化的东西。浏览器

企业对于 CaaS 的担心主要仍是安全和隐私问题,也就是你们常常听到的对云计算的质疑 —— 「凭什么我把数据、代码和业务给你,还要给你钱?」安全

对于中国的企业来讲可能还有合规问题。若是在中国作 CaaS,必须投入大量资金和人力到内容审查上。

若是一个 CaaS 能作到垄断作成寡头,那么将来的一个最大的可能就是开放版的微信公众号。经过其 CaaS 平台分发出去的内容不只有社会大众的娱乐内容,还有不少专业知识,而全部这些内容都是开放可检索的 —— 若是说中国互联网最大的遗憾是什么,那就是大量优质内容没法经过搜索引擎检索,中国只是个互闭网。

CaaS 相比 CMS 的优点

CaaS 相比 CMS 有很是多的优点。

  1. 结构化的内容。CaaS 可让内容管理者从「管理页面」的思惟转向「管理内容」,这将让咱们互联网上的内容变得更加专业和优质。
  2. 代码结构优化。传统 CMS 的内容和界面都是耦合十分严重的,像 Wordpress 使用了很是多的自定义指令去表示网页内的信息,从开发者的角度来讲,这点是没法忍受的。CaaS 容许内容代码和界面完全分离,这对开发效率来讲会有更大幅的提高,而且符合现代开发框架。
  3. 内容和展现分离。传统 CMS 因为其界面布局等缘由会制约内容的发展,有了 CaaS 以后做者只用关心内容而没必要关心界面设计,只须要生产优质内容。
  4. 云原生应用。CaaS 是一种云原生应用,也是 SaaS 的一种,云服务提供商会为你安装、维护和作自动伸缩、性能优化等工做,你须要作的只是将内容迁移到 CaaS 和使用。
  5. 个性化。使用 CaaS 能够为所欲为的定义你想要的表和字段,而且有能够当即投入生产环境的接口使用。这在作一些 A/B 测时会很是有用,由于全部的修改都不须要改动底层的数据库或代码结构。

CaaS 的使用场景

总的来讲,CaaS 的主要特性就是自由和灵活,如下是依据这些特性的典型使用场景(其实 CaaS 的应用场景很是普遍,几乎全部信息系统均可以用 CaaS 完成,如下只是抛砖引玉):

  1. 多渠道分发。这里的多渠道分发主要是指分发到不一样的内容平台上,多是三端相同的应用,也多是三端不一样的应用。经过 CaaS 的开放 API 特性,做者只须要写一次,就能够重用这些内容,并分发给全部兼容了这些 API 的网站。
  2. 移动应用内容分发。不少移动应用都直接内嵌网页来展现内容,而 CaaS 的 API 容许移动应用在很方便的进行内容展现(传统的 CMS 没有结构化的 API 可用)。
  3. 移动应用后端。移动应用本质上也是信息管理软件,使用 CaaS 管理移动应用的业务逻辑是个不错的解决方案,CaaS 是个成熟的方案,比本身写要容易且稳定不少。
  4. 与身份认证云配套使用。使用身份认证云(如 Authing.cn)的用户每每有自定义字段和内容管理的需求,这些在业务层面的功能身份认证云是不提供的,那么 CaaS 便成为了拓展这些字段的一个良好补充。咱们所知道的案例是,将 Authing.cn 配置进 Strapi(一款 CaaS 产品),登陆 Strapi 时使用 Authing 登陆,而后携带 Authing 的 Token 访问 Strapi 的资源并进行受权认证。
  5. 我的博客。与传统 CMS 同样,CaaS 也能够做博客,不过须要创做者懂一些编程能力。若是懂编程,CaaS 是个更容易实现我的博客的方案。

一个优秀 CaaS 应该具备的功能特性

做者角度

  1. 体验良好的编辑器。有相似石墨文档或 Notion 的文档编辑体验,让做者尽量温馨的创做内容。
  2. 简单符合直觉的建表及字段配置。让内容创做者能够很容易管理、修改和与团队协做。

开发者角度

  1. 支持 CRUD 的自动生成并符合 RESTful 规范。
  2. 支持每一个 API 逻辑的增长和修改。 开发者能够很方便的无限制的拓展 API 的业务逻辑。
  3. 支持拓展计算能力。 支持函数计算,让开发者能够无限制的拓展平台能力。
  4. 支持数据的受权以及标准认真协议(OAuth 2.0 或 OIDC)。 能基于 RBAC 或 WAC 对数据进行细粒度受权,同时支持 OAuth 2.0 或 OIDC 协议,能兼容各种身份提供商的登陆认证,并能使用身份提供商的 Token 受权资源访问。
  5. 高可用高性能。 低时延,快速响应以及完善的日志记录和错误监控。

如何开始使用 CaaS

  1. 若是你是 JavaScript 开发者,咱们建议到 Github 上搜索 Strapi 使用;
  2. 若是你是其余语言开发者,请到 Google 上搜索 Headless CMS 寻找你想要的语言使用;
  3. 若是你是非工程人员,请到 Google 上搜索 Content as a Service 找到最适合你的在线 CaaS 使用。

什么是 Authing?

Authing 提供专业的身份认证和受权服务。
咱们为开发者和企业提供用以保证应用程序安全所需的认证模块,这让开发人员无需成为安全专家。
你能够将任意平台的应用接入到 Authing(不管是新开发的应用仍是老应用均可以),同时你还能够自定义应用程序的登陆方式(如:邮箱/密码、短信/验证码、扫码登陆等)。
你能够根据你使用的技术,来选择咱们的 SDK 或调用相关 API 来接入你的应用。当用户发起受权请求时,Authing 会帮助你认证他们的身份和返回必要的用户信息到你的应用中。

<div align=center>Authing 在应用交互中的位置</div>

欢迎关注 Authing 技术专栏

Authing 社区

相关文章
相关标签/搜索