Google 重新定义了 Serverless
世界改变了,市场改变了,生活改变了,我们 Google Cloud 也改变了,推出了新产品来满足客户的需求并与他们一起成长。
特别是 Serverless 技术,自从问世以来,已发生了很大的变化。Google 于2008年首次推出 Serverless 计算产品 App Engine,帮助客户更快地,无缝地扩展其应用。然后,我们增加了 Cloud Functions 函数即服务(FaaS),为开发提供便利的体验,并内置了日志和监控系统。同时,我们还面向容器市场推出了创新产品 Kubernetes。很快,客户就问我们是否可以把两者结合,将自动扩展及出色的开发体验的 Serverless 特性与容器的灵活性相结合。
然后 Google 在2019年11月正式发布了 Cloud Run,第二代 Serverless。现在,Serverless 不再仅仅是事件驱动的函数或微服务了。它还能运行大规模的复杂的工作负载,同时仍保留令人愉悦的开发体验。实际上,使用 Cloud Run 的 Serverless 服务,意味着拥有一个真正的,以开发人员为中心的平台,并具有运行任何语言、任何库、任何程序文件的灵活性。
以下三方面的能力使 Cloud Run 成为了新一代 Serverless,而不是您在其他地方看到的Serverless 产品:
· 以开发人员为中心的出色体验
· 多功能性:扩展到更多类型的应用
· 内置 DevOps 和安全性
让我们更深入地看一下这些特点:
出色的开发者经验
以开发人员为中心,意味着拥有全托管、自服务的基础架构,和出色的开发经验。我们希望每个人都能够开发智能应用,为此我们必须使开发变得简单。我们还希望确保使您的技术人才更贴近您业务一线。
为了使事情变得容易,去年我们推出了 Buildpacks,它可以用你写好的源代码直接创建容器镜像,而不需要学习Docker或容器(也不需要写 dockfile )。虽然底层是基于容器,但它们对开发人员是透明的。
为了进一步简化操作,我们还推出了“ gcloud run deploy ”命令,一句命令即可构建容器并自动部署到 Cloud Run 服务。这类功能使得98%的 Cloud Run 用户,在第一次使用时,不到5分钟就成功部署了应用。
实际上,仅在过去的一年中,我们就在 Serverless 产品中添加了超过25种新功能和服务,使复杂应用的开发变得更容易。其中一个是 Workflows,它使您可以将 Cloud Run 与任何 Google Cloud 产品或任何基于 HTTP 的 API 服务结合起来。作为开发人员,这在自动化复杂流程,或在各种系统中集成Google Cloud 的分析服务,都非常有用。
根据 User Research International 的最新报告,这些新功能使 Cloud Run 的开发体验比其他竞品的体验好得多。
多功能性
新一代 Serverless 还具有多功能性。它支持更广泛的应用,满足企业要求。除了函数和 Web 应用,还有较重量的应用,也包括在传统应用上新增功能模块,以及外包开发商交付的可容器化应用。容器化可实现这种多功能性,从而消除了对开发语言,运行环境和硬件的限制。
现在您能够在我们的无服务器产品上,运行更丰富的应用种类。今年5月,我们还发布了基于用量的承诺使用折扣,类似包年。具有可预测用量的企业现在可以直接在控制台计费界面中购买承诺使用折扣。无需预付而获得多达17%的折扣。 它将自动应用于您的计费帐户中所有项目中某个区域中所有汇总的Cloud Run CPU/ 内存和请求用量。
我们提供多功能性的另一方面是 Cloud Run 支持了 WebSockets 和 gRPC。使用这些新功能,您将获得无服务器架构的优势,构建快速响应的高性能和长连接应用。我们还为 Cloud Run 添加了最小实例功能,使您可以减少冷启动时间,在 Cloud Run 上运行延迟敏感的应用,例如运行传统 Java 应用。最小实例使容器处于暖的状态,快速响应用户请求,而只需支付10%的成本。您也可以设置没有请求时资源缩小到零(即不使用最小实例),这样没有请求时,您无法支付任何费用。
内置 DevOps
Serverless 不仅使开发人员更快地上线应用,还在应用运行后大幅减轻运维团队的管理负担。特别是,Serverless 系统自动“放大”或“缩小”应用。这意味着,面对突发流量,Serverless 平台自动且快速地拉起资源来处理负载。不再有可怕的超时等候或系统瓶颈,也不必您的运维团队人工干预,或提前扩展资源。同样,一旦流量下降,该平台就会停用部分资源,即缩减规模,您无需为不再需要的资源付费,最小缩小到零。如果您希望在没有运维团队干预的情况下,以低延迟,在全球范围内运行服务,并且不浪费闲置资源?那么Cloud Run可在所有 Google Cloud 区域做全局负载平衡。
此外,诸如滚动部署和回滚的支持,以及 Cloud Run 强大的流量管理等功能,使开发可以快速试验和测试想法。而且,Cloud Run 可提供分布式跟踪,使开发人员可以发现生产环境中的性能瓶颈。
Serverless 的安全特性
作为 DevOps 最佳实践的一部分,我们在每个层面为 Serverless 应用内置了安全性:在部署时,运行时和网络传输中。例如,内置漏洞扫描,以及可确保您仅会部署您信任的程序。
今年5月,Cloud Run 发布支持了 Google Secret Manager 和客户管理的加密密钥( CMEK ),从而可以轻松保护静态数据和存储敏感数据。我们还将 Cloud Run 与 Binary Authorization 集成 ,使您可以实施强制策略,确保只有经过验证的容器镜像才能部署。最后,我们新增加了与 Identity-Aware Proxy 集成 ,对 VPC Service Control 的支持以及出流量控制,从而限制了谁可以访问特定服务,以及这些服务可以访问哪些资源。您可以在此处阅读有关这些安全增强特性的更多信息。
总之,新一代 Serverless 将无服务器的优势与容器结合在一起,可运行各种应用,而不再受语言,网络或区域的限制。新一代 Serverless 将帮助开发构建未来的现代应用,这些应用可以轻松适应变化,按需扩展,更快,更高效地响应客户需求,同时为开发人员提供最佳的开发体验。
下表列举了新一代 Serverless - Google Cloud Run 的部分新特性和重点特性:
事件触发 | 60多种触发源 |
规格 | 容器最大 4核/8GB,请求超时最长 1 小时,满足各种复杂应用 |
单个容器并发 | 单个容器可设置接受最大250请求,提高资源利用,更快速响应 |
最大并发数 | 默认支持最大1000容器实例,即250,000并发请求,且可申请提升 |
最小实例数 | 零。没有请求时最小容器实例可缩小到零,节省成本 |
避免冷启动 | 支持设置最小容器实例大于零,即维持暖实例(只需10%的成本) |
协议 | 内置 HTTPS 访问入口, 可省去 API Gateway成本 端到端 HTTP/2 连接,WebSockets 支持和 gRPC 双向流传输 |
DDoS和WAF | 集成 Cloud Armor |
托管的用户认证 | 集成 Identity-Aware Proxy |
路由控制 | 入向来源控制,出向路由控制 |
数据库连接 | 集成 Cloud SQL (如 MySQL ) |
密钥存储 | 集成 Secret Manager,例如安全存放 MySQL 密码 |
工作流服务 | 集成 Workflows |
部署 | 无需 Dockerfile 即可打包容器;支持多版本路由百分比分配; |
折扣 | 支持包年折扣 |
文章信息
相关推荐
