Computational Thinking - Учебное пособие (1176923), страница 15
Текст из файла (страница 15)
It is the delivery of computing as aservice rather than a product, whereby shared resources,software, and information are provided to computers andother devices as a utility over the Internet.In common usage, the term “cloud” is a metaphor. Theorigin of the term is unclear. The expression “cloud” is usedin science to describe a large agglomeration of objects thatvisually appear from a distance as a cloud.
It also describesany set of things whose details are not inspected further in agiven context. More commonly the phrase refers to networkbased services provided by real server hardware. It’s a modelfor enabling on-demand network access to a shared pool ofconfigurable computing resources (e.g. networks, servers,storage, and applications) that can be rapidly provisioned andreleased.
Typically, the seller has actual energy-consumingservers which host products and services from a remotelocation, so end-users can simply log on to the networkwithout installing anything of their own.Although “cloud computing” is the current buzz phrase, theconcept has been around for half a century. The underlyingconcept of cloud computing dates back to the 1950s, whenlarge-scale mainframe computers became available inacademia and corporations, accessible via clients/ terminalcomputers. In 1961, the late John McCarthy, an artificialintelligence pioneer, proposed a different term for what isessentially the same thing: ”utility computing”. He said:“Computing may someday be organized as a public utility,just as the telephone system is a public utility”.But at that time, and for several decades afterwards, computerhardware and software weren’t up to the task.
Only in thepast few years, with the advent of high-bandwidth networking,Web-based applications, and powerful and cheap servertechnology, has McCarthy’s vision finally been realized. Tomake more efficient use of costly mainframes, a practice84evolved that allowed users to share both the physical access tothe computer from multiple terminals as well as to share theCPU time.CharacteristicsCloud computing exhibits the following key characteristics:• The systems architecture involved in the delivery ofcloud computing, typically includes multiple cloudcomponents communicating with each other over aloose coupling mechanism such as a messaging queue.• Agility improves with the users’ ability to reprovisiontechnological infrastructure resources.• Application programming interface (API) accessibilityto software that enables machines to interact withcloud software in the same way the user interfacefacilitates interaction between humans and computer.• Device and location independence enable users toaccess systems using a Web browser regardless of theirlocation or what they are using (e.g.
PC, mobilephone). As infrastructure is off-site (typically providedby a third-party) and accessed via the Internet - theusers can connect from anywhere.• Cost is claimed to be reduced and in a public clouddelivery model capital expenditure is converted tooperational expenditure.• Multi-tenancy enables sharing of resources and costsacross a large pool of users.• Scalability and Elasticity via dynamic provisioning ofresources on a fine-grained, self-service basis nearreal-time.• Performance is monitored, and consistent and looselycoupled architectures are constructed using Webservices as the system interface.The main enabling technology for cloud computing isvirtualization.
Virtualization lets a single PC or serversimultaneously run multiple operating systems or multiplesessions of a single OS. Virtualization generalizes the physical85infrastructure, which is the most rigid component, and makesit available as a soft component that is easy to use andmanage. By doing so, virtualization provides the agilityrequired to speed up IT operations, and reduces cost byincreasing infrastructure utilization. On the other hand,autonomic computing automates the process through whichthe user can make use of provision resources on-demand.
Byminimizing user involvement, automation speeds up theprocess and reduces the possibility of human errors.The major models of cloud computing services are known asSoftware as a Service, Platform as a Service, andInfrastructure as a Service. These cloud services may beoffered in a Public, Private or Hybrid network.Cloud Computing ApplicationsThe applications of cloud computing are practically limitless.With the right middleware, a cloud computing system canexecute all the programs which a normal computer can run.Potentially, everything from generic word processing softwareto customized computer programs designed for a specificcompany can work on a cloud computing system.Why would anyone want to rely on another computer systemto run programs and store data? Here are just a few reasons:• Clients would be able to access their applications anddata from anywhere at any time.
They could access thecloud computing system using any computer linked tothe Internet. Data wouldn't be confined to a hard driveon one user's computer or even a corporation's internalnetwork.• It could bring hardware costs down. Working via largeplatforms owned by providers and shared by numeroususers makes cloud computing less expensive, accordingto proponents. Cloud computing systems would reducethe need for advanced hardware on the client side. Theclient wouldn't need to buy the fastest computer withthe most memory, because the cloud system wouldtake care of those needs for him.• The terminal could include a monitor, input devices86••••like a keyboard and a mouse and just enoughprocessing power to run the middleware necessary toconnect to the cloud system.
A user wouldn't need alarge hard drive because he'd store all information on aremote computer.Corporations that rely on computers have to be surethey have the right software in place to achieve goals.Cloud computing systems give these organizationswide access to computer applications. The companiesdon't have to buy a set of software or software licensesfor every employee. Instead, the company could pay ametered fee to a cloud computing company.Servers and digital storage devices take up space.
Somecompanies rent physical space to store servers anddatabases because they don't have it available on site.Cloud computing gives these companies the option ofstoring data on someone else's hardware, removing theneed for physical space on the front end.If the cloud computing system's back end is a gridcomputing system, then the client could takeadvantage of the entire network's processing power.Often, scientists and researchers work with calculationsso complex that it might take “years” for individualcomputers to complete them.
On a grid computingsystem, the client could send the calculation to thecloud for processing. The cloud system would tap intothe processing power of all available computers on theback end, significantly speeding up the calculation.Cloud engineering is the application of engineeringdisciplines to cloud computing.It brings a systematicapproachtothehighlevelconcernsofcommercialization, standardization, and governance inconceiving, developing, operating and maintainingcloud computing systems. It is a multidisciplinarymethod encompassing contributions from diverse areassuch as systems, software, Web, performance,information, security, platform, risk, and quality87engineering.Google, IBM, Microsoft, Oracle, Apple and Rack spacecorporations are among the most well- known cloud vendors.They offer varying application programming interfaces andabilities generally using SOAP, the Web Services DescriptionLanguage (WSDL), and other nonproprietary Web serviceprotocols.Deployment modelsPublic cloud describes cloud computing in the traditionalmainstream sense, whereby resources are dynamicallyprovisioned to the general public on a fine-grained, selfservice basis over the Internet, via Web applications/Webservices.Community cloud shares infrastructure between severalorganizations from a specific community with commonconcerns (security, compliance, jurisdiction, etc.), whethermanaged internally or by a third party and hosted internallyor externally.Hybrid cloud is a composition of two or more clouds thatremain unique entities but are bound together.Private cloud is an infrastructure operated solely for a singleorganization whether managed internally or by a third-partyand hosted internally or externally.As cloud computing is achieving increased popularity, moreand more companies are starting to recognize and realize thebenefits and advantages of cloud computing.
That’s why,according to analysts at the technology-research firm Gartner,next year 20 percent of all businesses will no longer own theirown servers. That percentage is likely to grow in the comingyears. While the benefits of cloud computing seemconvincing, there are still potential problems and concerns.First, as with any emerging approach, there are some fearsand uncertainties about the technology’s maturity.
Thetransformation of the IT landscape brings with it some newproblems stemming from the very nature of outsourcing andfrom sharing resources with others. These problems includeservice disruptions and the inability of cloud providers to88accommodate customized networks.Second, the major concern of many users is cloud computingdata security. In many ways, cloud computing is just anotherform of outsourcing.
Traditional outsourcing arrangements contract manufacturing come with legal, organizational, andtechnical controls. Cloud computing hasn’t yet developedsuch protections. By moving its data and computation to thecloud, a company runs the risk that the cloud-serviceprovider, another customer, or a hacker might inappropriatelygain access to sensitive or proprietary information. Customersjust have to trust the cloud-service provider to safeguard theirdata. But unexpected things can and do happen, even whenyou’re dealing with well-established and presumably well-runcompanies. Data stored in the cloud might be used anywherein the world and thus might be subject to state or nationaldata-storage laws related to privacy or record keeping.So it’s no wonder that many IT managers remain jittery.
Ifbusinesses are going to reap the full benefits of cloudcomputing, cloud providers will need to do much more toaddress security concerns.Data-storage clouds are also vulnerable. One class of attacksexploits a space-saving technique known as datadeduplication. Many files that people upload to the cloud endup being duplicates – identical copies of software usermanuals, say, or MP3s of Lady Gaga’s “Telephone”.Deduplication allows a data-storage cloud to keep only onecopy of each file. Any time a customer attempts to upload afile, the contents of the file are first compared with otherstored files. The new file is uploaded only if it doesn’t alreadyexist in the cloud; otherwise the customer’s account is linkedto the stored file.Is there a thing as a totally secure cloud? No.
Even thoughthe encryption and security power increases at an exponentialrate, the threat of hackers still looms in many companies’minds.Cloud computing is relatively new, particularly for largecompanies, it promises to change and develop quickly.89Experts say that within four-five years, security systems forcloud computing will be perfected and become stronger.Solutions to various cloud security issues vary through usingof multiple cloud providers, standardization of APIs, publickey infrastructure (PKI), virtual machine and legal support.Many universities, vendors and government organizations areinvesting in research around the topic of cloud computing:In April 2009, the St Andrews Cloud Computing Colaboratory was launched, focusing on research in theimportant new area of cloud computing.