Cloud Computing paper by whiteshadow1

VIEWS: 49 PAGES: 20

									  A Seminar REPORT
         ON

Cloud Computing




   Member
   Swapnil Irabatti
INDEX

1. Introduction...................................................................................3

2. What is cloud computing? ............................................................4

3. Cloud architecture ........................................................................5

4. Different cloud computing layers...................................................8

5. What is purpose & benefits? ......................................................12

6. Opportunities &.challenges.........................................................13

7. Advantages of cloud computing..................................................14

8. Disadvantage of cloud computing...............................................16

9. References..................................................................................18

10. Conclusion ...............................................................................19
                                                                                                                        2




Introduction
       Everyone has an opinion on what is cloud computing. It can be the ability to rent a server or a thousand
servers and run a geophysical modeling application on the most powerful systems available anywhere. It can be
the ability to rent a virtual server,load software on it, turn it on and off at will, or clone it ten times to meet a
sudden workload demand. It can be storing and securing immense amounts of data that is accessible only by
authorized applications and users. It can be supported by a cloud provider that sets up a platform that includes
the OS, Apache, a MySQL™ database, Perl, Python, and PHP with the ability to scale automatically in response
to changing workloads. Cloud computing can be the ability to use applications on the Internet that store and
protect data while providing a service — anything including email,sales force automation and tax preparation. It
can be using a storage cloud to hold application, business, and personal data. And it can be the ability to use a
handful of Web services to integrate photos, maps, and GPS information to create a mashup in
customer Web browsers.
          This paper illustrates the style of building applications using services available in the Internet
cloud.Cloud Architectures are designs of software applications that use Internet-accessible on-demand services.
Applications built
on Cloud Architectures are such that the underlying computing infrastructure is used only when it is needed (for
example to process a user request), draw the necessary resources on-demand (like compute servers or storage),
perform a specific job,
then relinquish the unneeded resources and often dispose themselves after the job is done. While in operation
the application scales up or down elastically based on resource needs. This paper is divided into two sections. In
the first section, we describe an example of an application that is currently in production using the on-demand
infrastructure provided by Amazon Web Services. This application allows a developer to do pattern-matching
across millions of web documents. The application brings up hundreds of virtual servers on-demand, runs a
parallel computation on them using an open source distributed processing framework called Hadoop, then shuts
down all the virtual servers releasing all its resources back to the cloud—all with low programming effort and at
a very reasonable cost for the caller. In the second section, we discuss some best practices for using each
Amazon Web Service - Amazon S3, Amazon SQS, Amazon SimpleDB and Amazon EC2 - to build an
industrial-strength scalable application.
                                                                                                           3




What is Cloud Computing?




                                              Fig. Cloud computing logical diagram


  •   Cloud Computing is a general term used to describe a new class of network based computing that takes
      place over the Internet, basically a step on from Utility Computing.

  •   In other words, this is a collection/group of integrated and networked hardware, software and Internet
      infrastructure (called a platform).

  •   Using the Internet for communication and transport provides hardware, software and networking
      services to clients.

  •   These platforms hide the complexity and details of the underlying infrastructure from users and
      applications by providing very simple graphical interface or API (Applications Programming Interface).

  •   In addition, the platform provides on demand services, that are always on, anywhere, anytime and any
      place.

  •   The hardware and software services are available to the general public, enterprises, corporations and
      businesses markets.

  •   Cloud computing is a model for enabling ubiquitous,convenient, on-demand network access to a shared
      pool of configurable computing resources (e.g., networks, servers, storage, applications, and services)
      that can be rapidly provisioned and released with minimal management effort or service provider
       interaction. (This definition is from the latest draft of the NIST Working Definition of Cloud Computing
       published by the U.S.Government's National Institute of Standards and Technology1.)
                                                                                                                   4

Cloud Architecture




                                                Fig. Cloud Architecture


Why Cloud Architectures?


       Cloud Architectures address key difficulties surrounding large-scale data processing. In traditional data
processing it is difficult to get as many machines as an application needs. Second, it is difficult to get the
machines when one needs them. Third, it is difficult to distribute and coordinate a large-scale job on different
machines, run processes on them, and provision another machine to recover if one machine fails. Fourth, it is
difficult to autoscale up and down based on dynamic workloads. Fifth, it is difficult to get rid of all those
machines when the job is
done. Cloud Architectures solve such difficulties. Applications built on Cloud Architectures run in-the-cloud
where the physical location of the infrastructure is determined by the provider. They take advantage of simple
APIs of Internet-accessible services that scale on demand, that are industrial-strength, where the complex
reliability and scalability logic of the underlying services
                                                                                                                    5
remains implemented and hidden inside-the-cloud. The usage of resources in Cloud Architectures is as needed,
sometimes ephemeral or seasonal, thereby providing the highest utilization and optimum bang for the buck.


Delivery Models


       The NIST definition of cloud computing defines three delivery models:
• Software as a Service (SaaS): The consumer uses an application, but does not control the operating system,
hardware or network infrastructure on which it's running.
• Platform as a Service (PaaS): The consumer uses a hosting environment for their applications. The consumer
controls the applications that run in the environment (and possibly has some control over the hosting
environment), but does not control the operating system, hardware or network infrastructure on which they are
running. The platform is typically an
application framework.
• Infrastructure as a Service (IaaS): The consumer uses "fundamental computing resources" such as
processing power, storage, networking components or middleware. The consumer can control the operating
system, storage, deployed applications and possibly networking
1 You can find the full document on the NIST Cloud Computing page. The document states, "This material is
public domain although attribution to NIST is requested. It may be freely duplicated and translated." The
essential characteristics, delivery models and deployment models discussed in this paper are based on Version
15 of the document, dated 8-19-09. 30 October 2009 5 Cloud Computing Use Cases White Paper Version 2.0
components such as firewalls and load balancers, but not the cloud infrastructure beneath them.


Deployment Models
       The NIST definition defines four deployment models:
• Public Cloud: In simple terms, public cloud services are characterized as being available to clients from a
third party service provider via the Internet. The term “public” does not always mean free, even though it can be
free or fairly inexpensive to use. A public cloud does not mean that a user’s data is publically visible; public
cloud vendors typically provide an access control mechanism for their users. Public clouds provide an elastic,
cost effective means to deploy solutions.
• Private Cloud: A private cloud offers many of the benefits of a public cloud computing environment, such as
being elastic and service based. The difference between a private cloud and a public cloud is that in a private
cloud-based service, data and processes are managed within the


                                                                                                                  6
organization without the restrictions of network bandwidth, security exposures and legal requirements that using
public cloud services might entail. In addition, private cloud services offer the provider and the user greater
control of the cloud infrastructure, improving security and
resiliency because user access and the networks used are restricted and designated.2
• Community Cloud: A community cloud is controlled and used by a group of organizations that have shared
interests, such as specific security requirements or a common mission. The members of the community share
access to the data and applications in the cloud.
• Hybrid Cloud: A hybrid cloud is a combination of a public and private cloud that interoperates. In this model
users typically outsource non-business-critical information and processing to the public cloud, while keeping
business-critical services and data in their control.
                                                                                                                     7

Different Cloud Computing Layers:




                                               Fig. cloud computing layers


Client

See also category: Cloud clients

   A cloud client consists of computer hardware and/or computer software that relies on cloud computing for
application delivery, or that is specifically designed for delivery of cloud services and that, in either case, is
essentially useless without it.

        Mobile (Linux based - Palm Pre-WebOS Linux Kernel, Android-Linux Kernel, iPhone-Darwin Kernel,
         Microsoft based - Windows Mobile)[42][43][44]
        Thin client (CherryPal, Wyse, Zonbu, gOS-based systems)[45][46][47]
        Thick client / Web browser (Internet Explorer, Mozilla Firefox, Google Chrome, WebKit)
Application

See also category: Cloud applications

                                                                                                           8

A cloud application leverages cloud computing in software architecture, often eliminating the need to install
and run the application on the customer's own computer, thus alleviating the burden of software maintenance,
ongoing operation, and support. For example:

      Peer-to-peer / volunteer computing (BOINC, Skype)
      Web applications (Webmail, Facebook, Twitter, YouTube, Yammer)
      Security as a service (MessageLabs, Purewire, ScanSafe, Zscaler)
      Software as a service (Envysion.com, A2Zapps.com, Google Apps, Salesforce,Learn.com, Zoho,
       BigGyan.com)
      Software plus services (Microsoft Online Services)
      Storage [Distributed]
           o   Content distribution (BitTorrent, Amazon CloudFront)
           o   Synchronisation (Dropbox, Live Mesh, SpiderOak, ZumoDrive)




Platform

See also category: Cloud platforms

   A cloud platform (PaaS) delivers a computing platform and/or solution stack as a service, generally
consuming cloud infrastructure and supporting cloud applications. It facilitates deployment of applications
without the cost and complexity of buying and managing the underlying hardware and software layers.
Infrastructure

See also category: Cloud infrastructure

Cloud infrastructure (IaaS) is the delivery of computer infrastructure, typically a platform virtualization
environment, as a service.

      Compute (Amazon CloudWatch, RightScale)                                                              9
           o   Physical machines
           o   Virtual machines (Amazon EC2, GoGrid, iland, Rackspace Cloud Servers)
           o   OS-level virtualisation
      Network (Amazon VPC)
      Storage [Raw] (Amazon EBS)

Servers

       The servers layer consists of computer hardware and/or computer software products that are specifically
designed for the delivery of cloud services.

       Different Cloud Computing Layers:
10
                                                                                                              11




What is the purpose and benefits?

  •   Cloud computing enables companies and applications, which are system infrastructure dependent, to be
      infrastructure-less.

  •   By using the Cloud infrastructure on “pay as used and on demand”, all of us can save in capital and
      operational investment!

  •   Clients can:

          – Put their data on the platform instead of on their own desktop PCs and/or on their own servers.

          – They can put their applications on the cloud and use the servers within the cloud to do processing
              and data manipulations etc.




  •   The term cloud is used to describe and to reflect this class of Internet centric computing infrastructure
      being transparent (users do not need to know what is behind the scenes!), highly scalable (scale up and
      down as needed), on-demand, pay as needed and as used.

  •   After so many years, Cloud Computing is today the a network based computing over Internet.




Basic Cloud Characteristics:

  •   The “flexibility and elasticity” allows these systems to scale up and down at will – utilising the
      resources of all kinds (CPU, storage, server capacity, load balancing, and databases).
  •   The “pay as much as used and needed” type of utility computing and the “always on!, anywhere and any
      place” type of network-based computing.

  •   Cloud are transparent to users and applications, they can be built in multiple ways - branded products,
      proprietary open source, hardware or software, or just off-the-shelf PCs.

  •   In general, they are built on clusters of PC servers and off-the-shelf components plus Open Source
      software combined with in-house applications and/or system software.




                                                                                                            12

Opportunities and Challenges

  •   The use of the cloud provides a number of opportunities:

         – It enables services to be used without any understanding of their infrastructure.

         – Cloud computing works using economies of scale:

                 •   It potentially lowers the outlay expense for start up companies, as they would no longer
                     need to buy their own software or servers.

                 •   Cost would be by on-demand pricing.

                 •   Vendors and Service providers claim costs by establishing an ongoing revenue stream.

         – Data and services are stored remotely but accessible from “anywhere”.

  •   In parallel there has been backlash against cloud computing:

         – Use of cloud computing means dependence on others and that could possibly limit flexibility and
             innovation:

                 •   The others are likely become the bigger Internet companies like Google and IBM, who
                     may monopolise the market.

                 •   Some argue that this use of supercomputers is a return to the time of mainframe
                     computing that the PC was a reaction against.

         – Security could prove to be a big issue:
                •   It is still unclear how safe out-sourced data is and when using these services ownership of
                    data is not always clear.

         – There are also issues relating to policy and access:

                •   If your data is stored abroad whose FOI policy do you adhere to?

                •   What happens if the remote server goes down?

                •   How will you then access files?




                                                                                                            13




Advantages of Cloud Computing

  •   Lower computer costs:

         – You do not need a high-powered and high-priced computer to run cloud computing's web-based
             applications.

         – Since applications run in the cloud, not on the desktop PC, your desktop PC does not need the
             processing power or hard disk space demanded by traditional desktop software.

         – When you are using web-based applications, your PC can be less expensive, with a smaller hard
             disk, less memory, more efficient processor...

         – In fact, your PC in this scenario does not even need a CD or DVD drive, as no software
             programs have to be loaded and no document files need to be saved.

  •   Improved performance:

         – With few large programs hogging your computer's memory, you will see better performance
             from your PC.

         – Computers in a cloud computing system boot and run faster because they have fewer programs
             and processes loaded into memory…

  •   Reduced software costs:
       – Instead of purchasing expensive software applications, you can get most of what you need for
           free-ish!

       – That is right - most cloud computing applications today, such as the Google Docs suite, are
           totally free.

       – That is a lot better than paying $200+ for similar Microsoft Office software - which alone may
           be justification for switching to cloud applications.




                                                                                                      14




•   Instant software updates:

       – Another advantage to cloud computing is that you are no longer faced with choosing between
           obsolete software and high upgrade costs.

       – When the application is web-based, updates happen automatically - available the next time you
           log into the cloud.

       – When you access a web-based application, you get the latest version - without needing to pay for
           or download an upgrade.

•   Improved document format compatibility.

       – You do not have to worry about the documents you create on your machine being compatible
           with other users' applications or operating systems.

       – Where Word 2007 documents cannot be opened on a computer running Word 2003, all
           documents can be read!

       – There are potentially no format incompatibilities when everyone is sharing documents and
           applications in the cloud.

•   Unlimited storage capacity:
         – Cloud computing offers virtually limitless storage.

         – Your computer's current 200 Gbyte hard drive is small compared to the hundreds of Pbytes
             available in the cloud.

         – Whatever you need to store, you can.

  •   Increased data reliability:

         – Unlike desktop computing, in which if a hard disk crashes and destroy all your valuable data, a
             computer crashing in the cloud should not affect the storage of your data.

         – That also means that if your personal computer crashes, all your data is still out there in the
             cloud, still accessible.
                                                                                                         15




Disadvantages of Cloud Computing

  •   Requires a constant Internet connection:

         – Cloud computing is impossible if you cannot connect to the Internet.

         – Since you use the Internet to connect to both your applications and documents, if you do not
             have an Internet connection you cannot access anything, even your own documents.

         – A dead Internet connection means no work and in areas where Internet connections are few or
             inherently unreliable, this could be a deal-breaker.

         – When you are offline, cloud computing simply does not work.

  •   Does not work well with low-speed connections:

         – Similarly, a low-speed Internet connection, such as that found with dial-up services, makes cloud
             computing painful at best and often impossible.

         – Web-based applications require a lot of bandwidth to download, as do large documents.

         – If you are labouring with a low-speed dial-up connection, it might take seemingly forever just to
             change from page to page in a document, let alone to launch a feature-rich cloud service.

         – In other words, cloud computing is not for the broadband-impaired!
•   Does not work well with low-speed connections:

       – Similarly, a low-speed Internet connection, such as that found with dial-up services, makes cloud
           computing painful at best and often impossible.

       – Web-based applications require a lot of bandwidth to download, as do large documents.

       – If you are labouring with a low-speed dial-up connection, it might take seemingly forever just to
           change from page to page in a document, let alone to launch a feature-rich cloud service.

       – In other words, cloud computing is not for the broadband-impaired!




                                                                                                       16




•   Stored data might not be secure:

       – With cloud computing, all your data is stored on the cloud.

       – The questions is How secure is the cloud?

       – Can unauthorised users gain access to your confidential data?

       – Cloud computing companies say that data is secure, but it is too early to be completely sure of
           that.

       – Only time will tell if your data is secure in the cloud.

•   Stored data can be lost:

       – Theoretically, data stored in the cloud is safe, replicated across multiple machines.

       – But on the off chance that your data goes missing, you have no physical or local backup.

       – Put simply, relying on the cloud puts you at risk if the cloud lets you down.

•   HPC Systems:

       – Not clear that you can run compute-intensive HPC applications that use MPI/OpenMP!

       – Scheduling is important with this type of application – as you want all the VM to be co-located
           to minimise communication latency!
    •   General Concerns:

           – Each cloud systems uses different protocols and different APIs… so it may not be possible to run
              applications between cloud based systems.

           – Amazon has created its own DB system (not SQL 92), and workflow system (many popular
              workflow systems out there) – so your normal applications will have to be adapted to execute on
              these platforms.




                                                                                                          17

References

    1. ^ "Cloud Computing: Clash of the clouds". The Economist. 2009-10-15.
        http://www.economist.com/displaystory.cfm?story_id=14637206. Retrieved 2009-11-03.
    2. ^ Distinguishing Cloud Computing from Utility Computing
    3. ^ Gartner Says Cloud Computing Will Be As Influential As E-business
    4. ^ Gruman, Galen (2008-04-07). "What cloud computing really means". InfoWorld.
        http://www.infoworld.com/article/08/04/07/15FE-cloud-computing-reality_1.html. Retrieved 2009-
        06-02.
    5. ^ The Internet Cloud
    6. ^ Techtarget.com
    7. ^ "It's probable that you’ve misunderstood 'Cloud Computing' until now". TechPluto.
        http://portal.acm.org/citation.cfm?id=1496091.1496100&coll=&dl=ACM&CFID=21518680&CFTOKEN=
        18800807.
    8. ^ What's In A Name? Utility vs. Cloud vs Grid
    9. ^ Cloud Computing: The Evolution of Software-as-a-Service
    10. ^ "Cloud computing---emerging paradigm for computing".
        http://meetings.informs.org/Dallas97/TALKS/C20.html.




o
                                                                    18

Conclusions:
     Cloud computing is the fastest growing part of IT.
     Tremendous benefits to customers of all sizes.
     Cloud services are simpler to acquire & scale up or down.
     Key opportunity for application & infrastructure vendors.
     Public cloud work great for some but not all application.
     Private cloud offer many benefits for internal application.
     Public & private cloud can be use combination.
19

								
To top