什么是云计算
Most of us have seen architecture diagrams like the one
我们大多数人都看到过类似的架构图
The cloud was used to indicate the Internet. Over time the meaning of “the Internet” has shifted, where it now includes the resources usually perceived as being on the Internet as well as the means to access them.
云被用来表示互联网。 随着时间的流逝,“ Internet”的含义发生了变化,现在它包括通常被视为存在于Internet上的资源以及访问这些资源的方式。
The term cloud computing came into popular use just a few years ago. Some were quick to claim that, rather than a new concept, the term was simply another name for an existing practice. On the other hand, the term has become sufficiently powerful for some existing web applications have to magically turned into examples of cloud computing in action! Such is the power of marketing.
几年前,云计算一词开始流行。 有些人很快声称,该术语不是现有概念的另一个名称,而不是一个新概念。 另一方面,该术语已变得足够强大,以至于某些现有的Web应用程序不得不神奇地变成了实际使用的云计算示例! 这就是营销的力量。
While the specifics may vary from vendor to vendor, you can think of the cloud as a coherent, large-scale, publicly accessible collection of compute, storage, and net- working resources. These are allocated via web service calls (a programmable inter- face accessed via HTTP requests), and are available for short- or long-term use in exchange for payment based on actual resources consumed.
尽管具体情况因供应商而异,但您可以将云视为一个统一的,大规模的,可公开访问的计算,存储和网络资源集合。 这些是通过Web服务调用(通过HTTP请求访问的可编程接口)分配的,可用于短期或长期使用,以交换基于实际消耗资源的付款。
The cloud is intrinsically a multi-user environment, operating on behalf of a large number of users simultaneously. As such, it’s responsible for managing and verifying user identity, tracking allocation of resources to users, providing exclusive access to the resources owned by each user, and preventing one user from interfering with other users. The software that runs each vendor’s cloud is akin to an operating system in this regard.
云本质上是一个多用户环境,同时代表大量用户运行。 因此,它负责管理和验证用户身份,跟踪对用户的资源分配,提供对每个用户所拥有资源的独占访问权,并防止一个用户干扰其他用户。 在这方面,运行每个供应商的云的软件类似于操作系统。
Cloud computing builds on a number of important foundation-level technologies, including TCP-IP networking, robust internet connectivity, SOAP- and REST-style web services, commodity hardware, virtualization, and online payment systems. The details of many of these technologies are hidden from view; the cloud provides developers with an idealized, abstracted view of the available resources.
云计算基于许多重要的基础级技术,包括TCP-IP网络,强大的Internet连接,SOAP和REST风格的Web服务,商品硬件,虚拟化以及在线支付系统。 许多这些技术的细节都无法看到。 云为开发人员提供了可用资源的理想抽象视图。
可编程数据中心 (The Programmable Data Center)
Let’s think about the traditional model for allocation of IT resources. In the para- graphs that follow, the resources could be servers, storage, IP addresses, bandwidth, or even firewall entries.
让我们考虑一下传统的IT资源分配模型。 在随后的段落中,资源可能是服务器,存储,IP地址,带宽甚至防火墙条目。
If you’re part of a big company and need additional IT resources, you probably find you’re required to navigate through a process that includes a substantial amount of person-to-person communication and negotiation. Perhaps you send emails, create an online order or ticket, or simply pick up the phone and discuss your resource requirements. At the other end of the system there’s some manual work involved to approve the request; locate, allocate, and configure the hardware; deal with cables, routers, and firewalls; and so forth. It is not unheard of for this process to take 12–18 months in some organizations!
如果您是大公司的一员,并且需要其他IT资源,则可能会发现您需要浏览整个过程,该过程包括大量的人与人之间的沟通和协商。 也许您发送电子邮件,创建在线订单或票证,或者干脆拿起电话讨论您的资源需求。 在系统的另一端,需要一些人工工作来批准请求。 定位,分配和配置硬件; 处理电缆,路由器和防火墙; 等等。 在某些组织中,此过程需要12到18个月的时间并非闻所未闻!
If you are an entrepreneur, you call your ISP (Internet Service Provider), have a discussion, negotiate and then commit to an increased monthly fee, and gain access to your hardware in a time frame measured in hours or sometimes days.
如果您是企业家,请致电您的ISP(互联网服务提供商),进行讨论,进行协商,然后承诺增加月租费用,并在数小时甚至数天的时间内确定对硬件的访问权限。
Once you’ve gone through this process, you’ve probably made a long-term commit- ment to operate and pay for the resources. Big companies will charge your internal cost center each month, and will want to keep the hardware around until the end of its useful life. ISPs will be more flexible, but it is the rare ISP that is prepared to make large-scale changes on your behalf every hour or two.
完成此过程后,您可能已做出长期承诺来运营和支付资源。 大公司每个月都会向您的内部成本中心收取费用,并希望将其硬件保留到使用寿命结束。 ISP将更加灵活,但是很少有ISP准备每隔一两个小时代表您进行大规模更改。
The cloud takes the human response out of the loop. You (or more likely a manage- ment application running on your behalf) make web service requests (“calls”) to the cloud. The cloud then goes through the following steps to service your request:
云将人的响应带出了循环。 您(或更可能是代表您运行的管理应用程序)向云发出Web服务请求(“呼叫”)。 然后,云将通过以下步骤来满足您的请求:
- Accepts the request 接受请求
- Confirms that you have permission to make the request 确认您有权发出请求
- Validates the request against account limits 根据帐户限制验证请求
- Locates suitable free resources 找到合适的免费资源
- Attaches the resources to your account 将资源附加到您的帐户
- Initializes the resources 初始化资源
- Returns identifiers for the resources to satisfy the request 返回满足请求的资源的标识符
Since developers are accustomed to thinking in object oriented terms, we could even think of a particular vendor’s cloud as an object. Indeed, an idealized definition for a cloud might look like this in PHP:
由于开发人员习惯于以面向对象的方式思考,因此我们甚至可以将特定供应商的云视为对象。 实际上,在PHP中,理想的云定义可能看起来像这样:
class Cloud {
public function getDataCenters() {
⋮
}
public function allocateServer($dataCenter, $count) {
⋮
}
public function releaseServer($server) {
⋮
}
public function allocateDiskStorage($dataCenter, $gb) {
⋮
}
public function releaseDiskStorage($storage) {
⋮
}
⋮
}
Here’s how this idealized cloud would be used. First, we retrieve a list of available data centers ($d), and store a reference to the first one in the list ($d1):
这是使用这种理想化云的方式。 首先,我们检索可用数据中心的列表($ d),并将对第一个引用的引用存储在列表中($ d1):
$server = $c->allocateServer($d1, 1); $storage = $c->allocateDiskStorage($d1, 100);
$server = $c->allocateServer($d1, 1); $storage = $c->allocateDiskStorage($d1, 100);
The important point is that you can now write a program to initiate, control, mon- itor, and choreograph large-scale resource usage in the cloud. Scaling and partitioning decisions (such as how to add more server capacity or allocate existing capacity) that were once made manually and infrequently by system administrators with great deliberation can now be automated and done with regularity.
重要的一点是,您现在可以编写一个程序来启动,控制,监视和编排云中的大规模资源使用情况。 曾经由系统管理员仔细考虑过的手动和不频繁做出的扩展和分区决策(例如,如何增加服务器容量或分配现有容量)现在可以自动化并定期进行。
什么是云计算