近日一则关于政府部门的新闻在网络上引起热议。有人上传了一张照片到网络上,显示的是浙江省的政府部门门口的牌子,上面竟然有一个叫做“最多跑一次改革办公室”的部门。这个奇怪的名字立刻引起了人们的好奇,不明真相的人还以为是什么人的恶作剧,但实际上,这是真实存在的一个部门,是为了简化政府办事流程,方便市民而设立的,据亲身体验过的人说,现在去政府机构办事的确比以前方便了许多,以前要跑好几趟花费十几天才能办的手续,现在只需要去一次就可以办好了。实际上,这种便利的实现,正是政府部门不断推进“互联网+政务”的结果,“政务云”正帮助政府各部门打破数据孤岛,突破行政部门隔阂,在政府各部门之间实现资源共享和协同工作,从而大大提高了政府的办事效率,简化了办事流程。
数字政府即平台
其实我国政府的数字化转型并非个别现象。在全球范围内,近年来随着各行各业开始进行数字化转型,很多国家的政府机构也开始考虑如何利用新技术来提高效率、优化服务。这其中英国于2012年颁布了《政府数字化战略》,2014年实施了《政府数字包容战略》,2015年启动了“数字政府即平台(Government as a Platform)”计划,这一系列举措取得了显著成效,并使英国政府在 2016年获得联合国电子政务调查评估第一名,成为全球表现最为卓越的数字政府。在英国政府的数字化转型战略中,“数字政府即平台”战略既是其指导思想,也是其核心内容。而“数字政府即平台”正是基于 CloudFoundry 构建的一个服务于政府应用开发者的 PaaS 平台(https://www.cloud.service.gov.uk/),由英国的一个叫做“政府数字服务组”(Government Digital Service)的部门提供通用共享平台设施,内阁组成部门或者第三方在平台上开发附加应用,推动以平台为基础的政府数字化转型。
以往,政府各部门的数字化转型工作往往是各自为政,数据隔离在一些信息孤岛中,无法与其他部门共享,应用的开发过程漫长,效率低下。其实,如果我们仔细观察不同应用的系统架构以及开发部署流程,我们会发现他们之间有很多相似的部分,例如,无论是申请驾驶执照还是营业执照,都需要申请者输入身份证号码和姓名进行实名认证;所有的应用都需要处理日志,都需要申请域名并且托管在某个服务器上来运行,等等。不同的应用开发者分别开发各自的程序来完成这些事情,相当于在重复造轮子,如果能够从已有的工作中共享一部分成果,就可以大大节省时间,提高开发效率。
以CloudFoundry为代表的PaaS技术,正是为解决此类问题应运而生的。平台为开发者提供了从开发到部署的各个环节所需的通用服务,开发者可以把更多时间集中在各自产品的创新上面,并且大大缩短从产品构想到上线服务最终用户的时间,从而实现快速的产品迭代。当开发人员可以对应用程序进行更改,快速获得反馈,然后根据需要进行调整和修改时,创新发生的速度也就更快。把这种在面向消费者的互联网企业已经证明非常有效率的开发模式应用到政府项目上面,可以大大的缩短项目的周期,从而极大的降低成本,减少政府的开支。
为什么选择 CloudFoundry
当英国的“政府数字服务组”启动“数字政府即平台”项目的时候,首先面临的一个问题就是选择哪个产品搭建政府 PaaS 的基础架构。由于 PaaS 属于系统软件,政府部门并不具备足够的开发人员从头开发一个全新的系统,而且当时市场上已经有很多开源和商业版本的产品可供选择。“政府数字服务组”认为,一款合适的产品必须具备如下这些能力:
- 多供应商支持(应用市场)
- 提供给开发者的自服务模式
- 支持应用示例的弹性扩容
- 支持Linux
- 开发者可以选择不同的开发语言
- 能够从全部主机的失效中恢复
- 底层主机失效的时候可以最大化应用的可用性
- 零宕机时间的部署
- 支持多租户
- 支持多种IaaS(多云支持)
- 访问原始的stdout / stderr 日志
- 方便进行“开发运维一体”(DevOps)的支持模式,
除此之外,考察的内容还包括其他一些方面,例如:
- 平台上应用是如何部署的
- 运维的难易程度
- 是否可以选择公有云上的托管版本
- 部署的组件能否脱离开平台使用
- 文档是否详细,是否及时更新
- 平台对多租户的支持是怎样的
- 平台是否有商业公司的支持
- 平台是否支持不同级别的访问控制
- 平台是否是开源的
- 平台是否提供数据库服务
- 平台是用什么语言开发的
- 平台是否为开发者提供API来管理应用?
- 是否已经达到产品级可用
- 成本
- 如何获取应用程序使用的数据
- 是否可以备份平台本身的数据
“政府数字服务组”的工作人员仔细比较了当时比较知名的十余款开源和商业版 PaaS 软件,包括 Mesosphere、OpenShift、Rancher、Deis、Tsuru、Apcera等等,最终选择了 CloudFoundry。CloudFoundry 获得青睐主要是由于以下几方面的原因:
- 源代码开放
- 具有完善的用户权限管理
- 可以通过服务代理连接外部服务
- 易于动态扩容伸缩,即使在高负荷的情况下依然表现良好
- 成熟稳定,生态丰富
- 满足安全要求
- 支持多种IaaS平台,避免平台锁定
这其中开源是在选型过程中被优先考虑的一个因素。这是因为,如果选择闭源的商业产品,如果今后有其他政府部门也需要构建自己的PaaS平台的话,则还要花一笔钱去采购,由于部门众多,长期来看这笔花费可能远远大于支持开源产品的费用。另一方面,使用开源产品不仅可以降低成本,当其他部门有类似需求的时候还可以促进部门之间的合作,而且,使用开放的源代码可以很容易的按自己的需求对其进行改造,使其符合自己的需求,并且通过将新的代码回馈到开源社区来帮助把产品做的更好,同时也培养锻炼了自己的技术人才队伍,积累了自己的研发和运维经验。
此外,CloudFoundry的服务代理机制对于”数字政府既平台”也非常重要。当运行在云平台上的应用程序需要读取或者保存数据的时候,它们可以通过服务代理连接到来自服务市场里不同厂商或者部门提供的数据库、消息队列、搜索引擎等。通过这种方式,应用开发者可以不必花费额外的精力用于维护这些外部服务,而只需要按需使用、按需付费。另一方面这也为那些服务软件提供商创造了一个市场机会,而且通过市场竞争,可以让政府用户获得质优价廉的服务。
CloudFoundry对多云的支持也是助其最终入选的一大优势。由于PaaS平台是部署在IaaS之上的,如果只能使用某一家供应商的IaaS,那么对于政府部门来说,就有很大的被供应商锁定的风险,如果供应商进行涨价,政府将不得不面临增加支出的情况。目前CloudFoundry可以被部署在AWS、GCP、Azure、阿里云、OpenStack、Vsphere等多种公有云和私有云环境里,这就减少了被IaaS供应商锁定的风险。
效果
英国的政府PaaS平台上线后,在其上推出了以GOV.UK为门户的新一代政务网站。该网站作为人们使用政府业务的统一入口,上面提供了各种政府部门的文件和信息查询服务,除了查询,人们还可以使用各种政府服务,完成缴费,订阅消息等,从办理驾照到申请贷款,从税务申报到假期查询,可以说是涵盖了人们与政府部门打交道的方方面面。堪称是英国版的“最多跑一次”。不同于以往的是,这些来自不同政府部门的内容,不再是像以前那样散落在各部门自己的风格各异的页面上,人们通常要花费好长时间才能找到自己需要的信息。现在,这些信息都是以统一的风格呈现给用户,并且不断的优化,让使用者能够迅速的查找到所需要的信息。例如,如果有一位新妈妈想要知道自己能够获得多少孕期的补贴,在以前的网站上她只能看到一份政府的文件,她需要花时间仔细的研读这份文件才能获得答案。经过改进之后,现在她只需要在GOV.UK上相关的页面上回答几个问题,系统就会自动为她计算出可以获得的补贴。
那么,这些和CloudFoundry又有什么关系呢?
GOV.UK能够彻底改变政府网站的面貌,为人们带来更大便利的秘密,就在于其充分利用了PaaS平台的能力。首先,PaaS的使用使得快速迭代成为可能。过去的政府网站上的服务通常需要2-3个月更新一次,现在可以做到每天更新数次,一年更新上千次。这使开发者可以迅速的根据用户的反馈推出新的版本。其次,PaaS平台大大减少了应用开发者的工作量,开发者不需要花时间去处理诸如设置运行环境、寻找代码所需的外部依赖等繁琐杂事,也不需要操心诸如如何动态伸缩以应对不同时间段访问量的变化、如何让应用在出现故障的时候能够自动恢复等复杂问题,可以集中精力进行创新,并可以通过利用平台提供的服务,避免重复造轮子,从而大大缩短开发周期,降低开发成本。据统计,GOV.UK上线后,每周的访问者比之前的网站上升了60%,而英国政府每年的相关支出则下降了80%。
其他国家
英国并不是CloudFoundry唯一的政府用户。实际上,美国(https://cloud.gov/)、澳大利亚(https://cloud.gov.au/)、韩国(https://paas-ta.kr/)、荷兰等政府都在使用基于CloudFoundry的政务云服务。这些国家的实践表明,使用开放、成熟的CloudFoundry搭建的数字政府平台,可以大大缩短政府机构的线上应用的开发周期,降低政府部门的支出,促进创新,提高效率,从而使政府和民众双方都从数字化转型中受益。