An Applied Evaluation and Assessment of Cloud Computing Platforms
Total Page:16
File Type:pdf, Size:1020Kb
An Applied Evaluation and Assessment of Cloud Computing Platforms Daniel H¨ogberg January 21, 2012 Master's Thesis in Computing Science, 30 credits Supervisor at CS-UmU: Mikael R¨annar Examiner: Fredrik Georgsson Ume˚a University Department of Computing Science SE-901 87 UMEA˚ SWEDEN Abstract Cloud computing is an emerging paradigm with the potential to change the way computing resources are used by enabling the long held idea of utility computing. This thesis aims to conduct a survey of the cloud computing platforms that are currently available and to com- pare and evaluate the alternatives. Criteria that are important to consider when choosing between cloud platforms are defined and used to compare a set of selected platforms. A case management application called Wera is also migrated to platforms to test the migration processes and the platforms in practice. An experience gained from performing migrations to several Infrastructure-as-a-Service platforms is that they are very much alike. The storage models and features available may differ but the functionality offered is essentially the same. The fact that the area is still new is very visible when working with the platforms, but even though the platforms are still evolving, they are useful. Disruptions in the availability are rare and it is surprisingly easy to migrate an application to an Infrastructure-as-a-Service platform and have it run in the cloud. Employing Platform-as-a-Service offerings requires a greater effort to get started but using them there is even more to gain by tasks like patching and automatic scaling being transferred to the provider. ii Contents 1 Introduction 1 1.1 A brief overview of Sogeti . 1 1.2 Thesis outline . 1 2 Problem Description 3 2.1 Goals and Purposes . 3 2.2 Method . 3 2.2.1 Finding Candidate Cloud Platforms . 4 2.2.2 Defining Evaluation Criteria . 4 2.2.3 Performing migrations . 5 3 Cloud Computing - an Overview 7 3.1 Defining Cloud Computing . 7 3.1.1 Definition I . 8 3.1.2 Definition II . 8 3.1.3 Definition III . 9 3.1.4 Conclusion . 9 3.2 Motivators for Using Cloud Computing . 10 3.3 Objections to Cloud Computing . 11 4 Accomplishment 15 4.1 Preliminaries . 15 4.2 Evaluation . 16 4.3 Migrations . 16 5 Cloud Computing Platforms 19 5.1 Amazon Web Services . 19 5.1.1 Elastic Compute Cloud . 20 5.1.2 CloudWatch . 20 5.1.3 Virtual Private Cloud . 20 5.1.4 Storage . 21 5.2 Atlantic.Net . 22 iii iv CONTENTS 5.3 City Cloud . 22 5.4 Flexiant Flexiscale . 23 5.5 GoGrid . 23 5.6 Google App Engine . 24 5.6.1 The Platform . 24 5.6.2 The Datastore . 24 5.6.3 Billing . 25 5.6.4 App Engine for Business . 25 5.7 Joyent . 25 5.8 Microsoft Azure . 26 5.8.1 Windows Azure . 26 5.8.2 SQL Azure . 27 5.8.3 Windows Azure AppFabric . 27 5.8.4 Windows Azure Marketplace . 29 5.9 OpSource . 29 5.10 Rackspace . 29 5.10.1 Cloud Files . 29 5.10.2 Cloud Servers . 30 5.11 Salesforce Force.com . 30 6 App Engine vs. Azure 31 6.1 Level of Virtualization . 31 6.2 Storage . 32 6.3 Support for Application Types . 32 6.4 Software Development . 32 6.5 Related Studies . 33 7 Migrations 35 7.1 Infrastructure-as-a-Service Platforms . 35 7.1.1 Registration Process . 36 7.1.2 Snapshots . 36 7.1.3 Load Balancing . 38 7.2 Microsoft Azure . 38 7.2.1 Migrating to SQL Azure . 39 7.2.2 Migrating to Windows Azure . 40 7.3 Migrating to Google App Engine . 41 7.3.1 The Users Service . 42 7.3.2 The Datastore . 42 CONTENTS v 8 Evaluation of Platforms 45 8.1 Cost . 45 8.2 SLA . 47 8.3 Security . 48 8.4 Support and Documentation . 50 8.5 Complexity of Migration . 51 8.6 Results . 51 9 Conclusions 53 9.1 Limitations . 54 9.2 Future Work . 54 10 Acknowledgements 55 References 57 A Cost Evaluation 61 B SLA Evaluation 63 C Support and Documentation Evaluation 65 D List of Abbreviations and Acronyms 67 vi CONTENTS List of Figures 3.1 The cloud computing stack. 8 7.1 Set-up with multiple web servers. 38 8.1 The cost of running the two scenarios on the platforms in SEK/month. (Ex- change rates from 10/06/2011 when 1$ bought 10.26SEK and 1$ bought 6.32SEK) . 46 8.2 The weights assigned to the categories for Wera. 52 vii viii LIST OF FIGURES List of Tables 7.1 The differences between EBS- and S3-backed AMIs . 37 8.1 The score awarded for the SLAs. 48 8.2 The points awarded to the platforms for support and documentation. 50 8.3 The points awarded to the platforms in each of the categories. 52 8.4 The points awarded to the platforms calculated with the assigned weights for Wera. 52 A.1 The cost for the services, the currency is USD unless otherwise stated. In- stance 1 corresponds to at least 2 GB ram and 2 CPUs and Instance 2 at least 4 GB ram and 4 CPUs. 61 A.2 The cost for the services, the currency is USD unless otherwise stated. 62 B.1 The SLA guarantees offered by the vendors, hardware and network percent- ages are the promised uptime for each month (Amazon measures uptime by the year), and the compensation percentages are based on the monthly cost. Min. dur. is the minimum duration for a failure that grants any compensation. 63 B.2 The compensations offered by vendors for hardware and network failures of 10 minutes, 1 hour, and 10 hours. The percentages are the amount of the monthly bill refunded. 64 C.1 The support offered for the platforms. 65 C.2 A rating of FAQ, forum, wiki and other information resources for the plat- forms. Note that these ratings are are subjective and based on my personal opinions. 66 ix x LIST OF TABLES Chapter 1 Introduction Cloud computing is one of the big trends in the IT industry today. The area is still new and constantly growing and many companies are adapting to the paradigm, both as suppliers and consumers. The service offered by suppliers varies but they all provide remotely accessible computing resources. These resources can be servers, storage, applications and more. The advantage of cloud computing is that an organization that wants to host an application of some sort can do this without having to buy and maintain hardware and software of their own. Hosting the application in the cloud also means that the capacity can be adapted to the current load and in this way an increase or decline in the number of users can be handled. This master's thesis aims to compare and evaluate different cloud platforms. An existing application will then be migrated to the most interesting and suitable platforms to test the platforms and the migration process in practice. This will result in a recommendation whether or not to migrate the application to the cloud and the choice of platform. An additional objective of the thesis is to contribute to the knowledge of cloud platforms at Sogeti who are interested in learning more about the cloud computing alternatives available on the market. 1.1 A brief overview of Sogeti Sogeti is a consulting company offering IT services, for example IT specialist services, de- veloping projects, local system management, and management and development of the cus- tomer's IT infrastructures. Sogeti is present in many locations in Sweden and the world. In Ume˚athe company specializes in the following businesses: { Banking and finance { Public sector { Forest and paper industry { Manufacturing and processing industry 1.2 Thesis outline { Chapter 2 gives an introduction to the problem and lists goals and purposes. 1 2 Chapter 1. Introduction {.