UNIT – 1

Introduction/Historical Development

Unit-01/Lecture-01

                                                 

“I don’t care where my servers are, who manages them, where my documents are stored, or where my applications are hosted. I just want them always available and access them from any device connected through Internet. And I am willing to pay for this service for as a long as I need it.”

                                                                                            

                                                       Figure : Cloud Computing

 

Historical development

 

                       Concept originated from telecommunication companies changing to VPN

• 1999: Salesforce.com ‐ delivery of applications via web

• 2002: Amazon launches Amazon Web Services (AWS)

• 2006 : Google Docs, Amazon Elastic Compute Cloud (EC2)

• 2008: Eucalyptus

• 2009: Microsoft Azure 

The idea of renting computing services by leveraging large distributed computing facilities has been around for long time. It dates back to the days of the mainframes in the early 1950s. From there on, technology has evolved and been refined. This process has created a series of favourable conditions for the realization of cloud computing.

        In tracking the historical evolution, we briefly review five core technologies that played an important role in the realization of cloud computing.

These technologies are distributed systems, virtualization, Web 2.0, service orientation, and utility computing.

 

1)      Distributed systems:

Clouds are essentially large distributed computing facilities that make available their services to third parties on demand.

A distributed system is a collection of independent computers that appears to its users as a single coherent system.

 

Ψ  This is a general definition that includes a variety of computer systems, but it evidences two very important elements characterizing a distributed system: the fact that it is composed of multiple independent components and that these components are perceived as a single entity by users.

Ψ  This is particularly true in the case of cloud computing, in which clouds hide the complex architecture they rely on and provide a single interface to users. The primary purpose of distributed systems is to share resources and utilize them better. This is true in the case of cloud computing, where this concept is taken to the extreme and resources (infrastructure, runtime environments, and services) are rented to users. In fact, one of the driving factors of cloud computing has been the availability of the large computing facilities of IT giants (Amazon, Google) that found that offering their computing capabilities as a service provided opportunities to better utilize their infrastructure.

Ψ  Distributed systems often exhibit other properties such as heterogeneity, openness, scalability, transparency, concurrency, continuous availability, and independent failures.

Ψ  Three major milestones have led to cloud computing: mainframe computing, cluster computing, and grid computing.

 

Mainframes:

These were the first examples of large computational facilities leveraging multiple processing units. Mainframes were powerful, highly reliable computers specialized for large data movement and massive input/output (I/O) operations. They were mostly used by large organizations for bulk data processing tasks such as online transactions, enterprise resource planning, and other operations involving the processing of significant amounts of data.

 

Even though mainframes cannot be considered distributed systems, they offered large computational power by using multiple processors, which were presented as a single entity to users. One of the most attractive features of mainframes was the ability to be highly reliable computers that were “always on” and capable of tolerating failures transparently. No system shutdown was required to replace failed components, and the system could work without interruption.

 

Batch processing was the main application of mainframes. Now their popularity and deployments have reduced, but evolved versions of such systems are still in use for transaction processing (such as online banking, airline ticket booking, supermarket and telcos, and government services).

 

Cluster computing:

Started as a low-cost alternative to the use of mainframes and supercomputers. The technology advancement that created faster and more powerful mainframes and supercomputers eventually generated an increased availability of cheap commodity machines as a side effect. These machines could then be connected by a high-bandwidth network and controlled by specific software tools that manage them as a single system.

•      A computer cluster is a group of linked computers, working together closely thus in many respects forming a single computer.

•      The components of a cluster are connected to each other through fast local area networks

•      Types of Cluster

§  High Availability Cluster

§  Load Balancing Cluster

 

 

HPC Cluster

Starting in the 1980s, clusters become the standard technology for parallel and high-performance computing. Built by commodity machines, they were cheaper than mainframes and made high-performance computing available to a large number of groups, including universities and small research labs. Cluster technology contributed considerably to the evolution of tools and frameworks for distributed computing, including Condor , Parallel Virtual Machine (PVM) , and Message Passing Interface (MPI)

One of the attractive features of clusters was that the computational power of commodity machines could be leveraged to solve problems that were previously manageable only on expensive supercomputers. Moreover, clusters could be easily extended if more computational power was required.

 

Grids:

Grid computing appeared in the early 1990s as an evolution of cluster computing. In an analogy to the power grid, grid computing proposed a new approach to access large computational power, huge storage facilities, and a variety of services. Users can “consume” resources in the same way as they use other utilities such as power, gas, and water. Grids initially developed as aggregations of geographically dispersed clusters by means of Internet connections.

These clusters belonged to different organizations, and arrangements were made among them to share the computational power. Different from a “large cluster,” a computing grid was a dynamic aggregation of heterogeneous computing nodes, and its scale was nationwide or even worldwide.

•      Grid computing is a term referring to the combination of computer resources from multiple administrative domains to reach a common goal.

  • Coordinates resources that are not subject to centralized control
  • Uses standard, open, general-purpose protocols and interfaces
  • Delivers nontrivial qualities of service

 

 

   2)   Virtualization:

Virtualization is another core technology for cloud computing. It encompasses a collection of solutions allowing the abstraction of some of the fundamental elements for computing, such as hardware, runtime environments, storage, and networking. Virtualization has been around for more than 40 years, but its application has always been limited by technologies that did not allow an efficient use of virtualization solutions. Today these limitations have been substantially overcome, and virtualization has become a fundamental element of cloud computing. This is particularly true for solutions that provide IT infrastructure on demand. Virtualization confers that degree of customization and control that makes cloud computing appealing for users and, at the same time, sustainable for cloud services providers.

 

3) Web 2.0

The Web is the primary interface through which cloud computing delivers its services. At present, the Web encompasses a set of technologies and services that facilitate interactive information sharing, collaboration, user-cantered design, and application composition. This evolution has transformed the Web into a rich platform for application development and is known as Web 2.0. This term captures a new way in which developers architect applications and deliver services through the Internet and provides new experience for users of these applications and services.

 

Web 2.0 brings interactivity and flexibility into Web pages, providing enhanced user experience by gaining Web-based access to all the functions that are normally found in desktop applications. These capabilities are obtained by integrating a collection of standards and technologies such as XML, Asynchronous JavaScript and XML (AJAX), Web Services, and others.

 

4) Service-oriented computing

Service orientation is the core reference model for cloud computing systems. This approach adopts the concept of services as the main building blocks of application and system development.

 

Service-oriented computing (SOC) supports the development of rapid, low-cost, flexible, interoperable, and evolvable applications and systems.

A service is an abstraction representing a self-describing and platform-agnostic component that can perform any function—anything from a simple function to a complex business process.

 

Virtually any piece of code that performs a task can be turned into a service and expose its functionalities through a network-accessible protocol.

 

5) Utility-oriented computing

Utility computing is a vision of computing that defines a service-provisioning model for compute services in which resources such as storage, compute power, applications, and infrastructure are packaged and offered on a pay-per-use basis. The idea of providing computing as a utility like natural gas, water, power, and telephone connection has a long history but has become a reality today with the advent of cloud computing.

 

Among the earliest forerunners of this vision we can include the American scientist John McCarthy, who, in a speech for the Massachusetts Institute of

Technology (MIT) centennial in 1961, observed:

If computers of the kind I have advocated become the computers of the future, then computing may someday be organized as a public utility, just as the telephone system is a public utility...

The computer utility could become the basis of a new and important industry.

 

 

-----------------REFERENCE {book: Mastering cloud computing, author: Buyya, page number: 15-21}

 

Video Link: http://nptel.ac.in/courses/106106129/21

 

 

 

 

 

S.NO

RGPV QUESTIONS

Year

Marks

1

Differentiate between distributed computing, cloud computing and grid computing, Also draw the relationship between them.

Dec 2014

7

 

Unit-01/Lecture-02

Pros and Cons of Cloud Computing

Advantages of Cloud Computing

 

Cloud computing offers numerous advantages both to end users and businesses of all sizes. The obvious huge advantage is that you no more have to support the infrastructure or have the knowledge necessary to develop and maintain the infrastructure, development environment or application, as were things up until recently. The burden has been lifted and someone else is taking care of all that. Businesses are now able to focus on their core business by outsourcing all the hassle of IT infrastructure.

 

Cost Efficiency

This is the biggest advantage of cloud computing, achieved by the elimination of the investment in stand-alone software or servers. By leveraging cloud’s capabilities, companies can save on licensing fees and at the same time eliminate overhead charges such as the cost of data storage, software updates, management etc.

The cloud is in general available at much cheaper rates than traditional approaches and can significantly lower the overall IT expenses. At the same time, convenient and scalable charging models have emerged (such as one-time-payment and pay-as-you-go), making the cloud even more attractive.

 

Convenience and continuous availability

Public clouds offer services that are available wherever the end user might be located. This approach enables easy access to information and accommodates the needs of users in different time zones and geographic locations. As a side benefit, collaboration booms since it is now easier than ever to access, view and modify shared documents and files.

Moreover, service uptime is in most cases guaranteed, providing in that way continuous availability of resources. The various cloud vendors typically use multiple servers for maximum redundancy. In case of system failure, alternative instances are automatically spawned on other machines.

 

Backup and Recovery

The process of backing up and recovering data is simplified since those now reside on the cloud and not on a physical device. The various cloud providers offer reliable and flexible backup/recovery solutions. In some cases, the cloud itself is used solely as a backup repository of the data located in local computers.

 

Cloud is environmentally friendly

The cloud is in general more efficient than the typical IT infrastructure and It takes fewer resources to compute, thus saving energy. For example, when servers are not used, the infrastructure normally scales down, freeing up resources and consuming less power. At any moment, only the resources that are truly needed are consumed by the system.

 

Resiliency and Redundancy

A cloud deployment is usually built on a robust architecture thus providing resiliency and redundancy to its users. The cloud offers automatic failover between hardware platforms out of the box, while disaster recovery services are also often included.

 

 

Scalability and Performance

Scalability is a built-in feature for cloud deployments. Cloud instances are deployed automatically only when needed and as a result, you pay only for the applications and data storage you need. Hand in hand, also comes elasticity, since clouds can be scaled to meet your changing IT system demands.

Regarding performance, the systems utilize distributed architectures which offer excellent speed of computations. Again, it is the provider’s responsibility to ensure that your services run on cutting edge machinery. Instances can be added instantly for improved performance and customers have access to the total resources of the cloud’s core hardware via their dashboards.

 

Quick deployment and ease of integration

A cloud system can be up and running in a very short period, making quick deployment a key benefit. On the same aspect, the introduction of a new user in the system happens instantaneously, eliminating waiting periods.

Furthermore, software integration occurs automatically and organically in cloud installations. A business is allowed to choose the services and applications that best suit their preferences, while there is minimum effort in customizing and integrating those applications.

 

Increased Storage Capacity

The cloud can accommodate and store much more data compared to a personal computer and in a way offers almost unlimited storage capacity. It eliminates worries about running out of storage space and at the same time It spares businesses the need to upgrade their computer hardware, further reducing the overall IT cost.

 

Device Diversity and Location Independence

Cloud computing services can be accessed via a plethora of electronic devices that are able to have access to the internet. These devices include not only the traditional PCs, but also smart phones, tablets etc. With the cloud, the “Bring your own device” (BYOD) policy can be easily adopted; permitting employees to bring personally owned mobile devices to their workplace.

An end-user might decide not only which device to use, but also where to access the service from. There is no limitation of place and medium. We can access our applications and data anywhere in the world, making this method very attractive to people. Cloud computing is in that way especially appealing to international companies as it offers the flexibility for its employees to access company files wherever they are.

                                

Disadvantages of Cloud Computing:

 

As made clear from the above, cloud computing is a tool that offers enormous benefits to its adopters. However, being a tool, it also comes with its set of problems and inefficiencies. Let’s address the most significant ones.

 

Security and privacy in the Cloud

Security is the biggest concern when it comes to cloud computing. By leveraging a remote cloud based infrastructure, a company essentially gives away private data and information, things that might be sensitive and confidential. It is then up to the cloud service provider to manage, protect and retain them, thus the provider’s reliability is very critical. A company’s existence might be put in jeopardy, so all possible alternatives should be explored before a decision. On the same note, even end users might feel uncomfortable surrendering their data to a third party.

Similarly, privacy in the cloud is another huge issue. Companies and users have to trust their cloud service vendors that they will protect their data from unauthorized users. The various stories of data loss and password leakage in the media do not help to reassure some of the most concerned users.

 

Dependency and vendor lock-in

One of the major disadvantages of cloud computing is the implicit dependency on the provider. This is what the industry calls “vendor lock-in” since it is difficult, and sometimes impossible, to migrate from a provider once you have rolled with him. If a user wishes to switch to some other provider, then it can be really painful and cumbersome to transfer huge data from the old provider to the new one. This is another reason why you should carefully and thoroughly contemplate all options when picking a vendor.

 

Technical Difficulties and Downtime

Certainly the smaller business will enjoy not having to deal with the daily technical issues and will prefer handing those to an established IT company, however you should keep in mind that all systems might face dysfunctions from time to time. Outage and downtime is possible even to the best cloud service providers, as the past has shown.

Additionally, you should remember that the whole setup is dependent on internet access, thus any network or connectivity problems will render the setup useless. As a minor detail, also keep in mind that it might take several minutes for the cloud to detect a server fault and launch a new instance from an image snapshot.

 

Limited control and flexibility

Since the applications and services run on remote, third party virtual environments, companies and users have limited control over the function and execution of the hardware and software. Moreover, since remote software is being used, it usually lacks the features of an application running locally.

 

Increased Vulnerability

Related to the security and privacy mentioned before, note that cloud based solutions are exposed on the public internet and are thus a more vulnerable target for malicious users and hackers. Nothing on the Internet is completely secure and even the biggest players suffer from serious attacks and security breaches. Due to the interdependency of the system, If there is a compromise one one of the machines that data is stored, there might be a leakage of personal information to the world.

 

 

                               

 

 

 

 

-----------------------REFERENCE {Internet link: http://www.javacodegeeks.com/2013/04/advantages-and-disadvantages-of-cloud-computing-cloud-computing-pros-and-cons.html

 

 

 

S.NO

RGPV QUESTIONS

Year

Marks

1.

Discuss the barriers of cloud computing.

Dec  2013

 

7

2.

Write a brief note on cloud computing challenges.

June 2015

7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Unit-01/Lecture-03

Characteristics and Vision of Cloud Computing

 

Characteristics of cloud computing as per NIST[RGPV/ Dec 2013(7)]

                    

                           

                                           Figure: Characteristics of cloud computing.

 

 

On-demand self-service: A consumer can unilaterally provision computing capabilities, such as server time and network storage, as needed automatically without requiring human interaction with each service’s provider.

 

Broad network access: Capabilities are available over the network and accessed through standard mechanisms that promote use by heterogeneous thin or thick client platforms (e.g., mobile phones, laptops, and PDAs).

 

Resource pooling: The provider’s computing resources are pooled to serve multiple consumers using a multi-tenant model, with different physical and virtual resources dynamically assigned and reassigned according to consumer demand. There is a sense of location independence in that the customer generally has no control or knowledge over the exact location of the provided resources but may be able to specify location at a higher level of abstraction (e.g., country, state, or data centre). Examples of resources include storage, processing, memory, network bandwidth, and virtual machines.

 

Rapid elasticity: Capabilities can be rapidly and elastically provisioned, in some cases automatically, to quickly scale out and rapidly released to quickly scale in. To the consumer, the capabilities available for provisioning often appear to be unlimited and can be purchased in any quantity at any time.

 

Measured Service: Cloud systems automatically control and optimize resource use by leveraging a metering capability at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported providing transparency for both the provider and consumer of the utilized service.

 

 

      

                                         

Vision of Cloud Computing:

·         Cloud computing allows anyone with a credit card to provision virtual hardware, runtime environments, and services. These are used for as long as needed, with no up-front commitments required. The entire stack of a computing system is transformed into a collection of utilities, which can be provisioned and composed together to deploy systems in hours rather than days and with virtually no maintenance costs.

 

·         This opportunity, initially met with scepticism, has now become a practice across several application domains and business sectors (see Figure 3). The demand has fast-tracked technical development and enriched the set of services offered, which have also become more sophisticated and cheaper.

 

·         Despite its evolution, the use of cloud computing is often limited to a single service at a time or, more commonly, a set of related services offered by the same vendor. Previously, the lack of effective standardization efforts made it difficult to move hosted services from one vendor to another. The long-term vision of cloud computing is that IT services are traded as utilities in an open market, without technological and legal barriers.

 

·         In this cloud marketplace, cloud service providers and consumers, trading cloud services as utilities, play a central role. Many of the technological elements contributing to this vision already exist. Different stake-holders leverage clouds for a variety of services. The need for ubiquitous storage and compute power on demand is the most common reason to consider cloud computing. A scalable runtime for applications is an attractive option for application and system developers that do not have infrastructure or cannot afford any further expansion of existing infrastructure. The capability for Web-based access to documents and their processing using sophisticated applications is one of the appealing factors for end users.

               

 

                                                 Figure : Cloud Computing Vision

 

·         In all these cases, the discovery of such services is mostly done by human intervention: a person (or a team of people) looks over the Internet to identify offerings that meet his or her needs. We imagine that in the near future it will be possible to find the solution that matches our needs by simply entering our request in a global digital market that trades cloud computing services.

 

·         The existence of such a market will enable the automation of the discovery process and its integration into existing software systems, thus allowing users to transparently leverage cloud resources in their applications and systems. The existence of a global platform for trading cloud services will also help service providers become more visible and therefore potentially increase their revenue. A global cloud market also reduces the barriers between service consumers and providers: it is no longer necessary to belong to only one of these two categories.

 

·         For example, a cloud provider might become a consumer of a competitor service in order to fulfil its own promises to customers. These are all possibilities that are introduced with the establishment of a global cloud computing marketplace and by defining effective standards for the unified representation of cloud services as well as the interaction among different cloud technologies. A considerable shift toward cloud computing has already been registered, and its rapid adoption facilitates its consolidation.

 

·         Moreover, by concentrating the core capabilities of cloud computing into large data centres, it is possible to reduce or remove the need for any technical infrastructure on the service consumer side. This approach provides opportunities for optimizing data centre facilities and fully utilizing their capabilities to serve multiple users. This consolidation model will reduce the waste of energy and carbon emissions, thus contributing to a greener IT on one end and increasing revenue on the other end.

 

 

 

 ------------------REFERENCE {book: Mastering cloud computing, author: Buyya, page number: 5-7}

 

Video Link: http://nptel.ac.in/courses/106106129/22

 

 

 

 

S.NO

RGPV QUESTIONS

Year

Marks

1

Describe the characteristics of cloud computing.

Dec 2014

7

2.

Define cloud computing. Enlist and explain essential characteristics of cloud computing.

    June 2015

7

 

 

 

 

Unit-01/Lecture-04

Cloud Reference Model and Environment

 

Cloud computing Reference Model

·         A fundamental characteristic of cloud computing is the capability to deliver, on demand, a variety of IT services that are quite diverse from each other. This variety creates different perceptions of what cloud computing is among users. Despite this lack of uniformity, it is possible to classify cloud computing services offerings into three major categories: Infrastructure-as-a-Service (IaaS), Platform-as-a-Service (PaaS), and Software-as-a-Service (SaaS).

 

                                            Figure - Cloud computing Reference Model

 

·         These categories are related to each other as described in Figure above, which provides an organic view of cloud computing. We refer to this diagram as the Cloud Computing Reference Model. The model organizes the wide range of cloud computing services in to a layered view that walks the computing stack from bottom to top.

 

·         At the base of the stack, Infrastructure-as-a-Service solutions deliver infrastructure on demand in the form of virtual hardware, storage, and networking. Virtual hardware is utilized to provide compute on demand in the form of virtual machine instances. These are created at users’ request on the provider’s infrastructure, and users are given tools and interfaces to configure the software stack in stalled in the virtual machine. The pricing model is usually defined in terms of dollars per hour, where the hourly cost is influenced by the characteristics of the virtual hardware.

 

Virtual storage is delivered in the form of raw disk space or object store. The former complements a virtual hardware offering that requires persistent storage. The latter is a more high-level abstraction for storing entities rather than files. Virtual networking identifies the collection of services that manage the net- working among virtual instances and their connectivity to the Internet or private networks.

 

·         Platform-as-a-Service solutions are the next step in the stack. They deliver scalable and elastic runtime environments on demand and host the execution of applications. These services are backed by a core middleware platform that is responsible for creating the abstract environment where applications are deployed and executed. It is the responsibility of the service provider to provide scalability and to manage fault tolerance, while users are requested to focus on the logic of the application developed by leveraging the provider’s APIs and libraries.

 

·         At the top of the stack, Software-as-a-Service solutions provide applications and services on demand. Most of the common functionalities of desktop applications—such as office automation, document management, photo editing, and customer relationship management (CRM) software—are replicated on the provider’s infrastructure and made more scalable and accessible through a browser on demand.

 

These applications are shared across multiple users whose interaction is isolated from the other users. The SaaS layer is also the area of social networking Websites, which leverage cloud-based infrastructures to sustain the load generated by their popularity.

 

·         Each layer provides a different service to users. IaaS solutions are sought by users who want to leverage cloud computing from building dynamically scalable computing systems requiring a specific software stack. IaaS services are therefore used to develop scalable Websites or for background processing. PaaS solutions provide scalable programming platforms for developing applications and are more appropriate when new systems have to be developed. SaaS solutions target mostly end users who want to benefit from the elastic scalability of the cloud without doing any software development, installation, configuration, and maintenance.

 

                                 Figure :The Cloud Computing Reference Model

 

 

 

-----------------------REFERENCE {book: Mastering cloud computing, author: Buyya, page number: 11-13}

 

 

 

 

 

 

Cloud computing environments

The creation of Cloud-computing environments encompasses both the development of applications and systems that leverage Cloud-computing solutions and the creation of frameworks, platforms, and infrastructures delivering Cloud-computing services.

 

Application Development

·         Applications that leverage cloud computing benefit from its capability to dynamically scale on demand. One class of applications that takes the biggest advantage of this feature is that of Web applications. Their performance is mostly influenced by the work load generated by varying user demands.

·         With the diffusion of Web2.0 technologies, the Web has become a platform for developing rich and complex applications, including enterprise applications that now leverage the Internet as the preferred channel for service delivery and user interaction. These applications are characterized by complex processes that are triggered by the interaction with users and develop through the interaction between several tiers behind the Web front end.

·         These are the applications that are mostly sensible to inappropriate sizing of infrastructure and service deployment or variability in workload. Another class of applications that can potentially gain considerable advantage by leveraging cloud computing is represented by resource-intensive applications.

·         These can be either data-intensive or compute-intensive applications. In both cases, considerable amounts of resources are required to complete execution in a reasonable timeframe. It is worth noticing that these large amounts of resources are not needed constantly or for a long duration. For example, scientific applications can require huge computing capacity to perform large-scale experiments once in a while, so it is not feasible to buy the infrastructure supporting them. In this case, cloud computing can be the solution. Resource-intensive applications are not interactive and they are mostly characterized by batch processing.

 

Infrastructure and System Development

·         Distributed computing, virtualization, service orientation, and Web 2.0 form the core technologies enabling the provisioning of cloud services from anywhere on the globe. Developing applications and systems that leverage the cloud requires knowledge across all these technologies. Moreover, new challenges need to be addressed from design and development standpoints.

·         Distributed computing is a foundational model for cloud computing because cloud systems are distributed systems. Besides administrative tasks mostly connected to the accessibility of resources in the cloud, the extreme dynamism of cloud systems—where new nodes and services are provisioned on demand—constitutes the major challenge for engineers and developers.

·         This characteristic is pretty peculiar to cloud computing solutions and is mostly addressed at the middleware layer of computing system. Infrastructure-as-a-Service solutions provide the capabilities to add and remove resources, but it is up to those who deploy systems on this scalable infrastructure to make use of such opportunities with wisdom and effectiveness. Platform-as-a-Service solutions embed into their core offering algorithms and rules that control the provisioning process and the lease of resources. These can be either completely transparent to developers or subject to fine control.

 

                                            

Computing platforms and technologies:

·       Development of a cloud computing application happens by leveraging platforms and frameworks that provide different types of services, from the bare metal infrastructure to customizable applications serving specific purposes.

v Amazon web services (AWS)

v Google App Engine

v Microsoft Azure

v Hadoop

Ψ Force.com and Salesforce.com

Ψ Manjrasoft Aneka

 

         Figure: Cloud Computing Environments

 

 

 

 

 

 

  ---------------------REFERENCE {book: Mastering cloud computing, author: Buyya, page number: 22-26}

 

 

 

 

 

 

 

S.NO

RGPV QUESTIONS

Year

Marks

1

Describe the characteristics of cloud computing environment.

Dec 2013

7

2

What makes cloud computing so interesting to IT stack holders and research practitioners? Explain it by listing essential cloud computing environment and cloud service requirement.

Dec 2014

7

 

 

 

 

 

Unit-01/Lecture-05

Cloud Services Requirements

 

Cloud Services Requirements:

 

There are 6 basic cloud service requirements for enterprises to adapt cloud services

 

1. Availability - with loss less DR

Customers want their IT services be up and available at all times. But in reality, computers sometimes fail. This implies that the service provider should have implemented a reliable disaster recovery (DR) mechanism - where in the service provider can move the customer from one data center to another seamlessly and the customer does not even have to know about it.

 

 2. Portability of Data & Applications

Ideally a cloud offering must be able to allow customers to move out their data & applications from one service provider to another - just like customers can switch from one telephone service provider to another. As applications are being written on standard platforms - Java, PHP, Python, etc. It should be possible to move the customer owned applications from one service provider to another.

 

3. Data Security

Security is the key concern for all customers - since the applications and the data is residing in the public cloud; it is the responsibility of the service provider for providing adequate security.

The service provider must have a robust Information Security Risk Management process - which is well understood by the customer, and customer must clearly know his responsibilities as well. As there are several types of cloud offerings (SaaS, PaaS, IaaS etc), there will be different sets of responsibility for the customer and the service provider depending on the cloud service offering.

 

4. Manageability

Managing the cloud infrastructure from the customer perspective must be under the control of the customer admin. Customers of Cloud services must be able to create new accounts, must be able to provision various services, do all the user account monitoring - monitoring for end user usage, data usage monitoring etc. The end users would like to see the availability, performance and configuration/provisioning data for the set of infrastructure they are using in the cloud.

 

 

5. Elasticity

Customer on Cloud computing have a dynamic computing loads. At times of high load, they need greater amount of computing resources available to them on demand, and when the work loads are low, the computing resources are released back to the cloud pool. Customer expects the service provider to charge them for what they have actually used in the process. To provide an elastic computing resource, the service provider must be able to dynamically provision resources as needed and have adequate charge back systems to bill the customer.

 

6. Federated System

There are several reasons as to why customers will need a Federated cloud system. Customers may have to buy services from several cloud service providers for various services - email from Google, online sales transaction services from Amazon and ERP from another vendor etc. In such cases customer want their cloud applications to interact with other services from several vendors to provide a seamless end to end IT services. This implies that each of the cloud services must have an interface with other cloud services for load sharing & application interoperability.

In a federated environment there is potentially an infinite pool of resources. To build such a system, there should be inter-cloud framework agreements between multiple service providers, and adequate chargeback systems in place.

 

 

 

------------------------REFERENCE {book: cloud computing, author: kumar saurabh, page number: 1.7-1.8}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Unit-01/Lecture-06

Cloud and Dynamic Infrastructure

 

Cloud And Dynamic Infrastructure

 

Cloud computing represents not a revolution but an evolution of existing enterprise computing architectures dating back to the first instance of networked computing. The difference is that today there are vast advances in virtualization in nearly every aspect of the data center. There has also been an emergence of a dynamic understanding and need to control what, how, and when the cloud provides services to the consumers of those services.

 

“This cloud dynamic paradigm must be able to intercept application and data traffic, interpret the current context, and instruct the cloud infrastructure on how to most efficiently deliver the request. These requirements include scalability, adaptability, extensibility, and manageability.”

 

Now the question that remains however what is does this new dynamic computing architecture look like and what is required above and beyond the standard tools we have today to qualify as a “cloud”?

Figure: Cloud Architecture

An important strategic consideration is the integration of all the pieces of the infrastructure to create the cloud. This includes everything from the bare metal to the users to all of the elements in between. In addition there are different ways to view the interaction of various operations within the architecture depending on your role. The cloud computing architecture is built upon several functional component blocks. For example compute resources or deployment environments which are organized into specific layers of a pyramid as shown in the Fig. above. The width of these layers represents the depth of technical expertise required to build or deploy that layer.

 

The pyramid layers are in the notions of Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS). At the apex of the pyramid are users accessing the applications in the center is a dynamic control plane that traverses all others and provides real-time connectivity, information coordination, and flow control between the layers. In order to maximize the value of cloud architecture each component must exist in some state or another. For example dynamic control plane elements are a requirement at every layer of the cloud architecture in order for cloud environments to be operationally efficient and on demand.

 

 

Designing the Cloud

 

“Designing for cloud is really talks about effectively utilizing computing resources through Internet.”

 

In cloud computing all computing resources that we get are services, such as Infrastructure as a Service (IaaS), Platform as a Service (PaaS), Software as a Service (SaaS) etc. Design for cloud can also be defined as breaking the application related components in such a way that it can be delivered as service, that is what we see in the Fig.1.15.

Before architecting an application we should analyze the term Service Oriented Architecture (SOA).

 

Figure: Designing the cloud

 

 

If we do not know how to use SOA effectively we end up in loss wasting more money for the computing resources which are not effectively used, also we face problems in scaling up and down. If we design your application architecture, more relied on SOA then it proves to be the good design for cloud, but also we should consider about good coding techniques, otherwise we screw up all things.

 

Dynamic Control Plane

 

Traditional traffic and computing systems often break processing into two components: the data plane and the control plane.

 

1. Data plane. The data plane is concerned with the basic process of getting data be it input from a system requests from users and returning data output, files, or responses. The data plane is the basic connectivity that handles traffic flow to and from destinations.

 

2. Control plane. The control plane is more concerned with managing that data in response to context and policy. It changes the “how” of the data plane.

 

The core idea of cloud architecture is to connect users who might be mobile and moving between LANs, WLANs, Internet connections and services to the applications they consume. Which can also move between cloud centers based on different needs of the business? As hardware resources and servers are decommissioned, as applications are moved from development to production, as entire applications are moved from the internal data center to a cloud provider the cloud architecture requires a dynamic control plane that monitors the data and ensures that it is constantly connected in the best possible manner. The dynamic control pane must be able to Intercept traffic as it traverses the cloud, Interpret the data, and instruct the cloud architecture on how to efficiently connect the user to the appropriate application instance.

 

(a) Intercept traffic. The dynamic control plane must be in a position to have visibility to all traffic between the user and the application and across the entire cloud platform. Without the ability to intercept traffic and data requests, the dynamic control plane cannot appropriately do any of the other things it needs to do. Not only must it be able to see the actual flow it must also be able to intercept the metadata or context of the traffic. The dynamic control plane must have the visibility into the data plane and all components that operate within the data plane.

 

(b) Interpret the data. The information about data and application flow is not enough. The dynamic control plane must have the ability to understand the elements of context in relation to the individual request, business policy, and other application and cloud traffic. The dynamic control plane must constantly evaluate the context and policy to make intelligent decisions at any given movement.

 

(c) Instruct the cloud architecture. Once the dynamic control plane has all the available information and analyzed the context it must instruct the architecture on how best to connect the two endpoints. The dynamic control plane must also communicate with the infrastructure the data plane to change the current delivery model to meet the needs identified.

 

This might require sending requests to the a new instance of the application or to a new data center, changing compression and encryption settings, or even instructing other components in the architecture to create or destroy resources necessary to delivering that application or data. It might also be necessary for the dynamic control plane to simply deny access based on the policies and context at any given movement.

 

 

 

 

 

 

 

---------------------REFERENCE {book: cloud computing, author: kumar saurabh, page number: 1.10}

 

 

 Video Link: http://nptel.ac.in/courses/106106129/23

 

 

 

 

 

 

 

S.NO

RGPV QUESTIONS

Year

Marks

Q.1

Explain cloud and dynamic infrastructure.

Dec  2014

 

7

UNIT 1/ LECTURE 7

Cloud Adoption and Rudiments

·         Adoption term states that accepting the services of new Technology.

·         Adoption means following some kind of new trend or existing trend or a technology.

The Cloud Adoption Model

Cloud Adoption is a strategic move by organisations of reducing cost, mitigating risk and achieving scalability of data base capabilities. Cloud adoption may be up to various degrees in an organisation, depending on the depth of adoption. In fact the depth of adoption yields insight into the maturity of best practices, enterprise-ready cloud services availability.

Organisations that go ahead with the strategic decision of adopting cloud based technologies have to identify potential security thefts and controls, required to keep the data and applications in the cloud secured. Hence there is a need for compliance assessment during cloud adoption.

The following measures are taken for compliance assessment to ensure security and accountability of data and applications in the cloud services:

§     Matching the security requirements of the organisation with the security capabilities of the cloud service provider

§     Analysing the security policies of the cloud service provider along with history of transparency and security related practices

§     Proper understanding of the technical aspects of data and traffic flow

§     Proper understanding and documentation of the roles and responsibilities of the cloud service provider

§     Understanding of the certifications and compliances that can be leveraged from the cloud service provider

Cloud Adoption is useful when the recovery management, backup recovery based implementations are required.

Cloud Adoption

 

Barriers to Cloud Computing Adoption in the Enterprise

Although there are many benefits to adopting cloud computing, there are also some significant barriers to adoption.

 

·         Security and Privacy Because cloud computing represents a new computing model, there is a great deal of uncertainty about how security at all levels (e.g., network, host, application, and data levels) can be achieved. That uncertainty has consistently led information executives to state that security is their number one concern with cloud computing. The ability of cloud computing to adequately address privacy regulations has been called into question.

 

Organizations today face numerous different requirements attempting to protect the privacy of individuals’ information, and it is not clear (i.e., not yet established) whether the cloud computing model provides adequate protection of such information, or whether organizations will be found in violation of regulations because of this new model.

·         Connectivity and Open Access The full potential of cloud computing depends on the availability of high-speed access to all. Such connectivity, rather like electricity availability, globally opens the possibility for industry and a new range of consumer products. Connectivity and open access to computing power and information availability through the cloud promotes another era of industrialization and the need for more sophisticated consumer products.

 

·         Reliability Enterprise applications are now so critical that they must be reliable and available to support 24/7 operations. In the event of failure or outages, contingency plans must take effect smoothly, and for disastrous or catastrophic failure, recovery plans must begin with minimum disruption. Each aspect of reliability should be carefully considered when engaging with a CSP, negotiated as part of the SLA, and tested in failover drills. Additional costs may be associated with the required levels of reliability; however, the business can do only so much to mitigate risks and the cost of a failure. Establishing a track record of reliability will be a prerequisite for widespread adoption.

 

·         Interoperability The interoperability and portability of information between private clouds and public clouds are critical enablers for broad adoption of cloud computing by the enterprise. Many companies have made considerable progress toward standardizing their processes, data, and systems through implementation of ERPs. This process has been enabled by scalable infrastructures to create single instances, or highly integrated connections between instances, to manage the consistency of master and transaction data and produce reliable consolidated information. Even with these improved platforms, the speed at which businesses change may still outpace the ability of IT organizations to respond to these changes. SaaS applications delivered through the cloud provide a low-capital, fast-deployment option. Depending on the application, it is critical to integrate with traditional applications that may be resident in a separate cloud or on traditional technology. The standard for interoperability is either an enabler or a barrier to interoperability, and permits maintenance of the integrity and consistency of a company’s information and processes.

 

·         Economic Value The growth of cloud computing is predicated on the return on investment that accrues. It seems intuitive that by sharing resources to smooth out peaks, paying only for what is used, and cutting upfront capital investment in deploying IT solutions, the economic value will be there. There will be a need to carefully balance all costs and benefits associated with cloud computing—in both the short and long terms. Hidden costs could include support, disaster recovery, application modification, and data loss insurance. There will be threshold values whereby consolidating investments or combining cloud services makes sense; for example, it might not be efficient or cost effective to utilize multiple autonomous SaaS applications.

 

Each may contract for disaster recovery program services. There is a point where economies of scale mean these functions should be combined in a similar service. Application usage may begin with a low volume of transactions that can be supported with semi-automated master data management. As usage expands and interoperability requirements for the business process become more onerous, a new approach is needed. This evolution may be the most cost-effective approach; however, there is a risk that the business transition costs from one solution to another may change the cost and benefit equation, and hence the solution that should be employed.

 

·         Changes in the IT Organization The IT organization will be affected by cloud computing, as has been the case with other technology shifts. There are two dimensions to shifts in technology. The first is acquiring the new skill sets to deploy the technology in the context of solving a business problem, and the second is how the technology changes the IT role. During the COBOL era, users rarely programmed, the expectations of the user interface varied, and the adaptability of the solution was low.

 

Training was delivered in separate manuals and the user used the computer to solve problems only down predefined paths. With the advent of fourth-generation languages, roles within IT, such as system analyst and programmer, became merged into analyst/programmer, users started to write their own reports, and new applications, including operational data stores, data entry, and query programs, could be rapidly deployed in weeks. IT’s role will change once again: the speed of change will impact the adoption of cloud technologies and the ability to decompose mature solutions from hype to deliver real value from cloud technology; and the need to maintain the controls to manage IT risk in the business will increase.

 

 

 

-------------------------REFERENCE {book: cloud computing, author: kumar saurabh, page number: 1.11}

 

CLOUD RUDIMENTS

In this topic we will discuss the essentials or rudiments of cloud computing

 

Here the higher level capabilities of the cloud are as follows:-

 

·         Resource Aggregation and integration: Cloud solution Integrates or aggregates the information of these 3 resources which are shown in the fig of previous slide. After that the integrated information will be sent into a central logical view.

 

 

  Application Services

Here app services states that the services related to a particular s/w .The Application instances represents the agreement between service provider and the consumer to use services on- Demand basis. Cloud also provides the facility of reservation of resources. It means that it is guaranteed that at a given point of time the resources or the services will surely available for consumer.

 

 

  Self-Service portal

Self-service is facility provided by cloud to consumers. This supports the account owners signing up and being able to use the purchased capacity. Users can request machine or entire multi-machine environments and monitor and control them using a web based self-service portal.

 

 

·         Allocation Engine

The DRM provides the automated allocation and reallocations of resources. The DRM is key component of any cloud solutions that maximize the efficiency the IAAS. The DRM is a Dynamic resource management.

 

·         Reporting and accounting

 The actual resource allocation and the actual cloud usage will be get recorded or collected in an accounting database. The data will be available centrally to create reports of usage .For example:-capacity allocated vs. capacity used by the consumer.

 

  Self-service

 We have discussed earlier that this a self service portal provided by the cloud.

 

  Dynamic Workload management

 Here Cloud virtual machines are enabled with automated software’s that controls the workflow requests. Also the virtual machines are enabled with a lifecycle that increase the effective utilization of resources.

 

  Resource Automation

It clearly shows that the resources will automatically plus effectively utilize as and when they are required by the service consumers.

 

  Metering of resources

 With the help of the metering of resources in any cloud user organization would bring the transparency to the business and environment for the management to see the usage of resources.

 

 

 

 

---------------------REFERENCE {book: cloud computing, author: kumar saurabh, page number: 1.11}

 

 

 

 

 

 

 

 

S.NO

RGPV QUESTIONS

Year

Marks

Q.1

Write a brief notes on cloud adoption and cloud rudiments.

Dec  2014, June 2015

 

7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Unit-01/Lecture-08

Cloud Applications

 

Overview of cloud applications:

Cloud computing has gained huge popularity in industry due to its ability to host applications for which the services can be delivered to consumers rapidly at minimal cost. Applications from a range of domains, from scientific to engineering, gaming, and social networking, are considered.

 

1). ECG analysis in the cloud:

·         An important application is the use of cloud technologies to support doctors in providing more effective diagnostic processes. In particular, here we discuss electrocardiogram (ECG) data analysis on the cloud.

 

·         ECG is the electrical manifestation of the contractile activity of the heart’s myocardium. This activity produces a specific waveform that is repeated over time and that represents the heartbeat. The analysis of the shape of the ECG waveform is used to identify arrhythmias and is the most common way to detect heart disease.

 

·         Cloud computing technologies allow the remote monitoring of a patient’s heartbeat data, data analysis in minimal time, and the notification of first-aid personnel and doctors should these data reveal potentially dangerous conditions. This way a patient at risk can be constantly monitored without going to a hospital for ECG analysis.

 

·         At the same time, doctors and first-aid personnel can instantly be notified of cases that require their attention. An illustration of the infrastructure and model for supporting remote ECG monitoring is shown in Figure. Wearable computing devices equipped with ECG sensors constantly monitor the patient’s heartbeat.

 

·         Such information is transmitted to the patient’s mobile device, which will eventually forward it to the cloud-hosted Web service for analysis. The Web service forms the front-end of a platform that is entirely hosted in the cloud and that leverages the three layers of the cloud computing stack: SaaS, PaaS, and IaaS.

 

·         The Web service constitute the SaaS application that will store ECG data in the Amazon S3 service and issue a processing request to the scalable cloud plat- form. The runtime platform is composed of a dynamically sizable number of instances running the workflow engine and Aneka. The number of workflow engine instances is controlled according to the number of requests in the queue of each instance, while Aneka controls the number of EC2 instances used to execute the single tasks defined by the workflow engine for a single ECG proces- sing job. Each of these jobs consists of a set of operations involving the extraction of the waveform from the heartbeat data and the comparison of the waveform with a reference waveform to detect anomalies. If anomalies are found, doctors and first-aid personnel can be notified to act on a specific patient.

                      

                    Figure: An online health monitoring system hosted in the cloud.

 

2). Protein structure prediction: 

·         Applications in biology often require high computing capabilities and often operate on large datasets that cause extensive I/O operations. Because of these requirements, biology applications have often made extensive use of supercomputing and cluster computing infrastructures. Similar capabilities can be leveraged on demand using cloud computing technologies in a more dynamic fashion, thus opening new opportunities for bioinformatics applications.

 

·         Protein structure prediction is a computationally intensive task that is fundamental to different types of research in the life sciences. Among these is the design of new drugs for the treatment of diseases. The geometric structure of a protein cannot be directly inferred from the sequence of genes that compose its structure, but it is the result of complex computations aimed at identifying the structure that minimizes the required energy.

 

·         This task requires the investigation of a space with a massive number of states, consequently creating a large number of computations for each of these states. The computational power required for protein structure prediction can now be acquired on demand, without owning a cluster or navigating the bureaucracy to get access to parallel and distributed computing facilities.

·         Cloud computing grants access to such capacity on a pay-per-use basis. One projectthatinvestigatestheuseofcloudtechnologiesforproteinstructurepredictionis Jeeva an integrated Web portal that enables scientists to off load the prediction task to a computing cloud based on Aneka.

 

                        

 

3). Gene expression data analysis for cancer diagnosis:

·         Gene expression profiling is the measurement of the expression levels of thousands of genes at once. It is used to understand the biological processes that are triggered by medical treatment at a cellular level.

 

·         Together with protein structure prediction, this activity is a fundamental component of drug design, since it allows scientists to identify the effects of a specific treatment. Another important application of gene expression profiling is cancer diagnosis and treatment. Cancer is a disease characterized by uncontrolled cell growth and proliferation.

 

·         This behavior occurs because genes regulating the cell growth mutate. This means that all the cancerous cells contain mutated genes. In this context, gene expression profiling is utilized to provide a more accurate classification of tumors.

 

·         The classification of gene expression data samples into distinct classes is a challenging task. The dimensionality of typical gene expression datasets ranges from several thousands to over tens of thousands of genes. However, only small sample sizes are typically avail-able for analysis. This problem is often approached with learning classifiers, which generate a population of condition-action rules that guide the classification process.

 

 

 

 

 

 

 

 

 

 

 

 

              

                            Figure: Gene expression data analysis for cancer diagnosis

 

4). Satellite image processing:

·         Geo-science applications collect, produce, and analyze massive amounts of geospatial and non spatial-data.

 

·         As the technology progresses and our planet becomes more instrumented (i.e., through the deployment of sensors and satellites for monitoring), the volume of data that needs to be processed increases significantly. In particular, the geographic information system (GIS) is a major element of geosciences applications. GIS applications capture, store, manipulate, analyze, manage, and present all types of geographically referenced data. This type of information is now becoming increasingly relevant to a wide variety of application domains: from advanced farming to civil security and natural resources management.

 

·         As a result, a considerable amount of geo-referenced data is ingested into computer systems for further processing and analysis. Cloud computing is an attractive option for executing these demanding tasks and extracting meaningful information to support decision makers.

 

                                   

                                       

 

 

5). Social networking :

·         Social networking applications have grown considerably in the last few years to become the most active sites on the Web. To sustain their traffic and serve millions of users seamlessly, services such as Twitter and Face book have leveraged cloud computing technologies. The possibility of continuously adding capacity while systems are running is the most attractive feature for social networks, which constantly increase their user base.

 

 

                                                                                     

 

 

·         Facebook:

 Facebook is probably the most evident and interesting environment in social networking. With more than 800 million users, it has become one of the largest Websites in the world. To sustain this incredible growth, it has been fundamental that Facebook be capable of continuously adding capacity and developing new scalable technologies and software systems while maintaining high performance to ensure a smooth user experience.

 

 6). CRM & ERP

CRM and ERP are two important technology acronyms that businesses need to know about. Both are valuable business software solutions but they are used to manage and achieve very different business goals.

 

What exactly is CRM?

CRM is an abbreviation for customer relationship management and is a phrase used to describe all aspects of interaction that a company has with its customer, whether it is sales or service-related. It's a business strategy that helps your business to better understand your customer, retain customers, provide excellent customer service, win new clients and increase profitably.

Many aspects of CRM rely heavily on technology. CRM software will collect, manage and link information about the customer. You can use CRM software to create marketing campaigns, view a customer's entire of history of interactions with your business and use it to streamline daily business and sales tasks.

 

The cloud CRM applications has given a large contribution for the small scale companies to have a fully-functional CRM s/w without receiving large amount of money and in a simple pay per use manner.

                                                       

 

What is ERP?

ERP is an abbreviation for enterprise resource planning. ERP software is used to manage the business. It integrates all facets of an operation, including product planning, development, manufacturing processes, human resources, financials and sales and marketing.

Today's ERP solutions are designed to help you to improve the operational efficiency of business resources. Businesses use ERP systems to integrate all its business processes into a single system to efficiently and effectively manage business goals.

 

Cloud ERP is an approach to enterprise resource planning (ERP) that makes use of cloud computing platforms and services to provide a business with more flexible business process transformation.

 

 

 

        ---------------REFERENCE {book: Mastering cloud computing, author: buyya, page number: 353-360}

 

Video Link: http://nptel.ac.in/courses/106106129/25

 

 

 

 

 

 

S.NO

RGPV QUESTIONS

Year

Marks

Q.1

List the different cloud application available in the market? Briefly explain the scenarios/situations of "when to not use clouds".

Dec  2014

 

7

Q.2

How does cloud computing helps to reduce the times to market applications and to cut down capital expanses?

June 2015

7

 

 

 

 

 

REFERENCE

 

 

BOOK

AUTHOR

 

PRIORITY

Mastering Cloud Computing

Buyya, Selvi

1

Cloud Computing

Kumar Saurabh

2