Cloud computing-accessing computing resources over the Internet-is rapidly changing the landscape of information technology. Its primary benefits compared to on-premise computing models are reduced costs and increased agility and scalability. Hence, cloud computing is receiving considerable interest among several stakeholders-businesses, the IT industry, application developers, researchers, and students. To successfully embrace this new computing model, these stakeholders need to acquire new cloud computing skills and knowledge. This book is designed to provide readers with a clear and thorough understanding of the key aspects of cloud computing.
Presented in an easy-to-understand style, Essentials of Cloud Computing begins with an introduction to basic cloud computing concepts. It then covers cloud computing architecture, deployment models, programming models, and cloud service types, such as Software as a Service (SaaS) and Infrastructure as a Service (IaaS). It also discusses the cloud's networking aspects, major service providers, open source support, and security issues. The book concludes with a discussion of several advanced topics, such as mobile clouds, media clouds, and green clouds.
This book is intended for beginners as well as experienced practitioners who want to learn more about cloud computing. It includes many case studies, programming examples, and industry-based applications. Each chapter concludes with review questions that help readers check their understanding of the presented topics. Essentials of Cloud Computing will help readers understand the issues and challenges of cloud computing and will give them the tools needed to develop and deploy applications in clouds.
Foreword Preface Computing Paradigms Learning Objectives Preamble High-Performance Computing Parallel Computing Distributed Computing Cluster Computing Grid Computing Cloud Computing Biocomputing Mobile Computing Quantum Computing Optical Computing Nanocomputing Network Computing Summary Review Points Review Questions Further Reading Cloud Computing Fundamentals Learning Objectives Preamble Motivation for Cloud Computing The Need for Cloud Computing Defining Cloud Computing NIST Definition of Cloud Computing Cloud Computing Is a Service Cloud Computing Is a Platform 5-4-3 Principles of Cloud computing Five Essential Characteristics Four Cloud Deployment Models Three Service Offering Models Cloud Ecosystem Requirements for Cloud Services Cloud Application Benefits and Drawbacks Review Points Review Questions Reference Further Reading Cloud Computing Architecture and Management Learning Objectives Preamble Introduction Cloud Architecture Layer 1 (User/Client Layer) Layer 2 (Network Layer) Layer 3 (Cloud Management Layer) Layer 4 (Hardware Resource Layer) Anatomy of the Cloud Network Connectivity in Cloud Computing Public Cloud Access Networking Private Cloud Access Networking Intracloud Networking for Public Cloud Services Private Intracloud Networking New Facets in Private Networks Path for Internet Traffic Applications on the Cloud Managing the Cloud Managing the Cloud Infrastructure Managing the Cloud Application Migrating Application to Cloud Phases of Cloud Migration Approaches for Cloud Migration Summary Review Points Review Questions References Further Reading Cloud Deployment Models Learning Objectives Preamble Introduction Private Cloud Characteristics Suitability On-Premise Private Cloud Outsourced Private Cloud Advantages Disadvantages Public Cloud Characteristics Suitability Issues Advantages Disadvantages Community Cloud Characteristics Suitability On-Premise Community Cloud Outsourced Community Cloud Advantages Disadvantages Hybrid Cloud Characteristics Suitability Issues Advantages Disadvantages Summary Review Points Review Questions References Cloud Service Models Learning Objectives Preamble Introduction Infrastructure as a Service Characteristics of IaaS Suitability of IaaS Pros and Cons of IaaS Summary of IaaS Providers Platform as a Service Characteristics of PaaS Suitability of PaaS Pros and Cons of PaaS Summary of PaaS Providers Software as a Service Characteristics of SaaS Suitability of SaaS Pros and Cons of SaaS Summary of SaaS Providers Other Cloud Service Models Summary Review Points Review Questions Further Reading Technological Drivers for Cloud Computing Learning Objectives Preamble Introduction SOA and Cloud SOA and SOC Benefits of SOA Technologies Used by SOA Similarities and Differences between SOA and Cloud Computing How SOA Meets Cloud Computing CCOA Virtualization Approaches in Virtualization Hypervisor and Its Role Types of Virtualization Multicore Technology Multicore Processors and VM Scalability Multicore Technology and the Parallelism in Cloud Case Study Memory and Storage Technologies Cloud Storage Requirements Virtualization Support Storage as a Service (STaaS) Emerging Trends and Technologies in Cloud Storage Networking Technologies Network Requirements for Cloud Virtualization Support Usage of Virtual Networks DCs and VPLS SDN MPLS Other Emerging Networking Trends and Technologies in Cloud Web 2.0 Characteristics of Web 2.0 Difference between Web 1.0 and Web 2.0 Applications of Web 2.0 Web 2.0 and Cloud Computing Web 3.0 Components of Web 3.0 Characteristics of Web 3.0 Convergence of Cloud and Web 3.0 Case Studies in Cloud and Web 3.0 Software Process Models for Cloud Types of Software Models Agile SDLC for Cloud Computing Agile Software Development Process Advantages of Agile Model How Cloud Meets Agile Process? Programming Models Programming Models in Cloud Pervasive Computing How Pervasive Computing Works? How Pervasive Computing Helps Cloud Computing? Operating System Types of Operating Systems Role of OS in Cloud Computing Features of Cloud OS Cloud OS Requirements Cloud-Based OS Application Environment Need for Effective ADE Application Development Methodologies Power of Cloud Computing in Application Development Cloud Application Development Platforms Cloud Computing APIs Summary Review Points Review Questions References Further Reading Virtualization Learning Objectives Preamble Introduction Virtualization Opportunities Processor Virtualization Memory Virtualization Storage Virtualization Network Virtualization Data Virtualization Application Virtualization Approaches to Virtualization Full Virtualization Paravirtualization Hardware-Assisted Virtualization Hypervisors Types of Hypervisors Security Issues and Recommendations From Virtualization to Cloud Computing IaaS PaaS SaaS Summary Review Points Review Questions Further Reading Programming Models for Cloud Computing Learning Objectives Preamble Introduction Extended Programming Models for Cloud MapReduce CGL-MapReduce Cloud Haskell: Functional Programming MultiMLton: Functional Programming Erlang: Functional Programming SORCER: Object-Oriented Programming Programming Models in Aneka New Programming Models Proposed for Cloud Orleans BOOM and Bloom GridBatch Simple API for Grid Applications Summary Review Points Review Questions References Further Reading Software Development in Cloud Learning Objectives Preamble Introduction SaaS Is Different from Traditional Software SaaS Benefits Suitability of SaaS Different Perspectives on SaaS Development SaaS from Managed Infrastructure and Platform SaaS from IaaS and Managed Platform SaaS from Managed Infrastructure and PaaS SaaS from IaaS and PaaS New Challenges Multitenancy Security Scalability Availability Usability Self-Service Sign-Up Automated Billing Nondisruptive Updates Service Integration Vendor Lock-In Cloud-Aware Software Development Using PaaS Technology Requirements Analysis Multitenant Architecture Highly Scalable and Available Architecture Database Design SaaS Development Monitoring and SLA Maintenance Summary Review Points Review Questions Further Reading Networking for Cloud Computing Learning Objectives Preamble Introduction Overview of Data Center Environment Architecture of Classical Data Centers CEDCs Physical Organization Storage and Networking Infrastructure Cooling Infrastructure Nature of Traffic in Data Centers Networking Issues in Data Centers Availability Poor Network Performance Security Transport Layer Issues in DCNs TCP Impairments in DCNs Summary: TCP Impairments and Causes TCP Enhancements for DCNs TCP with Fine-Grained RTO (FG-RTO) TCP with FG-RTO + Delayed ACKs Disabled DCTCP ICTCP IA-TCP D2TCP TCP-FITDC TDCTCP TCP with Guarantee Important Packets (GIP) PVTCP Summary: TCP Enhancements for DCNs Summary Review Points Review Questions References Cloud Service Providers Learning Objectives Preamble Introduction EMC EMC IT Captiva Cloud Toolkit Google Cloud Platform Cloud Storage Google Cloud Connect Google Cloud Print Google App Engine Amazon Web Services Amazon Elastic Compute Cloud Amazon Simple Storage Service Amazon Simple Queue Service Microsoft Windows Azure Microsoft Assessment and Planning Toolkit SharePoint IBM Cloud Models IBM SmartCloud SAP Labs SAP HANA Cloud Platform Virtualization Services Provided by SAP Salesforce Sales Cloud Service Cloud: Knowledge as a Service Rackspace VMware Manjrasoft Aneka Platform Summary Review Points Review Questions References Further Reading Open Source Support for Cloud Learning Objectives Preamble Introduction Open Source in Cloud Computing: An Overview Difference between Open Source and Closed Source Advantages of Having an Open Source Open Source Tools for IaaS OpenNebula Eucalyptus OpenStack Apache CloudStack Nimbus GoGrid Cloud Open Source Tools for PaaS Paasmaker Red Hat OpenShift Origin Xen Cloud Platform Cloudify Open Source Tools for SaaS Apache VCL Google Drive Google Docs Dropbox Open Source Tools for Research CloudSim SimMapReduce Cloud Analyst GreenCloud Distributed Computing Tools for Management of Distributed Systems Cassandra Hadoop MongoDB NGrid Ganglia Summary Review Points Review Questions References Further Reading Security in Cloud Computing Learning Objectives Preamble Introduction Cloud in Information Technology Cloud General Challenges Security Aspects Data Security Virtualization Security Network Security Platform-Related Security Security Issues in Cloud Service Models Software-as-a-Service Security Issues Platform-as-a-Service Security Issues Infrastructure-as-a-Service Security Issues Audit and Compliance Disaster Recovery Privacy and Integrity Summary Review Points Review Questions Further Reading Advanced Concepts in Cloud Computing Learning Objectives Preamble Intercloud Cloud Management Mobile Cloud Media Cloud Interoperability and Standards Cloud Governance Computational Intelligence in Cloud Green Cloud Cloud Analytics Summary Review Points Review Questions References Further Reading Index