You are previewing Cloud Computing Bible.
O'Reilly logo
Cloud Computing Bible

Book Description

The complete reference guide to the hot technology of cloud computing

Its potential for lowering IT costs makes cloud computing a major force for both IT vendors and users; it is expected to gain momentum rapidly with the launch of Office Web Apps later this year. Because cloud computing involves various technologies, protocols, platforms, and infrastructure elements, this comprehensive reference is just what you need if you'll be using or implementing cloud computing.

  • Cloud computing offers significant cost savings by eliminating upfront expenses for hardware and software; its growing popularity is expected to skyrocket when Microsoft introduces Office Web Apps

  • This comprehensive guide helps define what cloud computing is and thoroughly explores the technologies, protocols, platforms and infrastructure that make it so desirable

  • Covers mobile cloud computing, a significant area due to ever-increasing cell phone and smartphone use

  • Focuses on the platforms and technologies essential to cloud computing

  • Anyone involved with planning, implementing, using, or maintaining a cloud computing project will rely on the information in Cloud Computing Bible.

    Table of Contents

    1. Copyright
    2. About the Author
    3. Credits
    4. Preface
    5. Acknowledgments
    6. Introduction
      1. How to Read This Book
      2. Icons
      3. Contacting Us
    7. I. Examining the Value Proposition
      1. 1. Defining Cloud Computing
        1. 1.1. Defining Cloud Computing
        2. 1.2. Cloud Types
          1. 1.2.1. The NIST model
          2. 1.2.2. The Cloud Cube Model
          3. 1.2.3. Deployment models
          4. 1.2.4. Service models
        3. 1.3. Examining the Characteristics of Cloud Computing
          1. 1.3.1. Paradigm shift
          2. 1.3.2. Benefits of cloud computing
          3. 1.3.3. Disadvantages of cloud computing
        4. 1.4. Assessing the Role of Open Standards
        5. 1.5. Summary
      2. 2. Assessing the Value Proposition
        1. 2.1. Measuring the Cloud's Value
          1. 2.1.1. Early adopters and new applications
          2. 2.1.2. The laws of cloudonomics
          3. 2.1.3. Cloud computing obstacles
          4. 2.1.4. Behavioral factors relating to cloud adoption
          5. 2.1.5. Measuring cloud computing costs
        2. 2.2. Avoiding Capital Expenditures
          1. 2.2.1. Right-sizing
        3. 2.3. Computing the Total Cost of Ownership
        4. 2.4. Specifying Service Level Agreements
        5. 2.5. Defining Licensing Models
        6. 2.6. Summary
      3. 3. Understanding Cloud Architecture
        1. 3.1. Exploring the Cloud Computing Stack
          1. 3.1.1. Composability
          2. 3.1.2. Infrastructure
          3. 3.1.3. Platforms
          4. 3.1.4. Virtual Appliances
          5. 3.1.5. Communication Protocols
          6. 3.1.6. Applications
        2. 3.2. Connecting to the Cloud
          1. 3.2.1. The Jolicloud Netbook OS
          2. 3.2.2. Chromium OS: The Browser as an Operating System
        3. 3.3. Summary
      4. 4. Understanding Services and Applications by Type
        1. 4.1. Defining Infrastructure as a Service (IaaS)
          1. 4.1.1. IaaS workloads
          2. 4.1.2. Pods, aggregation, and silos
        2. 4.2. Defining Platform as a Service (PaaS)
        3. 4.3. Defining Software as a Service (SaaS)
          1. 4.3.1. SaaS characteristics
          2. 4.3.2. Open SaaS and SOA
          3. 4.3.3. Salesforce.com and CRM SaaS
        4. 4.4. Defining Identity as a Service (IDaaS)
          1. 4.4.1. What is an identity?
          2. 4.4.2. Networked identity service classes
          3. 4.4.3. Identity system codes of conduct
          4. 4.4.4. IDaaS interoperability
            1. 4.4.4.1. User authentication
            2. 4.4.4.2. Authorization markup languages
        5. 4.5. Defining Compliance as a Service (CaaS)
        6. 4.6. Summary
    8. II. Using Platforms
      1. 5. Understanding Abstraction and Virtualization
        1. 5.1. Using Virtualization Technologies
        2. 5.2. Load Balancing and Virtualization
          1. 5.2.1. Advanced load balancing
          2. 5.2.2. The Google cloud
        3. 5.3. Understanding Hypervisors
          1. 5.3.1. Virtual machine types
          2. 5.3.2. VMware vSphere
        4. 5.4. Understanding Machine Imaging
        5. 5.5. Porting Applications
          1. 5.5.1. The Simple Cloud API
          2. 5.5.2. AppZero Virtual Application Appliance
        6. 5.6. Summary
      2. 6. Capacity Planning
        1. 6.1. Capacity Planning
        2. 6.2. Defining Baseline and Metrics
          1. 6.2.1. Baseline measurements
          2. 6.2.2. System metrics
          3. 6.2.3. Load testing
          4. 6.2.4. Resource ceilings
          5. 6.2.5. Server and instance types
        3. 6.3. Network Capacity
        4. 6.4. Scaling
        5. 6.5. Summary
      3. 7. Exploring Platform as a Service
        1. 7.1. Defining Services
          1. 7.1.1. Salesforce.com versus Force.com: SaaS versus PaaS
          2. 7.1.2. Application development
        2. 7.2. Using PaaS Application Frameworks
          1. 7.2.1. Drupal
          2. 7.2.2. Eccentex AppBase 3.0
          3. 7.2.3. LongJump
          4. 7.2.4. Squarespace
          5. 7.2.5. WaveMaker
          6. 7.2.6. Wolf Frameworks
        3. 7.3. Summary
      4. 8. Using Google Web Services
        1. 8.1. Exploring Google Applications
        2. 8.2. Surveying the Google Application Portfolio
          1. 8.2.1. Indexed search
          2. 8.2.2. The dark Web
          3. 8.2.3. Aggregation and disintermediation
          4. 8.2.4. Productivity applications and services
          5. 8.2.5. Enterprise offerings
          6. 8.2.6. AdWords
          7. 8.2.7. Google Analytics
          8. 8.2.8. Google Translate
        3. 8.3. Exploring the Google Toolkit
          1. 8.3.1. The Google APIs
        4. 8.4. Working with the Google App Engine
        5. 8.5. Summary
      5. 9. Using Amazon Web Services
        1. 9.1. Understanding Amazon Web Services
        2. 9.2. Amazon Web Service Components and Services
        3. 9.3. Working with the Elastic Compute Cloud (EC2)
          1. 9.3.1. Amazon Machine Images
          2. 9.3.2. Pricing models
          3. 9.3.3. System images and software
          4. 9.3.4. Creating an account and instance on EC2
        4. 9.4. Working with Amazon Storage Systems
          1. 9.4.1. Amazon Simple Storage System (S3)
          2. 9.4.2. Amazon Elastic Block Store (EBS)
          3. 9.4.3. CloudFront
        5. 9.5. Understanding Amazon Database Services
          1. 9.5.1. Amazon SimpleDB
          2. 9.5.2. Amazon Relational Database Service (RDS)
          3. 9.5.3. Choosing a database for AWS
        6. 9.6. Summary
      6. 10. Using Microsoft Cloud Services
        1. 10.1. Exploring Microsoft Cloud Services
        2. 10.2. Defining the Windows Azure Platform
          1. 10.2.1. The software plus services approach
          2. 10.2.2. The Azure Platform
          3. 10.2.3. The Windows Azure service
          4. 10.2.4. Windows Azure AppFabric
          5. 10.2.5. Azure Content Delivery Network
          6. 10.2.6. SQL Azure
          7. 10.2.7. Windows Azure pricing
          8. 10.2.8. Windows Live services
        3. 10.3. Using Windows Live
          1. 10.3.1. Windows Live Essentials
          2. 10.3.2. Windows Live Home
          3. 10.3.3. Windows Live for Mobile
        4. 10.4. Summary
    9. III. Exploring Cloud Infrastructures
      1. 11. Managing the Cloud
        1. 11.1. Administrating the Clouds
          1. 11.1.1. Management responsibilities
          2. 11.1.2. Lifecycle management
        2. 11.2. Cloud Management Products
        3. 11.3. Emerging Cloud Management Standards
          1. 11.3.1. DMTF cloud management standards
          2. 11.3.2. Cloud Commons and SMI
        4. 11.4. Summary
      2. 12. Understanding Cloud Security
        1. 12.1. Securing the Cloud
          1. 12.1.1. The security boundary
          2. 12.1.2. Security service boundary
          3. 12.1.3. Security mapping
        2. 12.2. Securing Data
          1. 12.2.1. Brokered cloud storage access
          2. 12.2.2. Storage location and tenancy
          3. 12.2.3. Encryption
          4. 12.2.4. Auditing and compliance
        3. 12.3. Establishing Identity and Presence
          1. 12.3.1. Identity protocol standards
          2. 12.3.2. Windows Azure identity standards
          3. 12.3.3. Presence
        4. 12.4. Summary
    10. IV. Understanding Services and Applications
      1. 13. Understanding Service Oriented Architecture
        1. 13.1. Introducing Service Oriented Architecture
          1. 13.1.1. Event-driven SOA or SOA 2.0
          2. 13.1.2. The Enterprise Service Bus
          3. 13.1.3. Service catalogs
        2. 13.2. Defining SOA Communications
          1. 13.2.1. Business Process Execution Language
          2. 13.2.2. Business process modeling
        3. 13.3. Managing and Monitoring SOA
          1. 13.3.1. SOA management tools
          2. 13.3.2. SOA security
          3. 13.3.3. The Open Cloud Consortium
        4. 13.4. Relating SOA and Cloud Computing
        5. 13.5. Summary
      2. 14. Moving Applications to the Cloud
        1. 14.1. Applications in the Clouds
          1. 14.1.1. Functionality mapping
          2. 14.1.2. Application attributes
          3. 14.1.3. Cloud service attributes
          4. 14.1.4. System abstraction
          5. 14.1.5. Cloud bursting
        2. 14.2. Applications and Cloud APIs
        3. 14.3. Summary
      3. 15. Working with Cloud-Based Storage
        1. 15.1. Measuring the Digital Universe
          1. 15.1.1. Cloud storage in the Digital Universe
          2. 15.1.2. Cloud storage definition
        2. 15.2. Provisioning Cloud Storage
          1. 15.2.1. Unmanaged cloud storage
          2. 15.2.2. Managed cloud storage
          3. 15.2.3. Creating cloud storage systems
          4. 15.2.4. Virtual storage containers
        3. 15.3. Exploring Cloud Backup Solutions
          1. 15.3.1. Backup types
          2. 15.3.2. Cloud backup features
          3. 15.3.3. Cloud attached backup
        4. 15.4. Cloud Storage Interoperability
          1. 15.4.1. Cloud Data Management Interface (CDMI)
          2. 15.4.2. Open Cloud Computing Interface (OCCI)
        5. 15.5. Summary
      4. 16. Working with Productivity Software
        1. 16.1. Using Productivity Applications
          1. 16.1.1. Characteristics of productivity software
        2. 16.2. Online Office Systems
          1. 16.2.1. Acrobat.com
          2. 16.2.2. Glide Digital
          3. 16.2.3. Google Docs
          4. 16.2.4. Microsoft Office Web Apps
          5. 16.2.5. ThinkFree Office
          6. 16.2.6. Zoho Office Suite
        3. 16.3. Summary
      5. 17. Using Webmail Services
        1. 17.1. Exploring the Cloud Mail Services
          1. 17.1.1. Google Gmail
          2. 17.1.2. Mail2Web
          3. 17.1.3. Windows Live Hotmail
          4. 17.1.4. Yahoo! Mail
        2. 17.2. Working with Syndication Services
          1. 17.2.1. The RSS and Atom Protocols
          2. 17.2.2. Newsreaders
          3. 17.2.3. News Aggregators
        3. 17.3. Summary
      6. 18. Communicating with the Cloud
        1. 18.1. Exploring Instant Messaging
          1. 18.1.1. Instant messaging clients
          2. 18.1.2. Instant messaging interoperability
          3. 18.1.3. Micro-blogs or Short Message Services
        2. 18.2. Exploring Collaboration Technologies
        3. 18.3. Using Social Networks
          1. 18.3.1. Features
          2. 18.3.2. List of social networking sites
          3. 18.3.3. Privacy and security
          4. 18.3.4. Interaction and interoperability
        4. 18.4. Summary
      7. 19. Using Media and Streaming
        1. 19.1. Understanding the Streaming Process
          1. 19.1.1. Protocols in Use
          2. 19.1.2. The cloud computing advantages
        2. 19.2. Audio Streaming
        3. 19.3. Working with VoIP Applications
          1. 19.3.1. Skype
          2. 19.3.2. Google Voice and Google Talk
        4. 19.4. Video Streaming
          1. 19.4.1. Television in the cloud
          2. 19.4.2. Streaming video formats
          3. 19.4.3. YouTube
            1. 19.4.3.1. YouTube technologies
            2. 19.4.3.2. YouTube and the law
        5. 19.5. Summary
    11. V. Using the Mobile Cloud
      1. 20. Working with Mobile Devices
        1. 20.1. Defining the Mobile Market
          1. 20.1.1. Connecting to the cloud
          2. 20.1.2. Adopting mobile cloud applications
          3. 20.1.3. Feature phones and the cloud
        2. 20.2. Using Smartphones with the Cloud
          1. 20.2.1. Android
          2. 20.2.2. Apple iPhone
            1. 20.2.2.1. The App Store
            2. 20.2.2.2. MobileMe
            3. 20.2.2.3. iPhone apps hosting services
          3. 20.2.3. Research In Motion BlackBerry
          4. 20.2.4. Symbian
          5. 20.2.5. Windows Mobile
        3. 20.3. Summary
      2. 21. Working with Mobile Web Services
        1. 21.1. Understanding Service Types
          1. 21.1.1. Mobile interoperability
        2. 21.2. Performing Service Discovery
          1. 21.2.1. Context-aware services
          2. 21.2.2. MEMS
          3. 21.2.3. Location awareness
          4. 21.2.4. Push services
          5. 21.2.5. The BlackBerry Push Service
          6. 21.2.6. The Lemonade Profile
        3. 21.3. Using SMS
        4. 21.4. Defining WAP and Other Protocols
        5. 21.5. Performing Synchronization
        6. 21.6. Summary