Cloud Computing Technologies
Technologies used in cloud computing are:
- Grid Computing
- Service-Oriented Architecture (SOA)
- Utility Computing
Grid Computing: - Grid computing is a distributed structure of large number of computers connected to solve a complicated problem. In grid computing, servers and computers run independently and are loosely connected by the internet. Computers may connect directly or through scheduling systems.
In other words, Grid computing is defined as a processor architecture that integrates computer resources from various domains in order to achieve a primary goal. The computers on the network will work together in grid computing on a project, thus acting as a supercomputer.
Grid systems are mainly designed for resource sharing by Distributed and cluster computing on a large scale.
It divides the complex tasks into smaller pieces that are distributed to CPUs and keeps in the grid.
Advantages of Grid Computing
- Solve larger and complex problem in short time.
- Working with other organizations is simpler.
- It makes the better use of existing hardware.
Disadvantages of Grid Computing
- Grid software and its standards are still evolving.
- Learning curve to getting starting.
- Non-interactive job submission.
Service-Oriented Architecture: - SOA is a system for applications that takes applications from everyday business and splits them into separate business functions and processes called services.
Application components are delivered to the other components via a network communication protocol in service-oriented architecture systems. The basic principle of service-oriented architecture is independent of products, vendors and technologies.
A service is a separate unit of features that can be accessed remotely and independently introduced and modified, such as digital retrieval of a credit card statement.
It has four properties:
- It defines a business activity with a specific result, logically.
- It is self-contained.
- For its customers, it is a black box.
- It may consist of other underlying services.
Virtualization is a technique, which permits to share single physical resources among various organizations.
Virtualization is the designing of a virtual variant of something, like a server, a desktop, a storage device, an operating system or network resources".
The primary use of virtualization is to deliver default versioned software for cloud users.
Types of Virtualization
There are various types of virtualization.
- Hardware virtualization
- Operating system virtualization
- Server virtualization
- Storage virtualization
Hardware Virtualization: -Hardware virtualization is a type of virtualization; it is the abstraction of computing resources from the software that uses cloud resources. It includes embedding virtual machine software into the server’s hardware components. That software is known as hypervisor. The hypervisor software does the task of managing the shared physical hardware resources between the guest operating system and the host operating system. The hardware that is abstracted is indicated as actual hardware.
The definition of virtualization is an abstraction, so virtualization of hardware is achieved by abstracting the physical hardware component by using VMM or hypervisor. Hypervisor relies on command set extensions in the processors to accelerate common virtualization tasks for improving the performance. When the VMM or Virtual Machine Monitor software or any hypervisor gets direct installed on the hardware system, then the term virtualization is used.
The main task that is performed by the hyper-visor is to process monitoring, memory, and hardware controlling. When hardware virtualization is done, different operating systems can be installed, and different applications can run on it. If hardware virtualization is done for server platforms, then it is called server virtualization.
Types of Hardware Virtualization
There are various types of hardware virtualization
- Full virtualization
- Emulation virtualization
- Full Virtualization: - In full virtualization, the hardware architecture is completely simulated. Guest software doesn’t require any change to run applications.
- Emulation Virtualization:-In this, the virtual machine simulates the hardware, and the guest operating system does not require any hardware.
- Para-virtualization:-In Para-virtualization, the hardware is not simulated; rather the guest software runs its isolated system.
Advantages of hardware virtualization
- Efficient resource virtualization: - In hardware virtualization, physical resources can be shared among virtual machines. In this, if there is needed for unused resources allocated by one virtual machine can be used by another virtual machine.
- Increase IT flexibility: - By using virtualization, the fast development of hardware resources became possible.
- Low cost:-Due to server consolidation, the cost is low, and multiple operating systems can exist in a single hardware.
- Advanced hardware virtualization features: - With the advancement of modern hypervisor more difficult operations maximize the abstraction of hardware and ensure maximum
Update and this technique help to change an ongoing virtual machine from one host to another host dynamically. Operating system virtualization
Virtualization of the operating system is the use of code to allow computer hardware to run multiple instances of different operating system.
Concurrently permits you to run various applications requiring different system on one computer system.
It is also known as OS-level virtualization. It is a virtualization technology that works on the OS layer. In this, the kernel of an OS allows more than one isolated user-space instance to exist. Such instances are known as container/software or virtualization engines. In other words, OS kernel will run on a single system and offer that operating system’s functionality to copy on each of the isolated partitions.
Uses of OS Virtualization
- It is used for the virtual hosting environment.
- Used in securely allocation of finite hardware resources among a large number of different users.
- System administration uses it to consolidate server hardware by moving services on separate hosts.
- To improvised security by separating various applications to various containers.
- These types of virtualization don’t need hardware to work efficiently.
Server virtualization means partitioning of a physical server into various virtual servers. It is used to expand the server resources. In the server virtualization, the resources of the server are hidden from the users, and software is used to divide the physical server into various virtual environments called as a virtual server or private server result in the dedication of one server to perform a single application. In other words, server virtualization is the division of the physical server into various virtual servers.
Usage of Server Virtualization
Server virtualization is generally used on web servers, which reduce the cost of web hosting services with a separate web server network; multiple virtual servers can run on the same platform.
The uses of server virtualization are:-
- To centralize the server administration
- Improve the availability of server
- Helps in disaster recovery
- Ease in development and testing
- Make efficient use of server resources
Approaches used for Server Virtualization
The approaches used for server virtualization are:
- Virtual machine model
- Para-virtual machine model
- Operating system (OS) layer virtualization
Software virtualization is also called application virtualization. Software virtualization is the same as virtualization but can abstract the software installation procedure and create virtual software installations. Example: VMware software, virtual box, etc.
Most of the applications and their distributions become difficult tasks for IT firms and departments. The mechanism for installing an application varies. So, to solve this type of problem, virtualized software is introduced, which is an application that will be installed into its self- contained unit and provide software virtualization.
Advantages of Software Virtualization
- Client Deployment Became Easier: -We can easily install virtual software by copying a file to a work station or linking a file in a network.
- Easy to Manage: -Software virtualization is easy to maintain. You only need to update at one place and deploy the virtual update application to all cloud.
- Software Migration: - Without software virtualization, moving from one software platform to another platform takes more time for deploying. These impacts on an end-user system with the support of virtualized software environment support, the migration became easier.
Utility computing is a technology used in cloud computing. In this computing resources are offered to the users based on specific demand.
Utility computing is based on pay-per use model.