Cloud Computing UNIT2
Cloud Computing UNIT2
Cloud Computing
3. Essential Characteristics
1. Public Cloud
2. Private Cloud
3. Hybrid Cloud
4. Community Cloud
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.
• 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.
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.
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.
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.
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.
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.
Saba Raees
Assistant Professor
[email protected]