Linux学习小标兵,专注Linux资讯分享,技术文章分享
分类: LINUX
2022-01-25 23:09:55
导读 | 在即付即得定价模式的背后,公有云拥有着最新和最好的开发、Devops和人工智能工具,用于更快地构建更好、更智能的应用程序。 |
当提到公有云时,人们通常首先想到的是成本:企业将工作负载从数据中心迁移到云平台上会减少资本支出,但会增加运营支出。这对首席财务官可能并不具有吸引力,但对于开发人员、运营人员或二者结合的DevOp的人员来说,云计算可以带来更多收益。
对于这些人来说,云计算提供了许多机会,而这些机会在数据中心由于运营新软件而需要购买服务器硬件或软件套件时难以获得。在内部部署数据中心扩展计算资源可能需要六个月的时间,但在云中可能只需要10分钟。
这不仅仅是时间和便利的问题。云计算还可以提高软件开发的速度,通常会缩短上市时间。云计算还可以允许进行更多的尝试和实验,这通常会提高软件质量。
此外,云计算创新可以提供更直接的好处,并解决内部部署数据中心长期存在的问题。以下将展示16种引人注目的云计算功能。
企业在自己的内部部署服务器上安装新数据库,可能要做好等待数月甚至数年的准备。如果可以使用内部部署虚拟机而不是物理服务器,并且使用VMware或类似技术,那么可能只需要数周时间。如果想在公有云上创建一个服务器实例,可以在大约15分钟内配置并运行,这能够根据需要调整实施的大小,并在不使用它时将其关闭。
虽然使用企业选择好的操作系统启动虚拟机很方便,但仍然需要安装和许可需要的应用程序。能够将所选择的操作系统和应用程序都准备好运行的虚拟机是非常宝贵的。
“无服务器”意味着一项服务或一段代码将在短时间内按需运行,通常只是为了响应一个事件,而不需要专用的虚拟机来运行。如果采用无服务器服务,那么根本不需要担心底层服务器,其资源是从云计算提供商维护的数据池中分配的。
无服务器服务目前都可以在主要的公有云平台上使用,通常具有自动扩展、内置高可用性和按价值付费的计费模式。如果希望无服务器应用程序不被锁定到特定的公有云中,可以使用与供应商无关的无服务器框架,例如Kubeless。
容器是软件的轻量级可执行单元,比虚拟机轻得多。容器打包应用程序代码及其依赖项(例如库)。容器共享主机的操作系统内核,并且可以在Docker引擎或Kubernetes服务上运行。按需运行的容器具有按需运行虚拟机的所有优势,以及采用更少资源和成本更低的优势。
Docker容器是Docker镜像的可执行实例,由Dockerfile指定。Dockerfile包含构建映像的说明,并且通常基于另一个映像。例如,包含Apache HTTPS服务器的映像可能基于Ubuntu映像。用户可以在Docker注册表中找到预定义的Dockerfile,也可以构建自己的Dockerfile。用户可以在内部部署设施安装的Docker或任何支持容器的云平台中运行Docker映像。与预先构建的虚拟机映像一样,Dockerfile可以快速启动完整的应用程序,但与虚拟机映像不同,Dockerfile与供应商无关。
Kubernetes(K8s)是一个开源系统,用于自动部署、扩展和管理容器化应用程序。Kubernetes基于谷歌内部的“Borg”技术。Kubernetes集群由一组称为节点的工作机器组成,它们运行容器化的应用程序。工作节点托管Pod,其中包含应用程序。Kubernetes可以在任何地方运行,并且可以无限扩展。所有主要的公有云都有Kubernetes服务,用户也可以在自己的开发机器上运行Kubernetes。
用户无需将应用程序容器化,并在Kubernetes中运行它们,以便在云中自动扩展它们。大多数公有云允许用户通过添加(或减少)实例或增加(或减少)实例大小,根据使用情况自动向上(或向下)扩展虚拟机和服务。
全球主要的公有云供应商和数据库供应商已经实施了行星级的分布式数据库,这些数据库具有数据结构、冗余互连和分布式共识算法等基础,使它们能够高效地工作,并具有高达5个9的可靠性(99.999%的正常运行时间)。特定于云计算的示例包括Google Cloud Spanner(关系)、Azure CosmosDB(多模型)、Amazon DynamoDB(键值和文档)和Amazon Aurora(关系)。供应商示例包括CockroachDB(关系)、PlanetScale(关系)、Fauna(关系/无服务器)、Neo4j(图形)、MongoDB Atlas(文档)、DataStax Astra(宽列)和Couchbase Cloud(文档)。
对数据中心进行大量投资的企业通常希望将其现有的应用程序和服务扩展到云平台中,而不是用云服务取代它们。主要的云计算供应商现在都提供了实现这一目标的方法,包括使用特定的混合服务(例如,可以跨越数据中心和云计算的数据库)以及连接到公有云的内部部署服务器和边缘云资源,通常称为混合云。
机器学习训练(尤其是深度学习)通常需要数小时到数周的大量计算资源。另一方面,机器学习预测需要每秒钟的计算资源,除非进行批量预测。使用云计算资源通常是完成模型训练和预测的最便捷方式。
在CPU集群上,使用大型模型和非常大的数据集进行准确训练所需的深度学习通常需要一周以上的时间。GPU、TPU和FPGA都可以显著地缩短训练时间,并且将它们放在云端可以在需要时轻松使用它们。
许多人工智能服务可以通过预训练模型很好地执行,例如语言翻译、文本到语音和图像识别。所有主要的云服务都提供基于稳健模型的预训练的人工智能服务。
预训练的人工智能服务有时并不能完全满足用户的需求。迁移学习仅在现有模型之上训练几个神经网络层,与从头开始训练模型相比,它可以相对快速地为用户提供定制服务。同样,主要的云服务提供商都提供迁移学习,尽管他们的名字并不相同。
所有云平台都支持至少一种监控服务,让用户轻松配置云服务进行监控。监控服务通常会显示一个图形仪表板,并且可以配置为通知用户异常的性能指标。
数据库并不是唯一可以从以分布式方式运行中受益的服务,其面临的问题是延迟。如果计算资源远离数据或管理的进程,则发送和接收指令和信息需要很长时间。如果反馈回路中的延迟太高,则回路很容易失控。如果机器学习和数据之间的延迟太高,则执行训练所需的时间可能会增加。为了解决这个问题,云服务提供商提供连接的设备,可以将他们的服务扩展到客户的数据中心(混合云)或客户的工厂车间附近(边缘计算)。
将分析和机器学习在地理上靠近机器和现实世界对象(物联网)的需求产生了专门的设备,例如带有 GPU 和传感器的微型计算设备,以及支持它们的架构,例如作为边缘服务器、自动化平台和内容交付网络。最终,这些设备都连接云端,但在边缘执行分析的能力可以显著地减少发送到云端的数据量,并减少延迟。
以后当听到有关云支出的抱怨时,也许可以指出云计算具有的好处。任何一项云创新都可以证明其使用是合理的。综合起来,云计算带来的好处确实是不可抗拒的。