بسم هللا الرحمن الرحيم والصالة والسالم على رسول هللا، الحمد هلل Cloud Computing: Benefits and Challenges A Seminar Presentation Presented to the Faculty and Students of Al-Imam University Riyadh, Saudi Arabia, May 31, 2010 Hany H. Ammar LANE Department of Computer Science and Electrical Engineering West Virginia University, Morgantown, West Virginia, USA, Al-Imam University Riyadh, Saudi Arabia, May 31, 2010 1 OUTLINE • Research Team on Cloud Computing • What is Cloud Computing ? – – – – – – Utility Computing Utility versus Cloud computing Cluster and Grid Computing Examples of Campus clouds Grid and Community Computing Grid and Cloud Computing • The West Virginia U. Project • Benefits of Cloud Computing, – What can we do with Cloud Computing? • Challenges of Cloud Computing • Making the case for Campus Clouds • Conclusions Al-Imam University Riyadh, Saudi Arabia, May 31, 2010 2 Research Team on Cloud Computing Faculty: • Dr. Matthew Valenti, West Virginia University • Dr Abdelkarim Erradi, Qatar University • Prof. Fatma Omara, Dr. hesham Hassan, Dr Sherif Khattab, Dr Osama Ismael, Cairo University • Dr. Walid AbdelMoez, Arab Academy of Science and Techology, Alexandria, Egypt Students: Mohammed Said Saleh, Markous M. Yassa, Sana AbdulJalil, Amr Mahmoud Al-Imam University Riyadh, Saudi Arabia, May 31, 2010 3 What is Cloud Computing Al-Imam University Riyadh, Saudi Arabia, May 31, 2010 4 What is Cloud Computing Resource availability is a key factor to achieve prosperity of any society, Particularly important are computing resources E-Learning, E-Commerce, E-Government, E-Banking To attain their full potential, computing resources need to be efficiently utilized preferably in an aggregated manner. The demand for computing resources can now be met by utility computing, grid computing, and most recently cloud computing. Al-Imam University Riyadh, Saudi Arabia, May 31, 2010 5 What is Cloud Computing Utility Computing Utility computing providers rent capacity on computing resources that they maintain Metered computing: analogous to electric power (Pay per use) Resources often virtualized and shared by multiple tenants Example: Amazon Elastic Compute Cloud (estimated $60 USD/Month for one EC2 Instance for 24hrs/day-7days/week). Pay per use option Amazon Elastic Compute Cloud (Amazon EC2) web service provides resizable compute capacity in the cloud Designed to make web-scale computing easier for developers. Al-Imam University Riyadh, Saudi Arabia, May 31, 2010 6 What is Cloud Computing Utility versus Cloud computing Cloud computing not only provides raw computing resources, but also hosts the applications that use these resources. Applications usually accessed via a web browser. User data typically stored on provider's file systems. Underlying computing infrastructure concealed from user. Example: gmail servers are concealed from users Cloud Computing middleware systems are available for building clouds and their applications (e.g., Eucalyptus and Hadoop) Al-Imam University Riyadh, Saudi Arabia, May 31, 2010 7 What is Cloud Computing Cluster and Grid Computing A cluster is a collection of tightly coupled computing servers. Usually co-located. A computing grid is a distributed collection of computing servers. While the servers may be dedicated resources, they could be borrowed from idle desktop computers. A grid middleware system is needed to support the development and assessment of service-oriented grid systems and applications (e.g., CROWN-C) http://www.wrgrid.org.uk/Resources/Leaflets/WRG_COLAB_Sept2007.pdf Al-Imam University Riyadh, Saudi Arabia, May 31, 2010 8 Example: University of Florida Campus Grid Al-Imam University Riyadh, Saudi Arabia, May 31, 2010 9 Example: University of California Campus Grid Al-Imam University Riyadh, Saudi Arabia, May 31, 2010 10 The WVU Cloud Computing Project A research team at West Virginia University led by Dr. Mat Valenti has been developing a cloud computing resource for the purpose of scientific computing by running a Matlab compute engine applications on underutilized computers located in the student computer labs and computer classrooms Frontier CC middleware Al-Imam University Riyadh, Saudi Arabia, May 31, 2010 11 What is Cloud Computing Grid and Community Computing Community computing projects assemble a grid of donated CPU resources using volunteers idle cycles Example: The BOINC software by UC Berkley is an Opensource software for volunteer computing and grid computing. BOINC lets you donate your idle computer time to science projects like SETI@home, Climateprediction.net, Rosetta@home, Folding@home, World Community Grid, and many, Folding@home (http://boinc.berkeley.edu/download.php) Uses Screensavers (windows) or low-priority process (linux) Al-Imam University Riyadh, Saudi Arabia, May 31, 2010 12 What is Cloud Computing Grid and Cloud Computing Resource Sharing: Grid enhances fair sharing of resources across organization. Cloud provide resources according to demand so no actual sharing of resources due to the isolation through virtualization Virtualization: Grid: virtualization covers both data and resources (flat file and database). Cloud adds virtualization for hardware resources too Security: Grid: security is not seriously explored. Cloud: Each user has a unique access to the virtualized environment Al-Imam University Riyadh, Saudi Arabia, May 31, 2010 13 What is Cloud Computing Grid and Cloud Computing Usability: Clouds are easily usable hiding the deployment details from the user. Grid: hard to manage Payment model: Cloud use pay- per use model. Grid fixed rate per service. Scalability Both Grid and cloud deals with scalability Heterogeneity: Both cloud and grid support aggregation of heterogonous hardware and software. Al-Imam University Riyadh, Saudi Arabia, May 31, 2010 14 OUTLINE • Research Team on Cloud Computing • What is Cloud Computing ? • Benefits of Cloud Computing, – What can we do with Cloud Computing? • Challenges of Cloud Computing • Making the case for Campus Clouds • Conclusions Al-Imam University Riyadh, Saudi Arabia, May 31, 2010 15 Benefits of Cloud Computing Cloud computing is a model that supports everything as a service (XaaS), e.g, the X changes to an I for, Infrastructure as a Service (IaaS) Physical resource set (PRS): is hardware dependent or vendor dependent Virtual resource set (VRS): is built on top of PRS to run in multivendor cloud Al-Imam University Riyadh, Saudi Arabia, May 31, 2010 16 Benefits of Cloud Computing Platform as a service (PaaS): Java or .NET Al-Imam University Riyadh, Saudi Arabia, May 31, 2010 17 Benefits of Cloud Computing Software as a service (SaaS): e.g Gmail, Google Docs, Matlab, Al-Imam University Riyadh, Saudi Arabia, May 31, 2010 18 Benefits of Cloud Computing Human as a service (HaaS): Amazon Mechanical Turk (MTurk) is one of the suites of Amazon Web Services, a crowdsourcing marketplace that enables computer programs to coordinate the use of Human Intelligence to perform Tasks (HITs) which computers are unable to do Workers can work at home and make money by choosing from thousands of posted HITs. Al-Imam University Riyadh, Saudi Arabia, May 31, 2010 19 Benefits of Cloud Computing The Big Picture of the Cloud Layered Architecture Al-Imam University Riyadh, Saudi Arabia, May 31, 2010 20 Benefits of Cloud Computing The Provided services in the Cloud are the following: Virtualized physical resources, Virtualized infrastructure, Virtualized middleware platforms Virtualized business applications Cloud computing reduces the need for advanced hardware on the clients side Clients can use inexpensive small Net Books and virtually have the processing power of an expandable Grid computing system No need to buy a set of software or software licenses Data is no longer confined to the user's hard drive, will be able to access data and applications from anywhere at any time. There is no more lost data due to hard drive failures Corporations would save money on IT support, and No need for space to house expensive hardware and software servers. Al-Imam University Riyadh, Saudi Arabia, May 31, 2010 21 OUTLINE • • • • Research Team on Cloud Computing What is Cloud Computing ? Examples of Campus clouds Benefits of Cloud Computing, – What can we do with Cloud Computing? • Challenges of Cloud Computing • Making the case for Campus Clouds • Conclusions Al-Imam University Riyadh, Saudi Arabia, May 31, 2010 22 Challenges of Cloud Computing Providing Support for both Service Users and Service Providers Al-Imam University Riyadh, Saudi Arabia, May 31, 2010 23 Challenges of Cloud Computing Service Providers: Development Services, or Build and Test Services, Software Engineering Methodologies and tools How to manage clouds for Application Lifecycle Management The Cloud manager can limit projects to certain clouds, control costs, manage security, or supplement resources during peak use Service Users: easily usable clouds, hiding the deployment details from the user using virtualization, Security and privacy are the biggest concerns Cost accounting data , and usage tracking for Multiple Clouds Al-Imam University Riyadh, Saudi Arabia, May 31, 2010 24 Challenges of Cloud Computing: Build and Test Workflow, Challenges at all three levels Al-Imam University Riyadh, Saudi Arabia, May 31, 2010 25 Challenges of Cloud Computing: Build and Test Tasks Require complex environments Al-Imam University Riyadh, Saudi Arabia, May 31, 2010 26 Challenges of Cloud Computing Model-Driven Design Interdisciplinary Development teams: End-to-End Collaboration & Change Management Al-Imam University Riyadh, Saudi Arabia, May 31, 2010 27 Challenges of Cloud Computing Cloud Management and Control Al-Imam University Riyadh, Saudi Arabia, May 31, 2010 28 Challenges of Cloud Computing Examples of Current Support for IaaS Apache Hadoop: A Java software framework that supports data-intensive distributed applications and enables applications to work with thousands of nodes and large amounts of data. http://hadoop.apache.org/ Nimbus is an open-source toolkit that, once installed on a cluster, provides an infrastructure as a Service cloud to its client via WSRF-based or Amazon EC2 WSDL web service APIs, http://www.nimbusproject.org/ Al-Imam University Riyadh, Saudi Arabia, May 31, 2010 29 Challenges of Cloud Computing Examples of Current Support AbiCloud Supports SaaS http://abicloud.org/display/abiCloud/Home Al-Imam University Riyadh, Saudi Arabia, May 31, 2010 30 Challenges of Cloud Computing Examples of Current Support enStratus Supports SaaS, ReliaCloud Supports IaaS enStratus is a SaaS-based system for managing cloud infrastructures across multiple providers http://www.enstratus.com/ enStratus focuses on the deployment and ongoing management of transactional database applications in clouds like Amazon Web Services and ReliaCloud. The main features of enStratus include cloud security and availability management. ReliaCloud provides virtual Servers deployed within a virtualization environment that is architected to maximize uptime and performance. http://www.reliacloud.com/ Al-Imam University Riyadh, Saudi Arabia, May 31, 2010 31 Challenges of Cloud Computing Examples of Current Support for PaaS and IaaS Sun Cloud is an on-demand Cloud computing service operated by Sun Microsystems. The Sun Cloud Compute Utility provides access to a substantial computing resource over the Internet for US$1 per CPU-hour. The Rackspace Cloud is a web application hosting/cloud platform provider ("Cloud Sites") that bills on a utility computing basis. It has branched out into cloud storage ("Cloud Files") and cloud infrastructure ("Cloud Servers"), http://www.rackspacecloud.com/ Kaavo provides solutions for deploying and managing on-demand applications and workloads in the cloud. http://www.kaavo.com/home Al-Imam University Riyadh, Saudi Arabia, May 31, 2010 32 OUTLINE • • • • Research Team on Cloud Computing What is Cloud Computing ? Examples of Campus clouds Benefits of Cloud Computing, – What can we do with Cloud Computing? • Challenges of Cloud Computing • Making the case for Campus Clouds • Conclusions Al-Imam University Riyadh, Saudi Arabia, May 31, 2010 33 Making the case for Campus Clouds College Campuses maintain significant Infrastructure of computing resources in computing Labs This infrastructure is under utilized (many students use laptops and Net Books) Service Providers and Users are in need for inexpensive computing resources Al-Imam University Riyadh, Saudi Arabia, May 31, 2010 34 Making the case for Campus Clouds Developing IaaS Campus cloud project aggregating the computing resources of multiple college campuses would provide the following benefits: Providing extra Revenue to colleges from service providers and businesses Providing students with an environment for learning the concepts of cloud computing Providing college systems maintenance team (professionals and students) with the experience of dealing with Cloud service providers and Cloud users Provides stronger ties between academia and industry Motivates the Industry to invest in academic computing resources Academic research will benefit from Campus clouds Al-Imam University Riyadh, Saudi Arabia, May 31, 2010 35 Conclusions Cloud computing has emerged to provide inexpensive on-demand pay per use computing resources Cloud computing is closely related to grid computing and utility computing. Software Engineering Methodologies and tools are needed for cloud developers (Cloud-based ServiceOriented Engineering) Security and privacy are the biggest concerns of cloud computing users and developers Campus Clouds can bring revenue for computing resources, enhance student learning, strengthen ties with Industry, and enhance academic research. Al-Imam University Riyadh, Saudi Arabia, May 31, 2010 36 وجزاك ُم هللاُ خيرا Al-Imam University Riyadh, Saudi Arabia, May 31, 2010 37