Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google cloud platform 谷歌云如何快速运转_Google Cloud Platform_Cloud_Google Cloud Run - Fatal编程技术网

Google cloud platform 谷歌云如何快速运转

Google cloud platform 谷歌云如何快速运转,google-cloud-platform,cloud,google-cloud-run,Google Cloud Platform,Cloud,Google Cloud Run,所以,我真的很喜欢无服务器的想法。我遇到了谷歌云功能和谷歌云运行 所以google云功能是独立的功能,这是一个广泛的观点,我假设google必须在一个巨大的nodejs服务器上安全运行。它包含所有google消费者的所有功能,并使用唯一的URL满足请求。现在,谷歌负责支付这台大型服务器的成本,并向用户收取每一次点击其功能的费用。所以使用它是值得的。这是有道理的 但当谈到云计算时。我不明白它是怎么工作的。显然,容器不能总是在运行,因为这样他们只需按月收费,而不是按次计费,就像部署docker映像的

所以,我真的很喜欢无服务器的想法。我遇到了谷歌云功能和谷歌云运行

所以google云功能是独立的功能,这是一个广泛的观点,我假设google必须在一个巨大的nodejs服务器上安全运行。它包含所有google消费者的所有功能,并使用唯一的URL满足请求。现在,谷歌负责支付这台大型服务器的成本,并向用户收取每一次点击其功能的费用。所以使用它是值得的。这是有道理的

但当谈到云计算时。我不明白它是怎么工作的。显然,容器不能总是在运行,因为这样他们只需按月收费,而不是按次计费,就像部署docker映像的普通VM一样。但事实上,他们是按每次点击收费的,这意味着当一个请求到达时,他们会启动容器。所以,我不明白它怎么会旋转得这么快?用户可以灵活地运行任何类型的环境,这意味着docker容器可以包含任何内容。也许是一个成熟的Linux操作系统。它是如何如此快速地加载环境操作系统并满足请求的?嗯,也许它可以保持机器的状态,并在不使用时将其关闭,但即使如此,恢复状态也需要相当长的时间


那么谷歌到底是如何做到的呢?它如何能够在短时间内启动客户的容器?

您必须将容器与虚拟机解耦。Dustin的第二个链接很好,因为如果您了解Kubernetes的原理(如果您了解Knative,则会了解更多),很容易将其转换为Cloud Run

您有一个资源池(Kubernetes中的节点,实际上是具有CPU和内存的VM),在这些资源上,您可以运行容器:每个VM 1、2、1000个,可能您不知道也不关心。容器的强大之处在于能够打包它所需要的所有依赖项。是的,我谈到了包,因为您的容器不是操作系统,它包含与主机操作系统交互的依赖项

为了防止来自不同项目/客户的容器之间出现任何问题,容器运行到沙箱中(GVisor,Dustin的第一个链接)

因此,在部署云运行服务时,没有要启动和停止的VM,也没有要创建的VM,。。。这只是现有资源容器的开始。也正是出于这个原因,您需要一个无状态容器,没有磁盘连接到它

你想要3个“秘密”吗?

  • 这与云功能完全相同!您的代码被打包到一个容器中,并完全按照Cloud Run的方式进行部署
  • 管理云功能和云运行的底层平台是相同的。这就是为什么行为和功能非常相似!云功能的部署时间更长,因为Google需要为您构建容器。使用Cloud Run,容器已经生成
  • 您的计算引擎实例也作为Google基础设施上的容器进行管理!更一般地说,谷歌的一切都是容器
    快速旋转沙盒容器(出于安全原因在自己的内核上运行)的想法已经存在了相当长的时间。例如,通过各种优化提供快速启动

    可以想象,实现这样的功能需要在多个层次上进行优化(调度、流量服务、自动缩放、图像缓存……)

    在不泄露谷歌秘密的情况下,我们或许可以谈论图像存储和缓存:就像虚拟机如何使用
    initramfs
    预缓存虚拟机的状态一样,我们可以对容器执行类似的操作,而不是从硬盘读取所有文件并遵循引导顺序

    谷歌在云计算方面也使用了类似的解决方案,称为。这是一种用户空间虚拟化技术(不是实际的VMM或虚拟机监控程序)。要在类似Linux的环境中运行容器,gVisor不需要从头启动Linux内核(因为gVisor在go中重新实现Linux内核!)


    您将在大多数云提供商的其他无服务器平台上发现许多优化(例如,如果您在负载到达之前预先安排非活动容器,那么如何保留容器实例)。我建议阅读这篇文章,了解这个领域存在的问题,以及云提供商试图优化速度和成本的原因。

    这解释了很多。当你说“我谈论包是因为你的容器不是一个操作系统,它包含与主机操作系统交互的依赖项”时,我有点理解它,它就像我几乎能感觉到它,但我不能把我的头绕在它周围,你有什么我能读到的吗?再一次感谢你的回答。你太棒了!!