Skip to main content
Workforce LibreTexts

3.3: Cloud Computing

  • Page ID
    22714
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)

    ( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\id}{\mathrm{id}}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\kernel}{\mathrm{null}\,}\)

    \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\)

    \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\)

    \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    \( \newcommand{\vectorA}[1]{\vec{#1}}      % arrow\)

    \( \newcommand{\vectorAt}[1]{\vec{\text{#1}}}      % arrow\)

    \( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vectorC}[1]{\textbf{#1}} \)

    \( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)

    \( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)

    \( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)

    \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    Historically, for software to run on a computer, an individual copy of the software had to be installed on the computer, either from a disk or, more recently, after being downloaded from the Internet. The concept of “cloud” computing changes this model.

    “The cloud” refers to applications, services, and data stored in data centers, server farms, and storage servers and accessed by users via the Internet. In most cases, the users don’t know where their data is actually stored. Individuals and organizations use cloud computing.

    You probably already use cloud computing in some forms. For example, if you access your email via your web browser, you are using a form of cloud computing. If you use Google Drive’s applications, you are using cloud computing. Simultaneously, these are free versions of cloud computing, big business in providing applications and data storage over the web. Commercial and large applications can also exist on the cloud, such as the entire suite of CRM from Salesforce is offered via the cloud. Cloud computing is not limited to web applications: it can also be used for phone or video streaming services.

    Advantages of Cloud Computing

    • No software to install or upgrades to maintain.
    • Available from any computer that has access to the Internet.
    • Can scale to a large number of users easily.
    • New applications can be up and running very quickly.
    • Services can be leased for a limited time on an as-needed basis.
    • Your information is not lost if your hard disk crashes or your laptop is stolen.
    • You are not limited by the available memory or disk space on your computer.

    Disadvantages of Cloud Computing

    • Your information is stored on someone else’s computer
    • You must have Internet access to use it. If you do not have access, you’re out of luck.
    • You are relying on a third party to provide these services.
    • You don’t know how your data is protected from theft or sold by your own cloud service provider.

    Cloud computing can greatly impact how organizations manage technology. For example, why is an IT department needed to purchase, configure, and manage personal computers and software when all that is really needed is an Internet connection?

    Using a Private Cloud

    Many organizations are understandably nervous about giving up control of their data and applications using cloud computing. But they also see the value in reducing the need for installing software and adding disk storage to local computers. A solution to this problem lies in the concept of a private cloud. While there are various private cloud models, the basic idea is for the cloud service provider to rent a specific portion of their server space exclusive to a specific organization. The organization has full control over that server space while still gaining some of the benefits of cloud computing.

    Virtualization

    One technology that is utilized extensively as part of cloud computing is “virtualization.”  Virtualization is a technology that allows a single physical computer hardware system to function as multiple virtual systems. Virtualization creates a layer of abstraction between physical hardware and the software running on it. This provides greater efficiency, flexibility and manageability compared to dedicated physical servers. It enables multiple operating systems and workloads to share the same physical computer's resources on demand.

    For example, using virtualization, a single computer that runs Microsoft Windows can host a virtual machine that looks like a computer with a specific Linux-based OS. This ability maximizes the use of available resources on a single machine. Companies such as EMC provide virtualization software that allows cloud service providers to provision web servers to their clients quickly and efficiently. Organizations are also implementing virtualization to reduce the number of servers needed to provide the necessary services. For more detail on how virtualization works, see this informational page from VMWare.

    Use Case Example \(\PageIndex{1}\)

    Here is an example use case for virtual machines (VMs) and virtualization:

    A software development company needs to test a web application they are building across multiple operating systems and browser combinations. What are their options:

    1)  Purchase separate physical computers for each OS and browser.

    2)  A cost-effective solution is to use virtualization to create VMs for different testing environments.  

    Which option should they take?

    Solution

    Option 1 would work, but it would be extremely expensive and time-consuming to manage.

    Option 2 is the most cost effective.  Using virtualization, on a single powerful physical server, the company can create:

    • A VM running Windows 11 and Internet Explorer
    • A VM running OSX and Safari
    • A VM running Ubuntu and Firefox
    • A VM running Android and Chrome
    • etc.

    It is as if they have 4 (or more) different machines, but they did not have to buy 4 (or more) machines.  They all run on one physical server.  The web application can then be tested across these VMs to ensure compatibility. The VMs share resources from the physical server like CPU, memory, and disk.

    When testing is complete, these VMs can be deleted easily and new ones provisioned quickly for the next round of testing. The development team can scale up and down VMs rapidly as needed.


    This page titled 3.3: Cloud Computing is shared under a CC BY 3.0 license and was authored, remixed, and/or curated by Ly-Huong T. Pham and Tejal Desai-Naik (Evergreen Valley College) .