4 Cloud Computing: Applications and Paradigms
The efforts to support large-scale distributed computing encountered major difficulties over the years. The users of these systems discovered how difficult it was to locate the systems able to run an application. They soon realized that it is equally difficult to scale up and down to accommodate a dynamic load, to recover after a system failure, and to efficiently support checkpoint/restarting procedures.
At the same time, the providers of computing cycles and storage realized the difficulties in managing a large number of systems and to provide guarantees for the quality of service. Any economic advantage offered of resource concentration was offset by the cost of the management and the relatively low utilization of costly resources.
Cloud computing is very attractive to the users for several economic reasons: a very low infrastructure investment, as there is no need to assemble and maintain a large-scale system; low utility-based computing costs, as the customers are only billed for the infrastructure used. At the same time, the users benefit from the potential to reduce the execution time of compute-intensive and data-intensive applications through parallelization. If an application can partition the workload in n segments and spawn n instances of itself, then the execution time could be reduced by a factor close to n.
Moreover, the application developers enjoy the advantages of a just-in-time infrastructure, they are free to design an application without being concerned with the system where the application will run. Oftentimes, an application becomes the victim of its own success, it attracts a user population larger than the system can support. Cloud elasticity allows such an application to absorb the additional workload without any effort from application developers. Cloud computing is also beneficial for the providers of computing cycles as it typically leads to a more efficient resource utilization. The future success of cloud computing rests on the ability of companies promoting utility computing to convince an increasingly larger segment of user population of the advantages of network-centric computing and network-centric content. This translates into the ability to provide satisfactory solutions to critical aspects of security, scalability, reliability, quality of service, and to the requirements enforced by Service Level Agreements (SLA).
The main appeal of cloud computing is its focus on enterprise computing. This clearly differentiates it from the grid computing effort which was largely focused on scientific and engineering applications. Of course, the other major advantage of the cloud computing approach over the grid computing is the concentration of resources in large data centers in a single administrative domain.
It is expected that utility computing providers such as Amazon, Apple, Google, HP, IBM, Microsoft, Oracle, and others will develop in the future application suites to attract customers. Microsoft seems well positioned in the effort to attract customers to its Azure platform as it already has many applications for enterprise customers, while Red Hat and Amazon may choose to stay with their “infrastructure only” approach [27].
The main attraction of cloud computing is the ability to use as many servers as necessary to optimally respond to the cost and the timing constraints of an application; this is only possible if the workload can be partitioned in segments of arbitrary size and can be processed in parallel by the servers available in the cloud. In Section 4.6 we discuss arbitrarily divisible workloads which can be partitioned into an arbitrarily large number of segments; the arbitrarily divisible load sharing model is common to many applications and these are precisely the applications suitable for cloud computing.
Web services, database services, and transaction-based services are ideal applications for cloud computing. The resource requirements of transaction-oriented services are dependent on the current load, which itself is very dynamic; the cost/performance profile of such applications benefits from an elastic environment where resources are available when needed and where one pays only for the resources it consumes.
Not all applications are suitable for cloud computing; applications where the workload cannot be arbitrarily partitioned, or require intensive communication among concurrent instances are unlikely to perform well on a cloud. An application with a complex workflow and multiple dependencies, as is often the case in high-performance computing, could require longer execution times and higher costs on a cloud. The benchmarks for high-performance computing discussed in Section 4.10 show that communication and memory intensive applications may not exhibit the performance levels shown when running on supercomputers with low latency and high bandwidth interconnects.
4.1 Challenges for cloud computing
The development of efficient cloud applications inherits the challenges posed by the natural imbalance between computing, I/O, and communication bandwidths of physical systems; these challenges are greatly amplified due to the scale of the system, its distributed nature, and by the fact that virtually all applications are data-intensive. Though cloud computing infrastructures attempt to automatically distribute and balance the load, the application developer is still left with the responsibility to place the data close to the processing site and to identify optimal storage for the data.
One of the main advantages of cloud computing, the shared infrastructure, could also have a negative impact. Performance isolation 33 is nearly impossible to reach in a real system, especially when the system is heavily loaded. The performance of virtual machines fluctuates based on the load, the infrastructure services, the environment including the other users. Security isolation is also challenging on multi-tenant systems.
Reliability is also a major concern; node failures are to be expected whenever a large number of nodes cooperate for the computations. Choosing an optimal instance (in terms of performance isolation, reliability, and security) from those offered by the cloud infrastructure is another critical factor to be considered. Of course, cost considerations also play a role in the choice of the instance type.
Many applications consist of multiple stages; in turn, each stage may involve multiple instances running in parallel on the systems of the cloud and communicating among them. Thus, efficiency, consistency, and communication scalability are major concerns for an application developer. Indeed, due to shared networks and unknown topology, cloud infrastructures exhibit inter-node latency and bandwidth fluctuations which affect the application performance.
Data storage plays a critical role in the performance of any data-intensive application; the organization of the storage, the storage location, as well as, the storage bandwidth must be carefully analyzed to lead to optimal application performance. Clouds support many storage options to set up a file system similar to the Hadoop file system discussed in Section 4.7; among them are off-instance cloud storage (e.g. S3), mountable off-instance block storage (e.g., EBS), as well as, storage persistent for the lifetime of the instance. Many data-intensive applications use metadata associated with individual data records; for example, the metadata for a MPEG audio file may include the name of the song, the singer, recording information and so on. Metadata should be stored for easy access, the storage should be scalable, and reliable.
Another important consideration for the application developer is logging. Performance considerations limit the amount of data logging, while the ability to identify the source of unexpected results and errors is helped by frequent logging. Logging is typically done using instance storage preserved only for the lifetime of the instance thus, measures to preserve the logs for a post-mortem analysis must be taken. Another challenge waiting resolution is related to software licensing discussed in Section 3.10.
4.2 Existing cloud applications and new application opportunities
Existing cloud applications can be divided in several broad categories: (i) processing pipelines; (ii) batch processing systems; and (iii) web applications [358].
Processing pipelines are data-intensive and sometimes compute-intensive applications and represent a fairly large segment of applications currently running on a cloud. Several types of data processing applications can be identified:
• Indexing; the processing pipeline supports indexing of large datasets created by web crawler engines.
• Data mining; the processing pipeline supports searching very large collections of records to locate items of interests.
• Image processing; a number of companies allow users to store their images on the cloud, e.g., flicker (flickr.com) and Google (http://picasa.google.com/). The image processing pipelines support image conversion, e.g., enlarge an image or create thumbnails; they can also be used to compress or encrypt images.
• Video transcoding; the processing pipeline transcodes from one video format to another, e.g., from AVI to MPEG.
• Document processing; the processing pipeline converts very large collection of documents from one format to another, e.g., from Word to PDF or encrypt the documents; they could also use OCR (Optical Character Recognition) to produce digital images of documents.
Batch processing systems also cover a broad spectrum of data-intensive applications in enterprise computing. Such applications typically have deadlines and the failure to meet these deadlines could have serious economic consequences; security is also a critical aspect for many applications of batch processing. A non-exhaustive list of batch processing applications includes:
• Generation of daily, week
4 điện toán đám mây: ứng dụng và ParadigmsEfforts để hỗ trợ tính toán phân tán quy mô lớn gặp phải lớn difficulties trong những năm qua. Sử dụng các hệ thống phát hiện ra như thế nào difficult nó là để xác định vị trí các hệ thống có thể chạy một ứng dụng. Họ nhanh chóng nhận ra rằng nó là bằng nhau difficult quy mô lên và xuống để phù hợp với một tải trọng năng động, phục hồi sau khi một lỗi hệ thống, và thủ tục điểm kiểm tra/khởi động lại efficiently hỗ trợ.Cùng lúc đó, các nhà cung cấp của máy tính chu kỳ và lưu trữ nhận ra difficulties trong việc quản lý một số lớn của hệ thống và để cung cấp bảo lãnh cho chất lượng dịch vụ. Bất kỳ offered lợi thế kinh tế tài nguyên tập trung là offset bởi chi phí của việc quản lý và sử dụng tương đối thấp của nguồn tài nguyên tốn kém.Đám mây điện toán là rất hấp dẫn đối với những người sử dụng cho một số lý do kinh tế: một đầu tư cơ sở hạ tầng rất thấp, như đó là không cần để lắp ráp và duy trì một hệ thống quy mô lớn; là khách hàng dựa trên Tiện ích tính toán chi phí thấp, được chỉ được quảng cáo cho cơ sở hạ tầng được sử dụng. Đồng thời, người dùng chứa từ tiềm năng để giảm thời gian thực hiện của tính chuyên sâu và dữ liệu chuyên sâu ứng dụng thông qua parallelization. Nếu một ứng dụng có thể phân vùng khối lượng công việc trong các phân đoạn n và đẻ trứng n trường hợp của chính nó, sau đó thời gian thực hiện có thể được giảm bởi một nhân tố gần n.Hơn nữa, các nhà phát triển ứng dụng tận hưởng những lợi thế của một cơ sở hạ tầng chỉ trong thời gian, họ được tự do để thiết kế một ứng dụng mà không cần được quan tâm với hệ thống nơi mà các ứng dụng sẽ chạy. Thông thường, một ứng dụng sẽ trở thành nạn nhân của sự thành công của riêng của nó, nó thu hút dân người dùng lớn hơn hệ thống có thể hỗ trợ. Đám mây tính đàn hồi cho phép một ứng dụng để hấp thụ khối lượng công việc bổ sung mà không có bất kỳ effort từ nhà phát triển ứng dụng. Đám mây điện toán cũng là beneficial cho nhà cung cấp máy tính chu kỳ vì nó thường dẫn đến một efficient thêm tài nguyên sử dụng. Sự thành công trong tương lai của đám mây điện toán dựa vào khả năng của công ty thúc đẩy phát triển Tiện ích máy tính để thuyết phục một phân khúc ngày càng lớn hơn dân số người dùng trong những lợi thế của điện toán mạng Trung tâm và Trung tâm mạng nội dung. Điều này vào khả năng cung cấp giải pháp thỏa đáng để các khía cạnh quan trọng của bảo mật, khả năng mở rộng, độ tin cậy, chất lượng dịch vụ, và các yêu cầu thi hành bởi thỏa thuận cấp độ dịch vụ (SLA).Sự hấp dẫn chính của đám mây điện toán là tập trung vào doanh nghiệp máy tính. Này rõ ràng differentiates nó từ lưới điện toán effort đó tập trung chủ yếu vào scientific và kỹ thuật ứng dụng. Tất nhiên, lợi thế lớn của điện toán cách tiếp cận trên lưới điện toán đám mây là nồng độ của các nguồn lực trong Trung tâm dữ liệu lớn thuộc phạm vi hành chính duy nhất.Chúng tôi hy vọng rằng nhà cung cấp máy tính tiện ích như Amazon, Apple, Google, HP, IBM, Microsoft, Oracle, và những người khác sẽ phát triển trong tương lai ứng dụng suites để thu hút khách hàng. Microsoft có vẻ tốt vị trí trong effort để thu hút khách hàng nền tảng Azure của nó như nó đã có nhiều ứng dụng cho khách hàng doanh nghiệp, trong khi Red Hat và Amazon có thể chọn để ở lại với của cách tiếp cận "chỉ cơ sở hạ tầng" [27].Điểm thu hút chính của đám mây điện toán là khả năng sử dụng nhiều máy chủ là cần thiết để tối ưu đáp ứng với chi phí và những hạn chế thời gian của ứng dụng; đây là chỉ có thể nếu khối lượng công việc có thể được phân chia trong các phân đoạn của bất kỳ kích thước và có thể được xử lý song song bởi các máy chủ có sẵn trong đám mây. Trong phần 4.6, chúng tôi thảo luận về tự ý chia hết cho khối lượng công việc mà có thể được phân chia thành một số tùy tiện lớn các phân đoạn; tải tự ý chia hết cho chia sẻ mô hình là phổ biến đến nhiều ứng dụng và đây là chính xác các ứng dụng phù hợp với điện toán đám mây.Dịch vụ web, cơ sở dữ liệu dịch vụ và dịch vụ dựa trên giao dịch là các ứng dụng lý tưởng cho đám mây điện toán. Yêu cầu tài nguyên của dịch vụ theo định hướng giao dịch được phụ thuộc vào tải hiện tại, mà tự nó là rất năng động; profile chi phí/hiệu suất của các ứng dụng lợi từ môi trường đàn hồi nơi nguồn lực có sẵn khi cần thiết và nơi mà một trong những trả tiền chỉ để các nguồn lực nó tiêu thụ.Không phải tất cả các ứng dụng rất thích hợp cho đám mây điện toán; ứng dụng nơi khối lượng công việc không thể được tự ý phân vùng, hoặc yêu cầu khẩn trương liên lạc giữa các trường hợp đồng thời có khả năng hoạt động tốt trên một đám mây. Một ứng dụng với một workflow phức tạp và nhiều phụ thuộc, như thường là trường hợp trong tính toán hiệu năng cao, có thể đòi hỏi nhiều thời gian thực hiện thời gian và các chi phí cao hơn trên một đám mây. Điểm chuẩn cho hiệu suất cao máy tính thảo luận trong phần 4.10 Hiển thị giao tiếp đó và bộ nhớ ứng dụng chuyên sâu có thể không thể hiện mức độ hiệu suất Hiển thị khi chạy trên siêu máy tính với độ trễ thấp và băng thông cao liên kết nối.4.1 thách thức đối với điện toán đám mâySự phát triển của các ứng dụng đám mây efficient thừa hưởng những thách thức đặt ra bởi sự mất cân bằng tự nhiên giữa máy tính, I/O, và truyền thông băng thông của hệ thống vật lý; những thách thức này là rất nhiều amplified do quy mô của hệ thống, phân phối bản chất của nó, và bởi một thực tế rằng hầu như tất cả các ứng dụng dữ liệu chuyên sâu. Mặc dù đám mây máy tính cơ sở hạ tầng cố gắng tự động phân phối và cân bằng tải, các nhà phát triển ứng dụng vẫn còn lại với trách nhiệm để đặt các dữ liệu gần gũi với các trang web xử lý và xác định các lưu trữ tối ưu cho dữ liệu.Một trong những lợi thế chính của đám mây điện toán, cơ sở hạ tầng dùng chung, cũng có thể có một tác động tiêu cực. Hiệu suất cô lập 33 là gần như không thể tiếp cận trong một hệ thống thực tế, đặc biệt là khi hệ thống được rất nhiều tải. Hiệu suất của máy ảo fluctuates dựa trên tải, cơ sở hạ tầng dịch vụ, môi trường, bao gồm cả những người dùng khác. Cô lập an ninh cũng là khó khăn trên hệ thống đa người thuê nhà.Độ tin cậy cũng là mối quan tâm lớn; nút thất bại là được mong đợi bất cứ khi nào một số lớn các nút hợp tác cho các tính toán. Chọn một trường hợp tối ưu (trong điều khoản của sự cô lập hiệu suất, độ tin cậy và bảo mật) từ offered bởi cơ sở hạ tầng đám mây là một yếu tố quan trọng để được xem xét. Tất nhiên, xem xét chi phí cũng đóng một vai trò trong sự lựa chọn loại trường hợp.Nhiều ứng dụng bao gồm nhiều giai đoạn; lần lượt, mỗi giai đoạn có thể bao gồm nhiều trường hợp chạy song song trên hệ thống của các đám mây và giao tiếp trong số đó. Vì vậy, efficiency, nhất quán, và khả năng mở rộng giao tiếp là mối quan tâm lớn cho một nhà phát triển ứng dụng. Thật vậy, do chia sẻ mạng và cấu trúc liên kết không rõ, cơ sở hạ tầng đám mây triển lãm liên nút độ trễ và băng thông fluctuations mà affect hiệu suất ứng dụng.Lưu trữ dữ liệu đóng một vai trò quan trọng trong việc thực hiện bất kỳ ứng dụng dữ liệu chuyên sâu; tổ chức lưu trữ, vị trí lưu trữ cũng như băng thông lưu trữ phải được cẩn thận phân tích dẫn đến hiệu suất ứng dụng tối ưu. Đám mây hỗ trợ nhiều tùy chọn lưu trữ để thiết lập một hệ thống gỡ tương tự như hệ thống gỡ Hadoop thảo luận trong phần 4.7; trong số đó là off-trường hợp đám mây lí (ví dụ như S3), ví dụ off mountable khối storage (ví dụ như, EBS), cũng như lưu trữ liên tục cho cả thời gian của trường hợp. Nhiều dữ liệu chuyên sâu ứng dụng sử dụng các siêu dữ liệu liên quan đến hồ sơ cá nhân dữ liệu; Ví dụ, các siêu dữ liệu cho một gỡ MPEG âm thanh có thể bao gồm tên của bài hát, ca sĩ, ghi lại thông tin và vân vân. Siêu dữ liệu nên được lưu trữ để dễ dàng truy cập, lưu trữ nên khả năng mở rộng, và đáng tin cậy.Một yếu tố quan trọng cho các nhà phát triển ứng dụng đang đăng nhập. Xem xét hiệu suất giới hạn số lượng dữ liệu khai thác gỗ, trong khi khả năng để xác định nguồn gốc của kết quả bất ngờ và lỗi được giúp đỡ bằng cách đăng nhập thường xuyên. Khai thác gỗ thường được thực hiện bằng cách sử dụng trường hợp lí bảo tồn chỉ cho cả thời gian của trường hợp như vậy, các biện pháp để bảo tồn các bản ghi cho một phân tích post-mortem phải được thực hiện. Một thách thức đang chờ giải quyết có liên quan đến phần mềm cấp giấy phép thảo luận trong phần 3.10.4.2 các ứng dụng đám mây và cơ hội ứng dụng mới hiện có Hiện các ứng dụng đám mây có thể được chia thành một số loại rộng: (i) xử lý đường ống; (ii) batch chế biến hệ thống; và ứng dụng web (iii) [358].Đường ống dẫn xử lý dữ liệu chuyên sâu và đôi khi tính chuyên sâu ứng dụng và đại diện cho một phân đoạn khá lớn của các ứng dụng hiện đang chạy trên một đám mây. Một số loại ứng dụng xử lý dữ liệu có thể là identified:• Lập chỉ mục; đường ống xử lý hỗ trợ lập chỉ mục lớn datasets tạo bởi web crawler động cơ.• Khai thác dữ liệu; đường ống xử lý hỗ trợ tìm kiếm các bộ sưu tập rất lớn của các hồ sơ để xác định vị trí các mặt hàng của lợi ích.• Xử lý hình ảnh; một số công ty cho phép người dùng để lưu trữ hình ảnh của họ trên các đám mây, ví dụ như, Zips (flickr.com) và Google (http://picasa.google.com/). Việc xử lý hình ảnh đường ống hỗ trợ chuyển đổi hình ảnh, ví dụ, phóng to một hình ảnh hoặc tạo hình thu nhỏ; họ cũng có thể được sử dụng để nén hoặc mật mã hóa các hình ảnh.• Video transcoding; việc xử lý đường ống transcodes từ một định dạng video khác, ví dụ, từ AVI sang MPEG.• Tài liệu chế biến; việc xử lý đường ống chuyển đổi bộ sưu tập rất lớn của tài liệu từ một định dạng khác, ví dụ, từ từ để PDF hoặc mã hóa các tài liệu; họ cũng có thể sử dụng OCR (nhận dạng ký tự quang học) để sản xuất các hình ảnh kỹ thuật số của tài liệu.Hệ thống xử lý hàng loạt cũng bao gồm một phổ rộng của dữ liệu chuyên sâu ứng dụng trong doanh nghiệp máy tính. Các ứng dụng như vậy thường có thời hạn và sự thất bại để đáp ứng những thời hạn có thể có hậu quả nghiêm trọng kinh tế; an ninh là một khía cạnh quan trọng cho nhiều ứng dụng trong xử lý hàng loạt. Một danh sách không đầy đủ của ứng dụng xử lý hàng loạt bao gồm: • Thế hệ hàng ngày, tuần
đang được dịch, vui lòng đợi..

4 Cloud Computing: Ứng dụng và Paradigms
Các e ff những nỗ lực để hỗ trợ quy mô lớn phân phối máy tính gặp phải chính những khó di ffi trong những năm qua. Những người sử dụng các hệ thống này phát hiện ra cách di ffi sùng bái nó là để xác định vị trí các hệ thống có thể chạy một ứng dụng. Họ nhanh chóng nhận ra rằng đó là bằng nhau di ffi khăn để mở rộng quy mô lên xuống để chứa một lượng năng động, phục hồi sau khi một lỗi hệ thống, và e hỗ trợ ciently ffi checkpoint / khởi động lại thủ tục.
Đồng thời, các nhà cung cấp của chu kỳ máy tính và lưu trữ nhận ra những khó di ffi trong việc quản lý một số lượng lớn các hệ thống và cung cấp sự đảm bảo cho chất lượng của dịch vụ. Bất kỳ lợi thế kinh tế o ff đến khía cạnh tập trung nguồn lực là o ff do chi phí quản lý và sử dụng tương đối thấp của nguồn lực tốn kém.
Điện toán đám mây là rất hấp dẫn đối với những người sử dụng vì nhiều lý do kinh tế: đầu tư cơ sở hạ tầng rất thấp, như không có nhu cầu để lắp ráp và duy trì một hệ thống quy mô lớn; thấp tiện ích dựa trên chi phí tính toán, như khách hàng chỉ được lập hoá đơn cho cơ sở hạ tầng được sử dụng. Đồng thời, người dùng bene fi t từ các khả năng làm giảm thời gian thực hiện của các ứng dụng tính toán chuyên sâu và dữ liệu chuyên sâu thông qua song song. Nếu một ứng dụng có thể phân vùng các khối lượng công việc trong các phân đoạn n và đẻ trứng n trường hợp của bản thân, sau đó thời gian thực hiện có thể được giảm một yếu tố gần n.
Hơn nữa, các nhà phát triển ứng dụng tận hưởng những lợi thế của một cơ sở hạ tầng chỉ trong thời gian, họ miễn phí để thiết kế một ứng dụng mà không cần bận tâm đến hệ thống mà các ứng dụng sẽ chạy. Thông thường, một ứng dụng sẽ trở thành nạn nhân của sự thành công của nó, nó thu hút một số người sử dụng lớn hơn so với hệ thống có thể hỗ trợ. Đám mây độ đàn hồi cho phép như một ứng dụng để hấp thụ khối lượng công việc bổ sung mà không cần bất kỳ ort e ff từ các nhà phát triển ứng dụng. Điện toán đám mây cũng là lợi ích tài fi cho các nhà cung cấp của chu kỳ máy tính vì nó thường dẫn đến một e ffi sử dụng nguồn lực cient hơn. Sự thành công trong tương lai của điện toán đám mây dựa trên khả năng của các công ty thúc đẩy điện toán tiện ích để thuyết phục một đoạn ngày càng nhiều người sử dụng những lợi thế của mạng máy tính trung tâm và nội dung mạng lưới trung tâm. Điều này được chuyển vào khả năng cung cấp các giải pháp thỏa đáng cho các khía cạnh quan trọng của bảo mật, khả năng mở rộng, độ tin cậy, chất lượng dịch vụ, và các yêu cầu thực thi các Hiệp định Mức độ Dịch vụ (SLA).
Sự hấp dẫn chính của điện toán đám mây là tập trung vào điện toán doanh nghiệp. Đây rõ ràng di ff erentiates nó từ lưới điện toán e ff ort mà phần lớn tập trung vào fi c và kỹ thuật ứng dụng khoa học. Tất nhiên, lợi thế lớn khác của phương pháp điện toán đám mây trong tính toán lưới là sự tập trung các nguồn lực tại các trung tâm dữ liệu lớn trong một miền quản trị duy nhất.
Hy vọng rằng các nhà cung cấp điện toán tiện ích như Amazon, Apple, Google, HP, IBM, Microsoft, Oracle, và những người khác sẽ phát triển trong các dãy ứng dụng tương lai để thu hút khách hàng. Microsoft cũng có vẻ như vị trí trong ort e ff để thu hút khách hàng đến nền tảng Azure của nó như là nó đã có nhiều ứng dụng cho khách hàng doanh nghiệp, trong khi Red Hat và Amazon có thể chọn để ở lại với họ "cơ sở hạ tầng chỉ" cách tiếp cận [27].
Sự hấp dẫn chính của điện toán đám mây là khả năng sử dụng như nhiều máy chủ là cần thiết để tối ưu đáp ứng các chi phí và hạn chế thời gian của một ứng dụng; này chỉ có thể nếu khối lượng công việc có thể được phân chia trong các phân đoạn có kích thước tùy ý và có thể được xử lý song song của các máy chủ có sẵn trong các đám mây. Trong phần 4.6, chúng tôi thảo luận về khối lượng công việc tự ý chia hết có thể được phân chia thành một số tùy tiện lớn của phân đoạn; các mô hình chia tải tự ý chia hết là chung cho nhiều ứng dụng và chính là những ứng dụng thích hợp cho điện toán đám mây.
dịch vụ Web, các dịch vụ cơ sở dữ liệu, và các dịch vụ giao dịch dựa trên các ứng dụng được lý tưởng cho điện toán đám mây. Các yêu cầu tài nguyên của dịch vụ giao dịch theo định hướng phụ thuộc vào tải trọng hiện tại, mà chính nó là rất năng động; chi phí / hiệu năng pro fi le như vậy ts ứng dụng bene fi từ một môi trường đàn hồi mà các nguồn lực sẵn có khi cần thiết và một nơi có chỉ trả cho các nguồn lực để tiêu dùng.
Không phải tất cả các ứng dụng phù hợp với điện toán đám mây; ứng dụng trong đó khối lượng công việc không thể được tự ý phân chia, hoặc yêu cầu giao tiếp chuyên sâu giữa các trường hợp đồng thời không có khả năng thực hiện tốt trên một đám mây. Một ứng dụng với một công việc phức tạp phụ thuộc fl ow và nhiều, như thường là trường hợp trong tính toán hiệu năng cao, có thể yêu cầu thời gian thực hiện dài hơn và chi phí cao hơn trên một đám mây. Các tiêu chuẩn cho điện toán hiệu suất cao được thảo luận trong phần 4.10 cho thấy các ứng dụng truyền thông và bộ nhớ chuyên sâu có thể không biểu hiện các mức độ hiệu quả hiển thị khi chạy trên các siêu máy tính với độ trễ thấp và liên kết nối băng thông cao.
4.1 Những thách thức đối với điện toán đám mây
Sự phát triển của e ứng dụng ffi cient đám mây kế thừa các những thách thức đặt ra bởi sự mất cân bằng tự nhiên giữa điện toán, I / O, và băng thông truyền thông của hệ thống vật lý; những thách thức này rất nhiều ampli fi ed do quy mô của hệ thống, bản chất phân tán của nó, và bởi thực tế rằng hầu như tất cả các ứng dụng được dữ liệu chuyên sâu. Mặc dù cơ sở hạ tầng điện toán đám mây cố gắng để tự động phân phối và cân bằng tải, các nhà phát triển ứng dụng vẫn bị có trách nhiệm để đặt các dữ liệu gần nhà máy chế biến và xác định lưu trữ tối ưu cho dữ liệu.
Một trong những ưu điểm chính của điện toán đám mây, các cơ sở hạ tầng dùng chung, cũng có thể có một tác động tiêu cực. Hiệu suất ly 33 là gần như không thể đạt được trong một hệ thống thực sự, đặc biệt là khi hệ thống tải nặng. Hiệu suất của máy ảo fl uctuates dựa vào tải, các dịch vụ cơ sở hạ tầng, môi trường bao gồm cả những người sử dụng khác. Cô lập an ninh cũng đang thách thức về các hệ thống đa người dùng.
Độ bền cũng là một mối quan tâm lớn; thất bại nút đang được mong đợi bất cứ khi nào một số lượng lớn các nút hợp tác cho các tính toán. Chọn một thể tối ưu (về hiệu suất cách ly, độ tin cậy và bảo mật) từ những o ff đến khía cạnh của cơ sở hạ tầng điện toán đám mây là một yếu tố quan trọng để được xem xét. Tất nhiên, cân nhắc chi phí cũng đóng một vai trò trong việc lựa chọn các loại dụ.
Nhiều ứng dụng bao gồm nhiều giai đoạn; lần lượt, mỗi giai đoạn có thể bao gồm nhiều trường hợp chạy song song trên hệ thống của điện toán đám mây và liên lạc giữa chúng. Như vậy, e ffi tính hiệu, kiên định và khả năng mở rộng giao tiếp là mối quan tâm lớn đối với một nhà phát triển ứng dụng. Thực tế, do các mạng chia sẻ và chưa biết cấu trúc liên kết, cơ sở hạ tầng điện toán đám mây hiện độ trễ liên nút và băng thông fl uctuations mà một ff ect hiệu suất ứng dụng.
Lưu trữ dữ liệu đóng một vai trò quan trọng trong việc thực hiện bất kỳ ứng dụng dữ liệu chuyên sâu; việc tổ chức lưu trữ, các vị trí lưu trữ, cũng như, băng thông lưu trữ phải được phân tích một cách cẩn thận để dẫn đến hiệu suất ứng dụng tối ưu. Đám mây hỗ trợ nhiều tùy chọn lưu trữ để thiết lập một fi le hệ thống tương tự như hệ thống Hadoop fi le thảo luận trong Phần 4.7; trong số đó là o dụ ff- lưu trữ đám mây (ví dụ như S3), mountable o ff- dụ lưu trữ khối (ví dụ, EBS), cũng như, lưu trữ liên tục cho các đời của các ví dụ. Nhiều ứng dụng dữ liệu chuyên sâu sử dụng siêu dữ liệu liên quan đến bản ghi dữ liệu cá nhân; Ví dụ, các siêu dữ liệu cho một âm thanh MPEG fi le có thể bao gồm tên của bài hát, ca sĩ, thông tin ghi âm và như vậy. Metadata cần được lưu giữ để dễ dàng truy cập, lưu trữ nên được mở rộng, và đáng tin cậy.
Một xem xét quan trọng cho các nhà phát triển ứng dụng được đăng. Cân nhắc hiệu suất giới hạn số lượng dữ liệu được ghi, trong khi khả năng để xác định nguồn gốc của các kết quả bất ngờ và các lỗi được nhờ khai thác gỗ thường xuyên. Khai thác gỗ thường được thực hiện bằng cách sử dụng lưu trữ trường hợp duy nhất được bảo tồn cho các đời của các ví dụ như vậy, các biện pháp để bảo tồn các bản ghi cho một phân tích post-mortem phải được thực hiện. Một nghị quyết chờ đợi thách thức liên quan đến cấp phép phần mềm được thảo luận trong mục 3.10.
4.2 hiện các ứng dụng điện toán đám mây và cơ hội ứng dụng mới
hiện các ứng dụng điện toán đám mây có thể được chia thành một số hạng mục chính: (i) các đường ống xử lý; (ii) các hệ thống xử lý hàng loạt; và (iii) các ứng dụng web [358].
ống dẫn chế biến được nhiều dữ liệu và các ứng dụng đôi khi tính toán thâm canh và đại diện cho một phân khúc khá lớn của các ứng dụng đang chạy trên một đám mây. Một số loại ứng dụng xử lý dữ liệu có thể được identi fi ed:
• Indexing; các đường ống xử lý hỗ trợ lập chỉ mục của các tập dữ liệu lớn được tạo ra bởi các công cụ web crawler.
• Khai thác dữ liệu; các đường ống xử lý hỗ trợ tìm kiếm bộ sưu tập rất lớn các bản ghi để xác định vị trí các mặt hàng về lợi ích.
• Xử lý hình ảnh; một số công ty cho phép người dùng lưu trữ hình ảnh của mình trên các đám mây, ví dụ như, fl icker (fl ickr.com) và Google (http://picasa.google.com/). Các đường ống xử lý hình ảnh hỗ trợ chuyển đổi hình ảnh, ví dụ, phóng to một hình ảnh hoặc tạo hình thu nhỏ; họ cũng có thể được sử dụng để nén hoặc mã hóa hình ảnh.
• Video chuyển mã; các đường ống dẫn xử lý chuyển mã từ một định dạng video khác, ví dụ như từ AVI sang MPEG.
• Xử lý tài liệu; các đường ống dẫn xử lý chuyển đổi bộ sưu tập rất lớn các tài liệu từ một định dạng khác, ví dụ, từ Word sang PDF hoặc mã hóa các tài liệu; họ cũng có thể sử dụng OCR (Optical Character Recognition) để tạo ra hình ảnh kỹ thuật số của các tài liệu.
hệ thống xử lý hàng loạt cũng bao gồm một phổ rộng các ứng dụng dữ liệu chuyên sâu trong điện toán doanh nghiệp. Ứng dụng như vậy thường có thời hạn và thất bại trong việc đáp ứng những thời hạn này có thể có những hậu quả kinh tế nghiêm trọng; an ninh cũng là một khía cạnh quan trọng cho nhiều ứng dụng trong xử lý hàng loạt. Một danh sách không đầy đủ các ứng dụng xử lý hàng loạt bao gồm:
• Tạo thêm việc hàng ngày, tuần
đang được dịch, vui lòng đợi..
