Data centers (DCs) are facilities constructed by service providers to house the personnel and hardware used in providing services to customers.
Figure 1 shows the typical components of a data center, including servers, routers, switches, firewalls, and storage area networks.
In order to share the load, it is common practice for one DC to be connected to additional DCs via a network. In order to provide the best service to the client while keeping hardware costs low for the service provider, the DCs can shift workloads from one DC to another.
Distributed computing, which describes a method in which multiple systems communicate and work together to produce the desired result, is fundamental to cloud computing (as with grid computing).
Distributed computing and grid computing are often used interchangeably, but they refer to different types of disjointed networked systems.
- Computers in a network work together to complete a variety of tasks.
- Computing on a “grid,” or a network of computers that divide up the work,
A distributed file system (DFS) is essential for a distributed computing environment. Domain Name System (DNS) is a highly successful example of a distributed file system. Rather than having a traditional top-down hierarchy, DNS instead employs a reversed tree structure that begins at the dot (.) and ends with name resolution. Databases take the form of such structures; in this case, a distributed database, as DNS is spread across numerous networks and servers.
DNS uses a database to resolve names, so in the cloud computing model of providing resources as services, DNS would use the service database as a service (DBaaS) to store its database of domain names. We’ll learn more about DBaaS in later lessons, but to give you a taste, some examples include Amazon RDS, MySQL, HBase, Hadoop, and Cassandra.
Common Applications of Virtualization – Hypervisors
Computer systems that have been virtualized are commonplace. Some examples of virtualized IT infrastructure are computer workstations, telephones, network routers, and servers. Hypervisors are pieces of software used to generate VMs. Some examples of popular hypervisors are:
- Oracle Virtual Box (Apple, Linux, Microsoft)
- Microsoft Virtual PC 2007 (Microsoft)
- Parallels (Apple)
- Microsoft Hyper–V (Microsoft)
- VMware (Apple, Linux, Microsoft)
- Citrix (Apple, Linux, Microsoft)
- Linux VServer (Linux)
The hypervisor, also called the Virtual Machine Monitor (VMM), is a piece of software that is used to
- Manage the concurrent applications and guest OSs on a host
- Support the running of multiple OSs
- Manage the host system resources
- Isolate or partition VMs
Based on where they sit in the hardware/software stack, hypervisors can be divided into two distinct classes.
Type 1 (native) – the hypervisor runs directly on the hardware, as in Figure 2.
Type 2 (hosted) – the hypervisor runs on top of an existing OS, as in Figure 3.
When building virtualized environments, the hypervisor is an essential component. All virtualization tools use hypervisor software, which may be free or commercial.
Type 1 hypervisors are those that are implemented directly on the host hardware. Here, a Windows 2008R2 server is being hosted by VMware ESXi. Take a look at Figure 4 to see the VMWare management interface and the Windows Server 2008 R2 operating system desktop.
The Virtual Box hypervisor in Figure 5 is a Type 2 hypervisor running on an OSX host operating system. Displayed alongside the host OS are guest OSes Windows 7, Ubuntu Linux, and Chrome.
In order to transition from the current data center environment to the cloud environment, virtualization is the key technology that will allow for the smooth delivery of IT services and applications. By creating a logical abstraction of the physical assets of a computer system, virtualization allows for the sharing of hardware components.
Virtualization, grid computing, and utility computing are all crucial parts of any discussion of cloud computing. Because of its core features, cloud computing can be an economical way for businesses to provide IT services.
It’s safe to say that cloud computing is a huge departure from the contracted, fixed-resource model of service-oriented computing. With cloud computing, physical infrastructure, applications, and operating systems are all transformed into virtualized, abstracted resources that can be dynamically rearranged.