A Hybrid Cloud refers to a cloud computing environment that provides pay-as-you-go services to users using the integration of public and private clouds resources. Cloud computing is one of the latest areas in the field of Information Technology (IT) with a promising future. There are predictions that in no distant future, many users will simply go in for cloud computing services as the users will only “Pay-as-they-go” without incurring the cost of the equipments they use or the cost of their maintenance. However, prospective users or customers of the cloud especially those of the hybrid cloud in particular have a phobia for cloud computing services especially in the domain of the billing system since hybrid cloud providers evaluate the bills at the providers‟ end without the user or customer involved in the calculation.
In this thesis we try to provide a solution for the above mentioned billing problem to the prospective cloud users by coming out with simulations that evaluate the pricing mechanism in a hybrid cloud environment. This evaluation pinpoints the factors that contribute to the total bill presented to the customer and their respective individual contributions depending on whether the computation is data intensive or compute intensive. The simulations were done using the extended cloud simulation software “Cloudsim” which is a simulator that models and simulates cloud computing environment and equally evaluates resource factors. The simulations revealed that the bill incurred by a customer is directly proportional to the degree of intensity of the factor(s) used.
TABLE OF CONTENTS
List of Acronyms——————————————————————————————-vii
Table of Contents——————————————————————————————–x
List of Figures———————————————————————————————–xv
List of Tables———————————————————————————————-xvii
List of Graphs——————————————————————————————–xviii
CHAPTER ONE – INTRODUCTION
1.0 General Introduction———————————————————————————–1
1.1 What is Cloud Computing?—————————————————————————1
1.1.1 ON-DEMAND —————————————————————————–2
1.1.2 PAY-AS-YOU-GO ————————————————————————3
1.1.3 SCALABILITY —————————————————————————-3
RESILIENT NETWORK ARCHITECHTURE FOR A HYBRID CLOUD; ITS BILLING SYSTEM Page xi
1.1.4 MAINTENANCE ————————————————————————-3
1.2 Evolution of Cloud Computing———————————————————————–4
1.3 Purpose of this Research work———————————————————————–5
1.4 Scope of work ——————————————————————————————–5
CHAPTER TWO – LITERATURE REVIEW
2.1 Cloud Computing Concepts—————————————————————————6
2.1.1 Virtualization ——————————————————————————6
220.127.116.11 VMWARE ————————————————————————–8
18.104.22.168 Application Virtualization ——————————————————-8
22.214.171.124 Storage Virtualization ————————————————————8
126.96.36.199 Virtualization Software ———————————————————-9
2.1.2 Cloud Computing Types —————————————————————10
188.8.131.52 Public Cloud ———————————————————————-10
184.108.40.206 Private Cloud ———————————————————————10
220.127.116.11 Hybrid Cloud ———————————————————————10
RESILIENT NETWORK ARCHITECHTURE FOR A HYBRID CLOUD; ITS BILLING SYSTEM Page xii
2.1.3 Cloud Computing Services ————————————————————11
18.104.22.168 Infrastructure as a Service (IaaS) ——————————————–11
22.214.171.124 Software as a Service (SaaS) —————————————————13
126.96.36.199 Platform as a Service (PaaS) ————————————————–13
2.1.4 Grid Vs Cloud Computing————————————————————-14
2.1.5 Grid, HPC and Cloud Computing —————————————————16
2.2 Overview of Related Work—————————————————————————17
CHAPTER THREE – HYBRID CLOUD NETWORK ARCHITECTURAL DESIGN
3.1 Hybrid Cloud Network Design———————————————————————-19
3.1.1 Data Center Network Design ————————————————————19
188.8.131.52 Mathematical Model of the DCN Architecture ——————————-23
184.108.40.206 Routing in the Network Topology ———————————————–25
220.127.116.11 How Packets move in the Topology ———————————————26
18.104.22.168 Algorithms for forwarding table in the Topology —————————-27
22.214.171.124 Simulation of Algorithm with k=4 ———————————————–29
3.1.2 Data Center Interconnect Design ——————————————————-30
RESILIENT NETWORK ARCHITECHTURE FOR A HYBRID CLOUD; ITS BILLING SYSTEM Page xiii
3.1.3 Cloud in a Box ——————————————————————————32
3.1.4 Network Service Nodes ——————————————————————-33
3.2 Network Limitations in a Hybrid Cloud———————————————————-34
CHAPTER FOUR –SIMULATIONS
4.1 Pricing Factors in a Hybrid Cloud—————————————————————–37
4.2 Effects of Virtualization on a Cloud Computing Environment——————————39
4.3 Software Components of the simulation———————————————————-40
126.96.36.199 Datacenter —————————————————————-41
188.8.131.52 DatacenterBroker ——————————————————-41
4.3.2 Apache Ant ——————————————————————————-44
4.3.3 JDK —————————————————————————————-44
RESILIENT NETWORK ARCHITECHTURE FOR A HYBRID CLOUD; ITS BILLING SYSTEM Page xiv
4.4 Experiments and Evaluation ————————————————————————44
4.4.1 Evaluation of Pricing Mechanism —————————————————45
4.4.2 Graphs for pricing mechanism simulation—————————————–46
4.4.3 Evaluation of Hybrid Cloud Parallelism strategy ——————————-50
CHAPTER FIVE- CONCLUSIONS AND FUTURE WORK
5.2 FUTURE WORKS————————————————————————————52
APPENDIX: Source Code————————————————————————–56
1.0 GENERAL INTRODUCTION
This section presents the general outline of this work. Chapter one introduces Cloud computing: what it means and how it came about. It also discusses the purpose and the scope of the research work. Chapter two contains the literature review: concepts and the related works. Chapter three presents a feasible methodology for the construction of a scalable network architecture for a hybrid cloud. Simulations to evaluate the pricing mechanism in a hybrid cloud are carried out in chapter four. The work is concluded in chapter five and proposal for future work is presented.
1.1 WHAT IS CLOUD COMPUTING?
Cloud computing is an innovation in the field of Information Technology (IT). It facilitates the way we do computations by making it possible for the use of storage devices, processing devices and other devices by a customer to be as a service rather than the customer incurring the cost of purchase, installation and maintenance of the devices.
Cloud computing is defined by many people  in different ways with some of the main vendors- IBM, Amazon, Microsoft, Google, Yahoo and Apple. These vendors are either already providing cloud computing solutions in one form or another or are sponsors of research centers. Although definitions differ in one way or the other, they all center on the same keywords ; scalability, on-demand, pay-as-you go, Maintainability etc. this keywords will be elaborated on below. One of the vendors, IBM , considers a “cloud” as a pool of virtualized resources that hosts a variety of workloads, allows for a quick scale-out and deployment, provision of virtual machines to physical machines, supports redundancy and self-recovery and could also be
RESILIENT NETWORK ARCHITECHTURE FOR A HYBRID CLOUD; ITS BILLING SYSTEM Page 2
monitored and rebalanced in real time. Hai Jin , on the other hand sees the “Cloud” as a class of systems that deliver IT resources to remote users as a service. The resources encompass hardware, programming environments and applications. The services provided through cloud systems can be classified into Infrastructure as a service (IaaS), Platform as a Service (PaaS) and Software as a Service (SaaS).
The name “Cloud computing” is a metaphor for the internet. A cloud shape is used to represent internet in network diagrams to hide the flexible topology and to abstract the infrastructure. Some commonly used definitions by cloud community include that of Ian Foster  who defines cloud computing as “A large-scale distributed computing paradigm that is driven by economies of scale, in which a pool of abstracted, virtualized, dynamically-scalable managed computing power, storage, platforms, and services are delivered on demand to external customers over the internet” and that of Jeff Kaplan who views cloud computing as “a broad array of web-based services aimed at allowing users to obtain a wide range of functional capabilities on a ‘pay-as-you-go’ basis that previously required tremendous hardware or software investments and professional skills to acquire. Cloud computing is the realization of earlier ideas of utility computing without the technical complexities or complicated deployment worries”. The following are keywords of cloud computing
1.1.1 ON DEMAND
Just like a prerequisite condition, a cloud computing provider needs to satisfy the condition of being able to deliver computing resources to the customers when ever need arises. This means that the cloud provider needs to be able to provide sufficient resources in anticipation of the request from numerous customers. To a customer‟s advantage, utilizing on-demand resources of
RESILIENT NETWORK ARCHITECHTURE FOR A HYBRID CLOUD; ITS BILLING SYSTEM Page 3
a cloud computing environment reduces the cost incurred in planning, purchasing of equipment as well as the cost of installation. This really eliminates the huge financial burden that should have been borne by the customer. The use of on-demand resources equally avoids having underused resources since the customer may need the use of a particular device only for a certain period of time.
1.1.2 PAY-AS-YOU GO (PAY-PER-USE)
Just like in utility companies where resources like electricity, water or gas are supplied on demand and paid per use, customers in a cloud computing environment pay only for short term use of resources like processor or storage rather than bearing the capital cost of the resources. But unlike utility computing where customers can have access to their physical resources, resources and billing in cloud are found simply in the cloud.
To the mind of the customer, the cloud resources are almost infinite, but in reality, the cloud provider has finite resources. In order to solve the issues of scalability, the cloud provider needs to have service level agreement (SLA) with the customer. This will enable the cloud provider to provide the customer‟s changing needs. This agreement needs to be defined in response time so as to allow the provider to have everything put in place for future demands of the customer.
In a cloud computing environment, maintenance is transparent to the customer. This makes the customer not to worry about issues of repairs and replacements of hardware or software resources as these are done by the cloud provider.
RESILIENT NETWORK ARCHITECHTURE FOR A HYBRID CLOUD; ITS BILLING SYSTEM Page 4
1.2 EVOLUTION OF CLOUD COMPUTING
The field of computing has witnessed technological changes  from mainframes computing where many users shared mainframes using dummy terminals to PC computing (stand-alone PCs) where majority of users‟ needs were solved, to Network computing where there was increase in performance. This trend goes through internet computing where remote applications and resources are utilized, to Grid computing which provided shared computing power and storage through distributed computing system, and finally to the present cloud computing which further provides shared resources on the internet in a scalable and simple way. This can be diagrammatically seen in the following figure.
Figure 1. Evolution of cloud computing
RESILIENT NETWORK ARCHITECHTURE FOR A HYBRID CLOUD; ITS BILLING SYSTEM Page 5
All the above mentioned technologies focus on delivering computing power to a large number of end-users in a reliable, efficient and scalable way. Cloud computing, being the latest of the technologies has gained a lot of attention in almost all fields of life: IT, Science, Business etc.
1.3 PURPOSE OF THIS RESEARCH WORK
The purpose of this research work is to propose an evaluation mechanism that can be used to evaluate the effect of the billing factors in a scalable and resilient hybrid cloud environment. The evaluation mechanism is used in simulations to ascertain its efficiency in evaluating the billing system, –used to bill the cloud customers. The simulations are done using the extended cloud simulator “Cloudsim ” on a single computer node which reduces the burden of looking for a physical data center for the simulation. The main goal of the simulations is to evaluate the effect of the billing factors and that of virtualization in a hybrid cloud.
1.4 SCOPE OF WORK
This research work entails using the best algorithm that will maximize the use of hardware resources like switches in the design of a scalable and resilient Network architecture for a hybrid cloud. To maintain a uniform bandwidth in the entire network architecture, a Fat Tree Topology is used and simulations are done using Java and other complementary software like Apache Ant.