Saturday, April 27, 2013

Cloud Computing

These are notes form Cloud Computing and Architecture an O'Reilly book written by George Reese.

  • The Cloud
    • the cloud is more than just a term for the internet
    • specifically it is a combination of software and infrastructure 
      • accessible via a web browser
      • zero capital expenditure to get started
      • pay for uses not initialization
  • Software
    • Software as a Service (SaaS) term that refers to software in the cloud
      • Available via a web browser
      • On-Demand Availability
      • Payment based on Usage
      • Minimal IT demands
    • web based deployment model
      • does not care about host site
      • does not care about operating system or language used to write program
      • Example: Gmail
        • provides same service as Apple Mail or Outlook but without the client
    • Multitenancy
      • server based software that supports the deployment of multiple clients in a single software instance
      • used as advertisement but virtualization technologies renders benefits moot
  • Hardware
    • Hardware is requested, i.e. a server but not physically owned by user
      • increase in security due to obscurity, 
    • Difficulties of proprietary servers
      • Capacity planning
      • Upfront costs of SAN(storage area networks) or individual servers
      • Hardware destruction
      • Disaster and recovery i.e. entire servers go down
      • Real Estate and Electricity Usage
    • Difficulties subsumed into main distributor of cloud resources rather than individual companies creating proprietary networks
    • Hardware Virtualization
      • Servers can be partitioned into sections with its own memory, CPU, and disk footprints
      • Has a significant performance penalty however is a non-issue because
        • cloud vendors servers far superior in performance to capabilities of small business servers
  • Cloud Storage
    • replaces physical storage systems
    • Operationally different from physical due to degraded performance but enhanced structure
    • Impractical for runtime storage for an application such as for transaction applications
  • Cloud Application Architectures
    • Grid Computing
      • breaks up processing into small chunks that can be processed in isolation
      • i.e. SETI@home
      • collected volumes of data processed and checked against other users, alternate example BOINC
      • functional steps in grid computing
        • both worker and manager watch message queue
        • worker waits for new data set, pulls data set publish results
        • manager reads results
      • limited to financial, scientific, and large scale data problems
    • Transactional Computing
      • one or more pieces of incoming data processed together and establish relationships with data already in the system
      • components form a cluster
      • Nodes in a transactional system must be long lived rather than short lived in grid computing
      • Mean time between failures (MTBF) number of physical nodes governs this so cloud has higher failure rate than proprietary servers, but this can be mitigated
  • The Value of Cloud Computing
    • IT infrastructure traditional vs cloud
    • file server vs google docs, MS outlook vs gmail, server racks and firewall vs Amazon EC2
    • Cloud reduces software licensing hassle, charged for use, software upgrades, hardware failure, # of technology assets, manage depreciation of it assets, capacity management
  • IT infrastructures without special constraints are extremely expensive to start up compared to cloud services
  • The Economics
    • Capital Costs
      • depreciation of servers and computers
    • Cost Comparison
      • cloud has no capital costs but has monthly service fees, setup costs, and staff costs
      • However many large companies already have infrastructure in place, not necessarily cost effective for them to transition to cloud services
  • Cloud Infrastructure Models
    • Platform as a Service Vendor
      • complete operational and deployment options
      • Google App Engine
      • Vendor Lock-in i.e. Python requirement for Google Apps
    • Infrastructure as a Service
      • Amazon Web Services

Cloud Applications and Architecture ToC

The following is a Table of Contents from Cloud Applications and Architecture an O'Reilly book written by George Reese.
  1. Cloud Computing