Trustworthy Cloud Computing
eBook - ePub

Trustworthy Cloud Computing

  1. English
  2. ePUB (mobile friendly)
  3. Available on iOS & Android
eBook - ePub

Trustworthy Cloud Computing

About this book

Introduces the topic of cloud computing with an emphasis on the trustworthiness of cloud computing systems and services

This book describes the scientific basis of cloud computing, explaining the ideas, principles, and architectures of cloud computing as well the different types of clouds and the services they provide. The text reviews several cloud computing platforms, including Microsoft Azure, Amazon, Oracle, Google, HP, IBM, Salesforce, and Kaavo. The author addresses the problem of trustworthiness in cloud computing and provides methods to improve the security and privacy of cloud applications. The end-of-chapter exercises and supplementary material on the book's companion website will allow readers to grasp the introductory and advanced level concepts of cloud computing.

  • Examines cloud computing platforms such as Microsoft Azure, Amazon, Oracle, Google, HP, IBM, Salesforce, and Kaavo
  • Analyzes the use of aspect-oriented programming (AOP) for refactoring cloud services and improving the security and privacy of cloud applications
  • Contains practical examples of cloud computing, test questions, and end-of-chapter exercises
  • Includes presentations, examples of cloud projects and other teaching resources at the author's website (http://www.vladimirsafonov.org/cloud)

 Trustworthy Cloud Computing is written for advanced undergraduate and graduate students in computer science, data science, and computer engineering as well as software engineers, system architects, system managers, and software developers new to cloud computing.

Frequently asked questions

Yes, you can cancel anytime from the Subscription tab in your account settings on the Perlego website. Your subscription will stay active until the end of your current billing period. Learn how to cancel your subscription.
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
Perlego offers two plans: Essential and Complete
  • Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
  • Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.4M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
Both plans are available with monthly, semester, or annual billing cycles.
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Yes! You can use the Perlego app on both iOS or Android devices to read anytime, anywhere — even offline. Perfect for commutes or when you’re on the go.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app.
Yes, you can access Trustworthy Cloud Computing by Vladimir O. Safonov in PDF and/or ePUB format, as well as other popular books in Ciencia de la computación & Ingeniería computacional. We have over one million books available in our catalogue for you to explore.

CHAPTER 1
PRINCIPLES AND CONCEPTS OF CLOUD COMPUTING

1.1 KINDS OF MODERN SOFTWARE ARCHITECTURES

Before diving into cloud computing itself, let us consider some important concepts and kinds of modern software architectures and analyze the place of cloud computing in this scheme.
Here are some typical kinds of modern software:
  • Client–server systems
  • Web services and Web applications
  • Integrated distributed software solutions
  • Built-in systems
  • Real-time systems
  • Software for mobile devices
  • Software for wearable computers
  • Middleware (midlevel software)
  • Software for cloud computing and datacenters
  • Software for computer clusters
  • Software for virtualization
  • Software for information management
  • Software for knowledge management
  • Software for scientific computing.
In general, modern software architectures tend to get more and more complicated.
Client–server system paradigm and architecture have become widely spread for decades. A client–server system consists of a server or set of servers and a set of clients, connected to a local area network. The following kinds of servers are used in most local networks: application server, Web server, email server, database server, file server, and so on [13].
Internet (Web) applications are intended for use on the net. Currently the majority of them are developed on .NET [14] or Java [15] platforms, though some software developers still prefer to write Internet applications in older languages such as C. In modern Web programming, languages with dynamic types are widely used – JavaScript, Python, and Ruby. Their characteristic features are the dynamic change and construction of new types at runtime, which is comfortable, since it reflects the dynamic nature of Web applications and Web sites.
Internet applications are classified into client side applications (e.g., Web browsers) and server side applications (e.g., Web services).
Integrated software solutions are distributed software systems for information processing and supporting the business and functioning of enterprises, companies, banks, or universities. The characteristic features of integrated software solutions are modules for authentication and authorization of users, modules for accessing databases, modules for networking, and modules for implementing the business logic of the company. Integrated solutions can be developed using several programming languages.
Built-in systems are software for specialized microprocessors controlling various kinds of specific devices, from nuclear reactors to freezers, cardiostimulators, electric power transmission systems, and cars. The characteristic requirement of such software is fixed response time interval with some critical upper limit that is dramatic to satisfy for usability, reliability, and security of the whole system and the controlled object in general, or even for continuing the life of some living organism to be controlled. The typical requirement to the basic working cycle of such a system is the absence of interrupts, which could cause critically undesirable time delays.
Software for mobile devices is one of the most modern and widely used kinds of software. Its specific characteristics are the use of limited amount of resources (for the first turn, limited memory size) and the need to take into account a variety of models of mobile devices (differences of their screens and control keys) when implementing the graphical user interface of mobile applications. Currently, most of the software for mobile devices is developed on the Java platform; an especially popular mobile platform now is Google Android.
As an exotic but real-life example, consider the software for wearable computers. Such specialized computers are built into specific kinds of wear or uniform (e.g., space suits) that they monitor the state, health, and behavior of a human, and give expert recommendations to him or her. This class of software also has strict limitations on the computing resources used.
Middleware (or mid-level software) is a kind of communication software present in the software architectural scheme between the client and the server and supporting their networking communication protocols. A typical modern example of middleware is communication software for sending and receiving instant messages between mobile devices, and laptop and desktop computers.
Software for datacenters is yet another modern kind of software. Its most important components are powerful server-side operating system, middleware to support networking communications, and database management systems (e.g., Microsoft SQL Server).
Software for virtualization is a modern software intended for the installation and use of virtual machines on real computer hardware, with the purpose of extending computing features, using other kinds of operating systems, or using software developed for other hardware platforms. Examples of such software are Microsoft Virtual PC and a new toolkit Microsoft Hyper-V hypervisor.
Software for cloud computing consists of various kinds of server-side operating systems (e.g., Windows Server or Linux) and other software that supports the use of cloud resources (applications and data) by the cloud clients. It is considered in more detail subsequently in this chapter.
Software for knowledge management plays a more and more important role now, in relation to Web intellectualization and popularity of intelligent software solutions that contain modules of logical assessment of the computation results, in addition to computational modules. Examples of knowledge management software are the Protégé knowledge management system developed at Stanford University [16] implementing the ontology management language OWL and our own software product developed by our team under my supervision at St. Petersburg University – Knowledge.NET [17], an extension of the C# language by knowledge management features, implemented as a plug-in to Visual Studio.
Software for information management is a set of office applications for document processing (e.g., Microsoft Office) and database management systems (e.g., Oracle DMBS, MySQL, Microsoft SQL Server).
Software for scientific computing is a set of software tools and packages that support the solving of scientific tasks, for example, MATHLAB.

1.2 CHARACTERISTIC FEATURES OF MODERN SOFTWARE

Now let us consider the most characteristic features inherent to most of the software systems, regardless of their problem domain and their implementation platform.
The most important feature of modern software systems is their Web awareness. The most popular kinds of modern platforms supporting this feature are .NET and Java.
A characteristic feature of modern softw...

Table of contents

  1. COVER
  2. TITLE PAGE
  3. COPYRIGHT
  4. TABLE OF CONTENTS
  5. PREFACE
  6. ACKNOWLEDGMENTS
  7. INTRODUCTION
  8. CHAPTER 1: PRINCIPLES AND CONCEPTS OF CLOUD COMPUTING
  9. CHAPTER 2: PLATFORMS OF CLOUD COMPUTING
  10. CHAPTER 3: PRINCIPLES AND PILLARS OF TRUSTWORTHY COMPUTING
  11. CHAPTER 4: MAKING CLOUD COMPUTING TRUSTWORTHY
  12. CHAPTER 5: EXAMPLE OF A TRUSTWORTHY CLOUD COMPUTING PLATFORM IN DETAIL: MICROSOFT AZURE
  13. CHAPTER 6: CONCLUSIONS: PERSPECTIVES OF TRUSTWORTHY CLOUD COMPUTING
  14. APPENDIX A: APPENDIX EXAMPLE OF MICROSOFT AZURE CLOUD SERVICE: FILEMANAGER
  15. REFERENCES
  16. INDEX
  17. END USER LICENSE AGREEMENT