Mastering Cloud Computing - Buyya

1y ago
5 Views
2 Downloads
1.16 MB
20 Pages
Last View : 1m ago
Last Download : 3m ago
Upload by : Milo Davies
Transcription

Mastering Cloud ComputingFM.indd i1/28/2013 12:11:00 PM

About The AuthorsDr. Rajkumar Buyya is Professor of Computer Science and Software Engineering; and Director ofthe Cloud Computing and Distributed Systems (CLOUDS) Laboratory at the University of Melbourne,Australia. He is the founder and CEO of Manjrasoft, a spin-off company of the University of Melbourne,commercializing its innovations in Cloud Computing. He has authored over 425 publications and fourtextbooks including Mastering C and Object Oriented Programming with Java. He is one of the highlycited authors in computer science and software engineering worldwide. The Microsoft Academic SearchIndex rates Dr Buyya as one of the top five authors in the world during the last decade (2001–2012) andthe number one author in the world during the last five years (2007–2012) in the area of Distributed andParallel Computing.Software technologies for Grid and Cloud computing developed under Dr Buyya’s leadership havegained rapid acceptance and are in use at several academic institutions and commercial enterprisesin 40 countries around the world. Dr Buyya has led the establishment and development of key community activities, including serving as foundation Chair of the IEEE Technical Committee on ScalableComputing (TCSC) and several IEEE/ACM conferences. These contributions and international researchleadership of Dr Buyya are recognized through the award of ‘2009 IEEE Medal for Excellence in Scalable Computing’. Manjrasoft’s Aneka Cloud Technology developed under his leadership has receivedthe ‘2010 Frost & Sullivan New Product Innovation Award’ and the ‘2011 Telstra Innovation Challenge,People’s Choice Award’. He is recently appointed as the foundation Editor-in-Chief (EiC) of IEEE Transactions on Cloud Computing.Dr. Christian Vecchiola is Research Scientist at IBM Research Australia and Honorary ResearchFellow at the Department of Computing and Information Systems, The University of Melbourne, Australia. He is currently working in the development of emergency management application solutions basedon Cloud computing. Prior to joining IBM, Dr. Vecchiola served as Post-Doctoral Research Fellow in theCloud Computing and Distributed Systems (CLOUDS) Laboratory at the University of Melbourne. Hehas designed, re-engineered, and implemented the several components of Aneka.Dr. S Thamarai Selvi is Professor and Dean of Madras Institute of Technology (MIT) at Anna University, Chennai, India; and Principal Investigator of the Centre for Advance Computing Research andEducation (CARE) supported by the Department of Information Technology (DIT), Ministry of Information and Communication Technology of the Government of India. She has authored over 150 publications and four textbooks including Object Oriented Programming with Java published by Tata McGrawHill, India, 2009.Dr Selvi has over 25 years of experience in teaching and research; and has coordinated and completed several research projects funded by various funding agencies including the Defence Research &Development Organisation (DRDO). She received an Indian patent titled “A system and a method to assess the trustworthiness of a resource provider” for her research on trust management in Grid computing. The CARE Resource Broker (CRB) developed for managing Grid and Cloud computing under herleadership has gained more popularity in India. She led the establishment of International conference onAdvance Computing (ICoAC). For her outstanding research contributions, she has received the ‘2009IBM Faculty Award’ and ‘Active Researcher Award’ for the year 2011 from Anna University.FM.indd ii1/28/2013 12:11:01 PM

Mastering Cloud ComputingRajkumar BuyyaThe University of Melbourne and Manjrasoft Pvt Ltd,Melbourne, AustraliaChristian VecchiolaThe University of Melbourne and IBM Research,Melbourne, AustraliaS Thamarai SelviMadras Institute of Technology,Anna University,Chennai, IndiaTata McGraw Hill Education Private LimitedNEW DELHIMcGraw-Hill OfficesNew Delhi New York St Louis San Francisco Auckland Bogotá CaracasKuala Lumpur Lisbon London Madrid Mexico City Milan MontrealSan Juan Santiago Singapore Sydney Tokyo TorontoFM.indd iii1/28/2013 12:11:01 PM

Tata McGraw-HillTPublished by Tata McGraw Hill Education Private Limited,7 West Patel Nagar, New Delhi 110 008Mastering Cloud ComputingCopyright 2013, by Tata McGraw Hill Education Private Limited.No part of this publication may be reproduced or distributed in any form or by any means, electronic, mechanical,photocopying, recording, or otherwise or stored in a database or retrieval system without the prior written permission of the publishers. The program listings (if any) may be entered, stored and executed in a computer system, butthey may not be reproduced for publication.Sales territories: India, Pakistan, Nepal, Bangladesh, Sri Lanka and BhutanTata McGraw Hill Education Private Limited.ISBN (13 digits): 978-1-25-902995-0ISBN (10 digits): 1-25-902995-6Vice President and Managing Director: Ajay ShuklaHead—Higher Education (Publishing and Marketing): Vibha MahajanPublishing Manager (SEM & Tech. Ed.): Shalini JhaAssistant Sponsoring Editor: Smruti SnigdhaEditorial Researcher: Amiya MahapatraManager—Production Systems: Satinder S BavejaAssistant Manager—Editorial Services: Sohini MukherjeeProduction Executive: Anuj K ShriwastavaAssistant General Manager (Marketing)—Higher Education: Vijay SarathiSenior Product Specialist: Tina JajoriyaSenior Graphic Designer—Cover: Meenu RaghavGeneral Manager—Production: Rajender P GhanselaManager—Production: Reji KumarInformation contained in this work has been obtained by Tata McGraw-Hill, fromsources believed to be reliable. However, neither Tata McGraw-Hill nor its authorsguarantee the accuracy or completeness of any information published herein, and neitherTata McGraw-Hill nor its authors shall be responsible for any errors, omissions, or damagesarising out of use of this information. This work is published with the understanding thatTata McGraw-Hill and its authors are supplying information but are not attempting to renderengineering or other professional services. If such services are required, the assistance of anappropriate professional should be sought.Typeset at BeSpoke Integrated Solutions, Puducherry, India 605 008 and printed at Magic International Pvt. Ltd., PlotNo. 26E, Sector-31(INDUSTRIAL), Site-IV, Greater Noida - 201306Cover Printer: Magic International Pvt.RZZQCRDODDBQDFM.indd iv1/28/2013 12:11:01 PM

FM.indd v1/28/2013 12:11:01 PM

ContentsPrefacexiAcknowledgementsxvChapter 1—Introduction1.1 Cloud Computing at a Glance1.11.1.1 The Vision of Cloud Computing1.21.1.2 Defining a Cloud1.41.1.3 A Closer Look1.61.1.4 Cloud Computing Reference Model1.81.1.5 Characteristics and Benefits1.91.1.6 Challenges Ahead1.101.2 Historical Developments1.111.2.1 Distributed Systems1.121.2.2 Virtualization1.131.2.3 Web 2.01.141.2.4 Service-Oriented Computing1.151.2.5 Utility-Oriented Computing1.161.3 Building Cloud Computing Environments1.171.3.1 Application Development1.171.3.2 Infrastructure and System Development1.171.4 Computing Platforms and Technologies1.181.4.1 Amazon Web Services (AWS)1.181.4.2 Google AppEngine1.181.4.3 Microsoft Azure1.191.4.4 Hadoop1.191.4.5 Force.com and Salesforce.com1.191.4.6 Manjrasoft Aneka1.19Summary1.20Review Questions1.21Chapter 2—Principles of Parallel and Distributed Computing2.1 Eras of Computing2.12.12.2 Parallel vs. Distributed Computing2.22.3 Elements of Parallel Computing2.22.3.1 What is Parallel Processing?2.32.3.2 Hardware Architectures for Parallel Processing2.32.3.3 Approaches to Parallel Programming2.62.3.4 Levels of Parallelism2.72.3.5 Laws of Caution2.82.4 Elements of Distributed ComputingFM.indd vi1.12.81/28/2013 12:11:01 PM

Contents2.4.1 General Concepts and Definitions2.82.4.2 Components of a Distributed System2.92.4.3 Architectural Styles for Distributed Computing2.112.4.4 Models for Inter-Process Communication2.192.5 Technologies for Distributed Computing2.222.5.1 Remote Procedure Call2.222.5.2 Distributed Object Frameworks2.232.5.3 Service Oriented Computing2.28Summary2.34Review Questions2.35Chapter 3—Virtualization3.1 Introduction3.13.13.2 Characteristics of Virtualized Environments3.33.3 Taxonomy of Virtualization Techniques3.63.3.1 Execution Virtualization3.73.3.2 Other Types of Virtualization3.163.4 Virtualization and Cloud Computing3.173.5 Pros and Cons of Virtualization3.193.6 Technology Examples3.213.6.1 Xen: Paravirtualization3.213.6.2 VMware: Full Virtualization3.223.6.3 Microsoft Hyper-V3.27Summary3.31Review Questions3.31Chapter 4—Cloud Computing Architecture4.14.1 Introduction4.14.2 Cloud Reference Model4.24.2.1 Architecture4.24.2.2 Infrastructure / Hardware as a Service4.44.2.3 Platform as a Service4.64.2.4 Software as a Service4.94.3 Types of CloudsFM.indd viivii4.124.3.1 Public Clouds4.124.3.2 Private Clouds4.134.3.3 Hybrid Clouds4.154.3.4 Community Clouds4.174.4 Economics of the Cloud4.194.5 Open Challenges4.214.5.1 Cloud Definition4.214.5.2 Cloud Interoperability and Standards4.224.5.3 Scalability and Fault Tolerance4.231/28/2013 12:11:01 PM

viiiContents4.5.4 Security, Trust, and Privacy4.234.5.5 Organizational Aspects4.23Summary4.24Review Questions4.25Chapter 5—Aneka: Cloud Application Platform5.1 Framework Overview5.25.2 Anatomy of the Aneka Container5.45.2.1 From the Ground Up: Platform Abstraction Layer5.45.2.2 Fabric Services5.55.2.3 Foundation Services5.65.2.4 Application Services5.3 Building Aneka Clouds5.95.115.3.1 Infrastructure Organization5.115.3.2 Logical Organization5.125.3.3 Private Cloud Deployment Mode5.135.3.4 Public Cloud Deployment Mode5.145.3.5 Hybrid Cloud Deployment Mode5.155.4 Cloud Programming and Management5.4.1 Aneka SDK5.4.2 Management Tools5.165.175.20Summary5.21Review Questions5.22Chapter 6—Concurrent Computing: Thread Programming6.16.1 Introducing Parallelism for Single Machine Computation6.16.2 Programming Applications with Threads6.36.2.1 What is a Thread?6.36.2.2 Thread APIs6.56.2.3 Techniques for Parallel Computation with Threads6.3 Multithreading with Aneka6.66.196.3.1 Introducing the Thread Programming Model6.206.3.2 Aneka Thread vs. Common Threads6.216.4 Programming Applications with Aneka Threads6.246.4.1 Aneka Threads Application Model6.246.4.2 Domain Decomposition: Matrix Multiplication6.266.4.3 Functional Decomposition: Sine, Cosine, and Tangent6.33Summary6.39Review Questions6.40Chapter 7—High-Throughput Computing: Task Programming7.1 Task ComputingFM.indd viii5.17.17.17.1.1 Characterizing a Task7.27.1.2 Computing Categories7.31/28/2013 12:11:01 PM

Contents7.1.3 Frameworks for Task Computing7.2 Task-based Application Models7.47.57.2.1 Embarrassingly Parallel Applications7.57.2.2 Parameter Sweep Applications7.67.2.3 MPI Applications7.2.4 Workflow Applications with Task Dependencies7.3 Aneka Task-Based Programming7.3.1 Task Programming Model7.87.107.137.137.3.2 Developing Applications with the Task Model7.147.3.3 Developing Parameter Sweep Application7.307.3.4 Managing Workflows7.34Summary7.36Review Questions7.37Chapter 8—Data Intensive Computing: Map-Reduce Programming8.1 What is Data-Intensive Computing?8.18.18.1.1 Characterizing Data-Intensive Computations8.28.1.2 Challenges Ahead8.28.1.3 Historical Perspective8.38.2 Technologies for Data-Intensive Computing8.2.1 Storage Systems8.2.2 Programming Platforms8.3 Aneka MapReduce Programming8.3.1 Introducing the MapReduce Programming Model8.3.2 Example Application8.78.78.148.208.218.44Summary8.56Review Questions8.56Chapter 9—Cloud Platforms in Industry9.19.1 Amazon Web Services9.19.1.1 Compute Services9.29.1.2 Storage Services9.1.3 Communication Services9.79.149.1.4 Additional Services9.159.1.5 Summary9.169.2 Google AppEngine9.169.2.1 Architecture and Core Concepts9.169.2.2 Application Life-Cycle9.219.2.3 Cost Model9.239.2.4 Observations9.239.3 Microsoft AzureFM.indd ixix9.249.3.1 Azure Core Concepts9.249.3.2 SQL Azure9.281/28/2013 12:11:01 PM

xContents9.3.3 Windows Azure Platform Appliance9.309.3.4 Summary9.309.4 Observations9.31Review Questions9.31Chapter 10—Cloud Applications10.1 Scientific Applications10.110.1.1 Healthcare: ECG Analysis in the Cloud10.110.1.2 Biology: Protein Structure Prediction10.310.1.3 Biology: Gene Expression Data Analysis for Cancer Diagnosis10.410.1.4 Geoscience: Satellite Image Processing10.510.2 Business and Consumer Applications10.2.1 CRM and ERP10.2.2 Productivity10.610.610.810.2.3 Social Networking10.1110.2.4 Media Applications10.1210.2.5 Multiplayer Online Gaming10.15Summary10.16Review Questions10.17Chapter 11 —Advanced Topics in Cloud Computing11.1 Energy Efficiency in Clouds11.1.1 Energy-Efficient and Green Cloud Computing Architecture11.111.111.311.2 Market Based Management of Clouds11.511.2.1 Market-Oriented Cloud Computing11.511.2.2 A Reference Model for MOCC11.611.2.3 Technologies and Initiatives Supporting MOCC11.1111.2.4 Observations11.1611.3 Federated Clouds / InterCloud11.1611.3.1 Characterization and Definition11.1611.3.2 Cloud Federation Stack11.1711.3.3 Aspects of Interest11.2211.3.4 Technologies for Cloud Federations11.3811.3.5 Observations11.4111.4 Third Party Cloud Services11.4.1 MetaCDN11.4.2 SpotCloud11.4211.4211.43Summary11.44Review Questions11.45ReferencesIndexFM.indd x10.1R.1I.11/28/2013 12:11:01 PM

PrefaceThe growing popularity of the Internet and the Web along with the availability of powerful hand-heldcomputing, mobile and sensing devices are changing the way we interact, manage our lives, conductbusiness, and access or deliver services. The lowering costs of computation and communication aredriving the focus from personal to Data Center-centric computing. Although parallel and distributedcomputing has been around for several years, its new forms, Multicore and Cloud computing, havebrought about a sweeping change in the industry. These trends are pushing the industry focus from developing applications for PCs to Cloud Data Centers enabling millions of users to make use of softwaresimultaneously.Computing is being transformed to a model consisting of commoditised services delivered in a manner similar to utilities such as water, electricity, gas, and telephony. As a result, IT (Information Technology) services are billed and delivered as “computing utilities” over shared delivery networks akin to thewater, electricity, gas and telephony services. In such a model, users access services based on theirrequirements regardless of where they are hosted. Several computing paradigms have promised todeliver this utility-computing vision. Cloud computing is the most recent emerging paradigm promisingto turn the vision of “computing utilities” into a reality.Cloud computing has become one of the buzzwords in the IT industry. Several IT vendors arepromising to offer storage, computation and application-hosting services, and provide coveragein several continents, offering Service-Level Agreements (SLA) backed performance and uptimepromises for their services. They offer subscription-based access to infrastructure, platforms, andapplications popularly termed IaaS (Infrastructure as a Service), PaaS (Platform as a Service), andSaaS (Software as a Service). Whilst these emerging services have reduced the cost of computationand application hosting by several orders of magnitude, there is a significant complexity involved inthe development and delivery of applications and their services in a seamless, scalable, and reliablemanner.There exist several Cloud technologies and platforms in the market. To mention a few: Google AppEngine, Microsoft Azure, and Manjrasoft Aneka. Google AppEngine provides an extensible runtimeenvironment for Web-based applications, which leverage huge Google IT infrastructure. MicrsoftAzure provides a wide array of Windows-based services for developing and deploying Windowsbased applications on the Cloud. Manjrasoft Aneka provides a flexible model for creating Cloud applications and deploying them on a wide variety of infrastructures including public Clouds such asAmazon EC2.With this sweeping shift from developing applications from PCs to Data Centres, there is a huge demand for manpower with new skill sets in Cloud computing. Universities play an important role inthis regard by training the next generation of IT professionals and equipping them with the necessarytools and knowledge to tackle these challenges. They need to be able to set up a Cloud computingenvironment for teaching and learning with a minimal investment.Currently, expert developers are required to create Cloud applications and services. Cloud researchers, practitioners, and vendors alike are working to ensure potential users are educated about thebenefits of Cloud computing and the best way to harness its full potential. However, being a new andpopular paradigm, the very definition of Cloud computing depends on which computing expert is asked.So, while the realization of true utility computing appears closer than ever, its acceptance is currentlyrestricted to Cloud experts due to the perceived complexities of interacting with Cloud computing providers. This book aims to change the game by simplifying and imparting Cloud computing foundations,technologies, and programming skills to readers such that even the average programmers and softwareengineers are able to develop Cloud applications easily.FM.indd xi1/28/2013 12:11:01 PM

xiiPrefaceSalient Features Introduction to Cloud Computing, Cloud Architecture, Cloud Applications, Programming of Clouds,and Cloud PlatformsFocuses on the platforms and technologies essential to Cloud Computing like Google AppEngine,Microsoft Azure, and Manjrasoft AnekaDedicated chapter on Aneka: A Software Platform for .NET-based Cloud ComputingDetailed coverage to Software as a Service (SaaS), Platform as a Service (PaaS), Infrastructureas a Service (IaaS), Server and Desktop VirtualizationPedagogy: 120 Illustrations 191 Review Questions Footnotes interspersed within chapter contentsThe Book at a GlanceThis book introduces the fundamental principles of Cloud computing and its related paradigms. It discusses the concepts of virtualization technologies along with the architectural models of Cloud computing. It presents prominent Cloud computing technologies available in the marketplace. It contains dedicated chapters on concurrent, high-throughput and data-intensive computing paradigms and their usein programming Cloud applications. Various application case studies from domains such as science,engineering, gaming, and social networking are introduced along with their architecture and how theyleverage various Cloud technologies. This allows the reader to understand the mechanisms needed toharness Cloud computing in their own respective endeavors. Finally, many open research problems andopportunities that have arisen from the rapid uptake of Cloud computing are detailed. We hope that thismotivates the reader to address these in their own future research and development.The book contains 11 chapters, which can be organized into three major parts:Part I: FoundationsChapter 1—IntroductionChapter 2—Principles of Parallel and Distributed ComputingChapter 3—VirtualizationChapter 4—Cloud Computing ArchitecturePart II: Cloud Application Programming and the Aneka PlatformChapter 5—Aneka: Cloud Application PlatformChapter 6—Concurrent Computing: Thread ProgrammingChapter 7—High-Throughput Computing: Task ProgrammingChapter 8—Data Intensive Computing: Map-Reduce ProgrammingPart III: Industrial Platforms and New DevelopmentsChapter 9—Cloud Platforms in IndustryChapter 10—Cloud ApplicationsChapter 11—Advanced Topics in Cloud ComputingThe book serves as a perfect guide into the world of Cloud computing. By starting from the fundamentals, the book drives students and professionals through the practical use of these concepts by handson sessions on how to develop Cloud applications by using Aneka, Amazon Web Services, GoogleAppEngine and Microsoft Azure. The last part introduces real applications, identifies emerging trendsand offers future directions of cloud computing.FM.indd xii1/28/2013 12:11:01 PM

PrefacexiiiOnline Learning CenterThe book also comes with an associated Web site (hosted at http://www.mhhe.com/buyya/mcc1 andhttp://www.buyya.com/MasteringClouds) containing pointers to additional online resources, PowerPointslides and research papers.Benefits and ReadershipGiven the rapid emergence of Cloud computing as a mainstream computing paradigm, it is essential toboth have a solid understanding of the core concepts characterizing the phenomenon and a practicalgrasp of how to design and implement Cloud computing applications and systems. This set of skills isalready fundamental today for software architects, engineers, and developers as many applications arebeing moved to the Cloud. It will become even more important in the future when this technology matures further. This book provides a perfect blend of background information, theory, and practical Cloudcomputing development, expressed in a language that is accessible to a wide range of readers: fromgraduate-level students to practitioners, developers, and engineers who want to, or need to, design andimplement Cloud computing solutions. Moreover, more advanced topics presented at the end of themanuscript, make the book an interesting reading for researchers in the field of Cloud computing thatare can get an overview of the next challenges in Cloud computing for the coming years.This book is a timely contribution to the Cloud computing field that is gaining considerable commercial interest and momentum. The book is targeted at graduate students and IT professionals such assystem architects, practitioners, software engineers, and application programmers. As Cloud computingis recognised as one of the top five emerging technologies that will have a major impact on the quality ofscience and society over the next 20 years, its knowledge will help position our readers at the forefrontof the field.Directions for Adoption: Theory, Laboratories, and ProjectsGiven the importance of the Cloud computing paradigm and its rapid uptake in industry, universities/educational institutions need to upgrade their curriculum by introducing one or more subjects in the areaof Cloud computing and related topics such as parallel computing and distributed systems. We recommend that they offer at least one subject on Cloud computing as part of their undergraduate and postgraduate degree programs such as BE/B.Tech./BSc (Hons) in Computer Science and related areas;and Masters including the MCA (Master of Computer Applications). We believe that this book will serveas an excellent textbook for such subjects. If the students have already had exposure to the concepts ofparallel and distributed computing, Chapter 2 can be skipped.For those aiming to make their curriculum rich with Cloud computing, we recommend to offer twosubjects: “Introduction to Cloud Computing” and “Advanced Cloud Computing” in two different semesters. This book has sufficient content to cater to both of them. The first subject can be based on Chapters 1 to 6 and the second one based on Chapters 7 to 11.In addition to theory, we strongly recommend for the introduction of a laboratory subject thatoffers hands-on experience. The lab exercises and assignments can focus on creating high-performance Cloud applications and assignments on a range of topics including parallel execution ofmathematical functions, sorting of large data in parallel, image processing, and data mining. By usingCloud software systems, institutions can easily set up a private/enterprise Cloud computing facility byutilising existing LAN-connected PCs running Windows. Students can make use of this facility to learnabout various Cloud application programming models and interfaces discussed in Chapter 6 (ThreadProgramming), Chapter 7 (Task Programming), and Chapter 8 (MapReduce Programming). Studentsneed to learn various programming examples discussed in these chapters and execute them onCloud facility. We encourage students to take up some of programming exercises noted in the Review Questions section of these chapters as lab assignments and develop their own solutions.FM.indd xiii1/28/2013 12:11:01 PM

xivPrefaceStudents can also carry out their final-year projects focused on developing Cloud applications solvingreal world problems. For example, students can work with academics/researchers/experts from otherscience and engineering disciplines such as Life and Medical Sciences or Civil and Mechanical Engineering and develop suitable applications that can harness the power of Cloud computing. For inspiration, please read various application case studies presented in Chapter 11.Rajkumar BuyyaChristian VecchiolaS Thamarai SelviPublisher’s NoteDo you have any further request or a suggestion? We are always open to new ideas (the best onescome from you!). You may send your comments to tmh.csefeedback@gmail.comPiracy-related issues may also be reported!FM.indd xiv1/28/2013 12:11:01 PM

AcknowledgmentsFirst and foremost, we are grateful to all researchers and industrial developers worldwide for their contributions to various concepts and technologies discussed in the book. Our special thanks to all the members/consultants of Manjrasoft, CLOUDS (Cloud Computing and Distributed Systems) Lab from theUniversity of Melbourne, and Melbourne Ventures who contributed towards the development of AnekaCloud Application Platform, the preparation of associated application demonstrators and documents,and/or the commercialization of the Aneka technology. They include Chu Xingchen, Srikumar Venugopal, Krishna Nadiminti, Dileban Karunamoorthy, Chao Jin, Rodrigo Calheiros, Michael Mattess, JessieWei, Enayat Masoumi, Ivan Mellado, Richard Day, Wolfgang Gentzsch, Laurence Liew, David Sinclair,Suraj Pandey, Abhi Shekar, Dexter Duncan, Murali Sathya, Karthik Sukumar, and Sita Venkatraman.We are grateful to the Australian Research Council (ARC) and the Department of Innovation, Industry, Science and Research (DIISR) for supporting our research and commercialization endeavors.We thank all of our colleagues at the University of Melbourne especially Professors Rao Kotagiri,Iven Mareels, and Glyn Davis for their mentorship and positive support for our research and knowledgetransfer efforts.A note of appreciation is due to all colleagues and users of the Aneka technology for their direct/indirect contributions towards application case studies reported in the book. Our special thanks to Raghavendra from ADRIN/ISRO for his enthusiastic efforts in creating satellite image-processing applicationusing Aneka and publishing articles in this area. Srinivasa Iyengar from MSRIT deserves a specialmention for creating data-mining applications using Aneka and demonstrating the power of Aneka toacademics from the early days of Cloud computing.We thank the members of the CLOUDS Lab for proofreading one or more chapters. They includeRodrigo Calheiros, Nikolay Grozev, Amir Vahid, Anton Beloglazov, Adel Toosi, Deepak Poola, Mohammed AlRokayan, Atefeh Khosravi, Sareh Piraghaj, and Yaser Mansouri.Dr Buyya is grateful to his family members, including Smrithi Buyya, Soumya Buyya, and RadhaBuyya, for their love and understanding during the preparation of the book.We sincerely acknowledge external reviewers K Chandra Sekaran of NIT Shrathkal, Sateesh KPeddoju of IIT Roorkee, M P Sebastian of IIM Kozhikode and a few others for their critical commentsand suggestions on enhancing the presentation and organization of many chapters at a finer level. Thishas greatly helped us in improving the quality of the book.Finally, we would like to thank the staff at Tata McGraw Hill Education for their enthusiastic supportand guidance during the preparation of the book. In particular, Vibha Mahajan inspired us to take up thisproject and set the publication process in motion; Smruti Snigdha and Amiya Mahapatra for coordinatingthe publication process. They were wonderful to work with!FM.indd xv1/28/2013 12:11:02 PM

FM.indd xvi1/28/2013 12:11:02 PM

Guided TourCovers all important subject areasGuided Tour.indd xvii1/29/2013 10:27:36 AM

xviiiGuided Tour More than 100 illustrations and diagrams are present toenhance the concepts. Full-page figures add greater clarity to the subject.Guided Tour.indd xviii1/29/2013 10:27:37 AM

Guided TourxixEach chapter has an extensiveSummary for quick recapitulationof the concepts discussed.Review questions are given in eachchapter to test the student’s subjectivegrasp on the topics, terms and definitions, and revision of conceptsA Reference list is provided at the endof the book to help students find booksand journals for further reading.Guided Tour.indd xix1/29/2013 10:27:38 AM

Guided Tour.indd xx1/29/2013 10:27:39 AM

Chapter 1—Introduction 1.1 1.1 Cloud Computing at a Glance 1.1 1.1.1 The Vision of Cloud Computing 1.2 1.1.2 Defi ning a Cloud 1.4 1.1.3 A Closer Look 1.6 1.1.4 Cloud Computing Reference Model 1.8 1.1.5 Characteristics and Benefi ts 1.9 1.1.6 Challenges Ahead 1.10 1.2 Historical Developments 1.11 1.2.1 Distributed Systems 1.12

Related Documents:

3. Mastering Tips 3.1 what is mastering? 3.2 typical mastering tools and effects 3.3 what can (and should) be fixed/adjusted 3.4 mastering EQ tips 3.5 mastering compressor tips 3.6 multi-band compressor / dynamic EQ 3.7 brickwall limiter 3.8 no problem, the mastering engineer will fix that!

Chapter 10 Cloud Computing: A Paradigm Shift 118 119 The Business Values of Cloud Computing Cost savings was the initial selling point of cloud computing. Cloud computing changes the way organisations think about IT costs. Advocates of cloud computing suggest that cloud computing will result in cost savings through

Cloud Computing J.B.I.E.T Page 5 Computing Paradigm Distinctions . The high-technology community has argued for many years about the precise definitions of centralized computing, parallel computing, distributed computing, and cloud computing. In general, distributed computing is the opposite of centralized computing.

10.1109/TCC.2014.2350475, IEEE Transactions on Cloud Computing IEEE TRANSACTIONS ON CLOUD COMPUTING, VOL. XX, NO. YY, MONTH 2014 1 Workload Prediction Using ARIMA Model and Its Impact on Cloud Applications’ QoS Rodrigo N. Calheiros, Enayat Masoumi, Rajiv Ranjan, Rajkumar Buyya Abstract—As companies shift from d

Mastering Intellectual Property George W. Kuney, Donna C. Looper Mastering Labor Law Paul M. Secunda, Anne Marie Lofaso, Joseph E. Slater, Jeffrey M. Hirsch Mastering Legal Analysis and Communication David T. Ritchie Mastering Legal Analysis and Drafting George W. Kuney, Donna C. Looper Mastering Negotiable Instruments (UCC Articles 3 and 4)

Mastering Adjusting Entries 2007 Mastering Internal Controls & Fraud Prevention 2007 Mastering Inventory 2007 Mastering Correction of Accounting Errors 2007 Mastering Depreciation 2016 Mastering Payroll 2017 AH134 online F/S/SU Medical Disorders McDaniel, K

contemporary mastering techniques. The following section, "A Guide to Common Practices in Mastering," lays the groundwork for this studies' investigation of the audio mastering process. A Guide to Common Practices in Mastering To reiterate, mastering is the most misunderstood step in the recording process.

The highest point of the bridge is 134m above 11 The two pairs of pylons are made of 12 13 % of the steel for making the bridge came from the UK. Approximately 14 families moved without compensation to accommodate the construction of the approaches to the bridge. People 15 was the main cause of death of workers while constructing the bridge.