###《可扩展的艺术》Chapter 29 Soaring in the Clouds翱翔云端 > This is called, using the conquered foe to augment one’s own strength.—Sun Tzu > 这就叫以敌来增强自己的力量。——孙子 In the previous chapter, we covered the history, characteristics, and comparison ofcloud computing and grid computing. We also discussed how important they were toscalability. In this chapter, we are going to cover the benefits and drawbacks of cloudcomputing. After we’ve covered this in sufficient detail, we are going to discuss wherewe think cloud computing makes the most sense in different companies. Lastly, weare going to cover how we recommend you think through the decision of whether touse a cloud computing service for various environments. This will provide you withexamples of how you can use cloud computing in your scaling efforts as well as giveyou a framework for making the decision to use it or not. 在上一章中,我们介绍了云计算和网格计算的历史、特点和比较。我们还讨论了它们对于可扩展性的重要性。在本章中,我们将介绍云计算的优点和缺点。在我们足够详细地介绍这一点之后,我们将讨论我们认为云计算在不同公司中最有意义的地方。最后,我们将介绍我们如何建议您考虑是否在各种环境中使用云计算服务的决定。这将为您提供如何在扩展工作中使用云计算的示例,并为您提供一个框架来决定是否使用云计算。 There is a lot of excitement about cloud computing services and rightly so. Cloudcomputing is a significant breakthrough in computing infrastructure and holds thepossibility of changing dramatically how many products and services are offered. Thereason we believe this and the reason we are going to spend so much time on cloudcomputing in a book about scalability is that we think clouds are likely to be a keyscaling architectural principle in the future. At the same time, we want to be realisticabout where cloud computing is in terms of maturity at this point. Making such asignificant decision as to forgo a collocation facility in lieu of a cloud computing ser-vice should not be done without careful consideration. If you are a Software as a Service(SaaS) company or Web 2.0 business, the future of the entire company likely restswith your system remaining consistently available. 云计算服务令人兴奋不已,这是理所当然的。云计算是计算基础设施方面的重大突破,并有可能极大地改变所提供的产品和服务的数量。我们相信这一点的原因以及我们将在一本有关可扩展性的书中花费大量时间讨论云计算的原因是我们认为云很可能成为未来的关键扩展架构原则。与此同时,我们希望现实地了解云计算目前的成熟度。做出放弃托管设施来代替云计算服务的重大决定不应在未经仔细考虑的情况下做出。如果您是一家软件即服务 (SaaS) 公司或 Web 2.0 企业,那么整个公司的未来可能取决于您的系统是否始终可用。 Why is this decision so important? Ultimately, you are striving to maximize share-holder value. If you make a decision to spend capital investing in hardware and datacenter space, this takes cash away from other projects that you could be investing in.Could that money be spent better by hiring more engineers? On the other hand, ifyou don’t invest in the infrastructure, and you rely on a cloud service that doesn’tprovide the proper availability or scalability, that can negatively affect shareholdervalue. This decision is one that can make or break the company and one that you as aleader or member of the technology organization will have the greatest influence over. 为什么这个决定如此重要?最终,您正在努力实现股东价值最大化。如果您决定将资本投资于硬件和数据中心空间,这会从您可以投资的其他项目中夺走现金。通过雇用更多工程师可以更好地花这笔钱吗?另一方面,如果您不投资基础设施,并且您依赖的云服务无法提供适当的可用性或可扩展性,这可能会对股东价值产生负面影响。这一决定可以决定公司的成败,并且作为技术组织的领导者或成员,您将对其产生最大的影响。 ####Pros and Cons of Cloud Computing 云计算的优点和缺点 There are benefits and drawbacks to almost everything. Rarely is something just ahundred percent beneficial or problematic. In most cases, the pros and cons can bedebated, which makes it more difficult to make decisions for your business. Makingit more complex is that the pros and cons do not affect all businesses equally. Forexample, a software product might have passwords delivered in plain text over thenetwork; if you plan on using the software inside your three-person software shop,this drawback might mean very little to you. If you are planning on using it with 500engineers spread across three continents, this might be a much more important issuefor you. Each company must weigh each of the identified benefits and drawbacks forits own situation. We will get more into how to use the pros and cons to make deci-sions later in the chapter. To start with, we will cover what we consider the basic andmost important of both benefits and drawbacks to cloud computing. Later, we willhelp put relative weightings to these as we discuss various implementations for differ-ent hypothetical businesses. 几乎所有事物都有优点和缺点。很少有事情是百分百有益或有问题的。在大多数情况下,利弊可能会引起争议,这使得为您的企业做出决策变得更加困难。更复杂的是,利弊对所有企业的影响并不相同。例如,软件产品可能具有通过网络以纯文本形式传递的密码;如果您打算在三人软件商店内使用该软件,那么这个缺点对您来说可能意义不大。如果您计划与分布在三大洲的 500 名工程师一起使用它,这对您来说可能是一个更重要的问题。每家公司都必须根据自己的情况权衡所确定的每项优点和缺点。我们将在本章后面详细介绍如何利用利弊来做出决策。首先,我们将介绍我们认为云计算的基本和最重要的优点和缺点。稍后,当我们讨论不同假设业务的各种实现时,我们将帮助对这些进行相对权重。 #####Pros of Cloud Computing 云计算的优点 There are three major benefits to running your infrastructure on a cloud: cost, speed,and flexibility. Each one of these will have varying degrees of importance to your par-ticular situation. You should weight each one in terms of how applicable the benefitis to you. We are going to cover each one in some detail. 在云上运行基础设施具有三个主要优势:成本、速度和灵活性。其中每一项对于您的特定情况都有不同程度的重要性。您应该根据福利对您的适用程度来权衡每一项。我们将详细介绍每一项。 Cost The cost model of not outlaying a lot of capital and paying for what you use isa great one. This model works especially well if you are a cash strapped startup. Ifyour business model is one that actually pays for itself as you grow and your expensemodel is the same, you have effectively eliminated a great deal of risk for your com-pany. There are certainly other models that have limited initial cash outlay, such asmanaged hosted environments, but where they differ is that you have to purchase orlease equipment on a per server basis and you cannot return it when you are notusing it. As a startup, being able to last long enough to become successful is the firststep to scaling. At any company, being able to manage cost to stay in line with thevolume of business is critical to ensure the ability to scale. 成本 不花费大量资金并按使用量付费的成本模式是一种很好的模式。如果您是一家现金短缺的初创公司,这种模式尤其有效。如果您的业务模式是一种随着您的发展而实际收回成本的模式,并且您的费用模式是相同的,那么您已经有效地消除了公司的大量风险。当然还有其他模型的初始现金支出有限,例如托管托管环境,但它们的不同之处在于,您必须以每台服务器为基础购买或租赁设备,并且在不使用时无法归还。作为一家初创公司,能够持续足够长的时间并取得成功是扩大规模的第一步。在任何公司,能够管理成本以与业务量保持一致对于确保扩展能力至关重要。 In Figure 29.1, you can see how a normal cost progression occurs. As demandincreases, you must stay ahead of that demand and purchase or lease the next serveror storage unit or whatever piece of hardware to ensure you are capable of meetingdemand. Most organizations are not great at capacity planning. This causes the gapbetween the cost and demand is either larger than necessary or worse, demandexceeds the capacity and there is a scramble to purchase more equipment all thewhile your customers are experiencing poor performance. The key when purchasingor leasing in such a manner is to get the cost and demand lines as close as possiblewithout letting them cross. With a cloud cost model, where services are paid for onlywhen used, these lines can be much tighter, almost touching in most cases. 在图 29.1 中,您可以看到正常的成本进展是如何发生的。随着需求的增加,您必须领先于该需求并购买或租赁下一个服务器或存储单元或任何硬件,以确保您有能力满足需求。大多数组织都不擅长容量规划。这导致成本和需求之间的差距要么大于必要的,要么更糟,需求超出了容量,并且在您的客户遇到性能不佳的同时,人们争相购买更多设备。以这种方式购买或租赁时的关键是使成本线和需求线尽可能接近而不让它们交叉。在云成本模型中,服务仅在使用时付费,这些界限可能会更加紧密,在大多数情况下几乎是接触的。 ![](https://blog.baidu-google.com/usr/uploads/2024/06/2400025189.png) Speed The next benefit that we see from the cloud environment is the speed. Notperformance speed as discussed in the cons but rather procurement, provisioning,and deployment speed. Of all the collocation, data centers, managed hosting, orother infrastructure models, there is none faster when it comes to adding anotherserver than in a cloud environment. Because of the virtual nature, this deploymentand provisioning is very quick. If you are running a site that expects a spike of trafficover the weekend because of some sporting event, you can throw a couple more vir-tual hosts into the pool on Friday afternoon and release them back Monday morning.You have them to use over the weekend to add capacity, but you don’t pay for themthe following week after the spike in traffic is over. The ability to increase an applica-tion’s usage of virtual hosts very quickly can be used as an effective method of scalingthrough peak traffic periods. 速度 我们从云环境中看到的下一个好处是速度。不是缺点中讨论的性能速度,而是采购、配置和部署速度。在所有配置、数据中心、托管托管或其他基础设施模型中,添加另一台服务器的速度没有比在云环境中更快的了。由于虚拟性质,这种部署和配置非常快。如果您运行的网站预计由于某些体育赛事而在周末出现流量高峰,您可以在周五下午将更多虚拟主机放入池中,并在周一早上将它们释放回来。您可以在整个周末使用它们。周末增加容量,但在流量高峰结束后的下周您无需支付费用。快速增加应用程序对虚拟主机的使用的能力可以用作在高峰流量期间进行扩展的有效方法。 What clouds do not do yet for deployment and provisioning is augment capacityautomatically. Certainly, this is one of the longer term goals of the autonomous infra-structure, but we are not there yet. Even without this happening automatically, it isfaster than it has ever been in the past with other models. But this is not to imply thatwith either it is wise to scale only on the x-axis with additional hardware instances,nor is it always available for applications to scale in this manner. If your applicationhas this capability and you’ve made a determination that this is a wise strategic archi-tectural decision, this speed adds a lot to your ability to deploy more hosts quickly.One example of when you may not be able to utilize such speed is if your applicationmaintained state and you do not have a mechanism for keeping users assigned to onehost or centralizing the stateful session data. Another example would be on the data-base. If your application could not handle an x-axis split for read/write or a y-axissplit of schemas, being able to quickly add more hardware would not help you scale.The bottom line is that this benefit of speedy deployments has to be able to workwith your application for you to take advantage of it. 云在部署和配置方面还不能自动增加容量。当然,这是自主基础设施的长期目标之一,但我们还没有实现。即使这种情况不会自动发生,它也比过去的其他模型要快。但这并不意味着仅在 x 轴上通过附加硬件实例进行缩放是明智的,也不意味着应用程序始终可以以这种方式进行缩放。如果您的应用程序具有此功能,并且您已确定这是一个明智的战略架构决策,则此速度会大大增强您快速部署更多主机的能力。当您可能无法利用这种速度时,有一个示例如果您的应用程序维护状态,并且您没有一种机制来将用户分配给一个主机或集中有状态会话数据。另一个例子是数据库。如果您的应用程序无法处理读/写的 x 轴拆分或模式的 y 轴拆分,那么能够快速添加更多硬件将无助于您进行扩展。最重要的是,快速部署的这种好处必须能够与您的应用程序一起工作,以便您利用它。 Flexibility The third major benefit of cloud computing environments is flexibility.What you give up in control you gain in the ability to implement multiple configura-tions for different needs. For example, if today you need five quality assurance testinstances, you can set these up in the morning, test on them, and remove themtonight. Tomorrow, you can set up a full staging environment to allow your custom-ers to perform user acceptance testing before you roll the code to production. Afteryour customers are satisfied, you can remove the environment and stop paying for it.If you need a load testing environment that requires a bunch of individual hosts toprovide multiple connections, the ramping up of a dozen virtual hosts for an hour ofload testing is easily done in most cloud environments. This flexibility to add,remove, or change your environments almost at whim is something that we havenever had before in previous infrastructures. After a team gets used to this ability tochange and reconfigure, they are not going to want to be constrained by physicaldevices. 灵活性 云计算环境的第三个主要好处是灵活性。您放弃控制权后,您将获得针对不同需求实施多种配置的能力。例如,如果今天您需要五个质量保证测试实例,您可以在早上设置它们,对其进行测试,然后在今晚删除它们。明天,您可以设置一个完整的临时环境,以允许您的客户在将代码投入生产之前执行用户验收测试。当您的客户满意后,您可以删除环境并停止付费。如果您需要一个需要一堆单独主机提供多个连接的负载测试环境,则可以轻松完成一小时负载测试的十几个虚拟主机在大多数云环境中。这种几乎随心所欲地添加、删除或更改环境的灵活性是我们以前的基础设施中从未有过的。当团队习惯了这种更改和重新配置的能力后,他们就不会希望受到物理设备的限制。 #####Benefits of Cloud Computing 云计算的好处 There are three major categories of pros or benefits that we see with cloud computing. Theseare in no particular order: 我们看到云计算具有三大类优点或好处。这些没有特定的顺序 * Cost. The pay as you use model allows the amount that you spend to stay closer to the actual usage and is particularly helpful for cash strapped companies. * 成本。按使用量付费模式使您的支出金额更接近实际使用量,对于现金紧张的公司特别有帮助。 * Speed. The speed in procurement, deployment, and provisioning is unmatched with other infrastructure models. * 速度。采购、部署和配置的速度是其他基础设施模型无法比拟的。 * Flexibility. The ability to change an environment from a quality assurance to a staging to a load and performance while not having to pay for three separate environments is advantageous. * 灵活性。能够将环境从质量保证更改为分段,再更改为负载和性能,同时无需为三个单独的环境付费,这是有利的。 The importance of any of these or how much you should weight them when determiningwhether the cloud is the right environment for you and should be based on your particular com-pany’s needs at a particular time. 其中任何一个的重要性,或者在确定云是否适合您的环境时,您应该对它们进行多少权重,并且应该基于您的特定公司在特定时间的需求。 #####Cons of Cloud Computing 云计算的缺点 We think there are five major categories of concern or drawbacks for public cloudcomputing. These five categories do not all apply to private clouds, but as the great-est utility and greatest public interest is in the use of public clouds, we will stick tousing public clouds for our analysis. These categories are security, portability, con-trol, limitations, and performance. These are obviously very broad categories so wewill have to delve into each one in more detail to fully understand them. 我们认为公共云计算有五个主要的担忧或缺点。这五个类别并不都适用于私有云,但由于最大的效用和最大的公共利益在于公共云的使用,因此我们将坚持使用公共云进行分析。这些类别是安全性、可移植性、控制、限制和性能。这些显然是非常广泛的类别,因此我们必须更详细地研究每个类别才能充分理解它们。 Security Not a month goes by without us hearing about leaked personal informationor a security breach. This causes us to ask the question, “how do cloud providersstore and safeguard our information?” The same question can be asked of many ofour SaaS vendors. The slight difference is that with a SaaS implementation, the ven-dor often knows whether it is collecting and storing sensitive information such aspersonally identifiable information (name, address, social security number, phonenumber, and so on) and therefore it takes extra precautions and publishes its steps forsafeguarding this information. Cloud providers have no idea what is being stored ontheir systems—that is, whether their customers are storing credit card numbers orblogs—and therefore do not take any extra precautions to restrict or block access toyour data by their internal employees. Of course, there are ways around this, such asnot storing any sensitive information on the cloud system, but those workaroundsadd more complexity to your system and potentially expose you to more risks. Asstated earlier, this may or may not be a very important aspect for your particularcompany or application that you are considering hosting on a cloud. 安全 我们每个月都会听到个人信息泄露或安全漏洞的消息。这让我们不禁要问:“云提供商如何存储和保护我们的信息?”我们的许多 SaaS 供应商也可能会问同样的问题。略有不同的是,通过 SaaS 实施,供应商通常知道自己是否正在收集和存储敏感信息,例如个人身份信息(姓名、地址、社会安全号码、电话号码等),因此会采取额外的预防措施和公布保护此信息的步骤。云提供商不知道他们的系统上存储了什么,即他们的客户是否存储信用卡号或博客,因此不会采取任何额外的预防措施来限制或阻止其内部员工访问您的数据。当然,有一些方法可以解决这个问题,例如不在云系统上存储任何敏感信息,但这些解决方法会增加系统的复杂性,并可能使您面临更多风险。如前所述,对于您正在考虑在云上托管的特定公司或应用程序来说,这可能是也可能不是非常重要的方面。 Portability The next category is portability. We long for a day when you can portyour application from one cloud to another without code or configuration changes,but this day has not yet arrived, nor do we think it will in the near future because it isnot beneficial to the cloud vendors to make this process easy. This is not to say that itis impossible to migrate from one cloud to another or from a cloud to a physicalserver hosting environment, but those can be nontrivial endeavors depending on thecloud and particular services being utilized. For instance, if you are making use ofAmazon’s Simple Storage Solution and you want to move to another cloud or to a setof physical servers, you are likely to rework your application to implement storage ina simple database. Although not the most challenging engineering project, it doestake time and resources that could be used to work on product features. One of theprinciples discussed in Chapter 12, Exploring Architectural Principles, was to UseCommodity Hardware; this vendor agnostic approach to hardware is important toscale in a cost-efficient manner. Not being able to port across clouds easily goesagainst this principle and therefore is a con that should be considered. 可移植性 下一个类别是可移植性。我们渴望有一天,您可以将应用程序从一个云移植到另一个云,而无需更改代码或配置,但这一天还没有到来,我们认为在不久的将来也不会到来,因为这样做对云供应商没有好处过程简单。这并不是说不可能从一个云迁移到另一个云或从云迁移到物理服务器托管环境,但根据云和所使用的特定服务,这些可能是不平凡的工作。例如,如果您正在使用亚马逊的简单存储解决方案,并且想要迁移到另一个云或一组物理服务器,您可能会重新设计您的应用程序以在简单数据库中实现存储。虽然不是最具挑战性的工程项目,但它确实需要时间和资源来研究产品功能。第 12 章“探索架构原则”中讨论的原则之一是使用商品硬件;这种与供应商无关的硬件方法对于以经济高效的方式进行扩展非常重要。无法跨云移植很容易违背这一原则,因此是一个应该考虑的缺点。 Control Any time that you rely solely on a single vendor for any part of your system,you are putting your company’s future in the hands of another. We like to control ourown destiny as much as possible. Relinquishing a significant amount of control to athird party is a difficult step for us to take. This is probably acceptable when it comesto operating systems and relational database management systems, because hopefullyyou are using a vendor or product line that has been around for years and you arenot likely to build or manage anything better with your engineering team, unless ofcourse you are in the business of operating systems or relational database manage-ment systems. When it comes to the hosting environment, many companies moveaway from managed environments because they get to a point where they have thetechnical talent on staff to handle the operational tasks required for hosting yourown hardware and they get fed up with vendors messing up and causing them pain.Cloud environments are no different. They are staffed by people who are not youremployees and who do not have a personal stake in your business. This is not to saythat cloud or hosting providers have inferior employees. Quite the opposite, they areusually incredibly talented, but they do not know or understand your business. Theyhave hundreds or thousands of servers to keep up and running. They don’t know thatthis one is any more important than that one; they are all the same. Giving up controlof your infrastructure adds an amount of risk into your business. 控制 每当您的系统的任何部分仅依赖单一供应商时,您就将公司的未来交到了另一个供应商手中。我们喜欢尽可能地控制自己的命运。将大量控制权放弃给第三方对我们来说是一个困难的步骤。当涉及到操作系统和关系数据库管理系统时,这可能是可以接受的,因为希望您使用的是已经存在多年的供应商或产品线,并且您不太可能与您的工程团队一起构建或管理更好的东西,除非您在操作系统或关系数据库管理系统的业务。当谈到托管环境时,许多公司放弃了托管环境,因为他们已经拥有足够的技术人才来处理托管自己的硬件所需的操作任务,并且他们厌倦了供应商搞砸并给他们带来痛苦.云环境也不例外。他们的员工不是您的雇员,也没有在您的企业中拥有个人股份。这并不是说云或托管提供商的员工较差。恰恰相反,他们通常非常有才华,但他们不了解或不了解您的业务。他们有数百或数千台服务器需要保持和运行。他们不知道这个比那个更重要;他们不知道这个比那个更重要。他们都是一样的。放弃对基础设施的控制会给您的业务增加一定的风险。 Continuing with the discussion of control, many cloud vendors are not even to thepoint of being able to offer guaranteed availability or uptime. When vendors do notstand behind their products with remuneration clauses built-in for failures, it wouldbe wise to always consider their service as best effort, which means you need to havean alternative method of receiving that service. As we mentioned in the portabilitysection, running on or switching between multiple clouds is not a simple task. 继续讨论控制,许多云供应商甚至还没有达到能够提供有保证的可用性或正常运行时间的程度。当供应商不为他们的产品提供内置的故障补偿条款时,明智的做法是始终将他们的服务视为尽力而为,这意味着您需要有一种替代方法来接收该服务。正如我们在可移植性部分中提到的,在多个云上运行或在多个云之间切换并不是一项简单的任务。 Limitations The next cons or drawbacks that we see with cloud computing are limi-tations due to the nature of virtual environments. The cloud vendors and other cloudservice providers are working feverishly to resolve some of these, but nonethelessthey still either exist in some or all current cloud environments. Three of the majorones that we are concerned with are IP addresses, load balancing, and certification ofthird-party software on the clouds. The first limitation on many of the early clouds islack of public and static IP addresses for your servers. Many clouds have begun tosolve this and offer static IP addresses for an additional cost. This still does not solvethe problem of not owning your IP space. This may seem a trivial problem to mostcompanies that are not ready to own and manage their own IP space, but for somecompanies this is very important. As an example, if you send out lots of email andhave become a trusted email to major email networks such as AOL, you rely on staticIP addresses to accomplish reliable mail delivery. This trusted relationship, until thetrusted email open standard (TEOS), or something similar is adopted, is today basedon a white list and black list of IP addresses for trusted and untrusted sources, respec-tively. Remaining on a white list of mail servers is extremely important if you want tocontinue sending significant amounts of email. 限制 我们在云计算中看到的下一个缺点是由于虚拟环境的性质而产生的限制。云供应商和其他云服务提供商正在积极努力解决其中的一些问题,但尽管如此,它们仍然存在于某些或所有当前的云环境中。我们关心的三个主要问题是IP地址、负载均衡和云上第三方软件的认证。许多早期云的第一个限制是服务器缺乏公共和静态 IP 地址。许多云已经开始解决这个问题,并提供静态 IP 地址,但需额外付费。这仍然没有解决不拥有你的IP空间的问题。对于大多数还没有准备好拥有和管理自己的 IP 空间的公司来说,这似乎是一个微不足道的问题,但对于某些公司来说,这非常重要。举例来说,如果您发送大量电子邮件并已成为 AOL 等主要电子邮件网络的可信电子邮件,则您可以依靠静态 IP 地址来完成可靠的邮件传递。在采用可信电子邮件开放标准 (TEOS) 或类似标准之前,这种可信关系如今分别基于可信和不可信来源的 IP 地址白名单和黑名单。如果您想继续发送大量电子邮件,则保留在邮件服务器白名单中非常重要。 The next major limitation that concerns us with most cloud vendors is the lack ofphysical load balancers. Most cloud vendors or service providers have implementedsoftware load balancers, but there are some limitations with this when compared tophysical devices. The feature sets of software load balancers are always changing andadvancing but in general some areas that physical load balancers do better at are dis-tributed denial of service protection, compression, secure socket layer (SSL) termina-tion, connection pooling, caching, and buffering. Like all the concerns that we areraising, these issues might not be important to you. If you happen to be serving bil-lions of advertisements or streaming video, the throughput of your load balancer isgoing to be very important to you. However, these limitations are often offset in thecloud environment by the capability to add more virtual hardware. 大多数云供应商担心的下一个主要限制是缺乏物理负载平衡器。大多数云供应商或服务提供商都实施了软件负载均衡器,但与物理设备相比,存在一些限制。软件负载均衡器的功能集总是在变化和进步,但一般来说,物理负载均衡器更擅长的一些领域是分布式拒绝服务保护、压缩、安全套接字层 (SSL) 终止、连接池、缓存和缓冲。就像我们提出的所有问题一样,这些问题对您来说可能并不重要。如果您碰巧正在提供数十亿的广告或流媒体视频,那么负载均衡器的吞吐量对您来说非常重要。然而,这些限制在云环境中通常可以通过添加更多虚拟硬件的能力来抵消。 The last issue in the limitations category that we feel strongly about is the lack ofcertification of other third-party software on cloud computing environments. Thisthird-party vendor software could really be anything that you utilize as a subcompo-nent or part of your system, but primarily we have concerns over relational databasemanagement systems and data warehousing management systems. A lot of these sys-tems will work in virtual environments and more are working toward certifying theirsystems, but if you have ever been on support calls where the answer to your problemwas to upgrade the database version, you can only imagine what the answer will berunning on a cloud. What this does is limit your choices of vendors for key compo-nents of your system. This may or may not be a major issue for you. As for a data-base, it probably matters how you are architected. If you are still relying on a verylarge monolithic database, the limitation of vendors might be problematic. If youalready are running on small open source databases split along the x-, y-, or z-axes ofthe AKF Scale Cube, this limitation probably matters less to you. 我们强烈感受到的限制类别中的最后一个问题是缺乏云计算环境上其他第三方软件的认证。该第三方供应商软件实际上可以是您用作系统子组件或一部分的任何软件,但我们主要关注的是关系数据库管理系统和数据仓库管理系统。许多这些系统将在虚拟环境中工作,并且更多系统正在努力验证其系统,但如果您曾经接到过支持电话,其中问题的答案是升级数据库版本,您只能想象答案会是什么在云上。这会限制您对系统关键组件供应商的选择。这对您来说可能是也可能不是主要问题。至于数据库,它的架构方式可能很重要。如果您仍然依赖非常大的整体数据库,供应商的限制可能会出现问题。如果您已经在沿 AKF Scale Cube 的 x、y 或 z 轴分割的小型开源数据库上运行,则此限制对您来说可能不太重要。 Performance The last major category of concerns that we have are regarding perfor-mance. From our experiences with our clients on cloud computing infrastructures,the expected performance from an equivalent piece of hard and virtual hardware isnot the same. This is obviously very important to the scalability of your application,especially if you have singletons, single instances of batch jobs or parts of your appli-cation running on only a single server. Obviously, running a single instance of any-thing is not an effective way to scale, but it is common for a team to start on a singleserver and not test the job or program on multiple servers until they are needed.Migrating to a cloud and realizing on the new virtual server the processing of the jobis falling behind might put you in panic mode to test and validate that that job cancorrectly run on multiple hosts. 性能 我们关心的最后一类主要问题是性能。根据我们与客户在云计算基础设施方面的经验,同等硬件和虚拟硬件的预期性能并不相同。显然,这对于应用程序的可扩展性非常重要,特别是如果您有单例、批处理作业的单个实例或应用程序的一部分仅在单个服务器上运行。显然,运行任何事物的单个实例并不是一种有效的扩展方式,但团队通常从单个服务器开始,直到需要时才在多个服务器上测试作业或程序。迁移到云和意识到在新的虚拟服务器上作业的处理落后可能会让您陷入恐慌模式,以测试和验证该作业是否可以在多个主机上正确运行。 The virtual hardware underperforms in some aspects by orders of magnitude. Thestandard performance metrics include memory speed, CPU, disk access, and so on.There is no standard degradation or equivalence among virtual hosts; in fact, it oftenvaries within cloud environments and certainly varies from one vendor to another.Most companies and applications either don’t notice this or don’t care, but for thosemaking a cost benefit analysis about switching to a cloud computing vendor, youneed to test this yourself with your application. Do not take a vendor’s word for anequivalent virtual host. Each application has its own sensitivity and bottlenecks withregard to host performance. Some applications are bottlenecked on memory and byslowing down memory even 5% can cause the entire application to scale much morepoorly on certain hosts. This matters when you are paying thousands of dollars incomputing costs per month. What might have been a twelve month break even nowbecomes eighteen or twenty-four months in some cases. 虚拟硬件在某些方面表现不佳几个数量级。标准的性能指标包括内存速度、CPU、磁盘访问等。虚拟主机之间没有标准的降级或等效;事实上,它在云环境中通常会有所不同,并且不同供应商之间肯定有所不同。大多数公司和应用程序要么没有注意到这一点,要么不关心这一点,但对于那些对切换到云计算供应商进行成本效益分析的人来说,您需要使用您的应用程序亲自测试一下。不要相信供应商关于等效虚拟主机的说法。每个应用程序在主机性能方面都有其自身的敏感性和瓶颈。某些应用程序存在内存瓶颈,通过降低内存速度,即使 5% 也会导致整个应用程序在某些主机上的扩展性更差。当您每月支付数千美元的计算成本时,这一点很重要。在某些情况下,本来可能是十二个月的休息时间现在变成了十八或二十四个月。 #####Drawbacks of Cloud Computing 云计算的缺点 There are five major categories of cons or drawbacks that we see with cloud computing. Theseare in no particular order: 我们看到云计算有五类主要的缺点或缺点。这些没有特定的顺序 * Security. Unlike SaaS companies who know exactly what sensitive or personally identifi-able information is being entered into their system, cloud providers don’t know and try not to care; but this leaves a potential gap in the security of your data. * 安全。与 SaaS 公司确切知道哪些敏感信息或个人身份信息正在输入其系统不同,云提供商不知道并且尽量不关心;但这在数据安全方面留下了潜在的漏洞。 * Portability. As simple as clouds are to get up and running on, they can be difficult to move to physical servers or other clouds depending on your application’s implementation. * 可移植性。尽管云的启动和运行很简单,但根据应用程序的实现,它们可能很难迁移到物理服务器或其他云。 * Control. Outsourcing your infrastructure is giving a third-party complete control over your application being available or not. Unlike ISPs that can be redundant, redundancy is not easy to accomplish with clouds at this point. * 控制。外包您的基础设施让第三方完全控制您的应用程序是否可用。与可以冗余的 ISP 不同,目前云实现冗余并不容易。 * Limitations. Three limitations that we see in some of the cloud vendors’ offerings are1.IP addresses. The early clouds didn’t even offer static IP addresses but most do so now. They still do not allow you to own your IP addresses, which may be important to certain applications or services such as email. * 局限性。我们在一些云供应商的产品中看到的三个限制是:1.IP 地址。早期的云甚至不提供静态 IP 地址,但现在大多数都提供了。他们仍然不允许您拥有自己的 IP 地址,这对于某些应用程序或服务(例如电子邮件)可能很重要。 2.Load balancers. Most clouds offer software load balancing, which is a great improve-ment, but there are limitations between software and hardware load balancing. 2.负载均衡器。大多数云都提供软件负载平衡,这是一个很大的改进,但软件和硬件负载平衡之间存在局限性。 3.Certification. Other third-party software vendors do not certify their software to run in a cloud environment. This may cause you issues if you are trying to get support for their software. 3.认证。其他第三方软件供应商并未证明其软件可以在云环境中运行。如果您尝试获得其软件的支持,这可能会给您带来问题。 * Performance. Even though clouds are sold on computational equivalencies, the actual performance varies significantly between vendors and physical and virtual hardware. You have to test this yourself to see if it matters to your application. * 表现。尽管云是按计算等价出售的,但供应商以及物理和虚拟硬件之间的实际性能差异很大。您必须自己测试一下,看看它对您的应用程序是否重要。 The importance of any of these or how much you should be concerned with them is deter-mined by your particular company’s needs at a particular time. 其中任何一项的重要性或您应该关注它们的程度取决于您的特定公司在特定时间的需求。 We have covered what we see as the top drawbacks and benefits of cloud comput-ing as they exist today. As we have mentioned throughout this section, how theseaffect your decision to implement a cloud computing infrastructure will vary depend-ing on your business and your application. In the next section, we are going to coversome of the different ways in which you may consider utilizing a cloud environmentas well as how you might consider the importance of some of the factors discussedhere based on your business and systems. 我们已经介绍了当今云计算的主要缺点和优点。正如我们在本节中提到的,这些如何影响您实施云计算基础设施的决策将根据您的业务和应用程序而有所不同。在下一节中,我们将介绍您可能考虑利用云环境的一些不同方式,以及您如何根据您的业务和系统考虑此处讨论的一些因素的重要性。 #####UC Berkeley on Clouds 加州大学伯克利分校云上 Researchers at UC Berkeley have outlined their take on cloud computing in a paper “Above theClouds: A Berkeley View of Cloud Computing.”1 They cover the top 10 obstacles that compa-nies must overcome in order to utilize the cloud: 加州大学伯克利分校的研究人员在一篇论文“Above theClouds:伯克利云计算观点”中概述了他们对云计算的看法。他们涵盖了公司为了利用云而必须克服的 10 大障碍 1.Availability of service 1.服务的可用性 2.Data lock-in 2.数据锁定 3.Data confidentiality and audit ability 3.数据保密和审计能力 4.Data transfer bottlenecks 4.数据传输瓶颈 5.Performance unpredictability 5.性能不可预测性 6.Scalable storage 6.可扩展存储 7.Bugs in large distributed systems 7.大型分布式系统中的Bug 8.Scaling quickly 8.快速扩展 9.Reputation fate sharing 9.名誉命运共享 10.Software licensing 10.软件许可 Their article concludes by stating that they believe cloud providers will continue to improveand overcome these obstacles. They continue by stating that “. . . developers would be wise todesign their next generation of systems to be deployed into Cloud Computing.” 他们的文章最后指出,他们相信云提供商将继续改进并克服这些障碍。他们继续指出“。 。 。开发人员应该明智地设计下一代系统并将其部署到云计算中。” ####Where Clouds Fit in Different Companies 云在不同公司中的适用范围 The first item to cover is a few of the various implementations of clouds that we haveeither seen or recommended to our clients. Of course, you can host your application’sproduction environment on a cloud, but there are many other environments intoday’s software development organizations. There are also many ways to utilize dif-ferent environments together, such as combining a managed hosting environmentalong with a collocation facility. Obviously, hosting your production environment ina cloud offers you the scale on demand ability from a virtual hardware perspective.Of course, this does not ensure that your application’s architecture can make use ofthis virtual hardware scaling, that you must ensure ahead of time. There are otherways that clouds can help your organization scale that we will cover here. If yourengineering or quality assurance teams are waiting for environments, the entire prod-uct development cycle is slowed down, which means scalability initiatives such assplitting databases, removing synchronous calls, and so on get delayed and affectyour application’s ability to scale. 第一个要介绍的内容是我们见过或推荐给客户的一些不同的云实现。当然,您可以在云上托管应用程序的生产环境,但当今的软件开发组织还有许多其他环境。还有许多方法可以一起利用不同的环境,例如将托管环境与配置设施相结合。显然,从虚拟硬件的角度来看,在云中托管您的生产环境为您提供了按需扩展的能力。当然,这并不能确保您的应用程序的架构可以利用这种虚拟硬件扩展,您必须提前确保这一点。云还可以通过其他方式帮助您的组织扩展,我们将在此处介绍。如果您的工程或质量保证团队正在等待环境,那么整个产品开发周期就会减慢,这意味着可扩展性计划(例如拆分数据库、删除同步调用等)会被延迟,并影响应用程序的扩展能力。 #####Environments 环境 For your production environment, you can host everything in one type of infrastruc-ture, such as a managed hosting, collocation, your own data center, a cloud comput-ing environment, or any other. However, there are creative ways to utilize several ofthese together to take advantage of their benefits but minimize their drawbacks. Let’slook at an example of an ad serving application. The ad serving application consistsof a pool of Web servers to accept the ad request, a pool of application servers tochoose the right advertisement based on information conveyed in the originalrequest, an administrative tool that allows publishers and advertisers to administertheir accounts, and a database for persistent storage of information. The ad servers inour application do not need to access the database for each ad request. They make arequest to the database once every 15 minutes to receive the newest advertisements.In this situation, we could of course purchase a bunch of servers to rack in a colloca-tion space for each of the Web server pool, ad server pool, administrative server pool,and database servers. We could also just lease the use of these servers from a man-aged hosting provider and let them worry about the physical server. Alternatively, wecould host all of this in a cloud environment on virtual hosts. 对于您的生产环境,您可以在一种类型的基础设施中托管所有内容,例如托管、配置、您自己的数据中心、云计算环境或任何其他环境。然而,有一些创造性的方法可以将其中的几种结合起来,以发挥它们的优点,同时最大限度地减少它们的缺点。让我们看一个广告服务应用程序的示例。广告服务应用程序由一组用于接受广告请求的 Web 服务器、一组用于根据原始请求中传达的信息选择正确广告的应用程序服务器、一个允许发布商和广告商管理其帐户的管理工具以及一个用于持久性广告的数据库组成。信息的存储。我们的应用程序中的广告服务器不需要为每个广告请求访问数据库。他们每 15 分钟向数据库发出一次请求,以接收最新的广告。在这种情况下,我们当然可以购买一堆服务器,将其放置在每个 Web 服务器池、广告服务器池、管理服务器的并置空间中。服务器池和数据库服务器。我们还可以从托管提供商那里租用这些服务器,让他们担心物理服务器。或者,我们可以将所有这些托管在虚拟主机上的云环境中。 We think there is another alternative, as depicted in Figure 29.2.Perhaps we havethe capital to purchase the pools of servers and we have the skill set in our teammembers to handle setting up and running our own physical environment, so wedecide to rent space at a collocation facility and purchase our own servers. But, wealso like the speed and flexibility gained from a cloud environment. We decide thatsince the Web and app servers don’t talk to the database very often we are going tohost one pool of each in a collocation facility and another pool of each on a cloud.The database will stay at the collocation but snapshots will be sent to the cloud to beused as a disaster recovery. The Web and application servers in the cloud can beincreased as traffic demands to help us cover unforeseen spikes. 我们认为还有另一种选择,如图 29.2 所示。也许我们有资金购买服务器池,并且我们的团队成员具备处理设置和运行我们自己的物理环境的技能,因此我们决定在搭配设施并购买我们自己的服务器。但是,我们也喜欢从云环境中获得的速度和灵活性。我们决定,由于 Web 和应用程序服务器不经常与数据库通信,因此我们将在并置设施中托管每个池,并在云上托管每个池的另一个池。数据库将保留在并置中,但将发送快照到云中以用作灾难恢复。云中的 Web 和应用程序服务器可以根据流量需求而增加,以帮助我们应对不可预见的峰值。 ![](https://blog.baidu-google.com/usr/uploads/2024/06/4125646557.png) Another use of cloud computing is in all the other environments that are requiredfor a modern software development organizations. These environments include butare not limited to production, staging, quality assurance, load and performance,development, build, and repositories. Many of these should be considered for imple-menting in a cloud environment because of the possible reduced cost, as well as flexi-bility and speed of setting up when needed and tearing down when they are no longerneeded. Even enterprise class SaaS companies or Fortune 500 corporations who maynever consider hosting production instances of their applications on a cloud couldbenefit from utilizing the cloud for other environments. 云计算的另一个用途是现代软件开发组织所需的所有其他环境。这些环境包括但不限于生产、暂存、质量保证、负载和性能、开发、构建和存储库。其中许多应考虑在云环境中实施,因为可能会降低成本,以及在需要时设置和不再需要时拆除的灵活性和速度。即使是企业级 SaaS 公司或财富 500 强公司,他们可能永远不会考虑在云上托管其应用程序的生产实例,也可以从在其他环境中使用云中受益。 #####Skill Sets 技能 What are some of the other factors when considering whether to utilize a cloud, andif you do utilize the cloud, then for which environments? One consideration is theskill set and number of personnel that you have available to manage your operationsinfrastructure. If you do not have both networking and system administration skillsets among your operations staff, you need to consider this when determining if youcan implement and support a collocation environment. The most likely answer inDatabasethat case is that you cannot. Without the necessary skill set, moving to a more sophis-ticated environment will actually cause more problems than it will solve. The cloudhas similar issues; if someone isn’t responsible for deploying and shutting downinstances and this is left to each individual developer or engineer, it is very possiblethat the bill at the end of the month will be much more than you expected. Instancesthat are left running are wasting money unless someone has made a purposeful deci-sion that the instance is necessary. 在考虑是否使用云时还有哪些其他因素?如果确实使用云,那么适用于哪些环境?考虑因素之一是可用于管理运营基础设施的技能组合和人员数量。如果您的操作人员不具备网络和系统管理技能,则在确定是否可以实施和支持并置环境时需要考虑这一点。在数据库中这种情况最有可能的答案是你不能。如果没有必要的技能,迁移到更复杂的环境实际上会导致比解决的问题更多的问题。云也有类似的问题;如果有人不负责部署和关闭实例,而将其留给每个开发人员或工程师,那么月底的账单很可能会比您预期的要多得多。除非有人有目的地决定该实例是必要的,否则继续运行的实例是在浪费金钱。 Another type of skill set that may influence your decision is capacity planning.Whether your business has very unpredictable traffic or you do not have the neces-sary skill set on staff to accurately predict the traffic, this may heavily influence yourdecision to use a cloud. Certainly one of the key benefits of the cloud is the ability tohandle spiky demand by quickly deploying more virtual hosts. 另一种可能影响您决策的技能是容量规划。无论您的企业流量非常难以预测,还是您的员工不具备准确预测流量所需的技能,这都可能会严重影响您使用云的决定。当然,云的主要优势之一是能够通过快速部署更多虚拟主机来处理高峰需求。 All in all, we believe that cloud computing likely has a fit in almost any company.This fit might not be for hosting your production environment, but may be rather forhosting your testing environments. If your business’ growth is unpredictable, if speedis of utmost urgency, and cutting costs is imperative to survival, the cloud might be agreat solution. If you can’t afford to allocate headcount for operations managementor predict what kind of capacity you may need down the line, cloud computing couldbe what you need. How you put all this together to make the decision is the subjectof the next section in this chapter. 总而言之,我们相信云计算可能适合几乎所有公司。这种适合可能不适合托管您的生产环境,而可能适合托管您的测试环境。如果您的业务增长不可预测,如果速度至关重要,并且削减成本对于生存至关重要,那么云可能是一个很好的解决方案。如果您无力为运营管理分配人员或预测您可能需要什么样的容量,那么云计算可能就是您所需要的。如何将所有这些结合起来做出决定是本章下一节的主题。 ####Decision Process 决策过程 Now that we’ve looked at the pros and cons of cloud computing and we’ve discussedsome of the various ways in which cloud environments can be integrated into a com-pany’s infrastructure, the last step is to provide a process for making the final deci-sion. The overall process that we are recommending is to first determine the goals orpurpose of wanting to investigate cloud computing, then create alternative implemen-tations that achieve those goals. Weigh the pros and cons based on your particularsituation. Rank each alternative based on the pros and cons. Based on the final tallyof pros and cons, select an alternative. Let’s walk through an example. 现在我们已经了解了云计算的优点和缺点,并且讨论了将云环境集成到公司基础设施中的各种方法,最后一步是提供一个做出最终决策的流程。 - 西恩。我们建议的总体过程是首先确定想要研究云计算的目标或目的,然后创建实现这些目标的替代实现。根据您的具体情况权衡利弊。根据优缺点对每个替代方案进行排名。根据最终的利弊统计,选择一个替代方案。让我们来看一个例子。 Let’s say that our company AlwaysScale.com is evaluating integrating a cloudinfrastructure into its production environment. The first step is to determine whatgoals we hope to achieve by utilizing a cloud environment. For AlwaysScale.com, thegoals are lower operation cost of infrastructure, decrease the time to procure andprovision hardware, and maintain 99.99% availability for its application. Based onthese three goals, the team has decided on three alternatives. The first is to do noth-ing, remain in a collocation facility, and forget about all this cloud computing talk.The second alternative is to use the cloud for only surge capacity but remain in thecollocation facility for most of the application services. The third alternative is tomove completely onto the cloud and out of the collocation space. This has accom-plished steps one and two of the decision process. 假设我们的公司 AlwaysScale.com 正在评估将云基础设施集成到其生产环境中。第一步是确定我们希望通过利用云环境实现什么目标。对于 AlwaysScale.com 来说,目标是降低基础设施的运营成本,减少采购和供应硬件的时间,并保持其应用程序 99.99% 的可用性。基于这三个目标,团队决定了三种替代方案。第一种方法是什么也不做,保留在配置设施中,并忘记所有这些云计算讨论。第二种选择是仅使用云来增加容量,但保留在配置设施中来提供大多数应用程序服务。第三种选择是完全迁移到云端并脱离配置空间。这已经完成了决策过程的第一步和第二步。 Step three is to apply weights to all of the pros and cons that we can come up withfor our alternative environments. Here, we will use the five cons and three pros thatwe outlined earlier. We will use a 1, 3, or 9 scale to rank these in order that we highlydifferentiate the factors that we care about. The first con is security, which we caresomewhat about but we don’t store PII or credit card info so we weight it a 3.Wecontinue with portability and determine that we don’t really feel the need to be ableto move quickly between infrastructures so we weight it a 1.Next, is Control, whichwe really care about so we rank it a 9.Then, the limitations of such things as IPaddresses, load balancers, and certification of third-party software are weighted a 3.We care about the load balancers but don’t need our own IP space and use all opensource unsupported third-party software. Finally, the last of the cons is performance.Because our application is not very memory or disk intensive, we don’t feel that thisis too big of a deal for us, so we weight it a 1.For the pros, we really care about costso we weight it a 9.The same with speed: It is one of the primary goals, so we care alot about it. Last is flexibility, which we don’t expect to make much use of, so werank it a 1. 第三步是对我们可以为替代环境提出的所有优点和缺点进行权重。在这里,我们将使用我们之前概述的五个缺点和三个优点。我们将使用 1、3 或 9 等级对这些因素进行排名,以便我们高度区分我们关心的因素。第一个缺点是安全性,我们对此比较关心,但我们不存储 PII 或信用卡信息,因此我们将其权重为 3。我们继续考虑可移植性,并确定我们并不真正觉得需要能够在基础设施之间快速移动,因此我们将其加权为 1。接下来是控制,我们真正关心它,因此我们将其评为 9。然后,IP 地址、负载平衡器和第三方软件认证等限制的加权为 3。我们关心负载均衡器,但不需要我们自己的 IP 空间,并使用所有不受支持的开源第三方软件。最后,最后一个缺点是性能。因为我们的应用程序不是非常内存或磁盘密集型,所以我们不觉得这对我们来说太大了,所以我们将其权重为 1。对于优点,我们真的很关心关于成本,我们给它评分为 9。速度也是如此:这是主要目标之一,所以我们非常关心它。最后是灵活性,我们预计不会充分利用它,因此我们将其评为 1。 The fourth step is to rank each alternative on a scale from 0 to 5 of how well theydemonstrate each of the pros and cons. For example, with the “use the cloud for onlysurge capacity” alternative, the portability drawback should be ranked very lowbecause it is not likely that we need to exercise that option. Likewise, with the “movecompletely to the cloud” alternative, the limitations are more heavily influentialbecause there is no other environment, so it gets ranked a 5. 第四步是按照从 0 到 5 的等级对每个备选方案的优缺点进行排名。例如,对于“仅使用云来实现激增容量”的替代方案,可移植性缺点应该排在很低的位置,因为我们不太可能需要执行该选项。同样,对于“完全迁移到云”的替代方案,限制的影响更大,因为没有其他环境,因此它排名第 5。 The completed decision matrix can be seen in Table 29.1.After the alternatives areall scored against the pros and cons, the numbers can be multiplied and summed. Theweight of each pro is multiplied by the rank or score of each alternative; these prod-ucts are summed for each alternative. For example, alternative #2, Cloud for Surge,has been ranked a 2 for security, which is weighted a –3.All cons are weighted withnegative scores so the math is simpler. The product of the rank and the weight is –6,which is then summed with all the other products for alternative #2, equaling 9 for a ![](https://blog.baidu-google.com/usr/uploads/2024/06/3589837581.png) 完整的决策矩阵如表29.1所示。对所有备选方案的优缺点进行评分后,可以将数字相乘并相加。每个专业人士的权重乘以每个备选方案的排名或分数;这些乘积针对每个备选方案进行求和。例如,替代方案#2,Cloud for Surge,在安全性方面被评为 2,其权重为 –3。所有缺点均以负分加权,因此数学更简单。排名和权重的乘积为 –6,然后与备选方案 #2 的所有其他乘积相加,等于 9! ![](https://blog.baidu-google.com/usr/uploads/2024/06/2924041651.png) The final step is to compare the total scores for each alternative and apply a levelof common sense to it. Here, we have the alternatives with 0, 9, and –6 scores, whichwould clearly indicate that alternative #2 is the better choice for us. Before automati-cally assuming that this is our decision, we should verify that based on our commonsense and other factors that might not have been included, this is a sound decision. Ifsomething appears to be off or you want to add other factors such as operations skillsets, redo the matrix or have several people do the scoring independently to see howa group of different people score the matrix differently. 最后一步是比较每个选项的总分,并对其应用一定程度的常识。在这里,我们有 0、9 和 –6 分的替代方案,这清楚地表明替代方案 #2 对我们来说是更好的选择。在自动假设这是我们的决定之前,我们应该根据我们的常识和其他可能未包括在内的因素来验证这是一个合理的决定。如果出现问题或者您想添加其他因素(例如操作技能组),请重做矩阵或让几个人独立进行评分,以了解一组不同的人如何对矩阵进行不同的评分。 The decision process is meant to provide you with a formal method of evaluatingalternatives. Using these types of matrixes, it becomes easier to see what the data istelling you so that you make a well-informed and data based decision. For timeswhen a full decision matrix is not justified or you want to test an idea, consider usinga rule of thumb. One that we often employ is a high-level comparison of risk. In theWeb 2.0 and SaaS world, an outage has the potential to cost a lot of money. Consid-ering this, a potential rule of thumb would be: If the cost of just one outage exceedsthe benefits gained by whatever change you are considering, you’re better off notintroducing the change. 决策过程旨在为您提供评估替代方案的正式方法。使用这些类型的矩阵,您可以更轻松地了解数据告诉您的内容,以便您做出明智且基于数据的决策。当完整的决策矩阵不合理或者您想要测试一个想法时,请考虑使用经验法则。我们经常采用的一种方法是对风险进行高级比较。在 Web 2.0 和 SaaS 世界中,中断可能会造成大量损失。考虑到这一点,一个潜在的经验法则是:如果一次中断的成本超过了您正在考虑的任何更改所获得的收益,那么您最好不要引入该更改。 #####Decision Steps 决策步骤 The following are steps to help make a decision about whether to introduce cloud computinginto your infrastructure: 以下步骤可帮助您决定是否将云计算引入您的基础设施 1.Determine the goals or purpose of the change. 1.确定变革的目标或目的。 2.Create alternative designs for how to use cloud computing. 2.为如何使用云计算创建替代设计。 3.Place weights on all the pros and cons that you can come up with for cloud computing. 3.权衡您可以想到的云计算的所有优点和缺点。 4.Rank or score the alternatives using the pros and cons. 4.使用优缺点对备选方案进行排名或评分。 5.Tally scores for each alternative by multiplying the score by the weight and summing. 5.通过将分数乘以权重并求和来计算每个备选方案的分数。 This decision matrix process will help you make data driven decisions about which cloudcomputing alternative implementation is best for you. 此决策矩阵流程将帮助您做出数据驱动的决策,了解哪种云计算替代实施最适合您。 The most likely question with regard to introducing cloud computing into yourinfrastructure is not whether to do it but rather when and how is the right way to doit. Cloud computing is not going away and in fact is likely to be the preferred but notonly infrastructure model of the future. We all need to keep an eye on how cloudcomputing evolves over the coming months and years. This technology has the potentialto change the fundamental cost and organization structures of most SaaS companies. 关于将云计算引入基础设施,最可能的问题不是是否这样做,而是何时以及如何采取正确的方法。云计算不会消失,事实上它很可能成为未来的首选但不仅仅是基础设施模型。我们都需要密切关注云计算在未来几个月和几年内的发展情况。这项技术有可能改变大多数 SaaS 公司的基本成本和组织结构。 ####Conclusion 结论 In this chapter, we covered the benefits and drawbacks of cloud computing. We iden-tified five categories of cons to cloud computing including security, portability, con-trol, limitations, and performance. The security category is our concern over how ourdata is handled after it is in the cloud. The provider has no idea what type of data westore there and we have no idea who has access to that data. This discrepancybetween the two causes some concern. The portability addresses the fact that portingbetween clouds or clouds and physical hardware is not necessarily easy depending onyour application. The control issues come from integrating another third-party ven-dor into your infrastructure that has influence over not just one part of your system’savailability but has control over probably the entirety of your site’s availability. Thelimitations that we identified were inability to use your own IP space, having to usesoftware load balancers, and certification of third-party software on the cloud infra-structure. Last of the cons was performance, which we noted as being varied betweencloud vendors as well as physical hardware. The degree to which you care about anyof these cons should be dictated by your company and the applications that you areconsidering hosting on the cloud environment. 在本章中,我们讨论了云计算的优点和缺点。我们确定了云计算的五类缺点,包括安全性、可移植性、控制、限制和性能。安全类别是我们关心的数据在云中后如何处理的问题。提供商不知道我们在那里存储什么类型的数据,我们也不知道谁可以访问该数据。两者之间的这种差异引起了一些担忧。可移植性解决了云或云与物理硬件之间的移植不一定容易的事实,具体取决于您的应用程序。控制问题来自于将另一个第三方供应商集成到您的基础设施中,该供应商不仅影响系统可用性的一部分,而且可能控制整个站点的可用性。我们发现的限制是无法使用自己的 IP 空间、必须使用软件负载平衡器以及云基础设施上的第三方软件认证。最后一个缺点是性能,我们注意到云供应商和物理硬件之间的性能有所不同。您对这些缺点的关心程度应取决于您的公司以及您考虑在云环境中托管的应用程序。 We also identified three pros: cost, speed, and flexibility. The pay per usage modelis extremely attractive to companies and makes great sense. The speed is in referenceto the unequaled speed of procurement and provisioning that can be done in a virtualenvironment. The flexibility is in how you can utilize a set of virtual servers today asa quality assurance environment: shut them down at night and bring them back upthe next day as a load and performance testing environment. This is a very attractivefeature of the virtual host in cloud computing. 我们还确定了三个优点:成本、速度和灵活性。按使用量付费的模式对公司来说极具吸引力并且非常有意义。该速度是指在虚拟环境中可以完成的无与伦比的采购和配置速度。灵活性在于您今天如何利用一组虚拟服务器作为质量保证环境:晚上关闭它们并在第二天将它们重新启动作为负载和性能测试环境。这是云计算中虚拟主机非常吸引人的一个特点。 After covering the pros and cons, we discussed the various ways in which cloudcomputing could exist in different companies’ infrastructure. Some of these alterna-tives included not only as part or all of the production environment but also in otherenvironments such as quality assurance or development. As part of the productionenvironment, the cloud computing could be used for surge capacity or disaster recov-ery or of course to host all of production. There are many variations in the way thatcompanies can implement and utilize cloud computing in their infrastructure. Theseexamples are designed to show you how you can make use of the pros or benefits ofcloud computing to aid your scaling efforts, whether directly for your productionenvironment or more indirectly by aiding your product development cycle. Thiscould take the form of making use of the speed of provisioning virtual hardware orthe flexibility in using the environments differently each day. 在讨论了优缺点之后,我们讨论了云计算在不同公司的基础设施中存在的各种方式。其中一些替代方案不仅包括作为生产环境的一部分或全部,而且还包括在其他环境中,例如质量保证或开发。作为生产环境的一部分,云计算可用于激增容量或灾难恢复,当然也可以用于托管所有生产。公司在其基础设施中实施和利用云计算的方式有很多变化。这些示例旨在向您展示如何利用云计算的优点或好处来帮助您的扩展工作,无论是直接用于您的生产环境还是通过帮助您的产品开发周期来间接地进行扩展。这可以采取利用虚拟硬件配置速度或每天以不同方式使用环境的灵活性的形式。 Lastly we talked about how to make the decision of whether to use cloud comput-ing in your company. We provided a five-step process that included establishinggoals, describing alternatives, weighting pros and cons, scoring the alternatives, andtallying the scores and weightings to determine the highest scoring alternative. Thebottom line to all of this was that even if a cloud environment is not right for yourorganization today, you should continue looking at them because they will continueto improve; and it is very likely that it will be a good fit at some time. 最后我们讨论了如何在你的公司做出是否使用云计算的决定。我们提供了一个五步流程,包括建立目标、描述替代方案、权衡利弊、对替代方案进行评分,以及统计分数和权重以确定得分最高的替代方案。所有这一切的底线是,即使云环境目前不适合您的组织,您也应该继续关注它们,因为它们会不断改进;而且很可能在某个时候它会很合适。 #####Key Points 关键点 * Pros of cloud computing include cost, speed, and flexibility. * 云计算的优点包括成本、速度和灵活性。 * Cons of cloud computing include security, control, portability, inherent limita-tions of the virtual environment, and performance differences. * 云计算的缺点包括安全性、控制性、可移植性、虚拟环境的固有限制以及性能差异。 * There are many ways to utilize cloud environments. * 利用云环境的方法有很多。 * Clouds can be used in conjunction with other infrastructure models by usingthem for surge capacity or disaster recovery. * 云可以与其他基础设施模型结合使用,以实现激增容量或灾难恢复。 * You can use cloud computing for development, quality assurance, load and per-formance testing, or just about any other environment including production. * 您可以使用云计算进行开发、质量保证、负载和性能测试,或者包括生产在内的任何其他环境。 * There is a five-step process for helping to decide where and how to use cloudcomputing in your environment. * 有一个五步流程可帮助您决定在您的环境中何处以及如何使用云计算。 * All technologists should be aware of cloud computing; almost all organizationscan take advantage of cloud computing. * 所有技术人员都应该了解云计算;几乎所有组织都可以利用云计算。
已有 2 条评论
你的才华让人惊叹,请继续保持。 http://www.55baobei.com/FvDQdjokPp.html
你的才华让人瞩目,期待你的更多文章。 http://www.55baobei.com/sYWjC3gLkI.html