1. Home
  2. Digital Courses
  3. Cloud Services
  4. Cloud Computing and Technologies

Cloud Computing and Technologies

Technology has become an integral part of our lives, and the cloud is no exception. Cloud computing allows businesses to store and access data, applications, and software on virtual servers hosted over the Internet without managing physical resources such as hardware. This shift in how data is managed means businesses can benefit from lower costs, increased access to information and faster development times. In this topic, we will look at the different types of cloud technologies and their benefits for businesses of all sizes.

Types of virtual machines and their characteristics

A virtual machine is a software implementation of a computer that executes programmes like a physical machine. It allows multiple operating systems and applications to run on the same physical computer, each in its virtual environment. There are several types of virtual machines, each with its own characteristics and uses.

One type is a system virtual machine, which provides a complete, self-contained environment to run its operating system and applications. This allows multiple operating systems to run on the same physical hardware, allowing for flexibility and resource efficiency.

Another type is a process virtual machine, which is designed to run a single application or programme. It provides a platform-independent environment for the programme, allowing it to be executed on any computer with the appropriate virtual machine software installed.

Finally, there are also hardware virtual machines, which allow multiple operating systems to share the same physical hardware resources. This can be used for development and running multiple applications on the same physical machine.

Virtual Machines Types

System virtual machines

A system virtual machine (SVM) is a type of virtual machine that provides a complete, self-contained environment for running an operating system and its applications. It allows multiple operating systems to run on the same physical hardware, providing flexibility and resource efficiency.

An SVM provides a virtualised version of the hardware components of a computer, including the processor, memory, storage, and other peripherals. This allows it to run its operating system and applications like a physical machine. The operating system and applications running on the SVM are isolated from the host operating system and other virtual machines, allowing them to run independently and securely.

One of the main advantages of an SVM is that it allows multiple operating systems to run on the same physical hardware, allowing for efficient use of resources. It also allows for creating multiple isolated environments, which can be useful for testing and development purposes.

SVMs are often used in cloud computing environments, allowing multiple operating systems and applications to be run on a single physical server, improving resource utilisation and cost efficiency. They are also used for running legacy applications or operating systems that may not be compatible with newer hardware or software.

Process Virtual Machines

A process virtual machine (PVM) is designed to run a single application or programme. It provides a platform-independent environment for the programme to run on, allowing it to be executed on any computer with the appropriate virtual machine software installed.

A PVM provides a virtualised version of the hardware and operating system resources needed by the program being run. This allows the programme to execute as if it were running on a physical machine, even if the host machine has a different operating system or hardware configuration. The programme running on the PVM is isolated from the host operating system and other programmes, allowing it to run independently and securely.

One of the main advantages of a PVM is that it allows a programme to be run on any computer with the appropriate virtual machine software installed, regardless of the host machine’s hardware or operating system. This allows for greater flexibility and portability of the program.

PVMs are often used to run programs that need to be isolated from the host operating system or other programmes or to run programmes that may not be compatible with the host operating system or hardware. They are also useful for testing and development, allowing programmes to be run in a controlled environment.

Network Virtual Machine

Network virtual machines (NVMs) are software-based simulations of networks that allow users to test and develop network configurations, protocols, and applications. They can be used to create virtual environments for testing and development purposes, as well as for training and education.

NVMs can simulate various types of networks, including local area networks (LANs), wide area networks (WANs), and cloud-based networks. They can also simulate different network topologies, such as star, bus, ring, and mesh.

NVMs can be useful for testing and development because they allow users to create and experiment with different network configurations and protocols without needing physical hardware. They can also be used to troubleshoot and debug network issues in a controlled environment.

NVMs can be created using software tools such as network simulators or emulators, which provide a graphical user interface for creating and configuring the virtual network. Some examples of popular network simulation tools include GNS3, VIRL, and Mininet.

Desktop Virtual Machines

Desktop virtual machines (DVMs) are virtual machines that are designed to run on a personal computer or laptop and provide a separate, isolated environment for running applications and operating systems. They allow users to run multiple operating systems and applications on the same physical machine, providing flexibility and resource efficiency.

A DVM provides a virtualised version of the hardware components of a computer, including the processor, memory, storage, and other peripherals. This allows it to run its own operating system and applications as if it were a physical machine. The operating system and applications running on the DVM are isolated from the host operating system and other virtual machines, allowing them to run independently and securely.

One of the main advantages of a DVM is that it allows users to run multiple operating systems and applications on a single physical machine, improving resource utilisation and flexibility. It also allows users to run legacy applications or operating systems that may not be compatible with newer hardware or software.

DVMs are often used for testing and development purposes and running multiple applications on the same physical machine. They can also be useful for running applications or operating systems that may not be compatible with the host operating system or hardware.

Cloud Virtual Machines

Cloud virtual machines (CVMs) are virtual machines that are hosted in the cloud, meaning they are hosted on remote servers and accessed over the Internet. They provide a way to run applications and operate systems in a cloud computing environment, allowing users to access and use computing resources on demand.

CVMs provide a virtualised version of the hardware components of a computer, including the processor, memory, storage, and other peripherals. This allows them to run their operating system and applications as if they were running on a physical machine. The operating system and applications running on the CVM are isolated from the host operating system and other virtual machines, allowing them to run independently and securely.

One of the main advantages of a CVM is that it allows users to access and use computing resources on demand rather than having to purchase and maintain their physical hardware. This can be more cost-effective and efficient, as users only pay for the resources they use. CVMs are also scalable, meaning users can easily increase or decrease the amount of resources they use as needed.

CVMs are often used in cloud computing environments for running applications and operating systems and testing and development purposes. They can also be used for hosting websites, applications, and other online services.

Hardware Requirements

To run virtual machines, a computer typically needs hardware with certain capabilities.

The specific hardware requirements will depend on the type and number of virtual machines being run and the resources required by the operating systems and applications running on the virtual machines.

 

 

 

Some of the hardware components that may be needed for virtual machines include:

  • Processor: Virtual machines require a processor that supports hardware virtualisation, which allows the computer to run multiple virtual environments concurrently.
  • Memory: Virtual machines typically require a significant amount of memory, as each virtual environment requires its own allocated memory.
  • Storage: Virtual machines may require additional storage, such as hard drives or solid-state drives, to store the operating system and applications running on the virtual machines.
  • Networking: Virtual machines may require additional networking hardware, such as network interface cards (NICs), to support the virtual environments and allow them to connect to the network.
  • Graphics: If the virtual machines will be running graphics-intensive applications, the computer may need a dedicated graphics card or other graphics hardware to support the demands of the virtual environments.

The hardware needed for virtual machines will depend on the specific requirements of the virtual environments and the applications running on them. It is important to ensure that the hardware can support the demands of the virtual machines to ensure smooth and efficient operation.

Resource Allocation

Resource allocation refers to the process of assigning and managing the resources of a computer or network, including the host, operating system (OS), memory, storage, CPU, and network. Proper resource allocation is important for ensuring that the computer or network can operate efficiently and effectively.

  • Host: The host refers to the physical computer or server running the virtual machines. It is important to ensure that the host has sufficient hardware resources, such as processor, memory, and storage, to support the virtual machines and the applications running on them.
  • Operating system (OS): Each virtual machine requires its own operating system (OS), which is responsible for managing the virtual machine’s resources and providing a platform for running applications. It is important to ensure that the host has sufficient resources to support the multiple operating systems running on the virtual machines.
  • Memory: Memory is a crucial resource for virtual machines, as it stores data and instructions needed by the operating system and applications running on the virtual machine. It is important to allocate sufficient memory to each virtual machine to ensure that it can operate efficiently.
  • Storage: Storage is used to store the operating system, applications, and data for virtual machines. It is important to allocate sufficient storage to each virtual machine to ensure that it has sufficient space for its needs.
  • CPU: The central processing unit (CPU) is responsible for executing the instructions of the operating system and applications running on the virtual machine. It is important to allocate sufficient CPU resources to each virtual machine to ensure that it can perform its tasks efficiently.
  • Network: Virtual machines may require access to the network to communicate with other devices and resources. It is important to allocate sufficient network resources to each virtual machine to ensure that it can connect to the network and communicate effectively.
Proper resource allocation is important for ensuring that the virtual machines and the applications running on them can operate efficiently and effectively. It is important to carefully plan and manage the allocation of resources to ensure that the computer or network can meet the demands of the virtual environments.

Configuration

Configuration refers to the process of setting up and configuring the resources and settings of a computer or network. In the context of virtual machines, configuration typically includes specifying resource group names, network names, subnet network names, and storage account names.

  • Resource group names: A resource group is a logical container used to group resources, such as virtual machines, together in the cloud. Specifying a resource group name allows users to manage related resources as a single entity.
  • Network names: A network is a group of interconnected computers and other devices that can communicate with each other. Specifying a network name allows users to identify and manage the network resources for the virtual machines.
  • Subnet network name: A subnet is a network portion separated from the rest of the network by a router. Specifying a subnet network name allows users to identify and manage the subnet resources for the virtual machines.
  • Storage account name: A storage account is a logical container for storing data in the cloud. Specifying a storage account name allows users to identify and manage the storage resources for the virtual machines.
Specifying resource group names, network names, subnet network names, and storage account names is an important part of configuring virtual machines in the cloud. It allows users to manage and organise the resources and settings of the virtual machines effectively.

Benefits and drawbacks of virtual machines

Virtual machines offer several benefits and drawbacks, depending on the specific use case and requirements.

Benefits of virtual machines

  • Resource efficiency: Virtual machines allow multiple operating systems and applications to run on the same physical hardware, improving resource utilisation and efficiency.
  • Flexibility: Virtual machines allow users to run multiple operating systems and applications on a single physical machine, providing flexibility and the ability to switch between different environments as needed.
  • Portability: Virtual machines can be easily transferred and run on different physical machines, allowing for greater portability of applications and operating systems.
  • Security: Virtual machines provide an isolated environment for running applications and operating systems, improving security and preventing issues from affecting the host operating system.
  • Testing and development: Virtual machines can be used for testing and development purposes, allowing users to create and experiment with different configurations and environments in a controlled setting.

Drawbacks of virtual machines

  • Resource overhead: Running virtual machines requires additional hardware resources, such as processors, memory, and storage, which can increase the overall resource requirements of the system.
  • Performance: Virtual machines may not perform as well as physical machines, as they depend on the resources of the host machine and may be subject to overhead from the virtualisation process.
  • Complexity: Virtual machines can be complex to set up and manage, requiring specialised knowledge and tools.
The benefits and drawbacks of virtual machines depend on the specific use case and requirements. They can provide resource efficiency, flexibility, and security but may involve additional overhead and complexity.

Benefits of cloud-based applications

Cloud-based applications offer several benefits, including:

  • Accessibility: Cloud-based applications can be accessed from any device with an Internet connection, allowing users to access their data and applications from anywhere.
  • Scalability: Cloud-based applications can be easily scaled up or down to meet changing demands, allowing users to adjust their resources as needed.
  • Cost-effectiveness: Cloud-based applications can be more cost-effective than traditional on-premises applications, as users only pay for their resources and do not need to purchase and maintain their hardware and infrastructure.
  • Reliability: Cloud-based applications are typically highly reliable, as they are hosted on remote servers and maintained by the provider. This can reduce the risk of downtime or data loss due to hardware or infrastructure issues.
  • Security: Cloud-based applications often offer enhanced security measures, such as data encryption and secure access controls, to protect user data and information.
  • Automated application updates: Cloud-based applications are typically updated automatically by the provider, ensuring that users always have the latest version of the application and any security updates.
  • Collaboration: Cloud-based applications often offer collaboration features, such as real-time document editing and shared file storage, allowing users to work together in real time and share files easily.
  • Reduces hardware costs: Cloud-based applications do not require users to purchase and maintain their hardware and infrastructure, reducing hardware costs and the need for IT support.
  • Version control: Cloud-based applications often offer version control features, allowing users to track document changes and revert to previous versions if needed.
  • File compatibility: Cloud-based applications often offer file compatibility with various file formats, allowing users to work with different documents and files.
  • Support: Cloud-based applications often include support from the provider, allowing users to get help and assistance if they encounter any issues.
  • Automated saving: Cloud-based applications often include automated saving, ensuring that user data and progress are saved automatically and reducing the risk of data loss.
Cloud-based applications offer accessibility, scalability, cost-effectiveness, reliability, and enhanced security compared to traditional on-premises applications.

Examples of cloud technologies

There are many well-known cloud-based applications available today, including:

Was this Topic helpful?

Related Topics