What is cloud computing? The main idea of this new concept of the computer science, is that you can get the power you need whenever you want. How can it be possible? In fact, cloud computing is a new paradigm of computing infrastructure. But what is so incredible in cloud computing to qualify it as a new paradigm? The major revolution is that the infrastructures are moved to the network. Indeed, thanks to internet, you can get the power of many machines around the world without owning them ! So, as you can guess, cloud computing is a major evolution in computer science, or, all the least, it is considered as a major evolution. Amazon was the first firm to propose a cloud computing offer with EC2 in 2006.
Now, you have a small idea of what is cloud computing, but what is the formal definition?
Unfortunately, the variety of technologies makes the overall picture confusing. Many experts in computer science have their own definition of what is the cloud. Here is two of those. The first one is due to Markus Klems, a research assistant at the Germany-based FZI Research Center for Information Technology. He is meant to be specialized in cloud computing. His definition is that immediate scalability and resources usage optimization are key elements for the cloud computing.
The second definition is due to Paul McFredies, a Canadian author of more than 60 computer books. As a book writer, he is used to define concepts in order to make them understandable by everyone. For him, Data centers are the basic units of the Cloud, offering huge amounts of computing power and storage thanks to spared resources. And finally, the third one is virtualization because the complexity of the infrastructure and the physical location of the resources are hidden from the user.
We have decided to propose another definition which is a mix of many definitions. This proper definition has been established by the NIST (the National Institute of Standards and Technology), an agency of the U.S. Department of Commerce: Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable resources (networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.
Instead of memorizing this long definitions, you just have to remember the key words associated with cloud computing. The first one is scalability, because you get the exact amount of power you need, the second one is, pay per use, because as those words suggest, you pay for your usage. And finally, the third one is virtualization, because, the infrastructures are stored in data centers, and you have access to their capacities using internet and software.
[...] The PaaS offer of Google app engine is one of the most interesting. Our application supports sharing student experiences and will be hosted by Google App Engine. [...]
[...] Key words: Scalability, Pay per use, Virtualization 4 THE DIFFERENT LAYERS OF CLOUD COMPUTING What we give: What they give us: Application data SaaS Virtual machines + OS + libraries + application Application PaaS Virtual machines + OS + libraries + Application + libraries + OS IaaS Virtual machines + Hardware 5 INFRASTRUCTURE AS A SERVICE Provision of virtual machines Capacity increases according to the need No reinstallation No system migration Elasticity = Cloud's ability to fit dynamically to the needs of the service. Billing for the actual use of resources: pay-per-use Example of IaaS offer: 6 PLATFORM AS A SERVICE delivers Computing platform Solution stack Makes applications deployment easier: • Provides all the infrastructure needed to run applications over the Internet. • Everything is in the same integrated development environment. [...]
[...] CLOUD COMPUTING 1 CLOUD COMPUTING Overview - What is Cloud computing ? - Definitions The different layers of Cloud computing - Infrastructure As A Service - Platform As A Service - Software As A Service 2 The different usages of Cloud computing Benefits and Drawbacks Different providers of Cloud computing's services Our application Conclusion WHAT IS CLOUD COMPUTING? Main idea: Get the computing power you need when you want it Main characteristics: A new paradigm of computing infrastructure Moves software and data to the network Considered as a major evolution of the information technology The precursor: First cloud model launched in 2006 by 3 DEFINITIONS Markus Klems (research assistant at FZI Research Center, Germany for Information Technology, specialized in cloud computing): Immediate scalability and resources usage optimization are key elements for the Cloud computing Paul McFredies Canadian author of more than 60 computer books): Data centers are the basic units of the Cloud, offering huge amounts of computing power and storage thanks to spare resources Proposed definition: Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable resources (networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. [...]
[...] Google app engine = PaaS used for our application 7 SOFTWARE AS A SERVICE • Application hosted on a remote server • Access and use through the Internet Not on the user's computer •Activities managed from central locations • Simplify maintenance and support Web applications Web services « Software on demand » Vendor (Microsoft, Google ,Yahoo, - Hosts all of the programs and data in a central location - Provides users access to this data 8 THE DIFFERENT USAGES OF CLOUD COMPUTING Clouds can be employed in many ways Private / Public Clouds Hybrid Clouds 9 BENEFITS Non functional aspects: Elasticity Availability Economic aspects Cost reduction Pay per use Ecology 10 DRAWBACKS Main issues: Security and Privacy (confidential data) Use private clouds Still in the 1st stage of hype: a positive hype (what about the future of the technology?) Source: http://www.akorriblog.com/wp-content/uploads/2010/09/cloud_computing_infographic3.jpg FOCUSING ON PAAS What we give: What they give us: Application data SaaS Machines + OS + libraries + application Application PaaS Machines + OS + libraries + Application + libraries + OS IaaS Virtual machines 13 DIFFERENT PROVIDERS OF CLOUD COMPUTING'S SERVICES 3 Plateforms PaaS : Google App Engine Microsoft Azure Force.com 14 DIFFERENT PROVIDERS OF CLOUD COMPUTING'S SERVICES Comparison App Engine vs Azure Google App Engine Languages handled Python, Java, JRuby, Microsoft Azure Scalability PHP Automatic .NET, PHP, Ruby, Python, Java Manual Application field Web All kind of applications Cost Free limited account Rather expensive Operating System No constraints Windows Mail Service Integrated by Gmail Need a SMTP server IM Integrated Need a external server 15 GOOGLE APP ENGINE Strengths of Google App Engine: Corporate image of Google Connection with Google account for visiting App Engine's application Safety for accounts and users Mail service, chat and image editor integrated Free account: Storage : 500 Mo Bandpass per day :10 Go 16 OUR APPLICATION Requirements : This application must allow students to share their experience (with comments and pictures) in a foreign country. Users must be able to subscribe to the application and log in. This application must execute and store data on cloud. [...]
[...] look like a forum permit users to share photos 18 OUR APPLICATION Organisation of the forum: Different categories (one for each continent) Different subjects replies Two kinds of users with different permissions: Create a new Edit Delete Ban Administrators Subject/reply Subjects/replies Subjects/replies Simple users Simple users Subject/reply Own replies Own replies Nobody 19 CONCLUSIONS Cloud computing will revolutionize the way services are designed, distributed and consumed. Used by only 10% of the businesses in 2009, Cloud computing models will used by 35% to 50% of the businesses in 2011. [...]
APA Style reference
For your bibliographyOnline reading
with our online readerContent validated
by our reading committee