1
Cloud Infrastructure
(Networking)
2
INDEX
Sr. No. Particular Page Number
1 Introduction to Cloud Computing 4
2 Web Application 10
3 Cloud Server Virtualisation 14
4 Installing & Configuring Virtual Server 21
5 Virtualisation 39
6 Window Server 2008 Hyper –V 46
7 Configuration & Management of Hyper – V 53
8 Google App & Microsoft Office 365 61
9 Web Application Security 74
10 Cloud Interoperability and Solution 80
11 Backup and Recovery of cloud data 85
3
Introduction
The boom in cloud computing over the past few years has led to a situation that is common to many innovations and new technologies: many have heard of it, but far fewer actually understand what it is and, more importantly, how it can benefit them. This is an attempt to clarify these issues by offering a comprehensive definition of cloud computing, and the business benefits it can bring.
In an attempt to gain a competitive edge, businesses are increasingly looking for new and innovative ways to cut costs while maximizing value – especially now, during a global economic downturn. They recognize that they need to grow, but are simultaneously under pressure to save money. This has forced the realization that new ideas and methods may produce better results than the tried and tested formulas of yesteryear. It is the growing acceptance of innovative technologies that has seen cloud computing become the biggest buzzword in IT.
However, before an organization decides to make the jump to the cloud, it is important to understand what, why, how and from whom. Not all cloud computing providers are the same. The range and quality of services on offer varies tremendously, so we recommend that you investigate the market thoroughly, with a clearly Defined set of requirements in mind.
4
Chapter – 1
Introduction to Cloud Computing
What is ‘cloud computing’?Many people are confused as to exactly what cloud computing is, especially as the term can be used to mean almost anything. Roughly, it describes highly scalable computing resources provided as an external service via the internet on a pay-as-you-go basis. The cloud is simply a metaphor for the internet, based on the symbol used to represent the worldwide network in computer network diagrams.
Economically, the main appeal of cloud computing is that customers only use what they need, and only pay for what they actually use. Resources are available to be accessed from the cloud at any time, and from any location via the internet. There’s no need to worry about how things are being maintained behind the scenes – you simply purchase the IT service you require as you would any other utility. Because of this, cloud computing has also been called utility computing, or ‘IT on demand’.
This new, web-based generation of computing utilizes remote servers housed in highly secure data centres for data storage and management, so organizations no longer need to purchase and look after their IT solutions in-house.
What does it comprises
Cloud computing can be visualized as a pyramid consisting of three sections:
Cloud Application
This is the apex of the cloud pyramid, where applications are run and interacted with via a web browser, hosted desktop or remote client. A hallmark of commercial cloud computing applications is that users never need to purchase expensive software licenses themselves. Instead, the cost is incorporated into the subscription fee. A cloud application eliminates the need to install and run the application on the customer's own computer, thus removing the burden of software maintenance, ongoing operation and support.
Cloud Platform
The middle layer of the cloud pyramid, which provides a computing platform or framework as a service. A cloud computing platform dynamically provisions, configures, reconfigures and de-provisions servers as needed to cope with increases or decreases in demand. This in reality is a distributed computing model, where many services pull together to deliver an application or infrastructure request.
Cloud Infrastructure
The foundation of the cloud pyramid is the delivery of IT infrastructure through virtualisation.
Virtualisation allows the splitting of a single physical piece of hardware into independent, self governed environments, which can be scaled in terms of CPU, RAM, Disk and other elements. The infrastructure
5
includes servers, networks and other hardware appliances delivered as either Infrastructure “Web
Services”, “farms” or "cloud centres". These are then interlinked with others for resilience and additional capacity.
Types of Cloud Computing 1. Public Cloud
Public cloud (also referred to as ‘external’ cloud) describes the conventional meaning of cloud computing: scalable, dynamically provisioned, often virtualised resources available over the Internet from an off-site third-party provider, which divides up resources and bills its customers on a ‘utility’ basis. An example is Think Grid, a company that provides a multi-tenant architecture for supplying services such as Hosted Desktops, Software as a Service and Platform as a Service. Other popular cloud vendors include Salesforce.com, Amazon EC2 and Flexi scale.
2. Private Cloud
Private cloud (also referred to as ‘corporate’ or ‘internal’ cloud) is a term used to denote a proprietary Computing architecture providing hosted services on private networks. This type of cloud computing is generally used by large companies, and allows their corporate network and data centre administrators to effectively become in-house ‘service providers’ catering to ‘customers’ within the corporation. However, it negates many of the benefits of cloud computing, as organizations still need to purchase, set up and manage their own clouds.
3. Hybrid Cloud
It has been suggested that a hybrid cloud environment combining resources from both internal and external providers will become the most popular choice for enterprises. For example, a company could choose to use a public cloud service for general computing, but store its business-critical data within its own data centre. This may be because larger organisations are likely to have already invested heavily in the infrastructure required to provide resources in-house – or they may be concerned about the security of public clouds.
Services used on the cloud
There are numerous services that can be delivered through cloud computing, taking advantage of the Distributed cloud model. Here are some brief descriptions of a few of the most popular cloud-based IT Solutions:
1. Hosted Desktops
Hosted desktops remove the need for traditional desktop PCs in the office environment, and reduce the cost of providing the services that you need. A hosted desktop looks and behaves like a regular desktop PC, but the software and data customers use are housed in remote, highly secure data centre’s, rather than on their own machines. Users can simply access their hosted desktops via an internet connection from anywhere in the world, using either an existing PC or laptop or, for maximum cost efficiency, a specialised device called a thin client.
2. Hosted Email
As more organisations look for a secure, reliable email solution that will not cost the earth, they are Increasingly turning to hosted Microsoft Exchange email plans. Using the world’s premier email platform, this service lets organisations both large and small reap the benefits of using MS Exchange accounts
6
without having to invest in the costly infrastructure themselves. Email is stored centrally on managed servers, providing redundancy and fast connectivity from any location. This allows users to access their email, calendar, contacts and shared files by a variety of means, including Outlook, Outlook Mobile Access (OMA) and Outlook Web Access (OWA).
3. Hosted Telephony (VOIP)
VOIP (Voice Over IP) is a means of carrying phone calls and services across digital internet networks. In terms of basic usage and functionality, VOIP is no different to traditional telephony, and a VOIP-enabled telephone works exactly like a 'normal' one, but it has distinct cost advantages. A hosted VOIP system replaces expensive phone systems, installation, handsets, BT lines and numbers with a simple, cost-efficient alternative that is available to use on a monthly subscription basis. Typically, a pre-configured handset just needs to be plugged into your broadband or office network to allow you to access features such as voicemail, IVR and more.
4. Cloud Storage
Cloud storage is growing in popularity due to the benefits it provides, such as simple, CapEx-free costs, anywhere access and the removal of the burden of in-house maintenance and management. It is basically the delivery of data storage as a service, from a third party provider, with access via the internet and billing calculated on capacity used in a certain period (e.g. per month).
5. Dynamic Servers
Dynamic servers are the next generation of server environment, replacing the conventional concept of the dedicated server. A provider like Think Grid gives its customers access to resources that look and feel exactly like a dedicated server, but that are fully scalable. You can directly control the amount of processing power and space you use, meaning you don't have to pay for hardware you don't need. Typically, you can make changes to your dynamic server at any time, on the fly, without the costs associated with moving from one server to another.
Why switch from traditional IT to the cloud
There are many reasons why organisations of all sizes and types are adopting this model of IT. It provides a way to increase capacity or add capabilities on the fly without investing in new infrastructure, training new personnel, or licensing new software. Ultimately, it can save companies a considerable amount of money.
1. Removal / reduction of capital expenditure
Customers can avoid spending large amounts of capital on purchasing and installing their IT infrastructure or applications by moving to the cloud model. Capital expenditure on IT reduces available working capital for other critical operations and business investments. Cloud computing offers a simple operational expense that is easier to budget for month-by-month, and prevents money being wasted on depreciating assets. Additionally, customers do not need to pay for excess resource capacity in-house to meet fluctuating demand.
2. Reduced administration costs
IT solutions can be deployed extremely quickly and managed, maintained, patched and upgraded remotely by your service provider. Technical support is provided round the clock by reputable providers like ThinkGrid for no extra charge, reducing the burden on IT staff. This means that they are free to focus on business-critical tasks, and businesses can avoid incurring additional manpower and training costs. IT
7
giant IBM has pointed out that cloud computing allows organisations to streamline procurement processes, and eliminates the need to duplicate certain computer administrative skills related to setup, configuration, and support.
3. Improved resource utilisation
Combining resources into large clouds reduces costs and maximizes utilisation by delivering resources only when they are needed. Businesses needn’t worry about over-provisioning for a service whose use does not meet their predictions, or under-provisioning for one that becomes unexpectedly popular. Moving more and more applications, infrastructure, and even support into the cloud can free up precious time, effort and budgets to concentrate on the real job of exploiting technology to improve the mission of the company. It really comes down to making better use of your time – focusing on your business and allowing cloud providers to manage the resources to get you to where you need to go. Sharing computing power among multiple tenants can improve utilisation rates, as servers are not left idle, which can reduce costs significantly while increasing the speed of application development. A side effect of this approach is that computer capacity rises dramatically, as customers do not have to engineer for peak loads.
4. Economies of scale
Cloud computing customers can benefit from the economies of scale enjoyed by providers, who typically use very large-scale data centre’s operating at much higher efficiency levels, and multi-tenant architecture to share resources between many different customers. This model of IT provision allows them to pass on savings to their customers.
5. Scalability on demand
Scalability and flexibility are highly valuable advantages offered by cloud computing, allowing customers to react quickly to changing IT needs, adding or subtracting capacity and users as and when required and responding to real rather than projected requirements. Even better, because cloud-computing follows a utility model in which service costs are based on actual consumption, you only pay for what you use. Customers benefit from greater elasticity of resources, without paying a premium for large scale.
6. Quick and easy implementation
Without the need to purchase hardware, software licenses or implementation services, a company can get its cloud-computing arrangement off the ground in minutes. Helps smaller businesses compete historically; there has been a huge disparity between the IT resources available to small businesses and to enterprises. Cloud computing has made it possible for smaller companies to compete on an even playing field with much bigger competitors. ‘Renting’ IT services instead of investing in hardware and software makes them much more affordable, and means that capital can instead be used for other vital projects. Providers like ThinkGrid take enterprise technology and offer SMBs services that would otherwise cost hundreds of thousands of pounds for a low monthly fee.
7. Quality of service
Your selected vendor should offer 24/7 customer support and an immediate response to emergency Situations.
8. Guaranteed uptime, SLAs.
Always ask a prospective provider about reliability and guaranteed service levels – ensure your applications and/or services are always online and accessible.
8 9. Anywhere Access
Cloud-based IT services let you access your applications and data securely from any location via an internet connection. It’s easier to collaborate too; with both the application and the data stored in the cloud, multiple users can work together on the same project, share calendars and contacts etc. It has been pointed out that if your internet connection fails, you will not be able to access your data. However, due to the ‘anywhere access’ nature of the cloud, users can simply connect from a different location – so if your office connection fails and you have no redundancy, you can access your data from home or the nearest Wi-Fi enabled point. Because of this, flexible / remote working is easily enabled, allowing you to cut overheads, meet new working regulations and keep your staff happy.
10.Technical Support
A good cloud computing provider will offer round the clock technical support. Think Grid customers, for instance, are assigned one of our support pods, and all subsequent contact is then handled by the same small group of skilled engineers, who are available 24/7. This type of support model allows a provider to build a better understanding of your business requirements, effectively becoming an extension of your team.
11.Disaster recovery / backup
Recent research has indicated that around 90% of businesses do not have adequate disaster recovery or Business continuity plans, leaving them vulnerable to any disruptions that might occur. Providers like ThinkGrid can provide an array of disaster recovery services, from cloud backup (allowing you to store important files from your desktop or office network within their data centre’s) to having ready-to-go desktops and services in case your business is hit by problems. Hosted Desktops (or Hosted VDI) from ThinkGrid, for example, mean you don’t have to worry about worry about data backup or disaster recovery, as this is taken care of as part of the service. Files are stored twice at different remote locations to ensure that there's always a copy available 24 hours a day, 7 days per week.
Concerned about security
Many companies that are considering adopting cloud computing raise concerns over the security of data being stored and accessed via the internet. What a lot of people don’t realise is that good vendors adhere to strict privacy policies and sophisticated security measures, with data encryption being one example of this. Companies can choose to encrypt data before even storing it on a third-party provider’s servers. As a result, many cloud-computing vendors offer greater data security and confidentiality than companies that choose to store their data in-house. However, not all vendors will offer the same level of security. It is recommended that anyone with concerns over security and access should research vendors' policies before using their services. Technology analyst and consulting firm Gartner lists seven security issues to bear in mind when considering a particular vendor’s services:
1. Privileged user access—enquire about who has access to data and about the hiring and management of such administrators
2. Regulatory compliance—makes sure a vendor is willing to undergo external audits and/or security Certifications.
3. Data location—ask if a provider allows for any control over the location of data
4. Data segregation—make sure that encryption is available at all stages and that these "encryption Schemes were designed and tested by experienced professionals".
9 Restoration and, if so, how long that would take.
6. Investigative Support—inquire whether a vendor has the ability to investigate any inappropriate or illegal activity
7. Long-term viability—ask what will happen to data if the company goes out of business; how will data be returned and in what format Generally speaking, however, security is usually improved by keeping data in one centralised location. In high security data centre’s like those used by Think Grid, security is typically as good as or better than traditional systems, in part because providers are able to devote resources to solving security issues that many customers cannot afford.
10
Chapter – 2
Web Application
In earlier computing models, e.g. in client-server, the load for the application was shared between code on the server and code installed on each client locally. In other words, an application had its own client program which served as its user interface and had to be separately installed on each user's personal computer. An upgrade to the server-side code of the application would typically also require an upgrade to the client-side code installed on each user workstation, adding to the support cost and decreasing productivity.
A web based application is a software package that can be accessed through the web browser. The software and database reside on a central server rather than being installed on the desktop system and is accessed over a network.”
Web based applications are the ultimate way to take advantage of today's technology to enhance your organizations productivity & efficiency. Web based application gives you an opportunity to access your business information from anywhere in the world at anytime. It also facilitates you to save time & money and improve the interactivity with your customers and partners.
It allow your administration staff to work from any location and sales staff to access information remotely 24 hours a day, 7 days a week. With a computer connected to the Internet, a web browser and the right user name and password you can access the systems from any location. Web-based applications are easy to use and can be implemented without interrupting your existing work process. Whether you need a content managed solution or an e-commerce system, we can develop a customized web application that fulfills your business requirements.
The Pros and Cons of Cloud Service Development
Why would you choose to develop new applications using the cloud services model? There are several good reasons to do—and a few reasons to be, perhaps, a bit more cautious.
Advantages of Cloud Development
One of the underlying advantages of cloud development is that of economy of scale. By taking advantage of the infrastructure provided by a cloud computing vendor, a developer can offer better, cheaper, and more reliable applications than is possible within a single enterprise. The application can utilize the full resources of the cloud, if needed—without requiring a company to invest in similar physical resources. Speaking of cost, because cloud services follow the one-to-many model, cost is significantly reduced over individual desktop program deployment. Instead of purchasing or licensing physical copies of software programs (one for each desktop), cloud applications are typically “rented,” priced on a per-user basis. It’s more of a subscription model than an asset purchase (and subsequent depreciation) model, which means there’s less up-front investment and a more predictable monthly expense stream. IT departments like cloud applications because all management activities are managed from a central location rather than from individual sites or workstations.
This enables IT staff to access applications remotely via the web. There’s also the advantage of quickly outfitting users with the software they need (known as “rapid provisioning), and adding more computing resources as more users tax the system (automatic scaling). When you need more storage space or bandwidth, companies can just add another virtual server from the cloud. It’s a lot easier than purchasing, installing, and configuring a new server in their data center.
11
For developers, it’s also easier to upgrade a cloud application than with traditional desktop software. Application features can be quickly and easily updated by upgrading the centralized application, instead of manually upgrading individual applications located on each and every desktop PC in the organization. With a cloud service, a single change affects every user running the application, which greatly reduces the developer’s workload.
Disadvantages of Cloud Development
Perhaps the biggest perceived disadvantage of cloud development is the same one that plagues all web-based applications: Is it secure? Web-web-based applications have long been considered potential security risks. For this reason, many businesses prefer to keep their applications, data, and IT operations under their own control.
That said, there have been few instances of data loss with cloud-hosted applications and storage. It could even be argued that a large cloud hosting operation is likely to have better data security and redundancy tools than the average enterprise. In any case, however, even the perceived security danger from hosting critical data and services offsite might discourage some companies from going this route.
Another potential disadvantage is what happens if the cloud computing host goes offline. Although most companies say this isn’t possible, it has happened. Amazon’s EC2 service suffered a massive outage on February 15, 2008, that wiped out some customer application data. (The outage was caused by a software deployment that erroneously terminated an unknown number of user instances.) For clients expecting a safe and secure platform, having that platform go down and your data disappear is a somewhat rude awakening. And, if a company relies on a third-party cloud platform to host all of its data with no other physical backup, that data can be at risk.
Types of Cloud Service Development
The concept of cloud services development encompasses several different types of development. Let’s look at the different ways a company can use cloud computing to develop its own business applications. Software as a Service
Software as a service, or SaaS, is probably the most common type of cloud service development. With SaaS, a single application is delivered to thousands of users from the vendor’s servers. Customers don’t pay for owning the software; rather, they pay for using it. Users access an application via an API
Accessible over the web. Each organization served by the vendor is called a tenant, and this type of arrangement is called a multitenant architecture. The vendor’s servers are virtually
partitioned so that each organization works with a customized virtual application instance. For customers; SaaS requires no upfront investment in servers or software licensing. For the application developer, there is only one application to maintain for multiple clients.
Many different types of companies are developing applications using the SaaS model. Perhaps the best-known SaaS applications are those offered by Google to its consumer base.
12 Platform as a Service
In this variation of SaaS, the development environment is offered as a service. The developer uses the “building blocks” of the vendor’s development environment to create his own custom application. It’s kind of like creating an application using Legos; building the app is made easier by use of these predefined blocks of code, even if the resulting app is somewhat constrained by the types of code blocks available.
Web Services
A web service is an application that operates over a network—typically, over the Internet. Most typically, a web service is an API that can be accessed over the Internet. The service is then executed on a remote system that hosts the requested services. This type of web API lets developers exploit shared functionality over the Internet, rather than deliver their own full-blown applications. The result is a customized web-based application where a large hunk of that application is delivered by a third party, thus easing development and bandwidth demands for the custom program.
A good example of web services are the “mashups” created by users of the Google Maps API. With these custom apps, the data that feeds the map is provided by the developer, where the engine that creates the map itself is provided by Google. The developer doesn’t have to code or serve a map
application; all he has to do is hook into Google’s web API.
As you might suspect, the advantages of web services include faster (and lower-cost) application development, leaner applications, and reduced storage and bandwidth demands. In essence, web services keep developers from having to reinvent the wheel every time they develop a new application. By reusing code from the web services provider, they get a jump-start on the development of their own applications. On-Demand Computing
As the name implies, on-demand computing packages computer resources (processing, storage, and so forth) as a metered service similar to that of a public utility. In this model, customers pay for as much or as little processing and storage as they need. Companies that have large demand peaks followed by much lower normal usage periods particularly benefit from utility computing. The company pays more for their peak usage, of course, but their bills rapidly decline when the peak
ends and normal usage patterns resume. Clients of on-demand computing services essentially use these services as offsite virtual servers. Instead of investing in their own physical infrastructure, a company operates on a pay-as-you-go plan with a cloud services provider.
On-demand computing itself is not a new concept, but has acquired new life thanks to cloud computing. In previous years, on-demand computing was provided from a single server via some sort of time-sharing arrangement.
Today, the service is based on large grids of computers operating as a single cloud.
Discovering Cloud Services Development Services and Tools
As you’re aware, cloud computing is at an early stage of its development. This can be seen by observing the large number of small and start-up companies offering cloud development tools. In a more established industry, the smaller players eventually fall by the wayside as larger companies take center stage.
13
That said, cloud services development services and tools are offered by a variety of companies, both large and small. The most basic offerings provide cloud-based hosting for applications developed from scratch. The more fully featured offerings include development tools and pre-built applications that
developers can use as the building blocks for their own unique web-based applications. So let’s settle back and take a look at who is offering what in terms of cloud service development. It’s an interesting mix of companies and services.
Amazon
That’s right, Amazon, one of the largest retailers on the Internet, is also one of the primary providers of cloud development services. Think of it this way: Amazon has spent a lot of time and money setting up a multitude of servers to service its popular website, and is making those vast hardware resources available for all developers to use.
Google App Engine
Google is a leader in web-based applications, so it’s not surprising that the company also offers cloud development services. These services come in the form of the Google App Engine, which enables developers to build their own web applications utilizing the same infrastructure that powers Google’s powerful applications.
The Google App Engine provides a fully integrated application environment. Using Google’s development tools and computing cloud, App Engine applications are easy to build, easy to maintain, and easy to scale.
IBM
It’s not surprising, given the company’s strength in enterprise-level computer hardware, that IBM is offering a cloud computing solution. The company is targeting small- and medium-sized businesses with a suite of cloud-based on demand services via its Blue Cloud initiative. Blue Cloud is a series of cloud computing offerings that enables enterprises to distribute their computing needs across a globally accessible resource grid.
One such offering is the Express Advantage suite, which includes data backup and recovery, email continuity and archiving, and data security functionality— some of the more data-intensive processes handled by a typical IT department.
14
Chapter – 3
Cloud Server Virtualisation
Virtualization abstracts the underlying physical structure of various technologies. Virtualization, in computing, is the creation of a virtual (rather than actual) version of something, such as a hardware platform, operating system, a storage device or network resources
Server virtualization
– Creates multiple isolated environments
– Allows multiple OS’s and workloads to run on the same physical hardware – Solves the problem of tight coupling between OS’s and hardware
Y ou Know Virtualization Is Real When It Makes It to delibert
15 Virtual Machines
Virtual machines provide:
– Hardware independence – Guest VM sees the same hardware regardless of the host hardware
– Isolation– VM’s operating system is isolated from the host operating system
– Encapsulation – Entire VM encapsulated into a single file
Benefits of Virtualization
Simplified administration Software Development Hardware independence/portability Testing / Quality Assurance
Increased hardware utilization Product evaluations /demonstrations Server consolidation Training
Decreased provisioning times Disaster Recovery Improved security
16 Top Reasons for Virtualization
1 Reduce Physical Infrastructure Cost
(E.g. Power & Cooling)
Minimize Lost Revenue Due to downtime
Virtualization Reduce Energy Consumption
Highest consolidation rates on most secure and reliable virtualization platform
Safely improve utilization rates 80% energy reduction
Dynamic server and storage migration Power off unneeded servers in real-time Migrate storage dynamically
25% energy reduction
Host desktop PCs in the datacenter Use thin clients; double refresh cycle Reduce storage for similar desktop images 70% energy reduction17 Virtualisation software Available Today
VMware
• VMware released ESX and GSX 1.0 in 2001. Virtual Center released in 2003. – Has the most experience
– Is the farthest along – Very mature product suite
– Focus is on integrating IT process automation around virtualization Citrix
• Citrix Xenserver acquired Xensource on August 15th, 2007 – Has working low cost server virtualization solution – Focus is on client virtualization
Microsoft
• Microsoft Hyper-V (formerly ‘Windows Server Virtualization’) – Standalone version released in October 2008
– Real solution (one with HA) has been out since August 2009. What is Available from VMware
VMware’s vSphere – Key Features
Market Leader
Virtualizes 54 Guest OSs
Server virtualization solution with HA and load balancing
Enhanced vMotion Memory Over commit Transparent Page Sharing Patch Management Fault Tolerance built in
Certified on over 450 servers FC, iSCSI, NFS Supported Power Management Distributed switch Supports storage management Storage vMotion
18 The Disadvantages of Virtualization
• Virtualization may not work well for: – Resource-intensive applications
• VMs may have RAM/CPU/SMP limitations – Performance testing
– Hardware compatibility testing – Specific hardware requirements • Custom hardware devices
• Some hardware architectures or features are impossible to virtualized – Certain registers or state not exposed
– Unusual devices and device control – Clocks, time, and real-time behavior Server Virtualization Techniques
There are three ways to create virtual servers: full virtualization, Para - Virtualization and OS-level virtualization. They all share a few common traits. The physical server is called the host. The virtual servers are called guests. The virtual servers behave like physical machines. Each system uses a different approach to allocate physical server resources to virtual server needs.
Full virtualization - uses a special kind of software called a hypervisor. The hypervisor interacts directly with the physical server's CPU and disk space. It serves as a platform for the virtual servers' operating systems. The hypervisor keeps each virtual server completely independent and unaware of the other virtual servers running on the physical machine. Each guest server runs on its own OS -- you can even have one guest running on Linux and another on Windows.
The hypervisor monitors the physical server's resources. As virtual servers run applications, the hypervisor relays resources from the physical machine to the appropriate virtual server. Hypervisors have their own processing needs, which mean that the physical server must reserve some processing power and resources to run the hypervisor application. This can impact overall server performance and slow down applications. Para-virtualization - Approach is a little different. Unlike the full virtualization technique, the guest servers in a para-virtualization system are aware of one another. A para-virtualization hypervisor doesn't need as much processing power to manage the guest operating systems, because each OS is already aware of the demands the other operating systems are placing on the physical server. The entire system works together as a cohesive unit.
OS-level virtualization - Approach doesn't use a hypervisor at all. Instead, the virtualization capability is part of the host OS, which performs all the functions of a fully virtualized hypervisor. The biggest limitation of this approach is that all the guest servers must run the same OS. Each virtual server remains independent from all the others, but you can't mix and match operating systems among them. Because all the guest operating systems must be the same, this is called a homogeneous environment.
Which method is best? That largely depends on the network administrator's needs. If the administrator's physical servers all run on the same operating system, then an OS-level approach might work best. OS-level systems tend to be faster and more efficient than other methods. On the other hand, if the administrator is running servers on several different operating systems, para-virtualization might be a better choice. One
19
potential drawback for para-virtualization systems is support -- the technique is relatively new and only a few companies offer virtualization software. More companies support full virtualization, but interest in para-virtualization is growing and may replace full para-virtualization in time.
VPS (Virtual Private Server)
A VPS, or Virtual Private Server, is a logical segment of a physical machine set aside for the exclusive use of a single business or other type of entity. Although a single server can run several VPS configurations, each segment offers the same functionality that a dedicated server would provide.
What is VPS Hosting?
Most small to medium-sized businesses prefer to use web hosting services instead of maintaining a proprietary, in-house server room for most, if not all, of their computing needs. Instead of making do with outdated machines or dealing with expensive upgrades, out-sourced hosting allows both individuals and organizations to have the use of state-of-the-art equipment with 24/7 support for a mere fraction of the cost. In the past, interested clients had two choices in the hosting
realm: shared or dedicated. Shared hosting is exactly what it sounds like. Multiple clients use a single server to run a variety of applications. While this works well in theory, individual systems were often impacted when another application on the shared server used more than its fair share of bandwidth, storage space, or CPU cycles.
A dedicated server eliminates this problem by providing an individual server for each client. However, this option can be very expensive for anyone on a tight budget. Virtualization through VPS hosting bridges the gap between shared and dedicated hosting by providing an affordable solution to allow clients to share a physical machine without the ability to impact neighboring systems.
How Does a VPS Work?
To create a Virtual Private Server, hosting companies often use the following two methods to partition the machines:
Hypervisor – Also known as a virtual machine manager, or VMM, the hypervisor manages, or supervises, the resources of the virtual servers to allow multiple OS installations to run on the same physical machine. Popular hypervisor virtualization solutions include VMware ESX , Microsoft Hyper-V, Xen, and KVM.
Container – This mode is also known as operating system-level virtualization or a kernel-based system. In this method, separate containers, or user spaces, are created for each VPS. Popular container virtualization solutions include Parallels Virtuozzo and OpenVZ.
In some cases, a Virtual Private Server is called a VDS, or virtual dedicated server. However, the terms refer to the same concept where one physical machine is configured to function like multiple servers dedicated to meet each customer’s individual needs with the same level of privacy and configuration options as a true independent server.
20 VPS is like Your Own Server
A Virtual Private Server makes system provisioning quick and easy. When the need arises, simply let your VPS hosting service know that you need to expand or contract the resources allocated for your system. In most cases, the adjustment can be made immediately. Some VPS Hosting providers have self-service features that allow you to make these adjustments yourself for the fastest results possible.
Resources that can be expanded or contracted on demand include:
RAM / Memory
CPU
Disk Space / Hard Disk
Bandwidth
IP Addresses
VPS (Virtual Private Server) and the Cloud
Cloud hosting involves spreading resources across multiple servers at one or more remote locations. The user doesn’t know where or how the information is stored but is fully aware that the system or stored data is easily accessible at any time. Because the typical client is sharing large banks of servers with other customers, the cloud is inherently virtualized, just like a VPS.
Using a VPS now will help ease your transition to cloud hosting services in the future as this new technology matures because your logical process will already be separated from the physical hardware needs.
21
Chapter – 4
Installing & Configuring Virtual Server
Before you left click that mouse to go to that other “work related” page, wait a few seconds while talking about there is a ton of hyped up, blown out and super hyperventilated information out there about how the cloud makes your life better, reduces your workload and ultimately makes your coffee and butters your toast, not much is said about how the cloud can help your company save or make money.
Before starting the explanation, first let’s say that there is no such thing as a free lunch and no one gets something for nothing. The cloud, like any other technology or methodology in IT, requires CAPEX investment in order to be effectively utilized and have the desired benefits…and ultimately drive OPEX costs down over time (within the ROI horizon) or provide efficiencies that increase revenues. No hocus-pocus, no magic…it takes careful thought and some hard work but, yes Virginia, revenue benefits and cost savings do exist in the cloud. Of course you must calculate savings after all implementation expenses are accounted for…things like hardware and software acquisition costs, personnel and space requirements, training, etc. Secondly frame this discussion based on an internal, private cloud only (but many of the same characteristics exist for other types of clouds), as I just don’t have the space to explicitly differentiate here.
Third, compare the costs based on a relatively mature “traditional” datacenter against the same data center but with a cloud infrastructure implemented and running in a steady-state. A traditional datacenter, in my view, is partially (<30%) virtualized with little to no automation or orchestration and is moderately managed from a holistic perspective.
We’re all straight now so how we lay out the rest of this post is that we will first describe a couple of scenarios that exist in a traditional datacenter and then explain how they would be done in a cloud infrastructure.
Time to Market/Value 1. Traditional:
1. A business owner or LOB owner decides they need an application built that will provide a new revenue stream to the organization so they describe, to a Business Analyst, what they want the application to do in the form of business requirements.
2. The Business Analyst then takes those requirements and translates them to functional requirements (iterating with the Business as to end results required) and then uses those as the basis for the technical requirements which describe the supporting hardware and software (COTS or purpose built).
3. A Technical Analyst or developer uses the technical requirements and produces a series of hardware and software specifications for the procurement of the hardware or software resources required to support the requested application.
4. Once completed, a cost analysis is done to determine the acquisition costs of the hardware, any COTS software, an estimate of in-house developed software, testing and QA of the application, and the eventual rollout.
5. The business analyst then takes that cost analysis and creates an ROI/TCO business case which the Business owner or LOB owner then takes to Senior Management to get the application approved.
6. Upon approval, the application is assigned a project number and the entire package is turned over to Procurement who will then write and farm out an RFP, or, check an approved vendor list, or otherwise go through their processes in order to acquire the hardware and software resources.
22
7. Approximately 8 to 16 weeks from the beginning of the process, the equipment is on the dock and shortly thereafter racked and stacked waiting for the Developer group to begin work on the application. 2. Cloud:
1. A business owner or LOB owner decides they need an application built that will provide a new revenue stream to the organization so they describe, to a Business Analyst, what they want the application to do to in the form of business requirements.
2. The Business Analyst then takes those requirements and translates them to functional requirements (iterating with the Business as to end results required) and then uses those as the basis for the technical requirements which describe the supporting hardware and software.
3. A Technical Analyst or developer uses the technical requirements and produces a series of hardware and software configurations required to support the requested application.
4. Once completed, a cost analysis is done to determine the start-up and monthly utilization costs (chargeback details), an estimate of any in-house developed software, testing/QA, and the eventual rollout of the application.
5. The business analyst then takes that cost analysis and creates an ROI/TCO business case which the business owner or LOB owner then takes to Senior Management to get the application approved.
6. Upon approval notification, the Developer group accesses a self-service portal where they select the required resources from a Service Catalog. The resources are ready within a few hours.
7. Approximately 3 to 6 weeks from the beginning of the process (up to 10 weeks earlier than a traditional datacenter), the computing resources are waiting for the Developer group to begin work on the application. 3. Savings/Benefit:
1. If the potential revenue from the proposed application is $250,000 a week (an arbitrary, round number), then having that application ready up to 10 weeks earlier means an additional $2,500,000 in revenue. NOTE: The greater the disparity of resource availability, traditional versus cloud infrastructure, the greater the potential benefit.
Hardware Acquisition 4. Traditional:
1. A business owner or LOB owner decides they need an application built that will provide a new revenue stream to the organization so they describe, to a Business Analyst, what they want the application to do in the form of business requirements.
2. The Business Analyst then takes those requirements and translates them to functional requirements (iterating with the Business as to end results required) and then uses those as the basis for the technical requirements which describe the supporting hardware and software (COTS or purpose built).
3. A Technical Analyst or developer uses the technical requirements and produces a series of hardware and software specifications for the procurement of the hardware or software resources required to support the requested application. The hardware specifications are based on the predicted PEAK load of the application plus a margin of safety (overhead) to ensure application stability over time.
4. That safety margin could be between 15% and 30% which effectively means that the procurement of the equipment is always aligned to the worst case scenario (peak processing/peak bandwidth/peak I/O) so for every application, the most expensive hardware configuration has to be specified.
23 5. Cloud:
1. A business owner or LOB owner decides they need an application built that will provide a new revenue stream to the organization so they describe, to a Business Analyst, what they want the application to do in the form of business requirements.
2. The Business Analyst then takes those requirements and translates them to functional requirements (iterating with the Business as to end results required) and then uses those as the basis for the technical requirements which describe the supporting hardware and software (COTS or purpose built).
3. A Technical Analyst or developer uses the technical requirements and produces a series of hardware and software configurations required to support the requested application.
4. The required configurations for the cloud infrastructure compute resources are documented and given to the developer group.
6. Savings/Benefit:
Because the hardware resources within the cloud infrastructure are abstracted and managed apart from the actual hardware, equipment specifications no longer drive procurement decisions.
The standard becomes the lowest-cost, highest quality commodity class of server versus the individually specified purpose built (highest cost) class of server thus saving approximately 15%-50 of ongoing server hardware costs.
NOTE: I mentioned this earlier but think it needs to be said again: savings become “real” after all cloud infrastructure implementation costs are recovered.
These are just two examples of where an internal cloud can specifically help an organization derive direct revenue benefit or cost savings (there are many more). But, as always, it depends on your environment, what you want to do, how much you want to spend, and how long you want to take to get there.
Cloud computing server architecture: Designing for cloud
A server is one of those industry terms whose definition is broadly understood yet at the same time ambiguous. Yes, "server" means a computing platform on which software is hosted and from which client access is provided. However, the generalizations end there. Not only are there many different vendors that manufacture servers, but there are also a variety of server architectures, each with its own requirements. A mail server, a content server, a Web server and a transaction server might all need a different mixture of compute, network and storage resources. The question for many providers is: What does a cloud computing server need?
The answer will depend on the target market for the cloud service and how that market is reflected in the applications users will run. Servers provide four things: compute power from microprocessor chips, memory for application execution,
I/O access for information storage and retrieval, and network access for connecting to other resources. Any given application will likely consume each of these resources to varying degrees, meaning applications can be classified by their resource needs. That classification can be combined with cloud business plans to yield a model for optimum cloud computing server architecture.
For a starting point in cloud computing server architectures, it's useful to consider the Facebook Open Compute project's framework. Facebook's social networking service is a fairly typical large-scale Web/cloud application, and so its specific capabilities are a guide for similar applications. We'll also discuss how these capabilities would change for other cloud applications.
24
Cloud computing servers needs may not align with facebook Open Compute
The Open Compute baseline is a two- socket design that allows up to 12 cores per socket in the Version 2.x designs. Memory capacity depends on the dual inline memory modules (DIMMs) used, but up to 256 GB is practical. The design uses a taller tower for blades to allow for better cooling with large lower-powered fans. Standard serial advanced technology attachment (SATA) interfaces are provided for storage and Gigabit Ethernet is used for the network interface. Facebook and the Open Compute project claim a 24% cost of ownership advantage over traditional blade servers. Backup power is provided by 48-volt battery systems, familiar for those who have been building to the telco Network Equipment Building System (NEBS) standard. The Open Compute reference has a high CPU density, which is why a higher tower and good fans are important. However, many cloud applications will not benefit from this high of a CPU density for several reasons:
Some cloud providers may not want to concentrate too many users, applications or virtual machines onto a single cloud computing server for reliability reasons.
The applications running on a cloud computing server may be constrained by the available memory or by disk access, and the full potential of the CPUs might not be realized.
The applications might be constrained by network performance and similarly be unable to fully utilize the CPUs/cores that could be installed.
If any of these constraints apply, then it may be unnecessary to consider the higher cooling potential of the Open Compute design, and shorter towers may be easier to install to support a higher overall density of cloud computing servers.
How storage I/O affects cloud computing server needs
The next consideration for cloud computing server architecture is storage. Web applications typically don’t require a lot of storage and don't typically make large numbers of storage I/O accesses per second. That's important because applications that are waiting on storage I/O are holding memory capacity while they wait. Consider using larger memory configurations for cloud applications that are more likely to use storage I/O frequently to avoid having to page the application in and out of memory. Also, it may be difficult to justify the maximum number of CPUs/cores for applications that do frequent storage I/O, as CPU usage is normally minimal when an application is waiting for I/O to complete.
A specific storage issue cloud operators may have with the Open Compute is the storage interface. Web applications are not heavy users of disk I/O, and SATA is best suited for dedicated local server access rather than storage pool access.
Additionally, it is likely that a Fibre Channel interface would be preferable to SATA for applications that demand more data storage than typical Web servers -- including many of the Platforms as a Service (PaaS) offerings that will be tightly coupled with enterprise IT in hybrid clouds. Software as a Service (SaaS) providers must examine the storage usage of their applications to determine whether more sophisticated storage interfaces are justified.
Cloud computing server guidelines to consider
Here are some summary observations for cloud providers looking for quick guidance on cloud computing server architecture:
You will need more sophisticated storage interfaces and more installed memory, but likely fewer
CPUs/cores for applications that do considerable storage I/O. This means that business intelligence (BI), report generation and other applications that routinely examine many data records based on a single user
25
request will deviate from the Open Compute model. Cloud providers may also need more memory in these applications to limit application paging overhead.
Cloud providers will need more CPUs/cores and memory for applications that use little storage -- particularly simple Web applications -- because only memory and CPU cores will limit the number of users that can be served in these applications.
Pricing models that prevail for Infrastructure as a Service (IaaS) offerings tend to discourage applications with high levels of storage, so most IaaS services can likely be hosted on Open Compute model servers with high efficiency.
PaaS services are the most difficult to map to optimum server configurations, due to potentially significant variations in how the servers will utilize memory, CPU and especially server resources.
For SaaS clouds, the specific nature of the application will determine which server resources are most used and which can be constrained without affecting performance.
The gold standard for server design is benchmarking. A typical mix of cloud applications running on a maximum-sized, high-performance configuration can be analyzed for resource utilization. The goal is to avoid having one resource type -- CPU capacity, for example-- become exhausted when other resources are still plentiful. This wastes resources and power, lowering your overall return on investment (ROI). By testing applications where possible and carefully monitoring resource utilization to make adjustments, cloud providers can sustain the best ROI on cloud computing servers and the lowest power consumption. That's key in meeting competitive price points while maximizing profits.
How can you use the cloud?
The cloud makes it possible for you to access your information from anywhere at any time. While a traditional computer setup requires you to be in the same location as your data storage device, the cloud takes away that step. The cloud removes the need for you to be in the same physical location as the hardware that stores your data. Your cloud provider can both own and house the hardware and software necessary to run your home or business applications. This is especially helpful for businesses that cannot afford the same amount of hardware and storage space as a bigger company. Small companies can store their information in the cloud, removing the cost of purchasing and storing memory devices. Additionally, because you only need to buy the amount of storage space you will use, a business can purchase more space or reduce their subscription as their business grows or as they find they need less storage space. One requirement is that you need to have an internet connection in order to access the cloud. This means that if you want to look at a specific document you have housed in the cloud, you must first establish an internet connection either through a wireless or wired internet or a mobile broadband connection. The benefit is that you can access that same document from wherever you are with any device that can access the internet. These devices could be a desktop, laptop, tablet, or phone. This can also help your business to function more smoothly because anyone who can connect to the internet and your cloud can work on documents, access software, and store data. Imagine picking up your Smartphone and downloading a .pdf document to review instead of having to stop by the office to print it or upload it to your laptop. This is the freedom that the Cloud can provide for you or your organization.
Configuring Websites in Windows .NET Server/IIS 6.0
At times there might be situations where you need to host your ASP.NET applications from your corporate server or your own machine. A scenario where this might be needed is when you have large amounts of data on your Web site and you are concerned about the big bucks your hosting provider will charge you for disk space, bandwidth and database maintenance. Internet Information Services 6 (IIS 6) can be used for hosting your Web site. IIS 6 is a powerful platform for hosting Web sites. Creating and configuring Web sites and
26
Virtual Directories using IIS are as easy as 1-2-3. In this section we will see how we can create a Website using IIS 6.0 and configure it.
Creating a Website
The first thing you need before creating a Web site using IIS 6.0 is a unique IP address that identifies your computer on the network. This address takes the form of a string of four numbers separated by periods (.). For your site to be up and running you also need a connection to the Internet. You need to lease a line from an Internet Service Provider (ISP) or a telephone company. When you open IIS Manager in Administrative Tools and select Web sites in the console tree, and right-click on default Web site and open its properties you will find that the IP address for the default Web site is All Unassigned. This means any IP address not specifically assigned to another Web site on the machine opens the Default Web site instead. A typical use for the Default Web site is to display general information like a corporate logo and contact information.
Let's assume that we will use the IP address 169.16.13.211 for creating Startvbdotnet.com and C:\Startvbdotnet is the folder where the homepage for this site is located. To create the Start vbdotnet Web site, right-click on the Web Sites node and select New->Web Site to start the Web Site Creation Wizard as shown in the images below.
Click next on the Web site creation wizard dialog and type a description for the site as shown in the image below.
27
After typing the description click next to open the dialog where you need to specify the IP address and port number for your Web site. As mentioned above, type 169.16.13.211 in the IP address textbox and 80 in the TCP port textbox. The dialog looks like the image below.
Click Next and specify C:\Startvbdotnet as the home directory for the site. Notice the checkbox that says "Allow anonymous access to this Web site". By default, it is checked, which means the Web site which we are creating is accessible by general public on the Internet. If you are creating an intranet site which will be used only by authenticated users then you need to uncheck this checkbox. The image below displays that.
Click Next to get to the Web Site Access
Permissions dialog. By default, the Read and Run scripts checkboxes are checked which means that your Web site will run scripts such as ASP and is only a read-only Web site where users can't make changes to it. If you want users to download
content from your Web site, modify it and upload the modified content then you need to check the Write checkbox. The image below displays that.
28 Click Next and then Finish to create the new Web site. The image below displays the new Web site which we created in IIS.
Virtual Directories
A virtual directory is a friendly name, or alias, either for a physical directory on your server hard drive that does not reside in the home directory, or for the home directory on another computer. Because an alias is usually shorter in length than the path of the physical directory, it is more convenient for users to type. The use of aliases is also secure because users do not know where your files are physically located on the server and therefore cannot use that information to modify your files. Aliases also make it easier for you to move directories in your site. Rather than changing the URL for the directory, you change the mapping between the alias and the physical location of the directory.
You must create virtual directories if your Web site contains files that are located in a directory other than the home directory, or on other computer's hard drive. To use a directory on another computer, you must specify the directory's Universal Naming Convention (UNC) name, and provide a user name and password for access rights.
Also, if you want to publish content from any directory not contained within your home directory, you must create a virtual directory.
Creating a Virtual Directory
Let's say Start vbdotnet keeps their contacts in a folder called C:\StartvbdotnetContacts on their web server and would like users to be able to use the URL http://169.16.13.211/contacts when they need to access contact information. To do this we need to create a virtual directory that associates the /contacts portion of the URL, the alias for the virtual directory, with the physical directory C:\StartvbdotnetContacts where these documents are actually located.
29
To create a new virtual directory, right-click on Start vbdotnet Web site and select New->Virtual Directory to start the Virtual Directory Creation Wizard. The images below display that.
Click Next and type the alias for the virtual directory, say, contacts as shown in the image below.
Click Next and specify the physical folder on the local server to map to this alias. The physical folder on the server is C:\StartvbdotnetContacts. The image below shows that.
30
Click next and finish the virtual directory creation wizard. The images below display the result. You can see the new virtual directory, contacts, with a gear symbol in the IIS wizard.
When users type http://169.16.13.211/contacts in their browser they will be shown a page with contact information for Start vbdotnet Web site. What actually happens is the content comes from a directory located outside the Web site directory but the address bar in the browser shows that the directory is part of the Web. Controlling Access to Web Site
Now that we created a Web site and a virtual directory we will look at some of the administrative tasks that are required to control the Web site. The settings in this article apply only to Start vbdotnet Web site which we created in IIS and not to all Web sites under IIS. The procedure is same if you want to set the properties for all Web sites. If you want to set the following properties for all Web sites under IIS then you need to right-click on Web Sites in IIS and select properties from the menu and follow the steps which are mentioned.
When you right-click on the Start vbdotnet Web site in IIS and select properties, the properties window that is displayed looks like the image below.
31
As you might notice from the above image the dialog box displays information as tabs, all of which are discussed below.
Web Site Information (Web Site Tab)
By defaut, the Web site tab is displayed when you right-click and select properties for any of the Web sites in IIS. The information under Web site tab is discussed below. Web site identification
The Web site identification part displays general information like the description of the Website, IP address and the port number it is using.
Connections Connection timeout
Connection timeouts are used to reduce the amount of memory resources that are consumed by idle connections. Time-out settings also allow you to specify how long server resources are allocated to specific tasks or clients. The default connection timeout setting set by IIS is 120 seconds which means that when a visitor accesses your site and has no activity on your site for 2 mins his connection will be timed out.
Enable HTTP Keep-Alives
Most Web browsers request that the server keep the client connection open while the server sends multiple elements like .htm files and .gif or .jpeg files to the client. Keeping the client connection open in this way is referred to as an HTTP Keep-Alive. Keep-Alive is an HTTP specification that improves server performance. HTTP Keep - Alives is enabled by default in IIS.
Enable Logging
The logging feature allows you to collect information about user activity on your site. Information such as who has visited your site, what the visitor viewed, and when the information was last viewed, etc, can be collected with this feature. The default logging format is the W3C Extended Log File Format. You can also change the logging format based on your preferences. To change the logging format you need to make a selection from the active log format drop-down list.
To set how often you want your new log file to be created click the properties button to open the Logging Properties dialog as shown in the image below.
The Logging Properties dialog shown in the image above allows you to record log information on an hourly basis or
daily or weekly or monthly basis or based on file size. If you select the Weekly option then a log file is created once every week. You can also change the location of the log file on your server in the Logging Properties dialog.