Pah*_*iya 23 google-app-engine google-cloud-platform kubernetes google-kubernetes-engine
具体到基于Docker的部署,这两者之间有什么区别?由于Google App Engine Flexible现在也支持基于Dockerfile的部署,而且它也是完全托管的服务,似乎它更受首选,而不是在Container Engine上配置Kubernetes部署,不是吗?
有什么用例比使用App Engine灵活使用Google容器引擎更优先?
Jav*_*ron 32
他们是不同的东西.App Engine Flexible专注于应用程序开发 - 即您有一个应用程序,并且您希望由Google部署和管理).另一方面,Kubernetes更多的是拥有自己的基础设施.显然,您也可以在Kubernetes中部署应用程序,但由于它是您自己的"基础架构",您可以直接管理应用程序和应用程序的行为(创建服务,创建可伸缩性策略,RBAC,安全策略......) .
从这个意义上讲,Kubernetes在您可以实现的目标方面更加灵活.但是,作为开发人员,您可能根本不感兴趣的是基础架构,只是您的应用程序可以工作和扩展.对于这种配置文件,App Engine Flexible更适合.
另一方面,如果想要管理完整的Container基础设施(更多SRE配置文件),那么Kubernetes就适合您.
noo*_*oob 12
除了Javier的答案之外,主要的好处是使用Kubernetes使您的应用程序可移植并独立于底层云平台.如果您想将应用程序移动到AWS,Azure,本地等,如果您使用的是Kubernetes,那么只需很少的更改即可实现,而如果您使用的是App Engine Flex,则需要更多变化.
另一个不同之处在于,如果您想创建许多具有复杂结构的不同微服务,Kubernetes更适合于此,而不是App Engine.在App Engine中实现微服务架构并非不可能.你当然可以使用不同的yaml文件,但这些文件并没有给你很大的灵活性,最终需要移植任何复杂的应用程序.
此外,如果您想拥有有状态容器,则无法使用App Engine Flex执行此操作.
Kubernetes是一个开源项目,拥有比App Engine更具活力的社区.谷歌比App Engine更关注Kubernetes,而Kubernetes的更新比App Engine更频繁.
但这并不意味着App Engine的功能不那么强大.我曾经使用App Engine(标准和灵活的环境)为数十万(现在可能有一百万)用户提供复杂的应用程序,我们从未考虑过将其迁移出GAE.我的意思是,如果它可以处理Pokemon Go的流量,它当然可以处理你的应用程序.
表现明智,有人在这里进行了比较.摘要结果如下 -
这些服务之间的一个重要区别是App Engine Flex将自动化偏向于Google的控制,而Kubernetes Engine需要客户进行更多监督.Kubernetes Engine正在快速发展,并且正在增加更强大的自动化功能.
一个微妙的区别是Flex使用容器作为达到目的的手段.通常,Flex的用户可以忽略正在使用的容器,因为这是在幕后完成的.Kubernetes Engine - 顾名思义 - 以容器为基础,明确设计为一种便于管理从容器构建的服务的工具.使用Flex,服务始终是一种类型的n个容器.使用Kubernetes引擎,服务包括m-pods,并且pod本身可以包括p-container.
- 将App Engine Flex部署迁移到GKE是切实可行的
- 在这种情况下(!)Flex实现了比GKE更大的吞吐量.
- 由于App Engine
能够快速发出自动缩放事件的信号,因此出现了增加的速度; GKE
在现有节点集群内迅速扩展容器,但稍微缓慢一点,以扩大节点数量.- App Engine和GKE共享基本GCP资源,包括HTTP/S负载均衡器服务和托管基础架构组自动扩展.
- 对于相同的负载,使用相同的VM大小(1个vCPU和1GB RAM):App Engine Flex在6个实例VM(1个实例/ VM)上扩展到6个容器; GKE在3个VM(50%)上扩展到10个pod(1个容器/ pod).
| 归档时间: |
|
| 查看次数: |
10036 次 |
| 最近记录: |