在Cloud Next 2018大会上,Google为企业提供了一系列完整的无服务器解决方案,让开发者可以专注地Coding,而不需要顾及基础架构上的部署与配置等工作。
其中最值得注意的是Google与Pivotal、IBM、红帽和SAP等企业共同合作,发布基于Kubernetes用来建立、部署与管理Serverless工作负载的平台Knative(发音为kay-nay-tiv),以完成跨云单一平台的目标。另外,Google慢AWS好几步的事件驱动Serverless运算平台Cloud Functions终于正式可用,进一步,Cloud Functions还提供了Serverless容器功能。
Cloud Services Platform作为Google这次云战略主轴,其中Serverless服务便是这个混合云架构中重要的一部分。这次Google扩张无服务器版图有两部分,第一部分则是通过Kubernetes,让使用者跨云平台管理Serverless服务,第二部分便是强化既有的Serverless服务。
Google提到,不少企业有在自建机房部署或是跨云部署工作负载的需求,因此Google与Pivotal、IBM、红帽和SAP合作开发了Knative,共同打造友好的跨云Serverless管理平台,促进了Google以Kubernetes扩张Serverless版图重要一步。Knative是一系列基于Kubernetes技术开发的开源中间组件,这些组件可以在本地、云或是第三方数据中心,让开发人员无痛构建基于容器的应用程序。
Knative提供了一群可重复使用的组件,帮助开发人员解决日常琐碎但必要任务,协调来源到部署容器的工作流、路由并管理部署时的流量、自动扩展工作负载或是绑定执行的服务到事件生态系中。开发人员能以通用的开发语言与框架来部署功能(Functions)、应用程序与容器等任何工作负载。除此之外,Knative也支持常见的开发模式,如GitOps、DockerOps和ManualOps,以及Django、Ruby on Rails与Spring等工具框架。
简单来说,Google想通过Knative实现跨云单一平台的目的,任何支持Kubernetes地方,企业都可以在之间自由的转移工作负载,选择在最适合的地方执行任务,可以依据需求调整系统部署。
除此之外,Google的PaaS平台App Engine升级支持第二代标准Runtimes,除了基本支持Python 3.7和PHP 7.2外,在今年6月也开始支持Node.js 8。第二代Runtimes使用今年5月Google对外开源的沙盒容器技术gVisor,gVisor以Go语言撰写,与虚拟机器一样安全但更为轻巧,能以非特殊权限执行必要的系统呼叫,这样的轻量环境不只部署更快,应用程序执行效能也获得提升。第二代Runtimes提供各种开发者惯用开源语言的Runtimes,支持执行任何框架、函式库或二进制文件。
另外,Google在2016年就已经发布测试版的事件驱动Serverless运算平台Cloud Functions,即日起正式可用,服务可用区域新增欧洲与亚洲。Cloud Functions正式版新增了许多新的功能,包括支持开发语言Python 3.7和Node.js 8,提供更完整的网络和安全性控制,效能更是全面获得提升。而Cloud Functions也能无缝连接GCP的各种服务,包括BigQuery、Cloud Pub/Sub、机器学习API、G Suite甚至是Google Assistant等。
随着Cloud Functions进入正式版,Google还为其新加入了Serverless容器功能。过去不少使用者都有定制化的需求,例如执行特别的Runtimes、定制的二进制文件,或者工作负载可移植性等,而容器对于这些需求是很好的解决方案。因此现在直接在Cloud Functions上函式库Serverless容器服务,让使用者可以在完全托管的环境下,执行基于容器的工作负载。
原本就使用Kubernetes引擎的使用者,也能使用包含在Knative中的GKE无服务器套件,享受在Kubernetes引擎上一键部署无服务器工作负载,这提供使用者极大的弹性,可以实时的部署容器外,还能自动扩展无状态基于容器的工作负载,甚至相反将规模缩减至零。
除了这些,Google Cloud Next一并推出的DevOps服务Cloud Build,还有可以让使用者全球同步应用资料的无服务器服务Cloud Firestore,以及能监控管理无服务器应用的Stackdriver套装,也都被Google归类在无服务器解决方案之中。
转载于:https://blog.51cto.com/14046599/2398206