随着数字环境的不断发展和技术的进步,云计算仍然是开发人员学习的重要主题。
您可能在招聘信息中遇到过云要求,在对话中听到过人们谈论它,或者看到过提供云服务的公司的广告,现在您有兴趣了解更多信息。
在本文中,我将为您揭开云的神秘面纱,将复杂的概念分解为易于理解的部分。
以下是我们将在本文中介绍的内容:
云计算之前的世界
什么是云计算?
云服务提供商
不同的云服务
云计算帮助解决的挑战
云计算如何为您提供帮助?
云部署模型
因此,让我们深入研究并学习云计算基础知识,以便您可以开始进入这个不断发展的领域。
云计算之前的世界
要理解云计算,重要的是要了解云计算试图解决的问题。这将帮助您了解它的历史,并欣赏它为技术世界带来的便利。
在云出现之前,部署 Web 服务是一个非常昂贵的过程。若要部署 Web 应用程序,必须购买具有正确存储量和内存的服务器,将它们保存在现场,设置这些服务器,然后使用它们来托管应用程序。
除了原始服务器成本外,这还会带来许多额外成本,例如每次保持服务器正常运行和在线所需的电力和数据。还有安全问题,因为您需要防止您的服务器被不良行为者损坏或窃取。
除此之外,许多开发人员并不完全是服务器专家。因此,您要么必须培训您的开发人员成为系统管理员,要么雇用系统管理员来设置和配置服务器以使用您的应用程序。然后,要部署新的应用程序,您必须以新的成本重复整个过程。
在云出现之前,扩展应用程序并不容易。如果您试图管理成本而不购买太多服务器,或者雇用许多系统工程师,那么最终可能会没有足够的计算能力,并且需要扩展。扩展意味着购买更多服务器(或用更好的服务器替换现有服务器),配置它们以匹配现有配置,并在其上部署应用程序。
这些是我们在云计算之前面临的一些问题。现在,您可能想知道,“云计算如何解决这些问题?让我们来了解一下。
什么是云计算?
云计算是计算机系统资源的按需可用性,特别是数据存储(云存储)和计算能力,无需用户直接主动管理。
云计算依靠资源共享来实现一致性,通常使用即用即付模式,这有助于减少资本支出,但也可能导致用户意外的运营费用。- 维基百科
把云计算想象成从网吧租一台电脑。在网吧里,他们已经准备好了电脑——你只需进来,支付你想要的时间,然后在那段时间内使用电脑。
在云计算的情况下,您不必担心购买计算机、保护计算机或支付运行成本。云提供商涵盖了所有这些担忧。您很少需要担心软件问题,或者这些计算机上缺少特定软件。最好的部分是什么?您只需为您使用的计算机付费,并且只需为您使用它的时间付费。
因此,用更相关的术语来说,假设您有一个要部署的 Web 应用程序。您可以转到云服务提供商,选择应用程序所需的特定服务器要求,选择软件依赖项,然后部署应用程序,无需担心。
向一个五岁的孩子解释的云计算是“让别人管理你的计算需求”。你有一些网站需要上线,或者是一个移动应用程序,或者其他一些技术,而不是购买服务器来部署它,其他人购买并设置服务器。您只需上传文件即可。这几乎与租房相同,但现在您正在另一台计算机上租用计算空间。
云服务提供商
提供这些云服务的公司称为云服务提供商。这些公司已经拥有许多服务器和系统工程师。他们关心所有您不必担心的事情,例如服务器成本和运行成本。他们提供了一个 Web 界面,您可以在其中访问他们的服务器并在需要时使用它们。
目前,最受欢迎的云服务提供商是 Google(Google Cloud Platform)、Amazon AWS(Amazon Web Services)和 Microsoft (Azure)。这些公司提供类似的服务,但价格模型、功能等各不相同。
以下是他们各自提供的摘要:
谷歌
他们提供 IaaS(计算引擎)、容器即服务、CaaS(Kubernetes Engine)和 PaaS(App Engine)服务。他们还提供数据存储服务,包括 Google Cloud Storage、Cloud SQL 和 Cloud Bigtable 等工具。
AWS公司
这是第一家云服务提供商。他们提供 IaaS(弹性计算,EC2)、CaaS(弹性 Kubernetes 服务,EKS)和 PaaS(Elastic Beanstalk)服务。他们还提供数据存储服务,包括 Amazon S3 和 DynamoDb 等工具。
Microsoft
它们提供 IaaS(虚拟机)、CaaS(Kubernetes 服务、AKS)和 PaaS(应用服务)服务。他们还使用 Cosmos DB 等工具提供数据存储服务。
为了最大限度地利用资源,云服务提供商让其客户共享服务器。客户不必知道或担心此分配。
现在,让我们了解上述一些首字母缩略词/术语的含义,以便更好地了解这些云服务是什么。
不同的云服务
云服务提供商提供许多不同的计算服务。以下是最常见的服务:
SaaS(软件即服务)
萨斯-778x445极客超级
这项服务涉及您只使用某些软件,而不了解其源代码或主机环境或开发细节。您只需使用它并相信它正在正确管理和更新。
PaaS(平台即服务)
在这里,您只专注于应用程序开发,因为所有事情都已处理完毕(硬件、计算环境和所需的软件)。
IaaS(基础架构即服务)
这是所有云服务中最灵活的。在这里,你对事物拥有最大的控制权。您可以根据需要自定义和更改内容。
但你不拥有服务器。云服务提供商仅为您提供所需的基础架构,您负责创建自己的计算环境并安装应用程序运行所需的软件。
这里的想法类似于购买硬件。唯一的区别是,现在,你正在租用它,而且它是虚拟的(对你来说)。
云计算帮助解决的挑战
云计算消除了每次需要开发新应用程序时在现场购买和设置服务器的需要。这是一个很大的优势,因为它为公司节省了大量资金——无论是在服务器上,还是在设置和配置服务器以为您的应用程序工作的工程师上。
扩展通常并不容易,因为它通常涉及大量的设置和配置。例如,若要为应用程序提供更多存储,可以获取外部数据存储并连接到当前服务器。不过,这肯定有其局限性。
当您需要更好的服务器或额外的服务器时,可能会出现一个点。无论哪种方式,您为使其在以前的服务器上运行而安装的每个软件都必须在新服务器上重新安装。必须移动应用程序文件,依此类推。
此外,这些应用程序通常未充分利用这些硬件资源。从商业角度来看,这是一种损失。对此的初步解决方法是虚拟化。这基本上意味着创建虚拟(包含)环境,其中应用程序具有所有必需的软件,并且可以在服务器上正常运行。这导致了资源的更好利用。但这绝对不是完美的解决方案。
云计算如何为您提供帮助?
云计算提供了许多好处,其中一些在这里重点介绍:
支付订阅费用比构建整个数据中心更便宜。您有计划只允许您使用您使用的内容。
扩展和管理是云服务提供商的责任。
易于设置。开发人员只需专注于代码,因为所有实际的服务器和硬件设置都可以使用云服务提供商提供的用户界面完成。这样可以缩短开发时间,并更快地交付应用程序。
可及性。云服务提供商往往在全球拥有多个数据中心,以确保您的用户始终能够尽快访问您的服务。
数据安全。由于您的数据不再存储在您的物理空间中,因此不良行为者更难进入并破坏或窃取您的服务器。
云部署模型
云部署模型决定了数据(和应用程序)的存储位置以及客户如何与之交互。
公有云
在这里,一切都由云服务提供商处理。这是最受欢迎的模型。使用公有云时,您无需担心服务器维护,并且确信高可靠性和无限可扩展性的可能性。这通常意味着您与其他人共享服务器。
这是最便宜的模式,公司通常使用现收现付模式(因此您永远不必在财务上投入太多)。
这样做的一个潜在问题是,由云服务提供商处理所有内容意味着您对服务几乎没有控制权。
私有云
这类似于托管应用程序的传统方式。在这里,您确实拥有自己的数据中心。这意味着只有您可以使用服务器并对它们进行无限控制。
现在,区别在于,您为服务器的用户(通常是公司中的开发人员)提供自助服务界面。您仍然需要管理物理服务器,并负责其维护和扩展。
这种方法可能比公有云更安全,因为您可以控制并可以设置尽可能多的安全性。如果您的数据由于合规性要求而不能泄露,它也非常方便。
但这种方法的成本更高,尽管具有更可预测或固定的定价模型。这些服务器和硬件价格昂贵。拥有它们意味着有人管理它们,这意味着更多的费用。扩展还意味着每次都购买新设备。
混合云
什么是混合云混合云 |W3Codemasters(W3代码大师)
此方法合并了公有方法和云方法。它基本上可以为您提供更大的灵活性。您可以使用公共服务,也可以在需要时设置自己的公共服务。在这里,您可以通过服务器遵守法规,还可以通过云服务提供商提供高度可访问性。这种方法非常适合尝试从一种模型迁移到另一种模型的组织,在过渡期间保持业务运营。
这方面的一个示例应用程序是在公共云上托管应用程序,并将其连接到安全私有云上的数据库。
这种方法也比公共云更昂贵,因为您必须满足某些服务器的需求。当数据分布在多个服务器和应用程序之间时,它也可能变得复杂。
如何选择部署模型
公有云、私有云或混合云部署模型之间的选择取决于组织的独特要求。
公有云提供成本效益和全球覆盖
私有云提供增强的安全性和控制力
混合云提供了灵活性,并在两者之间实现了战略平衡。
该决定最终取决于安全需求、合规性要求、可伸缩性以及所需的 IT 基础架构控制级别等因素。
结论
现在,您应该有足够的信息来启动您在云计算领域的职业生涯。