1st Edition

Essentials of Cloud Computing

By K. Chandrasekaran Copyright 2015
    408 Pages 95 B/W Illustrations
    by Chapman & Hall

    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

    Biography

    K. Chandrasekaran