0% found this document useful (0 votes)
16 views

Cloud Computing UNIT2

Uploaded by

javaprog08
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views

Cloud Computing UNIT2

Uploaded by

javaprog08
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 30

Unit-2

Cloud Computing

Ms. Saba Raees


Assistant Professor
Index
1. Cloud Computing Architecture
Introduction
Internet as a Platform
2. Cloud Reference Model
3. Types of Cloud
4. Economics of the Cloud
5. Computing Platforms and Technologies
6. Cloud Infrastructure
7. Economics of Private Cloud
8. Software Productivity in the Cloud
9. Economies of Scale: Public vs. Private Clouds
Cloud Computing Architecture
4
5
Cloud Computing Reference Model

1. Cloud Service Model

2. Cloud Deployment Model

3. Essential Characteristics

4. Cloud Service Orchestration

5. Cloud Security and Management


Types of Cloud
Cloud Deployment Models ( Types of Cloud ):

1. Public Cloud
2. Private Cloud
3. Hybrid Cloud
4. Community Cloud

Cloud Service Models:

1. SAAS (Software-as-a-Service)
2. PAAS (Platform-as-a-Service)
3. IAAS/HAAS (Infrastructure-as-a-Service/ Hardware-as-a-Service)
Economies of Cloud
The main drivers of cloud computing are economy of scale and simplicity of
software delivery and its operation. In fact, the biggest benefit of this
phenomenon is financial: the pay-as-you-go model offered by cloud
providers.

In particular, cloud computing allows:

1. Reducing the capital costs associated to the IT infrastructure


2. Eliminating the depreciation or lifetime costs associated with IT capital
assets
3. Replacing software licensing with subscriptions
4. Cutting the maintenance and administrative costs of IT resources
The amount of cost savings that cloud computing can introduce
within an enterprise is related to the specific scenario in which cloud
services are used and how they contribute to generate a profit for the
enterprise.

In the case of a small startup, it is possible to completely leverage the


cloud for many aspects, such as:

• IT infrastructure
• Software development
• CRM and ERP
In terms of the pricing models introduced by cloud computing, we can distinguish three different
strategies that are adopted by the providers:

1. Tiered pricing: In this model, cloud services are offered in several tiers, each of which offers a
fixed computing specification and SLA at a specific price per unit of time. This model is used
by Amazon for pricing the EC2 service, which makes available different server configurations
in terms of computing capacity (CPU type and speed, memory) that have different costs per
hour.

2. Per-unit pricing: This model is more suitable to cases where the principal source of revenue
for the cloud provider is determined in terms of units of specific services, such as data transfer
and memory allocation. In this scenario customers can configure their systems more
efficiently according to the application needs. This model is used, for example, by GoGrid,
which makes customers pay according to RAM/hour units for the servers deployed in the
GoGrid cloud.

3. Subscription-based pricing: This is the model used mostly by SaaS providers in which users
pay a periodic subscription fee for use of the software or the specific component services that
are integrated in their applications.
All of these costs are based on a pay-as-you-go model, which
constitutes a more flexible solution for supporting the delivery on
demand of IT services. This is what actually makes possible the
conversion of IT capital costs into operational costs, since the cost
of buying hardware turns into a cost for leasing it and the cost
generated by the purchase of software turns into a subscription fee
paid for using it.
Computing Platforms and Technologies
A cloud computing system can be developed using either a single technology and vendor or a
combination of them.

Some cloud platforms that are widely used in industry for building real commercial applications:
Amazon Web Services, Google App Engine, and Microsoft Windows Azure.

Amazon Web Services (AWS) provides solutions for building infrastructure in the Amazon Cloud.
Amazon EC2 and Amazon S3 represent AWS’s core value offering. The former allows developers to
create virtual servers and customize their computing stack as required. The latter is a storage
solution that allows users to store documents of any size. These core services are then
complemented by a wide collection of services, covering networking, data management, content
distribution, computing middleware, and communication, which make AWS a complete solution
for developing entire cloud computing systems on top of the Amazon infrastructure.

Refer Chap 9 TB1


Google AppEngine is a distributed and scalable platform for building Web applications in the
Cloud. AppEngine is a scalable runtime that offers developers a collection of services for
simplifying the development of Web applications. These services are designed with scalability in
mind and constitute functional blocks that can be reused to define applications. Developers can
build their applications in either Java or Python, first locally using the AppEngine SDK. Once the
applications have been completed and fully tested, they can deploy the application on AppEngine.

Windows Azure is the cloud operating system deployed on Microsoft datacenters for building
dynamically scalable applications. Azure’s core components are represented by compute services
expressed in terms of roles, storage services, and the AppFabric, the middleware that ties together
all these services and constitutes the infrastructure of Azure. A role is a sandboxed runtime
environment specialized for a specific development scenario: Web applications, background
processing, and virtual computing. Developers define their Azure applications in terms of roles and
then deploy these roles on Azure. Storage services represent a natural complement to roles.
Besides storage for static data and semi-structured data, Windows Azure also provides storage for
relational data by means of the SQL Azure service.

AppEngine and Windows Azure are PaaS solutions. AWS extends its services across all three layers
of the Cloud Computing Reference Model, although it is well known for its IaaS offerings,
represented by EC2 and S3.
An overview of a few prominent cloud computing platforms and a brief description of the types of
service they offer are shown in Table.

Refer
Chap 9
TB1
Cloud Infrastructure
Cloud Infrastructure which comes under the backend part of cloud
architecture represents the hardware and software component such
as server, storage, networking, management software, deployment
software and virtualization software etc.

In backend, cloud infrastructure enables the complete cloud


computing system.
Cloud computing refers to providing on demand services to the customer
anywhere and anytime irrespective of everything where the cloud
infrastructure represents the one who activates the complete cloud
computing system.

Cloud infrastructure has more capabilities of providing the same services as


the physical infrastructure to the customers. It is available for private cloud,
public cloud, and hybrid cloud systems with low cost, greater flexibility and
scalability.

Cloud infrastructure consists of servers, storage devices, network, cloud


management software, deployment software, and platform virtualization.
Components of Cloud Infrastructure
Hypervisor: It 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 and monitors
and optimizes resources, data, applications and services.

Deployment Software: It helps to deploy and integrate the application on the cloud and
helps in building a virtual computing environment.

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.
Fundamental constraints that cloud infrastructure should
implement are:
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.
Economics of Private Cloud
Organizations see similar benefits when they deploy data reduction in their
private cloud environments. Private cloud deployments are selected over
public because they offer the increased flexibility of the public cloud model
but keep privacy and security under their own control.

Supply-Side Savings: Large scale data centers lower costs per servers.

Multi-tenancy efficiency: Increasing the number of tenants (ie. Customers or


users) lowers the application management and server cost per tenant.

Infrastructure labor costs: By automating many repetitive management tasks,


larger facilities are able to lower them further than smaller ones.
Security and Reliability: Large commercial cloud providers are often
better able to bring deep expertise to bear on this problem than a
typical corporate IT department.

Buying Power: Operators of large data centers can get discounts on


hardware purchases of up to 30 percent over small buyers.

Refer Chap 6 TB 2
Software Productivity in
the Cloud
The infrastructure needs for developing and testing enterprise
applications are different from those of a production environment, for
example data security requirements are lower. At the same time the
variability of demand is high, with new development servers being
required for each project, many of which become redundant once the
application is released to production.
In this particular case, infrastructure demands from different
development projects are likely to be largely uncorrelated, so
virtualization is likely to succeed in improving utilizations. However, the
time for provisioning and configuring a development environment can
often become a significant overhead in many large organizations due to
procurement and ITIL procedures.
For agile business environments where new development projects are
initiated regularly, such delays can become an obstacle and impact IT
agility. In such cases leveraging a public cloud infrastructure for
development and testing can be fast, cost effective as well as low risk,
thereby improving business agility by reducing delays while starting
new IT projects.
Along with development and testing, designing applications for good
performance requires stress testing early in the development life cycle,
preferably on a production-capacity hardware configuration. This is often
difficult, especially early in the development cycle, simply because of non-
availability of such an environment for testing purposes. Production capacity
configurations are expensive so it is not cost effective to invest in spare
capacity at this scale for occasional performance testing needs. Using public
cloud infrastructure a production class infrastructure can be provisioned on
demand and disbanded once performance testing is complete.

Apart from agility and availability, software development using public cloud
infrastructure is also often better suited to supporting globally distributed
development teams. The public cloud enables such teams to rely on a
‘central’ build infrastructure that is easily accessible over the internet; thus
no one part of the team is naturally more advantageously placed in terms of
being physically ‘closer’ to the build servers. It is often underestimated how
important such democratization is in terms of driving team dynamics; groups
physically co-located with the build environment often have higher access
privileges or at least experience better network performance than others,
thereby making them ‘more fit’ than the rest of the team for certain
development tasks. Using the public cloud one eliminates such artificial
barriers (at the risk of reducing everyone to the lowest common
denominator of internet bandwidth!). Such teams can better leverage
geographically distributed talent as well be more flexible in moving work
around the world by ‘following the sun’ to leverage time zone differences to
their advantage.
So far we have considered public IaaS clouds and how they may impact
software development. PaaS clouds provide development tools using which
developers can create applications; we now examine whether these also
impact development productivity in some manner. It is important to
reemphasize that both (Google as well as Microsoft) PaaS platforms are
unique in comparison to widely used development tools: They both rely on a
non-relational data model which impacts portability of applications to these
platforms from other more standard ones. Also, both platforms build in
scalability so that developers do not need to be concerned about how many
servers their application will run on, how the different components of the
application will execute in parallel using multiple servers or how data will be
distributed. Developers are supposed to write to the platform APIs, and
scaling will be managed automatically by the cloud.

The economic benefits of automatic scalability are significant: It is widely


accepted in the software industry that end-to-end development productivity
in ‘mission critical’ projects where high transaction volumes and scalability
are critical is demonstrably lower. Moreover the difference in productivity is
often a factor of two or more, as compared to smaller ‘departmental’ level
projects where such concerns are not as important. If indeed cloud platforms
are able to factor out scalability and make it a feature of the platform itself,
then this itself can result in an order of magnitude improvement in
productivity for large-scale systems. However, it is equally important to note
that this claim that has yet to be proven given that it is still early days for
cloud computing and even more so for PaaS platforms.
Finally, a certain class of cloud-based offerings, ‘configurable SaaS
platforms,’ allow the creation of small to medium-sized business
applications with little or no programming. An example is
Salesforce.com’s APEX development environment, now called Force.com.
While these are also software development platforms, they are are
constrained to a particular class of applications, i.e. web-based
transaction processing. Therefore as a class of cloud offerings these are
more accurately labeled SaaS platforms for specific types of application
development, unlike the more versatile PaaS platforms where a full
programming language is available.
Economies of Scale: Public
vs. Private Clouds
Public cloud services can be cheaper than using similar virtualized
infrastructure in-house. One needs to ask how this has become
possible while also allowing for profit margins. Amortizing
capacity across demand from a large number of customers enables
better utilizations, but surely this alone cannot be the basis for a
profitable cloud business.

From the perspective of cloud providers, the primary advantage


they enjoy is scale:
First, purchasing hardware, network capacity and storage is three
to seven times cheaper at a scale of tens or hundreds of thousands
of servers versus that at a scale of a medium-sized enterprise data
center, i.e. a few thousand servers or less. Second, they have been
able to amortize the cost of server administration over a larger
number of servers as well as reduce it with high levels of
automation, also estimated to result in a factor of seven gain.
Next, the cloud providers are all leveraging significantly lower power
costs (by up to a factor of three) by locating their data centers in power-
producing regions, such as Idaho and Washington in the US. Finally,
cloud providers are able to enjoy far higher degrees of server utilization,
say 60–80 percent, as compared to smaller data centers, by multiplexing
the needs of a large number of users across the available capacity.

Last but not least, it is very important to understand that the leading
cloud providers, viz. Google and Amazon, developed these capabilities
for other businesses (search, retail), and so, there was very little marginal
investment involved in adapting this infrastructure for providing cloud
services and opening up a new business model. Very few, if any,
enterprises have the size to leverage such large economies of scale; and
if they did it is likely that they may begin making available some of this
infrastructure as yet another public cloud. After all, Amazon has for
many years been a retail company first, and only now is it becoming
equally known for cloud computing.
To summarize cloud computing economics, we can comfortably state
that cloud infrastructure services promise significant cost reductions
even as compared to privately deployed cloud infrastructure.

The agility of cloud infrastructure management provides additional


benefits, especially so in the context of agile development.

Further, cloud development platforms promise an order of magnitude


improvement in development productivity for largescale high-
performance applications, and finally Dev 2.0 platforms promise a
similar order of magnitude improvement in productivity for small and
medium applications, albeit so far limited to the small but important
class of transaction-processing applications.
THANK YOU

Saba Raees
Assistant Professor
[email protected]

You might also like