CC Notes UNIT 1
CC Notes UNIT 1
1. Resources Pooling
It means that the Cloud provider pulled the computing resources to provide services to multiple customers with
the help of a multi-tenant model. There are different physical and virtual resources assigned and reassigned
which depends on the demand of the customer. The customer generally has no control or information over the
location of the provided resources but is able to specify location at a higher level of abstraction
2. On-Demand Self-Service
It is one of the important and valuable features of Cloud Computing as the user can continuously monitor the
server uptime, capabilities, and allotted network storage. With this feature, the user can also monitor the
computing capabilities.
3. Easy Maintenance
The servers are easily maintained and the downtime is very low and even in some cases, there is no downtime.
Cloud Computing comes up with an update every time by gradually making it better. The updates are more
compatible with the devices and perform faster than older ones along with the bugs which are fixed.
5. Availability
The capabilities of the Cloud can be modified as per the use and can be extended a lot. It analyzes the storage
usage and allows the user to buy extra Cloud storage if needed for a very small amount.
6. Automatic System
Cloud computing automatically analyzes the data needed and supports a metering capability at some level of
services. We can monitor, control, and report the usage. It will provide transparency for the host as well as the
customer.
7. Economical
It is the one-time investment as the company (host) has to buy the storage and a small part of it can be provided
to the many companies which save the host from monthly or yearly costs. Only the amount which is spent is on
the basic maintenance and a few more expenses which are very less.
8. Security
Cloud Security, is one of the best features of cloud computing. It creates a snapshot of the data stored so that
the data may not get lost even if one of the servers gets damaged. The data is stored within the storage devices,
which cannot be hacked and utilized by any other person. The storage service is quick and reliable.
9. Pay as you go
In cloud computing, the user has to pay only for the service or the space they have utilized. There is no hidden
or extra charge which is to be paid. The service is economical and most of the time some space is allotted for
free.
Internet is just a network -a pretty amazing, huge sized network of networks. It is a global network of
interconnected computers.
Cloud, on the other hand, is something more amazing. Cloud computing uses the internet as a medium to
deliver resources which are normally available only locally for use to anyone who requires it and is connected
to the internet. It enables users to consume resources like applications, storage, etc. as a utility service - just like
electricity. When you need electricity (analogous to say an application), you do not need to create it at your
home (locally), you take it from somewhere it is created via electricity lines (analogous to the internet).
Cloud Service Models Saas, IaaS, PaaS. Cloud models come in three types: SaaS (Software as a Service), IaaS
(Infrastructure as a Service) and PaaS (Platform as a Service). Each of the cloud models has their own set of
benefits that could serve the needs of various businesses.
A service model that is distributed across two or more Infrastructure Management Servers is called a distributed
service model. When the number of CIs in a service model exceeds the maximum limit of CIs allowed in a
single server, it is possible to distribute the model across multiple Infrastructure Management Servers.
Q.5:-Design the framework of common cloud management platform reference architecture and explain
its components.
Cloud Computing architecture comprises of many cloud components, which are loosely coupled. We can
broadly divide the cloud architecture into two parts:
• Front End
• Back End
Each of the ends is connected through a network, usually Internet. The following diagram shows the graphical
view of cloud computing architecture:
Front End
The front end refers to the client part of cloud computing system. It consists of interfaces and applications that
are required to access the cloud computing platforms, Example - Web Browser.
Back End
The back End refers to the cloud itself. It consists of all the resources required to provide cloud computing
services. It comprises of huge data storage, virtual machines, security mechanism, services, deployment
models, servers, etc.
Note
• It is the responsibility of the back end to provide built-in security mechanism, traffic control and
protocols.
• The server employs certain protocols known as middleware, which help the connected devices to
communicate with each other.
• Cloud infrastructure consists of servers, storage devices, network, cloud management software,
deployment software, and platform virtualization.
•
• Hypervisor
• Hypervisor is a firmware or low-level program that acts as a Virtual Machine Manager. It allows to
share the single physical instance of cloud resources between several tenants.
• Management Software
• It helps to maintain and configure the infrastructure.
• Deployment Software
• It helps to deploy and integrate the application on the cloud.
• Network
• It is the key component of cloud infrastructure. It allows to connect cloud services over the Internet. It is
also possible to deliver network as a utility over the Internet, which means, the customer can customize
the network route and protocol.
• Server
• The server helps to compute the resource sharing and offers other services such as resource allocation
and de-allocation, monitoring the resources, providing security etc.
• Storage
• Cloud keeps multiple replicas of storage. If one of the storage resources fails, then it can be extracted
from another one, which makes cloud computing more reliable.
• Infrastructural Constraints
• Fundamental constraints that cloud infrastructure should implement are shown in the following
diagram:
•
• Transparency
• Virtualization is the key to share resources in cloud environment. But it is not possible to satisfy the
demand with single resource or server. Therefore, there must be transparency in resources, load
balancing and application, so that we can scale them on demand.
• Scalability
• Scaling up an application delivery solution is not that easy as scaling up an application because it
involves configuration overhead or even re-architecting the network. So, application delivery solution is
need to be scalable which will require the virtual infrastructure such that resource can be provisioned
and de-provisioned easily.
• Intelligent Monitoring
• To achieve transparency and scalability, application solution delivery will need to be capable of
intelligent monitoring.
• Security
• The mega data center in the cloud should be securely architected. Also the control node, an entry point
in mega data center, also needs to be secure.
Q.6:-Draw the framework of common cloud management platform reference architecture and explain its
components.
A cloud management platform is a suite of integrated software tools that an enterprise can use to monitor and
control cloud computing resources. While an organization can use a cloud management platform exclusively for
a private or public cloud deployment, these toolsets commonly target hybrid and multi-cloud models to help
centralize control of various cloud-based infrastructures.
The exact feature set of a cloud management platform varies by vendor. Some offer a broad set of tools, while
others target more niche industries or vertical markets. In addition, some vendors deliver cloud management
platforms as on-premises applications, while others deliver them as software as a service. In general, cloud
management refers to the exercise of administrative control over public, private, hybrid and multi-cloud
deployments.
According to the Cloud Standards Customer Council (CSCC) -- a cloud end-user advocacy group -- a cloud
management platform, in general, includes these main capabilities:
• General services: Provides user self-service capabilities, as well as reporting and analytics features to gain
insight into cloud service consumption patterns in the enterprise;
• Service management: Enables an IT team to monitor cloud-based services to help with capacity planning,
workload deployment and ensuring all availability and performance requirements are met;
• Resource management: Provides tools to manage cloud computing resources, such as virtual machines,
storage and networks, with capabilities such as resource discovery, tagging, provisioning, automation
and orchestration. In addition, the cloud management platform might include capabilities to migrate
resources between environments, such as private and public clouds.
• Financial management: Offers capabilities to automatically track and allocate cloud computing spend to
specific users or business departments. In general, these financial management features also include the
ability to generate chargeback reports and forecast future cloud costs.
• Governance and security: Enables an administrator to enforce policy-based control of cloud resources, and
offers security features, such as encryption and identity and access management.
• Integration is another critical feature to look for in cloud management platform, according to the CSCC.
The platform, for example, needs to support access to IT systems that are both internal and external to
the enterprise. This feature is what enables a cloud management platform to centralize the control of
multiple and disparate cloud infrastructure types.
• A cloud management platform can be native or specific to a certain cloud provider or platform, or
available from a third-party vendor. In general, a management platform that supports multi-cloud
deployments will be from a third party.
The Intercloud scenario is based on the key concept that each single cloud does not have infinite physical
resources or ubiquitous geographic footprint. If a cloud saturates the computational and storage resources of
its infrastructure, or is requested to use resources in a geography where it has no footprint, it would still be
ableto satisfy such requests for service allocations sent from its clients.
The Intercloud scenario would address such situations where each cloud would use the computational, storage,
or any kind of resource (through semantic resource descriptions, and open federation) of the infrastructures of
other clouds. This is analogous to the way the Internet works, in that a service provider, to which an endpoint is
attached, will access or deliver traffic from/to source/destination addresses outside of its service area by using
Internet routing protocols with other service providers with whom it has a pre-arranged exchange or peering
relationship. It is also analogous to the way mobile operators implement roaming and inter-carrier
interoperability. Such forms of cloud exchange, peering, or roaming may introduce new business opportunities
among cloud providers if they manage to go beyond the theoretical framework.
IBM researchers are working on a solution that they claim can seamlessly store and move data across
multiple cloud platforms in real time. The firm thinks that the technology will help enterprises with service
reliability concerns. On top of this, they hope to “cloud-enable” almost any digital storage product.
Researchers at IBM have developed a “drag-and-drop” toolkit that allows users to move file storage across
almost any cloud platform. The company cloud would host identity authentication and encryption
technologies as well as other security systems on an external cloud platform (the ‘InterCloud Store’) to
keep each cloud autonomous, while also keeping them synced together.
Q.9:-With the help of neat diagram, explain the cloud computing refrence model.
Cloud Computing
Cloud computing enables convenient, on-demand network access to a shared pool of computing resources. It
allows rapid development and release of your services with minimal management effort or any other service
provider interaction.
Cloud computing continues to evolve from a market disruptor to the expected approach for IT. It now impacts
every aspect of modern businesses. It also serves as the foundation for other disruptive trends including the
Internet of Things, artificial intelligence (AI) and the digital business.
Cloud computing enables businesses to focus on their core strengths and delegate non-strategic IT functions to
an external partner. This allows companies to improve scalability, agility, increase innovation and reduce costs.
Figure 1, illustrates the benefits of cloud computing.
Figure : NIST Cloud Conceptual Reference Model (NIST Special Publication 500-292)
Cloud computing applications develops by leveraging platforms and frameworks. Various types of services are
provided from the bare metal infrastructure to customize-able applications serving specific purposes.
Amazon Web Services (AWS) –
AWS provides different wide-ranging clouds IaaS services, which ranges from virtual compute, storage, and
networking to complete computing stacks. AWS is well known for its storage and compute on demand services,
named as Elastic Compute Cloud (EC2) and Simple Storage Service (S3). EC2 offers customizable virtual
hardware to the end user which can be utilize as the base infrastructure for deploying computing systems on the
cloud. It is likely to choose from a large variety of virtual hardware configurations including GPU and cluster
instances. Either the AWS console, which is a wide-ranged Web portal for retrieving AWS services, or the web
services API available for several programming language is used to deploy the EC2 instances. EC2 also offers
the capability of saving an explicit running instance as image, thus allowing users to create their own templates
for deploying system. S3 stores these templates and delivers persistent storage on demand. S3 is well ordered
into buckets which contains objects that are stored in binary form and can be grow with attributes. End users
can store objects of any size, from basic file to full disk images and have them retrieval from anywhere. In
addition, EC2 and S3, a wide range of services can be leveraged to build virtual computing system including:
networking support, caching system, DNS, database support, and others.
Google AppEngine –
Google AppEngine is a scalable runtime environment frequently dedicated to executing web applications. These
utilize benefits of the large computing infrastructure of Google to dynamically scale as per the demand.
AppEngine offers both a secure execution environment and a collection of which simplifies the development if
scalable and high-performance Web applications. These services include: in-memory caching, scalable data
store, job queues, messaging, and corn tasks. Developers and Engineers can build and test applications on their
own systems by using the AppEngine SDK, which replicates the production runtime environment, and helps
test and profile applications. On completion of development, Developers can easily move their applications to
AppEngine, set quotas to containing the cost generated, and make it available to the world. Currently, the
supported programming languages are Python, Java, and Go.
Microsoft Azure –
Microsoft Azure is a Cloud operating system and a platform in which user can develop the applications in the
cloud. Generally, a scalable runtime environment for web applications and distributed applications is provided.
Application in Azure are organized around the fact of roles, which identify a distribution unit for applications
and express the application’s logic. Azure provides a set of additional services that complement application
execution such as support for storage, networking, caching, content delivery, and others.
Hadoop –
Apache Hadoop is an open source framework that is appropriate for processing large data sets on
commodity hardware. Hadoop is an implementation of MapReduce, an application programming model
which is developed by Google. This model provides two fundamental operations for data processing: map
and reduce. Yahoo! Is the sponsor of the Apache Hadoop project, and has put considerable effort in
transforming the project to an enterprise-ready cloud computing platform for data processing. Hadoop is
an integral part of the Yahoo! Cloud infrastructure and it supports many business processes of the
corporates. Currently, Yahoo! Manges the world’s largest Hadoop cluster, which is also available to
academic institutions.
Back in April at the Interop conference several attendees mentioned they wanted to see the creation of such an
exchange platform. The reasoning was that as new regional clouds come online having a uniform point of entry
to a world wide cloud ecosystem will make this type of transition more efficient.
Right now most clouds have there own set of APIs, interfaces and unique technologies. An open compute
exchange may provide a centralized point where cloud consumers and providers would be able to make
decisions based upon which cloud resources they may want to utilize as well as a clearing house for providers
with excess capacity. Variables may include metering based on actual use of the resources in CPU hours,
gigabits (Gbs) consumed, load, network I/o, peak vs off peak time frames, geographical location, SLA's, and
quality of service rules could be just some of the metrics that determine the price of a cloud providers resources.
One usage example might be in terms of a green or eco-centric point of view. Let's say Cloud A uses cheaper
coal based energy source and Cloud B uses a more expensive Hydro source. Although more expensive,
choosing Cloud B may help offset an enterprises carbon credits and therefor actually be a bit cheaper from a
carbon point of view.
Another example may be based on geographical cloud computing. Let's say a UK cloud and a North American
cloud. Rather scaling based on system load, a cloud user may want to monitor application response times based
on geographical location and scale according to an end users experience. By have the option to access compute
capacity through an exchange, cloud consumers who are running global network services would no longer have
to signup for several cloud services. This would also effectively render edge based CDN services like Akamai
irrelevant.
Cloud provisioning is a key feature of the cloud computing model, relating to how a customer procures cloud
services and resources from a cloud provider. The growing catalog of cloud services that customers can
provision includes infrastructure as a service, software as a service and platform as a service, in public or
private cloud environments.
The cloud provisioning process can be conducted using one of three delivery models. Each delivery model
differs depending on the kinds of resources or services an organization purchases, how and when the cloud
provider delivers those resources or services, and how the customer pays for them. The three models are
advanced provisioning, dynamic provisioning and user self-provisioning.
With advanced provisioning, the customer signs a formal contract of service with the cloud provider. The
provider then prepares the agreed-upon resources or services for the customer and delivers them. The customer
is charged a flat fee or is billed on a monthly basis.
With dynamic provisioning, cloud resources are deployed flexibly to match a customer's fluctuating demands.
The deployments typically scale up to accommodate spikes in usage and scale down when demands decrease.
The customer is billed on a pay-per-use basis. When dynamic provisioning is used to create a hybrid
cloud environment, it is sometimes referred to as cloud bursting.
With user self-provisioning, also called cloud self-service, the customer buys resources from the cloud provider
through a web interface or portal. This usually involves creating a user account and paying for resources with a
credit card. Those resources are then quickly spun up and made available for use -- within hours, if not minutes.
Examples of this type of cloud provisioning include an employee purchasing cloud-based productivity
applications via the Microsoft Office 365 suite or Google Apps for Business.
Cloud provisioning offers organizations numerous benefits that aren't available with traditional provisioning
approaches.
In the traditional IT provisioning model, an organization makes large investments in its on-premises
infrastructure. This requires extensive preparation and forecasting of infrastructure needs, as the on-premises
infrastructure is often set up to last for several years. In the cloud provisioning model, however, organizations
can simply scale up and scale down their cloud resources based on short-term usage requirements.
Organizations can also benefit from cloud provisioning's speed. For example, an organization's developers can
quickly spin up an array of workloads on demand, taking away the need for an IT administrator who provisions
and manages compute resources.
Another benefit of cloud provisioning is the potential cost savings. While traditional on-premises technology
can exact large upfront investments from an organization, many cloud providers allow customers to pay for
only what they consume. However, the attractive economics presented by cloud services can present its own
challenges, which organizations should address in a cloud management strategy.
Q.13:-Discuss different methods of resource provisioning and platform deployment in detail with a neat
diagram.
Cloud Computing is a model for enabling convenient, on-demand network access to a shared pool of
configurable computing resources (e.g., networks, servers, applications and services) that can be rapidly
provisioned and released. Resource Provisioning means the selection, deployment, and run-time management of
software (e.g., database server management systems, load balancers) and hardware resources (e.g., CPU,
storage, and network) for ensuring guaranteed performance for applications.
Resource Provisioning is an important and challenging problem in the large-scale distributed systems such as
Cloud computing environments. There are many resource provisioning techniques, both static and dynamic
each one having its own advantages and also some challenges. These resource provisioning techniques used
must meet Quality of Service (QoS) parameters like availability, throughput, response time, security, reliability
etc., and thereby avoiding Service Level Agreement (SLA) violation.
Q.14:-State the advantages of cloud service deployment.
Cloud computing is a term referred to storing and accessing data over the internet. It doesn't store any data on
the hard disk of your personal computer. In cloud computing, you can access data from a remote server.
Here, are important benefits for using Cloud computing in your organization:
Cloud
Computing
Cost Savings
Cost saving is the biggest benefit of cloud computing. It helps you to save substantial capital cost as it does not
need any physical hardware investments. Also, you do not need trained personnel to maintain the hardware. The
buying and managing of equipment is done by the cloud service provider.
Strategic edge
Cloud computing offers a competitive edge over your competitors. It helps you to access the latest and
applications any time without spending your time and money on installations.
High Speed
Cloud computing allows you to deploy your service quickly in fewer clicks. This faster deployment allows you
to get the resources required for your system within fewer minutes.
Back-up and restore data
Once the data is stored in a Cloud, it is easier to get the back-up and recovery of that, which is otherwise very
time taking process on-premise.
In the cloud, software integration is something that occurs automatically. Therefore, you don't need to take
additional efforts to customize and integrate your applications as per your preferences.
Reliability
Reliability is one of the biggest pluses of cloud computing. You can always get instantly updated about the
changes.
Mobility
Employees who are working on the premises or at the remote locations can easily access all the could services.
All they need is an Internet connectivity.
The cloud offers almost limitless storage capacity. At any time you can quickly expand your storage capacity
with very nominal monthly fees.
Collaboration
The cloud computing platform helps employees who are located in different geographies to collaborate in a
highly convenient and secure manner.
Quick Deployment
Last but not least, cloud computing gives you the advantage of rapid deployment. So, when you decide to use
the cloud, your entire system can be fully functional in very few minutes. Although, the amount of time taken
depends on what kind of technologies are used in your business.
Apart from the above, some other advantages of cloud computing are:
• On-Demand Self-service
• Multi-tenancy
• Offers Resilient Computing
• Fast and effective virtualization
• Provide you low-cost software
• Offers advanced online security
• Location and Device Independence
• Always available, and scales automatically to adjust to the increase in demand
• Allows pay-per-use
• Web-based control & interfaces
• API Access available.
Disadvantages of Cloud Computing
When you are working in a cloud environment, your application is running on the server which simultaneously
provides resources to other businesses. Any greedy behavior or DDOS attack on your tenant could affect the
performance of your shared resource.
Technical Issues
Cloud technology is always prone to an outage and other technical issues. Even, the best cloud service provider
companies may face this type of trouble despite maintaining high standards of maintenance.
Another drawback while working with cloud computing services is security risk. Before adopting cloud
technology, you should be well aware of the fact that you will be sharing all your company's sensitive
information to a third-party cloud computing service provider. Hackers might access this information.
Downtime
Downtime should also be considered while working with cloud computing. That's because your cloud provider
may face power loss, low internet connectivity, service maintenance, etc.
Internet Connectivity
Good Internet connectivity is a must in cloud computing. You can't access cloud without an internet connection.
Moreover, you don't have any other way to gather data from the cloud.
Lower Bandwidth
Many cloud storage service providers limit bandwidth usage of their users. So, in case if your organization
surpasses the given allowance, the additional charges could be significantly costly
Lacks of Support
Cloud Computing companies fail to provide proper support to the customers. Moreover, they want their user to
depend on FAQs or online help, which can be a tedious job for non-technical persons.
Conclusion:
Despite all the pro and cons, we can't deny the fact that Cloud Computing is the fastest growing part of
network-based computing. It offers a great advantage to customers of all sizes: simple users, developers,
enterprises and all types of organizations. So, this technology here to stay for a long time.
Reliability Security
Benefits
From a provider’s standpoint, cloud provisioning can include the supply and assignment of required cloud
resources to the customer. For example, the creation of virtual machines, the allocation of storage capacity
and/or granting access to cloud software.
In parallel computing systems, as the number of processors increases, with enough parallelism available in
applications, such systems easily beat sequential systems in performance through the shared memory. In such
systems, the processors can also contain their own locally allocated memory, which is not available to any
other processors.
In distributed computing systems, multiple system processors can communicate with each other using
messages that are sent over the network. Such systems are increasingly available these days because of the
availability at low price of computer processors and the high-bandwidth links to connect them.
The following reasons explain why a system should be built distributed, not just parallel:
• Scalability: As distributed systems do not have the problems associated with shared memory, with the
increased number of processors, they are obviously regarded as more scalable than parallel systems.
• Reliability: The impact of the failure of any single subsystem or a computer on the network of computers
defines the reliability of such a connected system. Definitely, distributed systems demonstrate a better aspect
in this area compared to the parallel systems.
• Data sharing: Data sharing provided by distributed systems is similar to the data sharing provided by
distributed databases. Thus, multiple organizations can have distributed systems with the integrated
applications for data exchange.
• Resources sharing: If there exists an expensive and a special purpose resource or a processor, which cannot
be dedicated to each processor in the system, such a resource can be easily shared across distributed systems.
• Heterogeneity and modularity: A system should be flexible enough to accept a new heterogeneous processor
to be added into it and one of the processors to be replaced or removed from the system without affecting the
overall system processing capability. Distributed systems are observed to be more flexible in this respect.
• Geographic construction: The geographic placement of different subsystems of an application may be
inherently placed as distributed. Local processing may be forced by the low communication bandwidth more
specifically within a wireless network.
• Economic: With the evolution of modern computers, high-bandwidth networks and workstations are available
at low cost, which also favors distributed computing for economic reasons.
A hybrid cloud is an infrastructure that includes links between one cloud managed by the user (typically called
“private cloud”) and at least one cloud managed by a third party (typically called “public cloud”). ...
For example, some hybrid clouds offer only a connection between the on premise and public clouds.