230 likes | 446 Vues
A View of Cloud Computing Michael Armbrust , Armando Fox, Rean Griffith, Anthony D. Joseph, Randy Katz, Andy Konwinski , Gunho Lee, Dav id Patterson, Ariel Rabkin , Ion Stoica , and Matei Zaharia COMMUNICATIONS OF THE ACM | APRIL 2010 | VOL.53 | NO. 4. Abstract Defining Cloud Computing
E N D
A View ofCloud ComputingMichael Armbrust, Armando Fox, Rean Griffith,Anthony D. Joseph, Randy Katz, Andy Konwinski,Gunho Lee, Dav id Patterson, Ariel Rabkin, Ion Stoica,and MateiZahariaCOMMUNICATIONS OF THE ACM | APRIL 2010 | VOL.53 | NO. 4
Abstract • Defining Cloud Computing • Classes of Utility Computing • Cloud Computing Economics • Top 10 Obstacles and Opportunities for Cloud Computing • Conclusion
Abstract • Cloud Computing : • The long-held dream of computing as a utility. • Making software even more attractive as a service. • Got results as quickly. • Goal in this article • Reduce that confusion by clarifying terms • Providing simple figures to quantify comparisons between of cloud and convertional computing • Identifying the top technical and non-technical obstacles and opportunities
Defining Cloud Computing • Cloud computing refers : • Applications delivered as Service over the Internet • Hardware and systems software in the data centers that provide those services. • SaaS ( Software as a Service ). • IaaS ( Infrastructure as a Service ). • Paas ( Platform as a Service ).
Defining Cloud Computing • The data center hardware and software is what we will call a Cloud. • A cloud is made available in a pay-as-you-go (Paying for What You Use) manner to the general public, we call it a public cloud. • The service being sold is utility computing. • Private cloud refer to internal data center of a business.
Classes of Utility Computing • Amazon EC2 • low-level • like physical hardware • User can control nearly the entire software stack • Difficult to offer automatic scalability and failover • Google AppEngine • Targeted exclusively at traditional Web Application • Clean separation between a stateless computation tier and a stateful storage tier. • automatic scaling • high-availability mechanism • Application for Microsoft’s Azure • .NET libraries + Common Language Runtime • Intermediate between application frameworks like AppEngine and hardware virtual machines like EC2
Cloud Computing Economics • Pay by the hour for computing resources • Demand is unknown in advance. • “Cost associativity” cloud computing • Using 1,000 EC2 machines for one hour costs the same as using one machine for 1,000 hours.
Number 1. Business Continuity and Service Availability Top 10 Obstacles and Opportunities for Cloud Computing
Number 2. Data Lock-In The Linkup shut down on Aug.8, 2008 after losing access as much as 45% of customer data. The quality of a service matters as well as the price. Standardization of APIs enables a new usage model in which the same software infrastructure can be used in an internal data center and in a public cloud. Top 10 Obstacles and Opportunities for Cloud Computing
Number 3. DataConfidentiality / Auditability Security is one of the most often-cited objections to cloud computing. Cloud users face security threats both from outside and inside the cloud. Responsibility Cloud user( application-level security) Cloud vendors( physical security, firewall …) Third-party vendors. Top 10 Obstacles and Opportunities for Cloud Computing
Number 4. Data Transfer Bottleneck Assume application may be “ pulled apart” across the boundaries of clouds, this may complicate data placement and transferred. Ship disks or even whole computers.(Jim Gray) Top 10 Obstacles and Opportunities for Cloud Computing
Number 5.Performance Unpredictability VMs can share CPUs and main memory surprisingly well in cloud computing, but that network and disk I/O sharing is more problematic. Top 10 Obstacles and Opportunities for Cloud Computing
Number 6. Scalable Storage Create a storage system that would not only meet existing programmer expectation. Durability High availability The ability to Manage and query data Combine with cloud advantages of scaling arbitrarily up and down on demand. Top 10 Obstacles and Opportunities for Cloud Computing
Number 7. Bugs in Large-Scale Distributed Systems Removing errors in these very large-scale distributed systems. One Opportunity may be the reliance on virtual machines in cloud computing. Top 10 Obstacles and Opportunities for Cloud Computing
Number 8. Scaling Quickly Pay-as-you-go certainly applies to storage and to network bandwidth, both of which count bytes used. Google AppEngine & AWS Automatically scale quickly up and down in response to load in order to save money. Conserve resources as well as money. UC Berkeley Reliable Adaptive Distributed Systems Laboratory. Top 10 Obstacles and Opportunities for Cloud Computing
Number 9. Reputation Fate Sharing One customer’s bad behavior can affect the reputation of others using the same cloud. Black-listing of EC2 IP address by spam-prevention service. Reputation-guarding services. Legal liability. Top 10 Obstacles and Opportunities for Cloud Computing
Number 10. Software Licensing • Licensing model for commercial software is not good match to utility computing. • Microsoft and Amazon now offer pay-as-you-go software licensing for Windows Server and Windows SQL Server on EC2. • Pay-as-you-go Top 10 Obstacles and Opportunities for Cloud Computing
Conclusion • Cloud computing will grow. • Focus on horizontal scalability of virtualized resources. • Application software needs to both scale down rapidly as well as scale up. (pay-for-use) • Infrastructure software running on VMs. • Hardware systems should be designed at the scale of a container.
補充資料 - EC2 • Amazon EC2 (Elastic Compute Cloud) 是一個讓使用者可以租用雲端電腦執行所需應用的系統。EC2藉由提供web服務的方式讓使用者可以彈性地執行自己的Amazon機器映像檔,使用者將可以在這個虛擬機器上執行任何自己想要的軟體或應用程式。 • 使用者可以隨時創建、執行、終止自己的虛擬伺服器,使用多少時間算多少錢,也因此這個系統是"彈性"使用的。EC2讓使用者可以控制執行虛擬伺服器 的主機地理位置,這可以讓延遲還有備援性最高。例如,為了讓系統維護時間最短,用戶可以在每個時區都執行自己的虛擬伺服器。Amazon.com以Amazon Web Services(AWS)的品牌提供EC2的服務。 資料來源:維基百科 http://zh.wikipedia.org/wiki/Amazon_EC2
補充資料 - AppEngine • 什麼是 Google 應用服務引擎? • 「Google 應用服務引擎」讓您在 Google 的基礎結構上執行您的網路應用程式。「應用服務引擎」應用程式的建置簡單、維護容易,而且可以因應流量和資料儲存量輕鬆擴充。使用「應用服務引擎」,就不 需要維護伺服器:您只要上傳應用程式,就可以馬上服務您的使用者。 • 您可以使用「Google 應用服務」,從自己的網域名稱 (例如 http://www.example.com/) 提供應用程式。或者,您可以使用 appspot.com 網域上的免費名稱,提供您的應用程式。您可以選擇和全世界分享您的應用程式,或僅限您的組織成員使用。 • 「Google 應用服務引擎」支援多種程式設計語言編寫的應用程式。透過「應用服務引擎」的 Java 執行階段環境,您可以使用標準 Java 技術 (包括 JVM、Java servlet 和 Java 程式設計語言) 或是其他使用 JVM 直譯器或編譯器的語言 (例如 JavaScript 和 Ruby),建置您的應用程式。「應用服務引擎」也提供 Python 專屬執行階段環境,其中包括快速的 Python 直譯器以及 Python 標準程式庫。Java 和 Python 執行階段環境的設計可確保應用程式能夠快速、安全地執行,而且不會受到系統上其他應用程式的干擾。 • 使用「應用服務引擎」時,您只需要支付實際使用的費用。沒有設定成本,也沒有循環費用。應用程式使用的資源 (例如儲存空間和頻寬) 均以 GB 為單位計算,並採用優勢費率計費。您將控制應用程式能夠使用的資源上限,因此可以將費用維持在您的預算內。 • 開始使用「應用服務引擎」不需支付任何費用。所有應用程式可以使用高達 500MB 的儲存空間,以及足夠支援每月 5 百萬次網頁瀏覽數的 CPU 和頻寬,而且完全免費。啟用應用程式的計費功能時,我們將提高您的免費額度,而您只需要為超過免費等級的資源使用量支付費用。 資料來源: http://code.google.com/intl/zh-TW/appengine/docs/whatisgoogleappengine.html