作者简介:
Niklas Heidloff,创新开发应用拥护者,开源软件社区活跃者。在帮助一家德国创业公司取得成功之后,Niklas 接受了 IBM 抛来的橄榄枝,成为其架构师。接下来几年里,Niklas 鼓励全球社区内的开发人员进行移动技术的开发。目前,Niklas 作为 IBM 的开发人员,帮助他们学习使用基于云的应用开发工具和技术。
编译/W
原文作者/Niklas Heidloff
原文链接/dzone.com/articles/when-to-use-serverless-when-to-use-kubernetes
“如果你被困在选择使用 Serverless 还是 Kubernetes 的十字路口,那么这篇文章里面列举的案例或许有助于你做决定。”
我经常被问到的一个问题: 构建云应用程序,应该选择 Serverless 平台还是 Kubernetes?其实,两个选择各有千秋,取决于用户需求。
注意,我们不是将 Serverless 与容器进行比较,而是与 Kubernetes 进行比较。有了开源的 Serverless 平台 OpenWhisk,就可以用 Docker 容器来构建功能。我们也不是简单地将 Serverless 这个功能与 Kubernetes 上复杂的微服务应用程序进行比较,而是将应用程序上相似的地方进行比较。
工作负载不稳定?用 Serverless
举个需要使用 Serverless 的例子:现在有一个本地网站,它在夜间几乎没有流量。由于 Serverless 平台只在代码运行的时间段收费,因此在这个场景中成本就大大降低了。应用程序运行时间越短,服务器费用可能就越低。
但是当应用程序需要运行24*7的时候,Serverless 的运行成本就不低了。而且 Serverless还存在一些隐性成本,比如 API 管理,测试调用函数等。
无服务器初体验——开发人员是第一生产力!
如果你既没有使用过 Serverless,也没有用过 Kubernetes,那么可以从在 Serverless 平台上使用 Hello World 应用程序开始,容易上手。使用 Kubernetes 时,通常需要等待一段时间才能创建集群,然后配置 Kubernetes 以获取公共 IP 地址,接着再部署容器。而使用 Serverless 平台,只需要使用云供应商提供的网络工具,数分钟内即可开始使用容器。
但是,Serverless 并不是所有情况下都比 Kubernetes 容易。使用函数构建和管理 Serverless 应用程序比使用单个容器的应用程序要困难。事实上,复杂的应用程序使用 Kubernetes 更容易,因为它更成熟。
自动伸缩功能
Serverless 的强大功能之一是自带可伸缩性,开发人员可直接使用这个功能。Kubernetes 使用的是 pod、node 的自动伸缩功能,过程中需要配置一下,但是速度会稍微慢一些,因为这个过程仅在应用某些规则时才会触发。
Kubernetes 提供的可伸缩性特性比 Serverless 好,因为 Kubernetes 更成熟,提供不同区域之间的高可用性,这不是 Serverless 平台能够提供的。
想要成熟的部署选项?用 Kubernetes
现在,还没有支持 A / B 测试的 Serverless 平台,而我认为这是构建云原生应用程序的关键功能。此外,Kubernetes 应用程序的监视功能更加成熟。Serverless 平台还没有真正具备这一点,并且最近才开始添加 OpenWhisk Composer 之类的功能来定义函数之间的流程。
但是,如果您的应用程序非常简单,比如只有一个函数提供 API,那么 Serverless 是更好的选择,因为部署将更容易,且提供单个监视功能。
需要最小的响应延迟
在使用 Serverless 平台时,首次调用函数需要一段时间,因为代码需要初始化。例如,在 OpenWhisk 上,可以使用运行 Java 应用程序的 Docker 容器,这些容器需要一些时间才能启动。如果您希望响应时间短,那么就使用 Kubernetes。
不受限制地进行高性能计算
Serverless 平台通常有一些资源限制,例如,函数不能超过 512 MB 的 RAM,时间不能超过5分钟。如果这些限制对您的应用程序来说太严格,那么您可以选择使用 Kubernetes。
但是,有时可能会在较小的函数中分解您的应用程序。 在将现有的单一应用程序迁移到云上时,这是可取的。
所以,使用 Serverless 还是使用 Kubernetes?如果您想咨询这方面的问题,有相对应的需求,“数梦工场上云服务”能够为您提供相应的企业上云服务。
本文来自公众号 数梦工场上云服务
更多技术干货敬请关注公众号 数梦工场上云服务
企业简介
数梦工场创立于2015年3月,由阿里巴巴、银杏谷资本和光大实业资本等投资,定位于新型互联网平台开发及服务,是国家高新技术企业,参与制定“云等级保护”、“大数据开放共享”、“大数据安全”等国家标准,秉持“以云为基、数据环流、互联网+、安全可控”的新型互联网平台战略,研发创新方向涵盖云计算、大数据、安全、人工智能等领域,提供政务大脑、城市大脑、产业大脑等整体解决方案及服务。数梦工场已广泛服务于公安部、人社部、水利部等多个国家部委,服务于浙江、江苏、广东、河南、杭州、南京、广州、成都、青岛等省市政府,助力实现治理能力和治理体系的现代化;服务于杭州、广州、南京、沈阳、南宁、青岛、衢州、温州等近百个城市建设新型智慧城市;同时也服务于国家电网、上海联通、浙江联通、悦达集团、上汽大众、吉利汽车、金风科技等企业实现数字化转型。