GCP:解析Google Cloud Platform计算堆栈

本文的翻译是专门为Cloud Services课程的学生准备的。


朝这个方向发展是否有趣? 观看由InBit的TeamLead的Egor Zuev和OTUS的教育程序作者举办的AWS EC2服务专业研讨会的录音。



Google Cloud Platform(GCP)提供许多服务,尤其是计算堆栈,其中包含Google Compute Engine(GCE),Google Kubernetes Engine(以前称为Container Engine)(GKE),Google App Engine(GAE)和Google Cloud Functions(GCF) ) 所有这些服务都具有很酷的名称,但是就其功能以及使它们彼此之间具有独特性的原因而言,可能并不十分明显。 本文适用于刚接触云概念,尤其是云服务和GCP的用户。



1.计算栈


可以将计算堆栈视为计算机系统可以提供的功能的多级抽象。 该堆栈从裸机上升( 向上移动 ), 裸机是指计算机的实际硬件组件,一直向下到功能( 功能 ),这是最小的计算单位。 关于堆栈要注意的重要一点是,服务在向上移动时会聚合,例如,下面的图1所示的“ apps”部分应包含容器,虚拟机( 虚拟)的所有基本组件机器 )和铁。 同样,虚拟机组件必须包含内部硬件才能正常工作。



图1:计算堆栈 Google Cloud检索的图像


如图1所示,该模型是描述云提供商的报价的基础。 因此,某些提供程序只能在堆栈上提供较低质量的容器和服务,而其他提供程序则可以执行图1所示的所有操作。


-如果您熟悉云服务,请跳至第3节以熟悉GCP
-如果您只需要云服务的摘要,请转到第2.4节

2.云服务


云计算的世界非常多样化。 云提供商提供了针对不同客户需求量身定制的许多服务。 您可能听说过IaaS,PaaS,SaaS,FaaS,KaaS等术语。 所有字母均以aaS开头。 尽管命名约定很奇怪,但它们形成了一组云提供商服务。 我注意到云提供商几乎总是提供3个主要的“即服务”建议。


它们分别是IaaS,PaaS和SaaS,分别指定基础架构即服务(基础架构即服务),平台即服务(平台即服务)和软件即服务(软件即服务)。 将云服务可视化为服务级别非常重要。 这意味着,当您从一个级别升至另一个级别时,作为客户,您会跨越从主服务中添加或删除的各种服务选项。 最好将其视为金字塔,如图2所示。


图2:金字塔aaS | 图片取自Ruby Garage


2.1基础架构即服务(IaaS)


这是云服务提供商可以提供的最低级别,它包括一个提供裸机基础架构的云计算提供商,其中包括中间件,网络电缆,处理器,GPU,RAM,外部存储,服务器和基础操作系统映像例如Debian Linux,CentOS,Windows等。


如果您从IaaS云提供商处获得了报价,这就是您应该期望的。 作为客户,您需要为您的业务组装这些零件。 提供商之间的合作程度可能会有所不同,但通常,您只需要硬件和操作系统,其余的取决于您。 IaaS的示例是AWS Elastic Compute,Microsoft Azure和GCE。


有些人可能不喜欢这样的事实,即他们必须安装OS映像并处理网络,负载平衡或关心哪种处理器最适合其工作负载。 这是我们将金字塔上移到PaaS的地方。


2.2平台即服务(PaaS)


PaaS仅包括提供特定平台的云服务提供商,用户可以在该平台上创建应用程序。 这是对IaaS的抽象,这意味着云提供商将处理CPU,内存,RAM,存储,网络等类型的所有详细信息。如图2所示,作为客户端,您对真实平台几乎没有控制权,因为云供应商会为您完成所有基础架构详细信息。 您请求选定的平台并在其上构建项目。 PaaS的示例是Heroku。


对于某人来说,这可能太高了,因为他不一定要在指定平台上构建项目,而是需要直接从云服务提供商那里获得一组服务。 这就是SaaS进入现场的地方。


2.3软件即服务(SaaS)


SaaS是云服务提供商提供的最常见的服务。 它们是面向最终用户的,主要可以通过Gmail,Google Docs,Dropbox等网站进行访问。至于Google Cloud,在其计算堆栈之外还有一些SaaS优惠。 其中包括Data Studio,Big Query等。


2.4云服务摘要


组成部分IaasPaaS萨斯
你得到什么您获得了基础架构并相应地付款。 使用或安装任何软件,操作系统或其组成部分的自由。在这里您可以得到您所要求的。 软件,硬件,操作系统,Web环境。 您将获得一个现成的平台并相应付款。您不必担心这里的任何事情。 系统会根据您的要求为您提供预安装的软件包,您只需支付相应的费用即可。
价值基础运算IaaS顶部这实质上是一个完整的服务包。
技术难点所需技术知识已为您提供了基本配置,但仍需要领域知识。无需理会技术细节。 SaaS提供程序提供了一切。
什么有效虚拟机,存储,服务器,网络,负载均衡器等运行时环境(如Java运行时),数据库(如mySQL,Oracle),Web服务器(如tomcat等)诸如电子邮件服务(Gmail,Yahoo邮件等),社交互动网站(Facebook等)之类的应用程序
人气数在高技能开发人员中很受欢迎,需要根据他们的要求或研究领域进行个性化定制的研究人员在开发人员中最受欢迎,因为他们可以专注于开发应用程序或脚本。 他们无需担心流量负载或服务器管理等问题。在使用电子邮件,文件共享,社交网络等软件的普通消费者或公司中最受欢迎,因为他们无需担心技术细节

图3:关键云产品摘要| 图片由Blog SpeciaAmir提供


3. Google Cloud Platform计算软件包


在第2节中研究了云提供商的典型报价之后,我们可以将它们与Google Cloud的报价进行比较。


3.1 Google Compute Engine(GCE)-IaaS



图4:Google Compute Engine(GCE)图标


GCE是Google提供的IaaS服务。 使用GCE,您可以自由创建虚拟机,分配处理器和内存资源,选择存储类型(例如SSD或HDD)以及内存量。 这几乎与您创建自己的计算机/工作站并完成其工作的所有细节相同。


在GCE中,您可以选择具有0.3核处理器和1 GB RAM的微型实例,也可以选择具有300 GB以上RAM的96核怪物。 您还可以为工作负载创建自定义大小的虚拟机。 对于那些感兴趣的人,这些是您可以组装的虚拟机。


机器类型| 计算引擎文档| 谷歌云


3.2。 Google Kubernetes引擎(GKE)-(Caas / Kaas)



图5:Google Kubernetes Engine(GKE)图标


GKE是GCP的独特计算产品,它是Compute Engine的抽象。 更一般而言,GKE可以归类为容器即服务(CaaS),有时也称为Kubernetes即服务(KaaS),它使客户可以在完全托管的Kubernetes环境中轻松启动其Docker容器。 对于不熟悉容器的用户,容器可以模块化地帮助形成服务/应用程序,因此不同的容器可以包含不同的服务,例如,一个容器可以承载Web应用程序的界面,而另一个可以包含其服务器部分。 Kubernetes可以自动化,协调,管理和部署您的容器。 更多信息在这里。


Google Kubernetes引擎| 谷歌云


3.3 Google App Engine(GAE)-(PaaS)



图6:Google App Engine(GAE)图标


如2.2节所述,PaaS高于IaaS,对于GCP,它也可以看作是对GKE的判决。 GAE是专门的Google PaaS,他们如何最好地描述自己是“随身携带您的代码,其余部分我们会处理。”


这样可以确保使用GAE的客户不必处理基本的硬件/中间件,并且已经可以使用预先配置的平台来工作。 他们所需要做的就是提供运行它所需的代码。


GAE会自动处理扩展,以满足用户的负载和需求,这意味着,如果您的网站由于情人节临近而卖花突然达到高峰,GAE将处理基础架构的扩展以满足需求并确保您的网站不会因需求增加而崩溃。 这意味着您将完全为应用程序当前所需的资源付费。


GAE使用Kubernetes或其内置版本来处理所有这些,因此您不必担心。 GAE最适合对底层基础结构不感兴趣的公司,只关心其应用程序以最佳方式可用。


在我看来,如果您是一个有出色创意的开发人员,但又不想做服务器设置,负载平衡以及所有其他耗时的devop / SRE工作的繁琐工作,那么GAE是最好的起点。 随着时间的推移,您可以尝试GKE和GCE,但这只是我的意见。


免责声明 :AppEngine用于Web应用程序,而不用于移动应用程序。


供您参考App Engine-以任何语言创建可扩展的Web和移动后端| 谷歌云


3.4 Google Cloud功能-(FaaS)



图7:Google Cloud Functions(GCF)图标


我希望您通过分析前面的句子来注意到趋势。 GCP计算解决方案的阶梯越高,您对基本技术的担心就越少。 该金字塔以可能的最小计算单位(一个函数)结束,如第1节所示。


GCF是相对较新的GCP产品,目前仍处于beta测试中(在撰写本文时)。 云功能允许事件触发开发人员编写的某些功能。


它们是事件驱动的,是没有服务器的流行语的基础,这意味着他们不知道服务器。 云功能非常简单,并且具有许多需要事件驱动思维的不同用途。 例如,每次新用户登录时,都可以启动云功能来警告开发人员。


在工厂中,当某个传感器达到某个值时,它可以启动执行某些信息处理的云功能,或者通知某些维护人员等。


云功能-事件驱动的服务器计算| 谷歌云


结论


在本文中,我们讨论了各种云产品,例如IaaS,PaaS等,以及Google的计算堆栈如何实现这些不同的级别。 我们已经看到,当从一种服务类别转移到另一种服务类别(例如Paas中的IaaS)时,抽象级别需要较少的基础知识。


对于企业而言,这提供了至关重要的灵活性,不仅可以满足其运营目标,而且可以满足其他关键领域,例如安全性和成本。 总结:


Compute Engine-允许您创建自己的虚拟机,分配某些硬件资源,例如RAM,处理器,内存。 这也是相当实用和低级的。


Kubernetes引擎比Compute Engine高出一步,后者使您可以使用Kubernetes和容器来管理应用程序,并在必要时进行扩展。


App Engine比Kubernetes Engine高出一步,您可以仅关注代码,而Google提供了基础平台的所有要求。


Cloud-Functions是计算金字塔的顶端,允许您编写一个简单的函数,该函数在启动时将使用整个基本基础结构来计算并返回结果。


感谢您的关注!


推特: @martinomburajr

Source: https://habr.com/ru/post/zh-CN467749/


All Articles