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

Book Description

Cloud computing promises to revolutionize IT and business by making computing available as a utility over the internet. This book is intended primarily for practising software architects who need to assess the impact of such a transformation. It explains the evolution of the internet into a cloud computing platform, describes emerging development paradigms and technologies, and discusses how these will change the way enterprise applications should be architected for cloud deployment. Gautam Shroff provides a technical description of cloud computing technologies, covering cloud infrastructure and platform services, programming paradigms such as MapReduce, as well as 'do-it-yourself' hosted development tools. He also describes emerging technologies critical to cloud computing. The book also covers the fundamentals of enterprise computing, including a technical introduction to enterprise architecture, so it will interest programmers aspiring to become software architects and serve as a reference for a graduate-level course in software architecture or software engineering.

Table of Contents

  1. Cover
  2. Half Title
  3. Title Page
  4. Copyright
  5. Contents
  6. Preface
  7. List of abbreviations
  8. Part I: Computing platforms
    1. Chapter 1. Enterprise computing: a retrospective
      1. 1.1 Introduction
      2. 1.2 Mainframe architecture
      3. 1.3 Client-server architecture
      4. 1.4 3-tier architectures with TP monitors
    2. Chapter 2. The internet as a platform
      1. 2.1 Internet technology and web-enabled applications
      2. 2.2 Web application servers
      3. 2.3 Internet of services
    3. Chapter 3. Software as a service and cloud computing
      1. 3.1 Emergence of software as a service
      2. 3.2 Successful SaaS architectures
      3. 3.3 Dev 2.0 platforms
      4. 3.4 Cloud computing
      5. 3.5 Dev 2.0 in the cloud for enterprises
    4. Chapter 4. Enterprise architecture: role and evolution
      1. 4.1 Enterprise data and processes
      2. 4.2 Enterprise components
      3. 4.3 Application integration and SOA
      4. 4.4 Enterprise technical architecture
      5. 4.5 Data center infrastructure: coping with complexity
  9. Part II: Cloud platforms
    1. Chapter 5. Cloud computing platforms
      1. 5.1 Infrastructure as a service: Amazon EC2
      2. 5.2 Platform as a service: Google App Engine
      3. 5.3 Microsoft Azure
    2. Chapter 6. Cloud computing economics
      1. 6.1 Is cloud infrastructure cheaper?
      2. 6.2 Economics of private clouds
      3. 6.3 Software productivity in the cloud
      4. 6.4 Economies of scale: public vs. private clouds
  10. Part III: Cloud technologies
    1. Chapter 7. Web services, AJAX and mashups
      1. 7.1 Web services: SOAP and REST
      2. 7.2 SOAP versus REST
      3. 7.3 AJAX: asynchronous ‘rich’ interfaces
      4. 7.4 Mashups: user interface services
    2. Chapter 8. Virtualization technology
      1. 8.1 Virtual machine technology
      2. 8.2 Virtualization applications in enterprises
      3. 8.3 Pitfalls of virtualization
    3. Chapter 9. Multi-tenant software
      1. 9.1 Multi-entity support
      2. 9.2 Multi-schema approach
      3. 9.3 Multi-tenancy using cloud data stores
      4. 9.4 Data access control for enterprise applications
  11. Part IV: Cloud development
    1. Chapter 10. Data in the cloud
      1. 10.1 Relational databases
      2. 10.2 Cloud file systems: GFS and HDFS
      3. 10.3 BigTable, HBase and Dynamo
      4. 10.4 Cloud data stores: Datastore and SimpleDB
    2. Chapter 11. MapReduce and extensions
      1. 11.1 Parallel computing
      2. 11.2 The MapReduce model
      3. 11.3 Parallel efficiency of MapReduce
      4. 11.4 Relational operations using MapReduce
      5. 11.5 Enterprise batch processing using MapReduce
    3. Chapter 12. Dev 2.0 platforms
      1. 12.1 Salesforce.com’s Force.com platform
      2. 12.2 TCS InstantApps on Amazon cloud
      3. 12.3 More Dev 2.0 platforms and related efforts
      4. 12.4 Advantages, applicability and limits of Dev 2.0
  12. Part V: Software architecture
    1. Chapter 13. Enterprise software: ERP, SCM, CRM
      1. 13.1 Anatomy of a large enterprise
      2. 13.2 Partners: people and organizations
      3. 13.3 Products
      4. 13.4 Orders: sales and purchases
      5. 13.5 Execution: tracking work
      6. 13.6 Billing
      7. 13.7 Accounting
      8. 13.8 Enterprise processes, build vs. buy and SaaS
    2. Chapter 14. Custom enterprise applications and Dev 2.0
      1. 14.1 Software architecture for enterprise components
      2. 14.2 User interface patterns and basic transactions
      3. 14.3 Business logic and rule-based computing
      4. 14.4 Inside Dev 2.0: model driven interpreters
      5. 14.5 Security, error handling, transactions and workflow
    3. Chapter 15. Workflow and business processes
      1. 15.1 Implementing workflow in an application
      2. 15.2 Workflow meta-model using ECA rules
      3. 15.3 ECA workflow engine
      4. 15.4 Using an external workflow engine
      5. 15.5 Process modeling and BPMN
      6. 15.6 Workflow in the cloud
    4. Chapter 16. Enterprise analytics and search
      1. 16.1 Enterprise knowledge: goals and approaches
      2. 16.2 Business intelligence
      3. 16.3 Text and data mining
      4. 16.4 Text and database search
  13. Part VI: Enterprise cloud computing
    1. Chapter 17. Enterprise cloud computing ecosystem
      1. 17.1 Public cloud providers
      2. 17.2 Cloud management platforms and tools
      3. 17.3 Tools for building private clouds
    2. Chapter 18. Roadmap for enterprise cloud computing
      1. 18.1 Quick wins using public clouds
      2. 18.2 Future of enterprise cloud computing
  14. References
  15. Index