Cloud service models are essential for understanding how cloud computing can be utilized in
different ways. The three primary cloud service models are:
   1. Infrastructure as a Service (IaaS):
          o   Description: Provides virtualized computing resources over the internet. It
              includes virtual machines, storage, and networks.
          o   Use Case: Ideal for businesses that need to manage their own applications
              and data but want to avoid the cost and complexity of buying and managing
              physical servers.
          o   Examples: Amazon Web Services (AWS), Microsoft Azure, Google Cloud
              Platform (GCP).
   2. Platform as a Service (PaaS):
          o   Description: Offers hardware and software tools over the internet, typically
              for application development. It provides a platform allowing customers to
              develop, run, and manage applications without dealing with the
              infrastructure.
          o   Use Case: Suitable for developers who want to build applications without
              worrying about the underlying infrastructure.
          o   Examples: Google App Engine, Microsoft Azure App Services, Heroku.
   3. Software as a Service (SaaS):
          o   Description: Delivers software applications over the internet, on a
              subscription basis. The service provider manages the infrastructure and
              platforms that run the applications.
          o   Use Case: Perfect for end-users who need access to software applications
              without managing the underlying infrastructure.
          o   Examples: Google Workspace, Microsoft Office 365, Salesforce.
Sent by Copilot:
Cloud deployment models define how cloud services are made available to users. Here are
the primary cloud deployment models:
   1. Public Cloud:
          o   Description: Services are delivered over the public internet and shared across
              multiple organizations.
          o   Use Case: Ideal for businesses looking for cost-effective, scalable solutions
              without the need for extensive infrastructure management.
           o   Examples: Amazon Web Services (AWS), Microsoft Azure, Google Cloud
               Platform (GCP).
   2. Private Cloud:
           o   Description: Services are maintained on a private network, dedicated to a
               single organization.
           o   Use Case: Suitable for organizations requiring high security, control, and
               customization, often due to regulatory requirements.
           o   Examples: VMware, OpenStack, IBM Private Cloud.
   3. Hybrid Cloud:
           o   Description: Combines public and private clouds, allowing data and
               applications to be shared between them.
           o   Use Case: Useful for businesses needing flexibility, scalability, and security,
               enabling them to keep sensitive data in a private cloud while leveraging the
               public cloud for less critical resources.
           o   Examples: Microsoft Azure Stack, AWS Outposts, Google Anthos.
   4. Community Cloud:
           o   Description: Shared infrastructure for a specific community of users with
               common concerns (e.g., security, compliance).
           o   Use Case: Ideal for organizations with shared goals and requirements, such as
               government agencies or healthcare institutions.
           o   Examples: Government Cloud, Healthcare Cloud.
   5. Multi-Cloud:
           o   Description: Utilizes multiple cloud services from different providers to avoid
               dependency on a single vendor.
           o   Use Case: Beneficial for organizations seeking to optimize performance, cost,
               and redundancy by leveraging the strengths of various cloud providers.
           o   Examples: Using AWS for compute services, Azure for machine learning, and
               GCP for data analytics.
Each model offers unique advantages and can be chosen based on specific business needs
and goals. Do you have a particular project or requirement in mind that you’re considering
for cloud deployment?
     CHARACTERISTICS OF CLOUD
On-demand self-services: The Cloud computing services does not require
    any human administrators, user themselves are able to provision,
    monitor and manage computing resources as needed.
Broad network access: The Computing services are generally provided
    over standard networks and heterogeneous devices.
Rapid elasticity: The Computing services should have IT resources that are
    able to scale out and in quickly and on a need basis. Whenever the
    user require services it is provided to him and it is scale out as soon
    as its requirement gets over.
Resource pooling: The IT resource (e.g., networks, servers, storage,
    applications, and services) present are shared across multiple
    applications and occupant in an uncommitted manner. Multiple
    clients are provided service from a same physical resource.
Measured service: The resource utilization is tracked for each application
   and occupant, it will provide both the user and the resource provider
   with an account of what has been used. This is done for various
   reasons like monitoring billing and effective use of resource.
Multi-tenancy: Cloud computing providers can support multiple tenants
    (users or organizations) on a single set of shared resources.
Virtualization: Cloud computing providers use virtualization technology to
     abstract underlying hardware resources and present them as logical
     resources to users.
Resilient computing: Cloud computing services are typically designed with
     redundancy and fault tolerance in mind, which ensures high
     availability and reliability.
Flexible pricing models: Cloud providers offer a variety of pricing models,
     including pay-per-use, subscription-based, and spot pricing, allowing
     users to choose the option that best suits their needs.
Security: Cloud providers invest heavily in security measures to protect
    their users’ data and ensure the privacy of sensitive information.
     Automation: Cloud computing services are often highly automated,
         allowing users to deploy and manage resources with minimal manual
         intervention.
     Sustainability: Cloud providers are increasingly focused on sustainable
          practices, such as energy-efficient data center and the use of
          renewable energy sources, to reduce their environmental impact.
     BENEFITS OF CLOUD
     Cost Efficiency: Cloud providers provide a pricing model that permits
          customers to pay only for the sources they consume. This gets rid of
          the need for advanced infrastructure investments and allows price
          efficiency as businesses scale resources based totally on need.
     Scalability: Cloud services provide the potential to scale sources up or
          down speedily and respond to changing workloads and commercial
          organization requirements. This flexibility ensures that agencies can
          correctly manipulate fluctuating needs without over-provisioning.
     Accessibility and Flexibility: Cloud computing allows one to get access to
         applications and facts remotely from everywhere with an internet
         connection. This fosters collaboration among geographically
         dispersed groups and allows users to work flexibly.
     Rapid Deployment: Cloud provider models facilitate rapid deployment of
         programs. Users can provision sources and deploy programs quickly,
         decreasing time-to-market and allowing faster innovation.
     Managed Services: Cloud providers offer more than a few managed
        offerings, managing duties together with safety, tracking, and safety.
        This helps agencies dump operational obligations, pay attention to
        relevant skills, and experience the records of cloud carriers.
Automatic Updates and Patch Management: Cloud providers manipulate
software application updates, patches, and protection functions robotically.
This ensures that clients always have to get proper entry to the required
abilities and protection upgrades without the need for guide intervention.
2.Evolution of Cloud Computing
Cloud Computing has evolved from the Distributed system to the current
    technology. Cloud computing has been used by all types of
    businesses, of different sizes and fields.
1. Distributed Systems
In the networks, different systems are connected. When they target to
     send the message from different independent systems which are
     physically located in various places but are connected through the
     network. Some examples of distributed systems are Ethernet which
     is a LAN technology, Telecommunication network, and parallel
     processing. The Basic functions of the distributed systems are −
•   Resource Sharing − The Resources like data, hardware, and software
     can be shared between them.
•   Open-to-all − The software is designed and can be shared.
•   Fault Detection − The error or failure in the system is detected and
     can be corrected.
Apart from the functions, the main disadvantage is that all the plan has to
    be in the same location and this disadvantage is overcome by the
    following systems −
•   Mainframe Computing
•   Cluster Computing
•   Grid Computing
2. Mainframe Computing
It was developed in the year 1951 and provides powerful features.
     Mainframe Computing is still in existence due to its ability to deal
     with a large amount of data. For a company that needs to access and
     share a vast amount of data then this computing is preferred. Among
     the four types of computers, mainframe computer performs very
     fast and lengthy computations easily.
The type of services handled by them is bulk processing of data and
     exchanging large-sized hardware. Apart from the performance,
     mainframe computing is very expensive.
3. Cluster Computing
In Cluster Computing, the computers are connected to make it a single
     computing. The tasks in Cluster computing are performed
     concurrently by each computer also known as the nodes which are
     connected to the network. So the activities performed by any single
     node are known to all the nodes of the computing which may
     increase the performance, transparency, and processing speed.
To eliminate the cost, cluster computing has come into existence. We can
     also resize the cluster computing by removing or adding the nodes.
4. Grid Computing
It was introduced in the year 1990. As the computing structure includes
     different computers or nodes, in this case, the different nodes are
     placed in different geographical places but are connected to the
     same network using the internet.
The other computing methods seen so far, it has homogeneous nodes
     that are located in the same place. But in this grid computing, the
     nodes are placed in different organizations. It minimized the
     problems of cluster computing but the distance between the nodes
     raised a new problem.
5. Web 2.0
This computing lets the users generate their content and collaborate with
     other people or share the information using social media, for
     example, Facebook, Twitter, and Orkut. Web 2.0 is a combination of
     the second-generation technology World Wide Web (WWW) along
     with the web services and it is the computing type that is used today.
6. Virtualization
It came into existence 40 years back and it is becoming the current
     technique used in IT firms. It employs a software layer over the
     hardware and using this it provides the customer with cloud-based
     services.
7. Utility Computing
Based on the need of the user, utility computing can be used. It provides
    the users, company, clients or based on the business need the data
    storage can be taken for rent and used.
8.service orientation:
Service orientation acts as a reference model for cloud computing it
     supports low-cost, flexible and evolvable applications
9.cloud computing:
Cloud computing means storing and accessing the data and programs on
    remote servers that are hosted on the internet instead of the
    computers hard drive or local server it is referred as internet based
    computing
4.Levels of Virtualizations Implementations
Virtualization is the capability to run multiple instances of computer
     systems on the same hardware. The way hardware is being used can
     vary based on the configuration of the virtual machine.
The best example of this is your own desktop PC or laptop. You might be
     running Windows on your system, but with virtualization, now you
     can also run Macintosh or Linux Ubuntu on it.
The Five Levels of Implementing Virtualization
1. Instruction Set Architecture Level (ISA)
2. Hardware Abstraction Level (HAL)
3. Operating System Level
4. Library Level
5. Application Level
1. Instruction Set Architecture Level (ISA)
• In ISA, virtualization works through an ISA emulation.
This is helpful to run loads of inherited code which was originally written
      for different hardware configurations.
• These codes can be run on the virtual machine through an ISA.
The basic emulation, through, requires an interpreter. This interpreter
     interprets the source code and converts it to a hardware readable
     format for processing.
2. Hardware Abstraction Level (HAL)
As the name suggests, this level helps perform virtualization at the
     hardware level. It uses a bare hypervisor for its functioning.
This level helps form the virtual machine and manages the hardware
      through virtualization
It enables virtualization of each hardware component such asI/O devices,
     processors, memory, etc.
This way multiple users can use the same hardwarewith numerous
     instances of virtualization at the same time.
3. Operating System Level
At the operating system level, the virtualization model creates an abstract
     layer between the applications and the OS.
It is like an isolated container on the physical server and operating system
        that utilizes hardware and software. Each of these containers'
        functions like servers.
When the number of users is high, and no one is willing to share
   hardware, this level of virtualization comes in handy.
4. Library Level
OS system calls are lengthy and bulky. Which is why applicationsopt for
     APIs from user-level libraries.
Library interfacing virtualization is made possible by API hooks. These API
     hooks control the communication link from the system to the
     applications.
5. Application Level
Application-level virtualization comes handy when you wish to virtualize
     only an application. It does not virtualize an entire platform or
     environment.
On an operating system, applications work as one process. Hence it is also
    known as process-level virtualization. (Wizard)
It is generally useful when running virtual machines with high-level
       languages. Here, the application sits on top of the virtualization
       layer, which is above the application program.