A Cloud Computing directory service Jack Rollinson BSc (Hons) Computer Science Session (e.g., 2000/2009)

Size: px
Start display at page:

Download "A Cloud Computing directory service Jack Rollinson BSc (Hons) Computer Science Session (e.g., 2000/2009)"

Transcription

1 A Cloud Computing directory service Jack Rollinson BSc (Hons) Computer Science Session (e.g., 2000/2009) The candidate confirms that the work submitted is their own and the appropriate credit has been given where reference has been made to the work of others. I understand that failure to attribute material which is obtained from another source may be considered as plagiarism. (Signature of student)

2 Summary This report outlines the investigation into Cloud Computing and the services which make use of this paradigm. This is done in the form of a thorough analysis of the present state of Cloud Computing and with it, a classification of the three main areas Software as a Service, Platform as a Service and Infrastructure as a Service. Following that, this classification is used as a basis to form a database which is used as a directory of Cloud Computing services, accessed by a Graphical User Interface. The process is then evaluated along with the solution it helped create, and the implications the directory has on Cloud Computing resource brokering is discussed. i

3 Acknowledgements To the project supervisor Peter Dew, for his continued support and guidance even through tough times. To Mo Hadji for his wise words and valued help. To Mark Walkley, who provided valuable guidance and reassurance. But especially to my parents, because without their help and support there is no way this project would have got this far. ii

4 Contents Summary...i Acknowledgements...ii Chapter 1 Introduction Aim Objectives Minimum Requirements and Extensions Deliverables Relevance to Degree Programme Initial Project Schedule Report Structure... 3 Chapter 2 Background Research Overview What is Cloud Computing? Why Cloud Computing? Cloud Computing Services Software-as-a-Service Infrastructure-as-a-Service Platform-as-a-Service Problem and Related Work...8 Chapter 3 Project Methodology and Preparation Introduction Choosing the Methodology Initial Analysis Methodology Software Development Methodology Methodologies Considered Methodology Chosen Choosing Project Technologies...14 iii

5 3.5.1 Development Language Development Languages Considered Development Language Conclusion Database Technologies Database Technologies Considered Database Technologies Conclusion...16 Chapter 4 Analysis and Classification Introduction Finding Relevant Information Software-as-a-Service Analysis Software-as-a-Service Classification Classification Example Platform-as-a-Service Analysis Platform-as-a-Service Classification Classification Example Infrastructure-as-a-Service Analysis Infrastructure-as-a-Service Classification Classification Example...26 Chapter 5 Design Introduction Requirements Scenario One Scenario Two Scenario Three Summary of Scenarios Requirements Database Design Data Modelling Database Design...31 iv

6 5.4 Graphical User Interface Design Layout of Interface Usability Data Entry Screen Layouts...33 Chapter 6 Implementation Introduction Increment One Database Implementation Increment Two Start Up Screen and SaaS Layout of Start Up Screen Functionality of Start Up Screen SaaS Implementation Requirements Screen Layout Requirements Screen Functionality Feedback Screen Layout Feedback Screen Functionality More Information Screen Layout More Information Screen Functionality Increment Three PaaS PaaS Implementation Requirements Screen Layout Requirements Screen Functionality Feedback Screen Layout Feedback Screen Functionality More Information Screen Layout More Information Screen Functionality Increment Four IaaS IaaS Implementation Requirements Screen Layout...41 v

7 Requirements Screen Functionality Feedback Screen Layout Feedback Screen Functionality More Information Screen Layout More Information Screen Functionality...42 Chapter 7 Testing Introduction User and Integration Testing Conclusion...43 Chapter 8 Evaluation Introduction Evaluation Criteria Aims and Objectives Evaluation of Methodologies Used Evaluation of Analysis and Classification Evaluation of Directory Service Evaluation of Technologies Evaluation Against Requirements User Evaluation Implications on Resource Brokering Future Enhancements Conclusion References...51 Appendix A Personal Reflection...56 Appendix B Project Schedule...58 Appendix C Classification Examples...60 Appendix D Classification Examples...61 Appendix E Classification Examples...62 Appendix F UML Diagrams...64 vi

8 Appendix G UML Diagrams...65 Appendix H Detailed ER Diagram...68 Appendix I System Interface Layout...69 Appendix J Screen Layouts...70 Appendix K SQL Scripts...75 Appendix L Additional Implementation Details...78 Appendix M Testing...87 Appendix N User Evaluation vii

9 Chapter 1 Project Overview 1.1 Aim The aim of this project is to discuss and assess Cloud Computing and services that use computing in the Cloud to provide a classification of Cloud Computing and the services that utilise this paradigm. This classification will aim to incorporate all areas of Cloud Computing in its current state, and will lead to the discovery of suitable differences and similarities between services that operate in the cloud. With this classification, there is scope to design and implement a database representing this classification coupled with a designed and implemented Graphical User Interface (GUI), to act as a directory of Cloud Computing services. The aim of this directory is to store a wealth of different services, and will provide a user with correct, suggested services based on and satisfying various user-specified requirements. Following this, this project will aim to discuss the implications of this directory on a resource brokering process and the feasibility of resource brokering in Cloud Computing in general. 1.2 Objectives There are several objectives that need to be fulfilled throughout this project. Initially, it is fundamental to understand what Cloud Computing is, what it represents now and what its likely future is. A firm grasp and understanding of what is a new, complex and dynamic area of computing is paramount to the success of the further objectives and requirements, and also the whole project itself. In addition to this, it is necessary to become familiar with the different areas of Cloud Computing and the services in each area to try and gauge what it is they offer and the commonalities and differences between each service to form the basis of the classification. It is also important that any suitable field-specific terms are fully explored and understood, for example Service Level Agreements (SLAs) so that any classification based on new terms is not misguided. A further objective of this project is to understand the use of resource brokers in other areas of computing and how these can be related to use in the cloud. This is a very important step as this will form a part of the evaluation. In addition, it is necessary to select the most appropriate development methodology and technologies in order to produce the directory database and software. There is also the objective of then producing this directory software that will provide the user with suggested Cloud Computing services based on various, differing, specified requirements 1.3 Minimum Requirements and Extensions The Minimum Requirements of this project: A critical appraisal of Cloud Computing 1

10 A classification scheme for Cloud Computing services (will be shown in report). Regular meetings with the project supervisor resulted in these requirements being altered and refined on a number of occasions. This meant that they would be better specified and a more appropriate project produced. The extensions are: Design, build and test a Cloud Computing directory service for the selection of the most suitable Cloud vendor and service to meet a user's requirements (is a deliverable). Evaluation of the Cloud Computing directory service and its implications on resource brokering. 1.4 Deliverables The main deliverable is a solution to act as a directory of Cloud Computing services, containing a wealth of these services based on the classification of Cloud Computing and services developed prior. This comes in the form of a database and GUI application that enables a user to select specific requirements for a service in a particular area of Cloud Computing, after which the software will respond with the most suitable service(s) based on the requirements. This should provide a complete solution to the problem in hand, and will enable the discussion of the implications the directory service will have on Cloud Computing resource brokering. 1.5 Relevance to Degree Programme This project includes and covers many areas relevant to my Computer Science degree. Cloud Computing itself is an aspect of distributed computing and this was briefly covered in modules in this area. The project involves database design and implementation which has been covered in all three years of my degree programme. There is also the aspect of Object-Oriented programming which forms a main part of this project; this being something taught continuously throughout the degree. Also, as this project incorporates a GUI Human Computer Interaction (HCI) fundamentals and techniques are covered. 1.6 Initial Project Schedule The initial project schedule is specified in Appendix B 1. Project scheduling was imperative to this project due to the time constraints provided. There was a substantial amount of work to be completed for every milestone and this work had to be tightly scheduled to definite deadlines, thus ensuring aspects of the project were completed in an appropriate, timely manner. The schedule is represented in text form to clearly show the order and duration of each task and milestone. 2

11 The original schedule had to be revised due to changes in the way the project was defined, requirements and the developer being unable to keep in line with the schedule for some of the specified milestones. As the original schedule underwent many changes, a revised schedule of events and milestones was created. The revised schedule of how the project was eventually actually completed is specified in Appendix B Report Structure The structure of the report starts with the overview of the project, the problem and the aims and objectives for the project. The structure from then on is similar to the project lifecycle. The background research is outlined, followed by the discussion and selection of the appropriate methodologies and technologies used in the project. Succeeding this is the critical analysis and classification of Cloud Computing and services. Then, there is the design, implementation and testing of the directory service produced. Finally, a thorough evaluation of the directory service and process followed is described, the achievements and limitations of the directory service in the changing climate of Cloud Computing are outlined and the implications the directory service has on computational resource brokering in Cloud Computing are explored. 3

12 Chapter 2 - Background Research 2.1 Overview This chapter discusses what Cloud Computing exactly is and how it has emerged to be regarded as one of the most promising aspects in the computing world to date. There is also discussion on its advantages and how it could radically change the way IT services are approached and delivered. Relevant research into specific cloud computing services; how they work and what they offer is conducted to explore the state-of-the-art in current cloud technologies and services. Finally, the background research concludes with a review of brokering in other computing models and a consideration of how ideas from there could be used to inspire the creation of a directory of cloud computing services, based on a classification of these services with the aim that the directory would provide suggested services to the user based on their specified requirements. 2.2 What is Cloud Computing? Many computing paradigms have emerged in recent years and have set out to innovate and sometimes even revolutionise the way computing is done in the modern day. The first real step towards what we have now was Cluster Computing which is in essence a group of interlinked computers working together to perform a single task, interacting in a way that represents the form of a single machine working. This is done through the combination of the different computers processing power and memory etc. so a task can be completed in a much shorter time than if one machine was to process the task. This idea of distributed computing spawned another major computing paradigm - Grid Computing. Grid Computing, like cluster computing, is a form of distributed computing but is used specifically to perform very large-scale, resource intensive problems in science, engineering and commerce [1]. It does this via the use of many geographically dispersed high performance resources. These can be of many different types. Resource intensive problems otherwise not (efficiently) solvable with single machines or clusters of machines with can be solved collaboratively through use of Grid Computing. Resources in this instance can refer to a component in a computer system that can be made available to perform these distributed tasks. These resources could represent access to RAM (Random Access Memory), hard disk storage, access to data stored or processer usage, amongst other components. Another paradigm which has taken shape recently is Utility Computing. Utility Computing can be viewed much in the same way that we pay for utility services in society service providers supply utilities such as gas, electricity and water and charge pro rata to what is used [2]. It is clear to see then that Utility Computing represents a model where users pay service providers for computing resources when 4

13 they need to. A new paradigm which uses some elements of Grid Computing and Utility Computing is Cloud Computing. Cloud Computing, due to its large encompassing nature can be defined in many ways. [3] Defines that the term Cloud Computing describes both a platform and a type of application. It is a platform in that a Cloud Computing platform provisions and configures servers when needed. It is a type of application in that cloud applications are applications that are extended to be accessible on the internet. While this is true, it does not describe the entirety of the term. [4] Defines that the concept of cloud computing is basically the usage of vast computing resources that reside on the internet, but I feel this is too basic. [1] Defines that A Cloud is a type of parallel and distributed system consisting of a collection of interconnected and virtualised computers that are dynamically provisioned and presented as one or more unified computing resources based on service-level agreements established through negotiation between the service provider and consumers and thus cloud computing is computing which incorporates this cloud, which is solely accessible through the internet. This is a very good definition. The key statement in this is that Cloud Computing is performed through the Internet. As Cloud Computing is such a new and rapidly developing technology there is still widespread debate on a set-in-stone definition for Cloud Computing but I will use the one presented above from [1] as a basis for this Project. Cloud Computing is more than a combination of Cluster, Grid and Utility Computing. Some services of Cloud Computing do rely on the power of Grids and some Cloud Computing services are charged for in the same way as Utilities. But in essence, Clouds can be seen as next-generation data centres with nodes virtualized in different ways through hypervisor technologies such as VMs (Virtual Machines) which are made available to users when they need them [1]. The VMs, with physical computer machines, work to perform specific internal tasks for a user based on a service level agreement (SLA) which is agreed prior. To explain, the data centres can be visualised to be centres containing vast numbers of physical machines supercomputers and computing servers that provide the resources for tasks. Virtual Machines can be seen as software on a machine that acts like hardware i.e. multiple instances of virtual machines can be started on a physical machine that perform and execute different tasks as if they were physical machines [5]. This process allows flexibility in that more than one machine can respond to a variety of differing service requests. There are different ways in which virtualization can take place [6]. Examples of virtualisation are Operating System (OS) level virtualisation which means that several virtual operating systems can be executed on one machine. Virtualisation can also occur at Application level which means that specific applications are kept separate from the underlying hardware and operating system so that applications that are foreign to the underlying hardware and operating system can be run. Server virtualisation is a similar concept but server users are kept masked from the physical attributes of a server. Platform 5

14 virtualisation describes the act of masking the physical characteristics of a computing platform for the users and replacing it with a virtual platform on a VM [6]. With virtualisation, virtual machines are completely isolated from other virtual machines and so if one crashes, the others are not affected. Also, with virtualisation, computing resources are in a pool allocated to each virtual machine when it needs them, in a controlled manner [7]. SLAs are agreements between the user and the Cloud Computing service provider that defines what service is to be performed, at what cost and how failures to provide this service will be dealt with. 2.3 Why Cloud Computing? As computing becomes ever more ubiquitous, there is a demand to have access to data, files, resources and applications 24 hours a day from both a personal and business point of view. As Cloud Computing is performed through use of the internet (which itself is usable 24 hours a day) Cloud Computing can supply this demand. Cloud Computing can allow for the storage of data in a Cloud on the internet and for the access of data in a Cloud on the internet. It can also allow for an application to be hosted, provided and used as a service on the internet - all of the time. Furthermore, as with Grid Computing, Cloud Computing can allow for access to CPU cycles, use of memory and hard disk space on very large, very powerful computers. This all ties in with the notion of a very thin client in that the necessity for personal computers and computers in business to be powerful will become increasingly unimportant as storage, access, hosting and compute processing can be done by a Cloud. Business computer infrastructures are likely, as a result, to need to be increasingly less and less complex as large data centres with more complex, more powerful infrastructures will be able to service various tasks. Although typically users will be charged per use of different services in the cloud; it is clear to see the cost-effectiveness of the ability to use a thin client. The services and resources used have become independent of location, and connections, services and resources can be accessed on-demand. As Clouds are run in data centres on large numbers of very powerful physical machines using instances of virtual machines application developers can run applications that are scalable (can easily grow), have high-performance (work very efficiently) and be reliable (fail very rarely) [8]. 2.4 Cloud Computing Services Since its inception, many major and smaller companies have developed a variety of different Cloud Computing services for public use. Cloud Computing aims to deliver IT services as computing utilities [1]. Although definitions are sometimes blurry and sometimes overlap, they can typically be categorised as follows: 6

15 Software as a Service (SaaS) Infrastructure as a Service (IaaS) Platform as a Service (PaaS) Software as a Service Cloud Computing is closely associated with Web 2.0 (social trends in using the World Wide Web for information sharing and collaboration) in that it provides a means for hosting and accessing online (on the internet) applications which are known as Software as a Service or SaaS. Examples of existing SaaS include tools for project management (Clarizen [9]), tools for customer relationship management (Salesforce.com [10]) and office applications (Google Apps [11]). Software provided as an online service enables users to access, edit, delete and upload information related to that particular service from any device with an internet connection. As the software is provided on a Cloud server, thus removing the necessity to install and execute applications on the client s (user s) machine. SaaS are built on top of SaaS platforms that host the software. The SaaS platform handles hardware and software resources for the service, allowing the software to run. Many other SaaS providers exist, details of which will be presented later in this report when Cloud Computing services are detailed and classified when producing the solution Infrastructure as a Service Previously named Hardware as a Service, IaaS describes when computer processing capacity (use of CPU cycles, RAM, network equipment, storage in the data center space and other hardware) is purchased in a similar style to utility computing explained previously. A user will specify desired requirements as to which infrastructure component to use, what amount to use, they will decide how long for and sometimes specifications for reliability and security. Then, the IaaS provider will provide the desired service based on a particular Service Level Agreement (SLA) that the provider defines. A major example of this is the Elastic Compute Cloud (EC2) provided by Amazon [12]. The EC2 allows users to rent computers from Amazon to run the user s own applications. Users of the EC2 can purchase processing power online on the basis of specific processor cores, storage space and data transfer. For example, a user can choose between: a Small Instance with 1.7 GB of memory, holding 1 EC2 Compute Unit (1 virtual core with 1 EC2 Compute Unit) (where 1EC2 Compute Unit provides the equivalent CPU capacity of a GHz 2007 Opteron or 2007 Xeon processor), 160 GB of instance storage, on a 32-bit platform operating system, and various other instances with differing processing power, memory, storage and platforms. The ability to configure, increase or decrease the infrastructure requirements (in EC2 and other services) very quickly prior to usage and the flexible nature 7

16 derived from the fact that each users can choose the specification of each individual instance of computing power purchased. There are other advantages in using IaaS in that it removes up-front costs for the user by removing the need for users to utilise their own costly powerful machines and machine components and allows users to use a large data centre s infrastructures that are extremely powerful [13]. Many other IaaS providers exist, details of which will be presented when Cloud Computing services are detailed and classified when producing the solution. Infrastructure as a service encompasses all compute processing, servers, networking components, storage and database requirements in Cloud Computing Platform as a Service PaaS is seen as a step up from SaaS in that the PaaS model allows for the creation and delivery of web applications and services, all done through the internet. A PaaS should in essence support the whole application development life-cycle not just developing, deploying and hosting, but also testing applications and also maintaining them after deployment. PaaS can be seen as SaaS combined with IaaS, with an extra incentive for users in that the whole development life-cycle can be realised online in a single platform. A drawback of PaaS is that depending on which cloud computing service provider is chosen (for example Force.com from SalesForce [14]) you are constrained to learning and using the proprietary development language of this provider and in then the application itself is tied to the language of this provider. However, benefits of PaaS are clear to see. Not only does it allow for development and deployment of services but as the PaaS provider offers its infrastructure to host the application the benefits of a powerful data center on the side of the provider for increased efficiency, security and reliability removes the cost and problem of maintaining these aspects for the users themselves. 2.5 Problem and related work The problem for this project, then, arises from the fact that there are three different cloud computing services offered, whether they are SaaS, IaaS or PaaS. Within these varying cloud computing services offered there are many services offered which can differ greatly or be quite similar to one another. Also, the numbers of providers of Cloud Computing services, and hence numbers of cloud computing services are rapidly increasing. So; how does a user, personal or business, decide which cloud computing service provider and cloud computing service to use for a particular job or task? In other paradigms such as Grid Computing, the focus is on aggregation of resources to solve large-scale problems. More relevantly, Grid Computing is concerned with an equivalent to Infrastructure of a Service in Cloud Computing in that Grid Computing harnesses the power of many different types of machines and hardware. In this way, resources are merely compute resources which are always of the 8

17 same type i.e. have certain processing power, memory capability, network components and architecture etc. and so resources can be brokered and then selected and secured using a resource broker that selects the most best resources for a particular job based on certain specified requirements and other Quality of Service requirements. A user will state their requirements and an SLA will be negotiated between resource provider and user after a resource broker has found suitable resources based on requirements of a user and a knowledge base which holds the attributes on what a particular resource provided by a resource provider will offer (including values based on previous reliability of the resource if used before). Such an approach is proposed in [15]. However, in Cloud Computing an approach as specified in [15] is not possible. This is because there are many more types of resource and service provided that fall under many different categories, for some of which (for example SaaS and PaaS) selecting and securing of resources is not applicable. Furthermore, with cloud computing in its current state, even for the IaaS category of cloud computing services such a broker would not be applicable. As explained in [1] there would need to be a marketoriented approach to Cloud Computing for use of a broker to be viable. As of today, even the state of the art Cloud Computing service providers do not provide support for negotiation of Quality of Service (QoS) between users and providers to establish SLAs. Instead, only some Cloud Computing providers include the use of SLAs in their technologies. SaaS and PaaS may provide a certain QoS but they do not support negotiation or user-specification of one. Even with IaaS like Amazon EC2; a user can specify a certain requirements but only under certain fixed parameters and the price pre-set and nonnegotiable. Using a resource broker like in [15] for IaaS is out of the question in the current state of Cloud Computing where automatic resource selection, acquiring and usage would not be possible as services like Amazon EC2 require the use of their website for logging-in selection of service and payment. The need for the resource brokering process in Grid Computing is down to the fact that there are compute-intensive tasks to be done which can be carried out on geographically distributed infrastructure. Then the problem lies, given a particular task, which compute resource is used at any one time. Factors [18] such as performance (the capabilities of the infrastructure used), access availability or restriction, cost of execution and resource reliability are integral to performance on the Grid and a resource broker should take these factors into account when deciding which resources to make use of. Although this is only appropriate for IaaS (the closest parallel in Cloud Computing to Grid Computing), some of these factors should be used as the inspiration in a classification for IaaS services. Part of a resource broker s job is to suggest resources for a particular task and so the directory service for IaaS should go some way to doing this. So, this part of the classification should be done with aspects of resource brokering in mind, because the IaaS part of the directory service will carry out some similar functionality to a traditional 9

18 resource broker and also as the implications of the directory service implemented on resource brokering will form part of the evaluation. A future broker for a time when Cloud Computing has been further developed is presented in [1]. This approach requires current (specifically IaaS) Cloud Computing providers to develop interoperability so that a single job could use multiple resources at different sites. The development of a Global Cloud Market where storage and compute resources are given a set price (that can change) based on market conditions, user demand and current level of utilization of this resource. A broker in this instance, then, would act in a similar fashion to how a broker acts in real-world markets in that the broker would gauge price of resources via the current market conditions and then proceed to buy certain compute capacities from providers and then sub-lease these to end-users. During which; brokers and providers would be bound to users with certain requirements in the form of SLAs which would be classified in terms of metrics and penalties for not meeting the agreements would ensue. However, as this level of interoperability and market-oriented cloud computing is not a reality (yet), an implementation of this is not possible. So, there remains the problem; how does a user decide which cloud computing service provider and cloud computing service to use for a particular job or task? The focus of this project will be to address this problem. It can be done with the use of a Cloud directory service that selects the most appropriate cloud computing service from a wealth of cloud computing services and providers based on the specific type of service, requirements the user requires. In preparation for the design and implementation of a directory service, an analysis and classification of each area of Cloud Computing needs to be done so that the important features for which the services can be differentiated by in each case can be decided. This step is the most important, as if the classification is incorrect or vague; the directory service will also be incorrect and unsuitable. There are SaaS directories located on the web such as [16] and [17] where a user can use different categories to find a particular service they may need. Although these categorisations do provide a faster means to find the most appropriate service for a certain need, the categorisations are not consistent, thoroughly thought through and are certainly not perfect - sometimes you will find IaaS and PaaS in amongst SaaS. It appears there is no existing tool that will select a cloud computing service, be it IaaS, PaaS or SaaS for a user depending on particular requirements for this service. My directory service will use the implementation of a classification directory similar to those seen in [16] and [17] but for all three of the distinct types of Cloud Computing services. This means that a user will be able to find out quickly which is the most appropriate Cloud Computing service for the job that they wish to achieve, differentiating between many different types of services and also between many of the services themselves. 10

19 Chapter 3 - Project Methodology and Preparation 3.1 Introduction This chapter will discuss and detail the possible methodologies and technologies to be used in this project to manage and develop the classification and directory of Cloud Computing services. Possible methodologies and technologies which were not chosen are examined and explanations are provided to illuminate the process of choice. 3.2 Choosing the Methodology Utilising the correct methodology is fundamental to being able to manage a project properly. It is the process that will guide the developer through the different stages of the project in a feasible, suitable order. [19] states that one of the reasons many projects fail or have a negative outcome is due to the lack of a suitable project management methodology. This project can be effectively seen to be split into two parts with a detailed analysis leading to a classification followed by the design and implementation of a directory service. As this is so, it seems reasonable that the project methodology be split in two parts as well. A bespoke methodology in this instance seems appropriate, firstly with a thorough analysis of Cloud Computing services leading to the classification scheme and secondly following a suitable software project management methodology for the construction of the directory service. Using this two-part methodology is most suitable for this style of project as any detailed requirements for the directory service or indeed any discussion with regard to the content, design and implementation of the directory service can only be done after the analysis and classification scheme have been completed. Therefore, incorporating the detailed analysis for the classification into the software project management methodology does not seem appropriate, and even though some of these methodologies may contain an analysis phase; these tend to be more focused on analysis of existing systems or requirements of end-users and do not fit the purpose of a much broader, more detailed analysis as what will be done to present the classification scheme. 3.3 Initial Analysis Methodology To create a classification scheme for Cloud Computing services, as much relevant information as possible regarding different services in the three areas of Cloud Computing is needed to be obtained, understood and digested so that effective decisions can be made on the main features, commonalities and differences of the services. As Cloud Computing is such a new field there is little information available of this nature to aid this process. Also, as Cloud Computing is such a rapidly changing field much information could already be obsolete or inapplicable. The vast majority of information on Cloud 11

20 Computing services resides on the internet and often comes in the form of suppositions and can also involve conjecture. With this in mind, and as this classification scheme focuses on the key features of the actual services within each area of Cloud Computing, it seems suitable to propose a methodology of a detailed analysis of the websites of the Cloud Computing service vendors themselves. Studying a large amount of these websites will allow the developer to identify key features, features which are common across services in a particular area and also work out important differences between services within their respective areas of Cloud Computing. This analysis will also give insight into how particular services in the cloud operate, giving the developer further understanding of the area which will only serve to enhance the classification scheme. The analysis can be seen to be divided into three sections, one for each area of Cloud Computing. Services and vendors will be analysed fully, one by one, firstly for Software-as-a-Service, then for Platform-as-a-Service and finally for Infrastructure-as-a-Service. Splitting the analysis up in this way means that the focus can be put entirely on one area at a time and the most suitable classification scheme at each step can be provided without confusion. 3.4 Software Development Methodology Various methodologies that will govern and help manage the production of the directory service software are to be considered for their suitability to this project. Each methodology has its positive and negative aspects, and it is probable that more than one would address the demands of this project Methodologies Considered Waterfall Model The waterfall model can be seen [20] as the classical model used in developing systems. The waterfall model is split up into set, ordered stages, each of which has to be completed before the next is started. This seems a logical approach in the creation of a system but it also means that if at any later stage in the model some extra work for a previous stage is realised, then its inflexibility shows. It would be advantageous to use this model in that it is very simple and stages of analysis, design, implementation and testing are separated and can be focused on fully at each phase. However, in this project, there are three areas which will all have differing requirements representing the different areas and so it does not seem reasonable to specify all requirements at the start of the model lifecycle in this way. Rapid Application Development Rapid Application Development [21] is a model that aims to speed up the process of the traditional development models. It is an iterative process meaning that it improves on the Waterfall model 12

21 in that earlier stages can be returned to and refined depending on changing needs and requirements of the system. The emphasis on rapid means that this methodology is focused on a very fast way of developing a system. Prototypes are created at each stage of development and this is done so that end-users can be involved in the process to make sure that the look of the system is in line with their requirements. However, with this speed of development comes a price where functionality of the system is sometimes ignored or missed out because of the concentration on the quickness of development. In this project, there are no real end-users to communicate with and the developer is creating a proof of concept system to the liking of the developer. This means that, effectively, the developer is the end-user and there is no need to prototype. Incremental Development Model Another methodology that is widely used is an incremental methodology. An incremental methodology [22] means that rather than delivering the system as a whole at the end of the process; implementation parts are broken down into increments where each of the increments deliver part of the required functionality of the system. Each increment should be tested on its own and then tested for its integration into the system if it is a further increment than the first. Splitting the process up in this way means that significant differing parts of a system can be handled on their own and not all at once, like you would have to with the Waterfall model Methodology Chosen It is decided that the methodology to be incorporated in this project is the Incremental Development Model. As with the analysis, which can be seen to be split up into three parts; each differing because of their focus on a different area of Cloud Computing, it seems logical that the software development follow this pattern. Using this incremental methodology means that the development workload is split up into smaller sections, each with their own functionality that can be focused on one at a time. Using separate increments is then not only advantageous in that each area can be split up based on their functionality, but it is also advantageous as earlier increments can be used as prototypes, providing inspiration and guidance for the later increments in terms of how they look, their style and how they operate. In the design, requirements can be obtained based on what such a directory service system should do and also based mainly around the classification schemes for each area sequentially done in the analysis in Chapter 4. These requirements can then be designated to separate increments and the design of each increment (and therefore the whole system architecture) can be completed. Following this, the implementation will follow the stages of incremental development with each increment fully implemented 13

22 and tested leading to the final system. Figure 3.1 shows the adapted incremental methodology for this project. Figure 3.1 Incremental Methodology used. Adapted from [22]. 3.5 Choosing Project Technologies The software development part of this project involves the design and implementation of a Cloud Computing directory service for the selection of the suitable vendor(s) and service(s) to meet a user's requirements. The optimal way to produce this would be to incorporate the classification scheme for each area into a database and develop a Graphical User Interface (GUI) application that allows a user to specify their requirements and then uses the database to provide the most suitable service for the user s requirements. With that in mind, it is important to select the best-suited database and development language for this project and developer Development Language The application built in this project is a directory service which will include the use of a GUI and database connectivity. It is wise, then, to make a choice of development programming language based on these factors. A lot of the time spent in this project will be done programming and creating the directory service based on the classification schemes developed in Chapter 4 and so it is crucial that the most appropriate development language is employed Development Languages Considered Python Python [23] is a relatively high-level object oriented programming language that is multi-purpose and used to build many types of application. Python is a very popular language and is widely used from small user-built applications to very large business-scale applications. Python would be appropriate for 14

23 this task because it enables GUI built applications through modules such as TKinter and WxPython [24] which are easily integrated into a Python application. Python also offers rich database connectivity functionality with mxodbc (open database connectivity). Python seems a reasonable choice for this project due to its extensive documentation to aid development, GUI functionality and offer of database integration. C++ C++ [25] is a middle-level object oriented programming language that is also multi-purpose and is widely used to implement efficient applications. Programs built in C++ are often quite short in comparison to other languages due to its brevity which would save time for the developer. C++ has some GUI functionality with application frameworks from Qt such as Qt3 [26]. C++ also offers database functionality which would be necessary in this project. However, many [27] believe that C++ is not very fit for GUI programming. Java Java [28] is an object oriented programming language that is famous for its rich, broad functionality and portability. Java supports GUI application development with its extensive Swing framework and supports database connectivity with the JDBC (Java Database Connectivity). Java is a practical choice for this project because of its fitting functionality, extensive documentation and the fact that the developer has been taught and has used Java over the past three years and also has experience with Swing GUI development and incorporating the JDBC into applications Development Language Conclusion After examining the development languages described above, Java is the obvious choice for implementing the directory service in this project. Based on the advantages discussed above, most notably that the developer s experience in Java is vastly more than that in C++ and Python, it is the ideal language to be used to solve this problem. Due to the limited timescale of this project, learning and developing new skills in an unfamiliar development language would not seem well-judged. Also, there would be no advantage to using any of the other languages and so Java will be used in this project Database Technology There are many database technologies available for use, each of which is tailored towards a different kind of solution. However, these database technologies are tailored differently so their functionality can be exploited for fairly large scale tasks in business and other areas. Most database technologies will support the fundamentals and integration with a programming platforms and applications. As the database implemented in this project will not be too complex, most database 15

24 technologies would effectively serve their purpose for this project. However, it is important to select one database technology which will support all necessary tasks for this project and be easily integrated with any application built Database Technologies Considered MySQL MySQL [23] is an open-source relational database technology that is widely used for many types of application, from very simple to complex applications in business. It is readily available and supports integration with many programming languages and applications. Although MySQL is written in the C and C++ programming languages, it does offer rich functionality with Java and the JDBC through the use of a Connecter/J driver [24]. MySQL would be a reasonable choice for this project due to its ease of integration with the chosen programming language, reliability and functionality. PostgreSQL PostgreSQL [25] is another open-source relational database technology which would be fit for purpose in this project. Like with MySQL, it offers compatibility with Java and the JDBC through a PostgreSQL JDBC driver. PostgreSQL supports all fundamental data types that would be needed in this application and would also be a reasonable choice for this project. Apache Derby Apache Derby is an open source relational database implemented entirely in Java [26]. It is based on Java, JDBC and SQL standards which will all be made use of in this project. Apache Derby s integration with the application built would be straight forward as there is a JDBC driver that supports interactions between Java programs and an Apache Derby database. It is currently distributed by Sun as Java DB with the focus on ease of integration with Java applications. That being said, Apache Derby becomes a straight forward, reasonable choice for use in this project. Perhaps a defining advantage of utilising this database technology is that the developer has prior experience with using it Database Technology Conclusion The Apache Derby relational database management system will be used for this project. Although the other technologies examined could also have been successfully implemented it was decided this was the most suitable choice due to the fact that the developer has previous experience with it and no learning curve with regard to use of the database technology or integration with the Java application is required. Due to the limited time that is available to the developer in this project, selecting a familiar technology is advisable. 16

25 Chapter 4 Analysis and Classification 4.1 Introduction This chapter is concerned with the analysis of Cloud Computing services and what these services provide leading to the outlining and structuring of a classification scheme that focuses upon each of the three distinct areas of Cloud Computing. An inherent initial classification is that a Cloud Computing service will reside in one of the three areas. A service will either be classified as Software-as-a-Service (SaaS), Platform-as-a-Service (PaaS) or Infrastructure-as-a-Service (IaaS). Consequently, further analysis and hence further classifications are split into three separate sections for the three different areas. When conducting this investigation and thorough analysis of services, it is important for the developer to be as objective as possible. Classifications should be based on facts and features derived from studying the services themselves and not the developer s opinion or presumption about a service. The analysis and classification process is made difficult by the fact that because Cloud Computing is such a new field, there are very few journals, books or resources of information that provide helpful insight into possible classification schemes. This means that the process of analysis has to be focused largely on the actual official websites of the Cloud Computing services themselves which can often contain propaganda and persuasion on what the advantages are, and what is offered by the service, as the websites themselves are sales tools as well as bases of relevant information. The purpose of conducting this analysis is to derive a classification scheme for each area of Cloud Computing. The purpose of the classification scheme is to act as a basis on which the implemented directory service can provide a user with options for requirements and suggest suitable services based on these requirements. Because of this, the classification has to be focused on the commonalities and differences between services within each area so that services can ultimately be differentiated between in some way. This chapter will show the process by which relevant services are identified and how they are analysed; what the key features, differences and commonalities are between services in each area, with justifications; and with examples, the classification schemes in each area derived from this analysis. The requirements of each of the classification schemes are clearly to provide suitable criteria for services within each area of Cloud Computing, containing key common features and differences between them. These classifications will then form the basis of the database used in the next part of the solution, the directory service. 4.2 Finding Relevant Information 17

Cloud computing: the state of the art and challenges. Jānis Kampars Riga Technical University

Cloud computing: the state of the art and challenges. Jānis Kampars Riga Technical University Cloud computing: the state of the art and challenges Jānis Kampars Riga Technical University Presentation structure Enabling technologies Cloud computing defined Dealing with load in cloud computing Service

More information

Grid Computing Vs. Cloud Computing

Grid Computing Vs. Cloud Computing International Journal of Information and Computation Technology. ISSN 0974-2239 Volume 3, Number 6 (2013), pp. 577-582 International Research Publications House http://www. irphouse.com /ijict.htm Grid

More information

Cloud Computing Architecture: A Survey

Cloud Computing Architecture: A Survey Cloud Computing Architecture: A Survey Abstract Now a day s Cloud computing is a complex and very rapidly evolving and emerging area that affects IT infrastructure, network services, data management and

More information

CHAPTER 8 CLOUD COMPUTING

CHAPTER 8 CLOUD COMPUTING CHAPTER 8 CLOUD COMPUTING SE 458 SERVICE ORIENTED ARCHITECTURE Assist. Prof. Dr. Volkan TUNALI Faculty of Engineering and Natural Sciences / Maltepe University Topics 2 Cloud Computing Essential Characteristics

More information

Architectural Implications of Cloud Computing

Architectural Implications of Cloud Computing Architectural Implications of Cloud Computing Grace Lewis Research, Technology and Systems Solutions (RTSS) Program Lewis is a senior member of the technical staff at the SEI in the Research, Technology,

More information

International Journal of Engineering Research & Management Technology

International Journal of Engineering Research & Management Technology International Journal of Engineering Research & Management Technology March- 2015 Volume 2, Issue-2 Survey paper on cloud computing with load balancing policy Anant Gaur, Kush Garg Department of CSE SRM

More information

How To Compare Cloud Computing To Cloud Platforms And Cloud Computing

How To Compare Cloud Computing To Cloud Platforms And Cloud Computing Volume 3, Issue 11, November 2013 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Cloud Platforms

More information

CLOUD COMPUTING. Keywords: Cloud Computing, Data Centers, Utility Computing, Virtualization, IAAS, PAAS, SAAS.

CLOUD COMPUTING. Keywords: Cloud Computing, Data Centers, Utility Computing, Virtualization, IAAS, PAAS, SAAS. CLOUD COMPUTING Mr. Dhananjay Kakade CSIT, CHINCHWAD, Mr Giridhar Gundre CSIT College Chinchwad Abstract: Cloud computing is a technology that uses the internet and central remote servers to maintain data

More information

Sistemi Operativi e Reti. Cloud Computing

Sistemi Operativi e Reti. Cloud Computing 1 Sistemi Operativi e Reti Cloud Computing Facoltà di Scienze Matematiche Fisiche e Naturali Corso di Laurea Magistrale in Informatica Osvaldo Gervasi ogervasi@computer.org 2 Introduction Technologies

More information

White Paper on CLOUD COMPUTING

White Paper on CLOUD COMPUTING White Paper on CLOUD COMPUTING INDEX 1. Introduction 2. Features of Cloud Computing 3. Benefits of Cloud computing 4. Service models of Cloud Computing 5. Deployment models of Cloud Computing 6. Examples

More information

IaaS Cloud Architectures: Virtualized Data Centers to Federated Cloud Infrastructures

IaaS Cloud Architectures: Virtualized Data Centers to Federated Cloud Infrastructures IaaS Cloud Architectures: Virtualized Data Centers to Federated Cloud Infrastructures Dr. Sanjay P. Ahuja, Ph.D. 2010-14 FIS Distinguished Professor of Computer Science School of Computing, UNF Introduction

More information

Overview. The Cloud. Characteristics and usage of the cloud Realities and risks of the cloud

Overview. The Cloud. Characteristics and usage of the cloud Realities and risks of the cloud Overview The purpose of this paper is to introduce the reader to the basics of cloud computing or the cloud with the aim of introducing the following aspects: Characteristics and usage of the cloud Realities

More information

White Paper: Optimizing the Cloud Infrastructure for Enterprise Applications

White Paper: Optimizing the Cloud Infrastructure for Enterprise Applications White Paper: Optimizing the Cloud Infrastructure for Enterprise Applications 2010 Ashton, Metzler, & Associates. All rights reserved. Executive Summary Given the technological and organizational risks

More information

Tamanna Roy Rayat & Bahra Institute of Engineering & Technology, Punjab, India talk2tamanna@gmail.com

Tamanna Roy Rayat & Bahra Institute of Engineering & Technology, Punjab, India talk2tamanna@gmail.com IJCSIT, Volume 1, Issue 5 (October, 2014) e-issn: 1694-2329 p-issn: 1694-2345 A STUDY OF CLOUD COMPUTING MODELS AND ITS FUTURE Tamanna Roy Rayat & Bahra Institute of Engineering & Technology, Punjab, India

More information

Planning the Migration of Enterprise Applications to the Cloud

Planning the Migration of Enterprise Applications to the Cloud Planning the Migration of Enterprise Applications to the Cloud A Guide to Your Migration Options: Private and Public Clouds, Application Evaluation Criteria, and Application Migration Best Practices Introduction

More information

SPM rollouts in Large Ent erprise: different iat ing exist ing cloud architectures

SPM rollouts in Large Ent erprise: different iat ing exist ing cloud architectures SPM rollouts in Large Ent erprise: different iat ing exist ing cloud architectures 1 Table of contents Why this white paper?... 3 SPM for SMEs vs. SPM for LEs... 3 Why a multi-tenant and not single-tenant

More information

Getting Familiar with Cloud Terminology. Cloud Dictionary

Getting Familiar with Cloud Terminology. Cloud Dictionary Getting Familiar with Cloud Terminology Cloud computing is a hot topic in today s IT industry. However, the technology brings with it new terminology that can be confusing. Although you don t have to know

More information

DESIGN OF A PLATFORM OF VIRTUAL SERVICE CONTAINERS FOR SERVICE ORIENTED CLOUD COMPUTING. Carlos de Alfonso Andrés García Vicente Hernández

DESIGN OF A PLATFORM OF VIRTUAL SERVICE CONTAINERS FOR SERVICE ORIENTED CLOUD COMPUTING. Carlos de Alfonso Andrés García Vicente Hernández DESIGN OF A PLATFORM OF VIRTUAL SERVICE CONTAINERS FOR SERVICE ORIENTED CLOUD COMPUTING Carlos de Alfonso Andrés García Vicente Hernández 2 INDEX Introduction Our approach Platform design Storage Security

More information

Security Issues In Cloud Computing And Their Solutions

Security Issues In Cloud Computing And Their Solutions Security Issues In Cloud Computing And Their Solutions Mr. Vinod K. Lalbeg Lecturer (Management), NWIMSR, Pune-1 & Ms. Anjali S. Mulik Lecturer (Management), NWIMSR, Pune-1 ABSTRACT Cloud Computing offers

More information

The Cisco Powered Network Cloud: An Exciting Managed Services Opportunity

The Cisco Powered Network Cloud: An Exciting Managed Services Opportunity . White Paper The Cisco Powered Network Cloud: An Exciting Managed Services Opportunity The cloud computing phenomenon is generating a lot of interest worldwide because of its potential to offer services

More information

How To Understand Cloud Computing

How To Understand Cloud Computing Overview of Cloud Computing (ENCS 691K Chapter 1) Roch Glitho, PhD Associate Professor and Canada Research Chair My URL - http://users.encs.concordia.ca/~glitho/ Overview of Cloud Computing Towards a definition

More information

Customer Engagement & The Cloud

Customer Engagement & The Cloud Customer Engagement & The Cloud Silverbear Membership Customer Engagement & The Cloud There has been a lot of talk and hype recently surrounding this new phenomenon called the Cloud". A lot of senior business

More information

CLOUD COMPUTING IN HIGHER EDUCATION

CLOUD COMPUTING IN HIGHER EDUCATION Mr Dinesh G Umale Saraswati College,Shegaon (Department of MCA) CLOUD COMPUTING IN HIGHER EDUCATION Abstract Technology has grown rapidly with scientific advancement over the world in recent decades. Therefore,

More information

Hadoop in the Hybrid Cloud

Hadoop in the Hybrid Cloud Presented by Hortonworks and Microsoft Introduction An increasing number of enterprises are either currently using or are planning to use cloud deployment models to expand their IT infrastructure. Big

More information

CLOUD COMPUTING An Overview

CLOUD COMPUTING An Overview CLOUD COMPUTING An Overview Abstract Resource sharing in a pure plug and play model that dramatically simplifies infrastructure planning is the promise of cloud computing. The two key advantages of this

More information

Certified Cloud Computing Professional VS-1067

Certified Cloud Computing Professional VS-1067 Certified Cloud Computing Professional VS-1067 Certified Cloud Computing Professional Certification Code VS-1067 Vskills Cloud Computing Professional assesses the candidate for a company s cloud computing

More information

yvette@yvetteagostini.it yvette@yvetteagostini.it

yvette@yvetteagostini.it yvette@yvetteagostini.it 1 The following is merely a collection of notes taken during works, study and just-for-fun activities No copyright infringements intended: all sources are duly listed at the end of the document This work

More information

Where We Are. References. Cloud Computing. Levels of Service. Cloud Computing History. Introduction to Data Management CSE 344

Where We Are. References. Cloud Computing. Levels of Service. Cloud Computing History. Introduction to Data Management CSE 344 Where We Are Introduction to Data Management CSE 344 Lecture 25: DBMS-as-a-service and NoSQL We learned quite a bit about data management see course calendar Three topics left: DBMS-as-a-service and NoSQL

More information

CUMULUX WHICH CLOUD PLATFORM IS RIGHT FOR YOU? COMPARING CLOUD PLATFORMS. Review Business and Technology Series www.cumulux.com

CUMULUX WHICH CLOUD PLATFORM IS RIGHT FOR YOU? COMPARING CLOUD PLATFORMS. Review Business and Technology Series www.cumulux.com ` CUMULUX WHICH CLOUD PLATFORM IS RIGHT FOR YOU? COMPARING CLOUD PLATFORMS Review Business and Technology Series www.cumulux.com Table of Contents Cloud Computing Model...2 Impact on IT Management and

More information

Elastic Cloud Computing in the Open Cirrus Testbed implemented via Eucalyptus

Elastic Cloud Computing in the Open Cirrus Testbed implemented via Eucalyptus Elastic Cloud Computing in the Open Cirrus Testbed implemented via Eucalyptus International Symposium on Grid Computing 2009 (Taipei) Christian Baun The cooperation of and Universität Karlsruhe (TH) Agenda

More information

CLOUD COMPUTING. When It's smarter to rent than to buy

CLOUD COMPUTING. When It's smarter to rent than to buy CLOUD COMPUTING When It's smarter to rent than to buy Is it new concept? Nothing new In 1990 s, WWW itself Grid Technologies- Scientific applications Online banking websites More convenience Not to visit

More information

INTRODUCTION TO CLOUD COMPUTING CEN483 PARALLEL AND DISTRIBUTED SYSTEMS

INTRODUCTION TO CLOUD COMPUTING CEN483 PARALLEL AND DISTRIBUTED SYSTEMS INTRODUCTION TO CLOUD COMPUTING CEN483 PARALLEL AND DISTRIBUTED SYSTEMS CLOUD COMPUTING Cloud computing is a model for enabling convenient, ondemand network access to a shared pool of configurable computing

More information

Auto-Scaling Model for Cloud Computing System

Auto-Scaling Model for Cloud Computing System Auto-Scaling Model for Cloud Computing System Che-Lun Hung 1*, Yu-Chen Hu 2 and Kuan-Ching Li 3 1 Dept. of Computer Science & Communication Engineering, Providence University 2 Dept. of Computer Science

More information

IaaS- the sunny side of cloud

IaaS- the sunny side of cloud IaaS- the sunny side of cloud Cloud computing continues to evolve not just from the private and public cloud front, but also at platformas-a-service (PaaS), software-as-a-service (SaaS) and infrastructure-as-a-service

More information

CLOUD COMPUTING USING HADOOP TECHNOLOGY

CLOUD COMPUTING USING HADOOP TECHNOLOGY CLOUD COMPUTING USING HADOOP TECHNOLOGY DHIRAJLAL GANDHI COLLEGE OF TECHNOLOGY SALEM B.NARENDRA PRASATH S.PRAVEEN KUMAR 3 rd year CSE Department, 3 rd year CSE Department, Email:narendren.jbk@gmail.com

More information

Datamation. 3 Ways to Move Application Development to the Cloud. Executive Brief. In This Paper

Datamation. 3 Ways to Move Application Development to the Cloud. Executive Brief. In This Paper 3 Ways to Move Application Development to the Cloud In This Paper Many companies are looking to cloud-based platforms to speed development PaaS provides a cloud-based platform for developing and deploying

More information

Choosing Between Commodity and Enterprise Cloud

Choosing Between Commodity and Enterprise Cloud Choosing Between Commodity and Enterprise Cloud With Performance Comparison between Cloud Provider USA, Amazon EC2, and Rackspace Cloud By Cloud Spectator, LLC and Neovise, LLC. 1 Background Businesses

More information

Lecture 02a Cloud Computing I

Lecture 02a Cloud Computing I Mobile Cloud Computing Lecture 02a Cloud Computing I 吳 秀 陽 Shiow-yang Wu What is Cloud Computing? Computing with cloud? Mobile Cloud Computing Cloud Computing I 2 Note 1 What is Cloud Computing? Walking

More information

A Study on Analysis and Implementation of a Cloud Computing Framework for Multimedia Convergence Services

A Study on Analysis and Implementation of a Cloud Computing Framework for Multimedia Convergence Services A Study on Analysis and Implementation of a Cloud Computing Framework for Multimedia Convergence Services Ronnie D. Caytiles and Byungjoo Park * Department of Multimedia Engineering, Hannam University

More information

Inside the Cloud The Supporting Architecture of Cloud Computing. Jack Hanison Jack.Hanison@capgemini.com

Inside the Cloud The Supporting Architecture of Cloud Computing. Jack Hanison Jack.Hanison@capgemini.com Inside the Cloud The Supporting Architecture of Cloud Computing Jack Hanison Jack.Hanison@capgemini.com What is Cloud Computing? 2 http://www.flickr.com/photos/galego/3131005845/ Is Cloud Computing these

More information

DISTRIBUTED SYSTEMS AND CLOUD COMPUTING. A Comparative Study

DISTRIBUTED SYSTEMS AND CLOUD COMPUTING. A Comparative Study DISTRIBUTED SYSTEMS AND CLOUD COMPUTING A Comparative Study Geographically distributed resources, such as storage devices, data sources, and computing power, are interconnected as a single, unified resource

More information

Accelerating Time to Market:

Accelerating Time to Market: Accelerating Time to Market: Application Development and Test in the Cloud Paul Speciale, Savvis Symphony Product Marketing June 2010 HOS-20100608-GL-Accelerating-Time-to-Market-Dev-Test-Cloud 1 Software

More information

A Study on Service Oriented Network Virtualization convergence of Cloud Computing

A Study on Service Oriented Network Virtualization convergence of Cloud Computing A Study on Service Oriented Network Virtualization convergence of Cloud Computing 1 Kajjam Vinay Kumar, 2 SANTHOSH BODDUPALLI 1 Scholar(M.Tech),Department of Computer Science Engineering, Brilliant Institute

More information

Open Cloud System. (Integration of Eucalyptus, Hadoop and AppScale into deployment of University Private Cloud)

Open Cloud System. (Integration of Eucalyptus, Hadoop and AppScale into deployment of University Private Cloud) Open Cloud System (Integration of Eucalyptus, Hadoop and into deployment of University Private Cloud) Thinn Thu Naing University of Computer Studies, Yangon 25 th October 2011 Open Cloud System University

More information

A Gentle Introduction to Cloud Computing

A Gentle Introduction to Cloud Computing A Gentle Introduction to Cloud Computing Source: Wikipedia Platform Computing, Inc. Platform Clusters, Grids, Clouds, Whatever Computing The leader in managing large scale shared environments o 18 years

More information

Li Sheng. lsheng1@uci.edu. Nowadays, with the booming development of network-based computing, more and more

Li Sheng. lsheng1@uci.edu. Nowadays, with the booming development of network-based computing, more and more 36326584 Li Sheng Virtual Machine Technology for Cloud Computing Li Sheng lsheng1@uci.edu Abstract: Nowadays, with the booming development of network-based computing, more and more Internet service vendors

More information

CHAPTER 2 THEORETICAL FOUNDATION

CHAPTER 2 THEORETICAL FOUNDATION CHAPTER 2 THEORETICAL FOUNDATION 2.1 Theoretical Foundation Cloud computing has become the recent trends in nowadays computing technology world. In order to understand the concept of cloud, people should

More information

Fundamental Concepts and Models

Fundamental Concepts and Models Chapter 4: Fundamental Concepts and Models Nora Almezeini MIS Department, CBA, KSU From Cloud Computing by Thomas Erl, Zaigham Mahmood, and Ricardo Puttini(ISBN: 0133387526) Copyright 2013 Arcitura Education,

More information

Bringing the Cloud into Focus. A Whitepaper by CMIT Solutions and Cadence Management Advisors

Bringing the Cloud into Focus. A Whitepaper by CMIT Solutions and Cadence Management Advisors Bringing the Cloud into Focus A Whitepaper by CMIT Solutions and Cadence Management Advisors Table Of Contents Introduction: What is The Cloud?.............................. 1 The Cloud Benefits.......................................

More information

Chapter 2 Cloud Computing

Chapter 2 Cloud Computing Chapter 2 Cloud Computing Cloud computing technology represents a new paradigm for the provisioning of computing resources. This paradigm shifts the location of resources to the network to reduce the costs

More information

IT as a Service. Transforming IT with the Windows Azure Platform. November 2010

IT as a Service. Transforming IT with the Windows Azure Platform. November 2010 IT as a Service Transforming IT with the Windows Azure Platform November 2010 Version 1.0 11/9/2010 Contents Understanding IT as a Service... 1 Realizing IT as a Service: The Importance of PaaS... 4 What

More information

Abstract 1. INTRODUCTION

Abstract 1. INTRODUCTION Abstract CLOUD COMPUTING GauravBawa & Sheena Girdhar DAV Institute of Engineering and Technology, Jalandhar Email: gaurav.daviet@yahoo.com, sheenagirdhar@gmail.com Contact Numbers: 09417614654,09914658188

More information

Cloud Computing. Adam Barker

Cloud Computing. Adam Barker Cloud Computing Adam Barker 1 Overview Introduction to Cloud computing Enabling technologies Different types of cloud: IaaS, PaaS and SaaS Cloud terminology Interacting with a cloud: management consoles

More information

WORKFLOW ENGINE FOR CLOUDS

WORKFLOW ENGINE FOR CLOUDS WORKFLOW ENGINE FOR CLOUDS By SURAJ PANDEY, DILEBAN KARUNAMOORTHY, and RAJKUMAR BUYYA Prepared by: Dr. Faramarz Safi Islamic Azad University, Najafabad Branch, Esfahan, Iran. Workflow Engine for clouds

More information

Permanent Link: http://espace.library.curtin.edu.au/r?func=dbin-jump-full&local_base=gen01-era02&object_id=154091

Permanent Link: http://espace.library.curtin.edu.au/r?func=dbin-jump-full&local_base=gen01-era02&object_id=154091 Citation: Alhamad, Mohammed and Dillon, Tharam S. and Wu, Chen and Chang, Elizabeth. 2010. Response time for cloud computing providers, in Kotsis, G. and Taniar, D. and Pardede, E. and Saleh, I. and Khalil,

More information

WINDOWS AZURE AND WINDOWS HPC SERVER

WINDOWS AZURE AND WINDOWS HPC SERVER David Chappell March 2012 WINDOWS AZURE AND WINDOWS HPC SERVER HIGH-PERFORMANCE COMPUTING IN THE CLOUD Sponsored by Microsoft Corporation Copyright 2012 Chappell & Associates Contents High-Performance

More information

CloudFTP: A free Storage Cloud

CloudFTP: A free Storage Cloud CloudFTP: A free Storage Cloud ABSTRACT: The cloud computing is growing rapidly for it offers on-demand computing power and capacity. The power of cloud enables dynamic scalability of applications facing

More information

How To Run A Cloud Computer System

How To Run A Cloud Computer System Cloud Technologies and GIS Nathalie Smith nsmith@esri.com Agenda What is Cloud Computing? How does it work? Cloud and GIS applications Esri Offerings Lots of hype Cloud computing remains the latest, most

More information

BUSINESS MANAGEMENT SUPPORT

BUSINESS MANAGEMENT SUPPORT BUSINESS MANAGEMENT SUPPORT Business disadvantages using cloud computing? Author: Maikel Mardjan info@bm-support.org 2010 BM-Support.org Foundation. All rights reserved. EXECUTIVE SUMMARY Cloud computing

More information

A Study of Infrastructure Clouds

A Study of Infrastructure Clouds A Study of Infrastructure Clouds Pothamsetty Nagaraju 1, K.R.R.M.Rao 2 1 Pursuing M.Tech(CSE), Nalanda Institute of Engineering & Technology,Siddharth Nagar, Sattenapalli, Guntur., Affiliated to JNTUK,

More information

White Paper. Cloud Vademecum

White Paper. Cloud Vademecum White Paper Cloud Vademecum Cloud is the new IT paradigm this document offers a collection of thoughts, internal and external discussions and information. The goal is to inspire and stimulate the route

More information

What is Cloud Computing? First, a little history. Demystifying Cloud Computing. Mainframe Era (1944-1978) Workstation Era (1968-1985) Xerox Star 1981!

What is Cloud Computing? First, a little history. Demystifying Cloud Computing. Mainframe Era (1944-1978) Workstation Era (1968-1985) Xerox Star 1981! Demystifying Cloud Computing What is Cloud Computing? First, a little history. Tim Horgan Head of Cloud Computing Centre of Excellence http://cloud.cit.ie 1" 2" Mainframe Era (1944-1978) Workstation Era

More information

In a dynamic economic environment, your company s survival

In a dynamic economic environment, your company s survival Chapter 1 Cloud Computing Defined In This Chapter Examining the reasons for cloud Understanding cloud types Defining the elements of cloud computing Comparing private and public clouds In a dynamic economic

More information

Prof. Luiz Fernando Bittencourt MO809L. Tópicos em Sistemas Distribuídos 1 semestre, 2015

Prof. Luiz Fernando Bittencourt MO809L. Tópicos em Sistemas Distribuídos 1 semestre, 2015 MO809L Tópicos em Sistemas Distribuídos 1 semestre, 2015 Introduction to Cloud Computing IT Challenges 70% of the budget to keep IT running, 30% available to create new value that needs to be inverted

More information

An Efficient Cost Calculation Mechanism for Cloud and Non Cloud Computing Environment in Java

An Efficient Cost Calculation Mechanism for Cloud and Non Cloud Computing Environment in Java 2012 International Conference on Computer Technology and Science (ICCTS 2012) IPCSIT vol. 47 (2012) (2012) IACSIT Press, Singapore DOI: 10.7763/IPCSIT.2012.V47.31 An Efficient Cost Calculation Mechanism

More information

Cloud Computing An Introduction

Cloud Computing An Introduction Cloud Computing An Introduction Distributed Systems Sistemi Distribuiti Andrea Omicini andrea.omicini@unibo.it Dipartimento di Informatica Scienza e Ingegneria (DISI) Alma Mater Studiorum Università di

More information

Building an AWS-Compatible Hybrid Cloud with OpenStack

Building an AWS-Compatible Hybrid Cloud with OpenStack Building an AWS-Compatible Hybrid Cloud with OpenStack AWS is Transforming IT Amazon Web Services (AWS) commands a significant lead in the public cloud services market, with revenue estimated to grow from

More information

Cloud Computing. Bringing the Cloud into Focus

Cloud Computing. Bringing the Cloud into Focus Cloud Computing Bringing the Cloud into Focus November 2011 Introduction Ken Cochrane CEO, IT/NET Partner, KPGM Performance and Technology National co-leader IT Advisory Services KPMG Andrew Brewin Vice

More information

Cluster, Grid, Cloud Concepts

Cluster, Grid, Cloud Concepts Cluster, Grid, Cloud Concepts Kalaiselvan.K Contents Section 1: Cluster Section 2: Grid Section 3: Cloud Cluster An Overview Need for a Cluster Cluster categorizations A computer cluster is a group of

More information

APP DEVELOPMENT ON THE CLOUD MADE EASY WITH PAAS

APP DEVELOPMENT ON THE CLOUD MADE EASY WITH PAAS APP DEVELOPMENT ON THE CLOUD MADE EASY WITH PAAS This article looks into the benefits of using the Platform as a Service paradigm to develop applications on the cloud. It also compares a few top PaaS providers

More information

A Middleware Strategy to Survive Compute Peak Loads in Cloud

A Middleware Strategy to Survive Compute Peak Loads in Cloud A Middleware Strategy to Survive Compute Peak Loads in Cloud Sasko Ristov Ss. Cyril and Methodius University Faculty of Information Sciences and Computer Engineering Skopje, Macedonia Email: sashko.ristov@finki.ukim.mk

More information

Windows Server Virtualization An Overview

Windows Server Virtualization An Overview Microsoft Corporation Published: May 2006 Abstract Today s business climate is more challenging than ever and businesses are under constant pressure to lower costs while improving overall operational efficiency.

More information

ASCETiC Whitepaper. Motivation. ASCETiC Toolbox Business Goals. Approach

ASCETiC Whitepaper. Motivation. ASCETiC Toolbox Business Goals. Approach ASCETiC Whitepaper Motivation The increased usage of ICT, together with growing energy costs and the need to reduce greenhouse gases emissions call for energy-efficient technologies that decrease the overall

More information

VMware for your hosting services

VMware for your hosting services VMware for your hosting services Anindya Kishore Das 2009 VMware Inc. All rights reserved Everybody talks Cloud! You will eat your cloud and you will like it! Everybody talks Cloud - But what is it? VMware

More information

Oracle Applications and Cloud Computing - Future Direction

Oracle Applications and Cloud Computing - Future Direction Oracle Applications and Cloud Computing - Future Direction February 26, 2010 03:00 PM 03:40 PM Presented By Subash Krishnaswamy skrishna@astcorporation.com Vijay Tirumalai vtirumalai@astcorporation.com

More information

Guideline on Implementing Cloud Identity and Access Management

Guideline on Implementing Cloud Identity and Access Management CMSGu2013-05 Mauritian Computer Emergency Response Team CERT-MU SECURITY GUIDELINE 2011-02 Enhancing Cyber Security in Mauritius Guideline on Implementing Cloud Identity and Access Management National

More information

Cloud Computing Service Models, Types of Clouds and their Architectures, Challenges.

Cloud Computing Service Models, Types of Clouds and their Architectures, Challenges. Cloud Computing Service Models, Types of Clouds and their Architectures, Challenges. B.Kezia Rani 1, Dr.B.Padmaja Rani 2, Dr.A.Vinaya Babu 3 1 Research Scholar,Dept of Computer Science, JNTU, Hyderabad,Telangana

More information

Research Paper Available online at: www.ijarcsse.com A COMPARATIVE STUDY OF CLOUD COMPUTING SERVICE PROVIDERS

Research Paper Available online at: www.ijarcsse.com A COMPARATIVE STUDY OF CLOUD COMPUTING SERVICE PROVIDERS Volume 2, Issue 2, February 2012 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: A COMPARATIVE STUDY OF CLOUD

More information

Aneka: A Software Platform for.net-based Cloud Computing

Aneka: A Software Platform for.net-based Cloud Computing Aneka: A Software Platform for.net-based Cloud Computing Christian VECCHIOLA a, Xingchen CHU a,b, and Rajkumar BUYYA a,b,1 a Grid Computing and Distributed Systems (GRIDS) Laboratory Department of Computer

More information

Computing in a virtual world Cloud Computing

Computing in a virtual world Cloud Computing Computing in a virtual world Cloud Computing Just what is cloud computing anyway? Skeptics might say it is nothing but industry hyperbole, visionaries might say it is the future of IT. In realty, both

More information

Secure Cloud Computing through IT Auditing

Secure Cloud Computing through IT Auditing Secure Cloud Computing through IT Auditing 75 Navita Agarwal Department of CSIT Moradabad Institute of Technology, Moradabad, U.P., INDIA Email: nvgrwl06@gmail.com ABSTRACT In this paper we discuss the

More information

Amazon Hosted ESRI GeoPortal Server. GeoCloud Project Report

Amazon Hosted ESRI GeoPortal Server. GeoCloud Project Report Amazon Hosted ESRI GeoPortal Server GeoCloud Project Report Description of Application Operating Organization The USDA participated in the FY 2011 Federal Geographic Data Committee (FGDC) GeoCloud Sandbox

More information

How To Manage A Virtual Data Center In A Country With Limited Space

How To Manage A Virtual Data Center In A Country With Limited Space 3. Technology Technology UKAI This article introduces our research into the UKAI* 1 storage system, which enables flexible control over the actual data locations of virtual disk images of virtual machines

More information

Energy Efficiency Embedded Service Lifecycle: Towards an Energy Efficient Cloud Computing Architecture

Energy Efficiency Embedded Service Lifecycle: Towards an Energy Efficient Cloud Computing Architecture Energy Efficiency Embedded Service Lifecycle: Towards an Energy Efficient Cloud Computing Architecture On behalf of the ASCETiC Consortium Project Number 610874 Instrument Collaborative Project Start Date

More information

Cloud Computing & Hosting Solutions

Cloud Computing & Hosting Solutions Cloud Computing & Hosting Solutions SANTA FE COLLEGE CTS2356: NETWORK ADMIN DANIEL EAKINS 4/15/2012 1 Cloud Computing & Hosting Solutions ABSTRACT For this week s topic we will discuss about Cloud computing

More information

Managing the Real Cost of On-Demand Enterprise Cloud Services with Chargeback Models

Managing the Real Cost of On-Demand Enterprise Cloud Services with Chargeback Models Managing the Real Cost of On-Demand Enterprise Cloud Services with Chargeback Models A Guide to Cloud Computing Costs, Server Costs, Pricing Plans, and Chargeback Implementation and Systems Introduction

More information

XTM Web 2.0 Enterprise Architecture Hardware Implementation Guidelines. A.Zydroń 18 April 2009. Page 1 of 12

XTM Web 2.0 Enterprise Architecture Hardware Implementation Guidelines. A.Zydroń 18 April 2009. Page 1 of 12 XTM Web 2.0 Enterprise Architecture Hardware Implementation Guidelines A.Zydroń 18 April 2009 Page 1 of 12 1. Introduction...3 2. XTM Database...4 3. JVM and Tomcat considerations...5 4. XTM Engine...5

More information

Cost-effective Strategies for Building the Next-generation Data Center

Cost-effective Strategies for Building the Next-generation Data Center White Paper Cost-effective Strategies for Building the Next-generation Data Center Custom-made servers bearing energy-efficient processors are key to today s cloud computing-inspired architectures. Tom

More information

Platforms in the Cloud

Platforms in the Cloud Platforms in the Cloud Where Will Your Next Application Run? Jazoon, Zurich June 2011 Copyright 2011 Chappell & Associates An Organization without Cloud Computing Users A A A VM VM VM A A A Application

More information

Security in Changing IT Ecosystem: Virtualization and Cloud Computing

Security in Changing IT Ecosystem: Virtualization and Cloud Computing Security in Changing IT Ecosystem: Virtualization and Cloud Computing Dr. Dhiren Patel Indian Institute of Technology Gandhinagar, India dhiren@iitgn.ac.in Cloud Computing World is further shrinking!!!

More information

Cloud Computing and Amazon Web Services

Cloud Computing and Amazon Web Services Cloud Computing and Amazon Web Services Gary A. McGilvary edinburgh data.intensive research 1 OUTLINE 1. An Overview of Cloud Computing 2. Amazon Web Services 3. Amazon EC2 Tutorial 4. Conclusions 2 CLOUD

More information

CLOUD MIGRATION STRATEGIES

CLOUD MIGRATION STRATEGIES CLOUD MIGRATION STRATEGIES Faculty Contributor: Dr. Rahul De Student Contributors: Mayur Agrawal, Sudheender S Abstract This article identifies the common challenges that typical IT managers face while

More information

Cloud Computing Capacity Planning. Maximizing Cloud Value. Authors: Jose Vargas, Clint Sherwood. Organization: IBM Cloud Labs

Cloud Computing Capacity Planning. Maximizing Cloud Value. Authors: Jose Vargas, Clint Sherwood. Organization: IBM Cloud Labs Cloud Computing Capacity Planning Authors: Jose Vargas, Clint Sherwood Organization: IBM Cloud Labs Web address: ibm.com/websphere/developer/zones/hipods Date: 3 November 2010 Status: Version 1.0 Abstract:

More information

Meeting the Needs of Database Management for SaaS: Oracle Database 12c

Meeting the Needs of Database Management for SaaS: Oracle Database 12c WHITE PAPER Meeting the Needs of Database Management for SaaS: Oracle Database 12c Sponsored by: Oracle Corp. Carl W. Olofson September 2014 IDC OPINION The move of ISV applications to the cloud is growing

More information

How to Ingest Data into Google BigQuery using Talend for Big Data. A Technical Solution Paper from Saama Technologies, Inc.

How to Ingest Data into Google BigQuery using Talend for Big Data. A Technical Solution Paper from Saama Technologies, Inc. How to Ingest Data into Google BigQuery using Talend for Big Data A Technical Solution Paper from Saama Technologies, Inc. July 30, 2013 Table of Contents Intended Audience What you will Learn Background

More information

Best Practices for Optimizing Your Linux VPS and Cloud Server Infrastructure

Best Practices for Optimizing Your Linux VPS and Cloud Server Infrastructure Best Practices for Optimizing Your Linux VPS and Cloud Server Infrastructure Q1 2012 Maximizing Revenue per Server with Parallels Containers for Linux www.parallels.com Table of Contents Overview... 3

More information

A Novel Approach for Efficient Load Balancing in Cloud Computing Environment by Using Partitioning

A Novel Approach for Efficient Load Balancing in Cloud Computing Environment by Using Partitioning A Novel Approach for Efficient Load Balancing in Cloud Computing Environment by Using Partitioning 1 P. Vijay Kumar, 2 R. Suresh 1 M.Tech 2 nd Year, Department of CSE, CREC Tirupati, AP, India 2 Professor

More information

Cloud Computing and Open Source: Watching Hype meet Reality

Cloud Computing and Open Source: Watching Hype meet Reality Cloud Computing and Open Source: Watching Hype meet Reality Rich Wolski UCSB Computer Science Eucalyptus Systems Inc. May 26, 2011 Exciting Weather Forecasts 99 M 167 M 6.5 M What is a cloud? SLAs Web

More information