Cover
Copyright
Foreword by Diane M. Bryant
Foreword by Professor V. Rajaraman
Preface
Acknowledgements
Contents
About the Authors
Abbreviations
Definitions
1 Introduction
1.1 Motivation
1.2 Cloud Computing Definitions
1.3 Cloud Computing Operational Characteristics
1.3.1 Cloud Computing Benefits
1.3.2 Cloud Computing Potential Risks
1.4 Cloud Computing Trends
1.4.1 Trend #1: Abstraction of Network, Storage, Database, Security, and Computing Infrastructure
1.4.2 Trend #2: A Pricing Model that Is Retail in Its Conception
1.4.3 Trend #3: Service-Level Agreements (SLAs)
1.5 Cloud Computing Needs
1.6 Points to Ponder
References
2 Foundations of Cloud Computing
2.1 Historical Evolution
2.2 Different Network Protocols
2.3 Evolution of Enterprise IT
2.4 Evolution of Web Services
2.5 Server Operations in a Data Center
2.6 Server-Based Web Services
2.7 Service-Oriented Architecture
2.8 Building an Enterprise SOA Solution
2.9 Top-Down Versus Bottom-Up Approach
2.10 Enterprise Service Bus (ESB)
2.11 Enterprise Implementation on Private Clouds
2.12 Enterprise Implementation on Hybrid Clouds
2.13 Web Threat Models
2.14 Open Web Application Security Project
2.15 Summary
2.16 Points to Ponder
References
3 Cloud Computing Pyramid
3.1 Roots of Cloud Computing
3.2 Essential Characteristics of Cloud Computing
3.3 Cloud Players and Their Concerns
3.4 Considerations for Cloud Data Centers
3.4.1 Migration
3.4.2 Performance
3.5 Points to Ponder
References
4 Features of Private and Public Clouds
4.1 Customer Expectations of Cloud Computing
4.2 Interoperability of Cloud Computing
4.3 Reliability of Cloud Computing
4.4 Performance of Cloud Computing
4.5 A Sample Study
4.6 Summary
4.7 Points to Ponder
References
5 Cloud Workload Characterization
5.1 Motivation
5.2 Some Background on Workload Characterization
5.3 Top-Level Cloud Workload Categorization
5.4 Cloud Workload Categories
5.5 Computing Resources
5.5.1 Data Buses Between Servers
5.6 Example Workload Categorizations
5.7 Temporal Variability of Workloads
5.8 Low-Level or Hardware Metrics of Computer Utilization
5.9 Dynamic Monitoring and Cloud Resource Allocation
5.10 Benefits to Cloud Service Providers
5.11 Summary
5.12 Points to Ponder
References
6 Cloud Management and Monitoring
6.1 Motivation
6.2 Introduction to Cloud Setup and Basic Tools
6.3 Noisy Neighbors in a Cloud
6.4 Cloud Management Requirements
6.5 Essentials of Monitoring
6.6 Some Example of Monitoring Tools
6.7 Future Work
6.8 Points to Ponder
References
7 Cloud Computing and Information Security
7.1 Background and Definitions
7.2 Security Concerns of Cloud Operating Models
7.3 Identity Authentication
7.4 Secure Transmissions
7.5 Secure Storage and Computation
7.6 The Security Players
7.7 Traditional Versus Internet Security Issues
7.8 Variations and Special Cases for Security Issues with Cloud Computing
7.8.1 The Players
7.8.2 Secure Communication
7.8.3 An Example Security Scenario for Cloud Computing
7.9 A Few Key Challenges Related to Cloud Computing and Virtualization
7.10 Some Suggested Security Practices for Cloud Computing
7.11 Summary
7.12 Points to Ponder
References
8 Migrating to Cloud
8.1 Cloud Business Models
8.2 A Case Study: B2C
8.3 A Case Study: B2B
8.4 A Case Study: C2C
8.5 Summary
8.6 Points to Ponder
References
9 Migrating a Complex Industry to Cloud
9.1 Background
9.2 Introduction to EDA
9.3 A Brief History of EDA Tools and Flows
9.3.1 The Nascent Years of the 70s
9.3.2 The Roaring 80s
9.3.3 Growing up in the 90s
9.3.4 Maturing into the First Decade of Twenty-First Century
9.3.5 From 2010s till Now, EDA Stable
9.4 EDA Flow Steps Mapping to Cloud
9.5 Considerations for Cloud Computing Adoption
9.6 Summary
9.7 Points to Ponder
References
10 Costing and Billing Practices in Cloud
10.1 Cloud as a Service (CaaS): The Billing Imperatives
10.1.1 Billing and Best Practices
10.2 Pay as You Go
10.3 Amazon EC2 Motivations and Setup
10.3.1 Amazon's On-Demand Instances
10.3.2 Amazon Spot Instances
10.3.3 Amazon Reserved Instances
10.3.4 Amazon Dedicated Instances and Dedicated Hosts
10.4 Motivation and Methods for Right Sizing Customer VMs
10.4.1 Elastic IP
10.4.2 Elastic Load Balancing
10.4.3 Auto-Scaling
10.5 Cost Minimization
10.6 Capacity Forecasting
10.7 Optimizations Across Clouds
10.8 Types of Cloud Service-Level Agreements
10.9 Summary
10.10 Points to Ponder
References
11 Analytics in the Cloud
11.1 Background and Problem Statement
11.2 Introduction to MapReduce
11.3 Introduction to Hadoop
11.4 Usage of Amazon's MapReduce
11.5 Twitter Sentimental Analysis Using Cloud
11.6 Future Possibilities
11.7 Points to Ponder
References
12 Future Trends in Cloud Computing
12.1 Revisiting History of Computing
12.2 Current Limitations of Cloud Computing
12.3 Emergence of Internet of Things (IoT)
12.4 Emergence of Machine Learning
12.5 Emergence of Edge Computing
12.6 Security Issues in Edge Computing
12.7 Security Considerations for Edge Computing
12.8 Future Work Needed
12.9 Example of an IoT-Based Cloud Service
12.10 Summary
12.11 Points to Ponder
References
13 A Quick Test of Your Cloud Fundamentals Grasp
14 Hands-On Project to Use Cloud Service Provider
14.1 Project 1: Install Lamp Stack on Amazon EC2
14.1.1 Installing Lamp Web Server on AWS via EC2
14.1.2 Installing Wordpress
14.1.3 Wordpress URL
14.2 Project 2: Install PHP on Your AWS Instance
14.3 Project 3: Enhance Security of Your AWS Instance
14.4 Project 4: Setup a Load Balancer for Your AWS Instance
14.4.1 Elastic Load Balancer Setup
14.4.2 Unique Features of AWS Load Balancer
14.5 Project 5: Use Elastic IP for Your AWS Instance
14.5.1 How to Make an Instance Elastic
14.5.2 Extra: Elastic IP
14.6 Bonus
14.7 Points to Ponder
Appendix A
Appendix B: Additional Considerations for Cloud Computing
Appendix C: Suggested List of Additional Cloud Projects
Index