ACKNOWLEDGMENTS
I have discovered that a major textbook project is a formidable task. Many individuals helped me to make the task manageable and kept me going.
Thanks to many colleagues who shared their ideas, experiences, and encouragement.
Numerous students, too many to name you all, also made suggestions and provided ideas. Please accept my deepest appreciation and thanks.
Finally, I would like to thanks my parents, Dr. J. R. Chopra, Mrs. Sushma Chopra, my wife Mrs. Shakti Chopra, and my twins, Arjeesh and Arshitha Chopra for their patience and blessings.
Dr. Rajiv Chopra
March 2017
APPENDIX A
GLOSSARY OF TERMS
Autonomic Computing: A set of self-managing features of distributed computing resources operating on certain principles.
Chubby: It maintains sessions between the clients and the servers with the help of keep-alive messages, which are needed every few seconds to remind the system that the session is still active.
ClientServer Architecture: A form of distributed computing where clients depend on servers for different services and resources.
Cloud API: A set of programming tools that provides abstractions over a specific cloud provider.
Cloud Computing: This refers to the technologies that provide compute and application services while the users are unaware of the IT hardware, physical locations, and so on.
Cloud Network: A network is a connecting link between the user and cloud services.
Cloud Spanning: Running an application so that its components straddle multiple cloud environments.
Cloud Storming: The act of connecting multiple cloud computing environments.
Cloud: A model wherein users have an on-demand access to a shared pool of resources.
Cloudware: This refers to a variety of software applications at the infrastructure level that enable building, deploying, running, or managing applications in the cloud.
Cluster Controller (CC): This is a component that is placed on the second level-cluster level of the cloud architecture.
Community Cloud: A type of cloud that is shared among different organizations with common interests.
Distributed Computing: This is an implementation technique where different roles or tasks are distributed among separate nodes in the network.
Event-driven SOA: This is based on the asynchronous exchange of messages among applications and user devices.
Host-based Intrusion Detection Systems (HIDS): These systems monitors each IaaS host for doubtful activities by analyzing the events within the host.
Identity Management-as-a-Service (IdMaaS): This is a cloud-based identity management solution that allows users to make use of identity management technologies without spending much on hardware or applications.
Load Balancers: They can be used to effectively and efficiently manage and spread incoming user traffic among multiple users.
Node Controller: This is placed at the node level and is executed on all machines that host VM instances.
OpenStack: This is one among several open-source cloud building software applications through which different companies offer their cloud services to clients.
Ruby-on-Rails: This is a programming language and Rails is a Ruby framework built for web applications.
SAS 70: It means Statement on Auditing Standards No. 70, which defines the standards that an auditor must use in order to assess the contracted internal controls of a service provider.
Self-Service Portal: This is associated with the service catalog that offers an easy-to-use interface for users to select and start using services from within the offered set.
Service Transition: This is a phase in the IT service life cycle that builds, tests, and deploys a service for operational use.
Snooping: The access of each tenant should be limited to his/her own data.
SysTrust: This framework gives cloud service providers a set of predefined criteria to evaluate and report their implemented status for security, availability, integrity, and confidentiality of the customer data. This set of criteria is developed by the American Institute of Certified Public Accounts (AICPA) and the Canadian Institute of Chartered Accountants (CICA).
The Open Group (TOG): TOG has a taskforce called the Cloud Work Group with some of the industrys leading cloud providers and end-user enterprises as its members.
Virtualization at the Application Level: The user-level programs and operating systems are executed on applications that behave like real machines.
Virtualization at the Hardware Abstraction Layer (HAL): In this virtualization, the time spent in interpreting the instructions issued by the guest platform into the instructions of the host platform is reduced by taking advantage of the similarities that exist between the architectures of the systems.
Virtualization at the Programming Level: Programming the applications in most systems requires an extensive list of APIs to be exported by implementing different libraries at the user level.
Virtualization: A process of creating virtual machines or the replicas of computing resources.
VMware Broker: This is the only optional component in the Eucalyptus cloud and only users who are Eucalyptus subscribers can avail themselves of it.
Vulnerability: A weakness in system security procedures, system design, or implementation, for example, which could be exploited by a hacker.
Walrus: It is used by users for storing persistent data in the form of buckets and objects.
XACML: This is an XML-based language for access control decisions and policy management.
Zeroed: The degaussing, erasing, or overwriting of electronically stored data.
APPENDIX B
LAB PROJECTS WITH CLOUD COMPUTING
Project No. 1: Install and configure Hadoop.
Project No. 2: Deploy an application as a cloud service using MS Azure.
Project No. 3: Manage cloud resources.
Project No. 4: Use existing cloud characteristics and service models.
Project No. 5: Perform cloud security management.
Project No. 6: Performance evaluation of services over the cloud.
Project No. 7: Download an app from the store and create a cloud service that is a custom API to add two numbers.
Project No. 8: View the list of services and features of the Azure Management Portal.
Project No. 9: Create a mobile service and access it using the Fiddler tool.
Project No. 10: Create MS Azure storage and access it via the Azure Explorer tool.
Project No. 11: Show how the Windows mobile phone and Windows 8 Laptop apps are unified with the help of Azure Cloud Storage.
Project No. 12: Create a website using Visual Studio 2013 and host it over the Azure portal.
Project No. 13: Create a VM and host it over the cloud.
APPENDIX C
ADDITIONAL QUESTIONS FOR DISCUSSION
Q1. Define cloud computing with an example. What are the properties of cloud computing? What is the working principle?
Q2. Define cloud services with an example. In addition, give their advantages.
Q3. List the advantages and disadvantages of cloud computing.
Q4. Name some companies that offer cloud service development.
Q5. What are the issues in web-based applications?
Q6. What is pre-cloud computing?
Q7. Define the following terms:
(a)Glance
(b)BLOB
(c)WiKi
Q8. What is cloud storage? Explain with examples.
Q9. Explain the following:
(a)SaaS
(b)PaaS
(c)IaaS
(d)DaaS
(e)Security-as-a-Service
Q10. Discuss different security issues in cloud computing.
Q11. Explain Testing-as-a-Service. What are its different forms? Cloud testing can be done at various levels. Explain these levels.