Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...
Cloud Computing For The Enterprise Part 1- Capturing The Cloud
1. Cloud computing for the enterprise: Part
1: Capturing the cloud
Understanding cloud computing and related technologies
What is cloud computing?
The question seems pretty innocuous and simple, but looks are deceiving. There are
hundreds, if not thousands, of cloud computing definitions floating around the Web
today. To answer this question adequately, it might be easier to first understand what
cloud computing is not before we try to arrive at a definition.
Some will suggest that cloud computing is simply another name for the Software as a
Service (SaaS) model that has been on the forefront of the Web 2.0 movement. Others
say that cloud computing is marketing hype that puts a new face on old technology, such
as utility computing, virtualization, or grid computing. This thinking discounts the fact
that cloud computing has a wider scope than any of these particular technologies. To be
sure, cloud solutions often includes these technologies (and others), but it's the
comprehensive strategy that sets cloud computing apart from its predecessors.
For the purpose of this article, consider that cloud computing is an all-inclusive solution
in which all computing resources (hardware, software, networking, storage, and so on)
are provided rapidly to users as demand dictates. The resources, or services, that are
delivered are governable to ensure things like high availability, security, and quality. The
key factor to these solutions is that they possess the ability to be scaled up and down, so
that users get the resources they need: no more and no less.
In short, cloud computing solutions enable IT to be delivered as a service.
Why cloud computing?
There are many reasons why more and more companies are shifting toward IT solutions
that include cloud computing. First of all, cloud computing can cut costs associated with
delivering IT services. You can reduce both capital and operating costs by obtaining
resources only when you need them and paying only for what you use. In addition, by
offloading some of the burden associated with managing various resources across the
enterprise, your key personnel can focus more on producing value and innovation for the
business. Finally, cloud computing models provide for business agility. Since the entire
IT infrastructure can scale up or down to meet demand, businesses can more easily meet
the needs of rapidly changing markets to ensure they are always on the leading edge for
their consumers.
2. In many ways, cloud computing is the realization of combining many existing
technologies (SOA, virtualization, autonomic computing) with new ideas to create a
complete IT solution.
Anatomy of a cloud
With what is hopefully is an acceptable definition of cloud computing behind us, let's
take a look at the layers of the cloud. Figure 1 is a distillation of what most agree are the
three principle components of a cloud model. This figure accurately reflects the
proportions of IT mass as it relates to cost, physical space requirements, maintenance,
administration, management oversight, and obsolescence. Further, these layers not only
represent a cloud anatomy, but they represent IT anatomy in general.
Figure 1. Cloud anatomy
The layers that make up a cloud include:
• Application services
This layer is perhaps most familiar to everyday Web users. The application
services layer hosts applications that fit the SaaS model. These are applications
that run in a cloud and are provided on demand as services to users. Sometimes
the services are free and providers generate revenue from things like Web ads,
and other times application providers generate revenue directly from the usage of
the service. Sound familiar? It probably does since almost all of us have used
them. If you've ever filed your taxes online using Turbo Tax, checked your mail
using GMail or Yahoo Mail, or kept up with appointments using Google
Calendar, then you are familiar with the top layer of the cloud. These are just a
couple of examples of these types of applications. There are literally thousands of
SaaS applications, and the number grows daily thanks to Web 2.0 technologies.
3. Perhaps not quite as apparent to the public at large is that there are many
applications in the application services layer that are directed to the enterprise
community. There are hosted software offerings available that handle payroll
processing, human resource management, collaboration, customer relationship
management, business partner relationship management, and more. Popular
examples of these offerings include IBM® Lotus® Live, IBM Lotus Sametime®,
Unyte, Salesforce.com, Sugar CRM, and WebEx.
In both cases, applications delivered via the SaaS model benefit consumers by
relieving them from installing and maintaining the software, and they can be used
through licensing models that support pay for use concepts.
• Platform services
This is the layer in which we see application infrastructure emerge as a set of
services. This includes but is not limited to middleware as a service, messaging as
a service, integration as a service, information as a service, connectivity as a
service, and so on. The services here are intended to support applications. These
applications might be running in the cloud, and they might be running in a more
traditional enterprise data center. In order to achieve the scalability required
within a cloud, the different services offered here are often virtualized. Examples
of offerings in this part of the cloud include IBM® WebSphere® Application
Server virtual images, Amazon Web Services, Boomi, Cast Iron, and Google App
Engine. Platform services enable consumers to be sure that their applications are
equipped to meet the needs of users by providing application infrastructure based
on demand.
• Infrastructure services
The bottom layer of the cloud is the infrastructure services layer. Here, we see a
set of physical assets such as servers, network devices, and storage disks offered
as provisioned services to consumers. The services here support application
infrastructure -- regardless of whether that infrastructure is being provided via a
cloud -- and many more consumers. As with platform services, virtualization is an
often used method to provide the on-demand rationing of the resources. Examples
of infrastructure services include IBM BlueHouse, VMWare, Amazon EC2,
Microsoft Azure Platform, Sun ParaScale Cloud Storage, and more.
Infrastructure services address the problem of properly equipping data centers by
assuring computing power when needed. In addition, due to the fact that
virtualization techniques are commonly employed in this layer, cost savings
brought about by more efficient resource utilization can be realized.
Public, private, and hybrid clouds
4. Now that you have an idea about what cloud computing is and what makes up a cloud
computing solution, let's take a look at the three major types of clouds. For the purpose of
this article, we'll take a look at the types as they would relate to an enterprise consumer of
cloud computing (Figure 2):
Figure 2. Cloud types
• Public clouds are cloud services provided by a third party (vendor). They exist
beyond the company firewall, and they are fully hosted and managed by the cloud
provider.
Public clouds attempt to provide consumers with hassle-free IT elements.
Whether it is software, application infrastructure, or physical infrastructure, the
cloud provider takes on the responsibilities of installation, management,
provisioning, and maintenance. Customers are only charged for the resources they
use, so under-utilization is eliminated.
However, this comes at a cost. These services are usually offered with
"convention over configuration," meaning that they are delivered with the idea of
accommodating the most common use cases. Configuration options are usually a
smaller subset than what they would be if the resource was controlled directly by
the consumer. Another thing to keep in mind is that since consumers have little
control over the infrastructure, processes requiring tight security and regulatory
compliance are not always a good fit for public clouds.
• Private clouds are cloud services provided within the enterprise. These clouds
exist within the company firewall and they are managed by the enterprise.
Private clouds offer many of the same benefits that public clouds do with one
major difference: the enterprise is in charge of setting up and maintaining the
cloud. The difficulty and cost of establishing an internal cloud can sometimes be
prohibitive, and the cost of continual operation of the cloud might exceed the cost
of using a public cloud.
5. Private clouds do offer advantages over the public variety. Finer-grained control
over the various resources making up the cloud gives a company all available
configuration options. In addition, private clouds are ideal when the type of work
being done is not practical for a public cloud, because of due to security and
regulatory concerns.
• Hybrid clouds are a combination of public and private clouds. These clouds
would typically be created by the enterprise, and management responsibilities
would be split between the enterprise and public cloud provider. The hybrid cloud
leverages services that are in both the public and private space.
Hybrid clouds are the answer when a company needs to employ the services of
both a public and private cloud. In this sense, a company can outline the goals and
needs of services, and obtain them from the public or private cloud, as
appropriate. A well-constructed hybrid cloud could service secure, mission-
critical processes, such as receiving customer payments, as well as those that are
secondary to the business, such as employee payroll processing.
The major drawback to this cloud is the difficulty in effectively creating and
governing such a solution. Services from different sources must be obtained and
provisioned as if they originated from a single location, and interactions between
private and public components can make the implementation even more
complicated. Since this is a relatively new architectural concept in cloud
computing, best practices and tools about this pattern continue to emerge, and
there could be a general reluctance to adopt this model until more is known.
Back to top
SOA and
cloud
computing
Cloud
computing
predecessors
are numerous
and well-
known
technologies.
There's utility
computing,
grid
computing,
virtualization,
6. hypervisors,
and a hosts of
others. One
technological
concept that
doesn't always
enter the
cloud
conversation
(but definitely
should) is
SOA. Service
Oriented
Architecture
has played a
role in
enabling
cloud
computing to
become what
it is today, and
it also should
play a
significant
role in the
evolution of
cloud
computing.
In many ways,
cloud
computing
can be seen as
an extension
of SOA past
applications
and into
application
and physical
infrastructure.
As enterprises
and cloud
providers look
to provide
cloud
7. solutions,
their basic
goal will be to
enable the
enterprise IT
infrastructure
as a service.
The lessons
that have been
learned in
order to
integrate and
provide
enterprise
applications
as discrete
services
should also be
applied as the
infrastructure
layers are
organized and
provided as
services. The
application
and physical
infrastructure,
much like
applications in
SOA, must be
discoverable,
manageable,
and
governable.
Ideally, much
like with
SOA, open
standards will
evolve that
dictate how
the services
are
discovered,
consumed,
managed, and
8. governed.
These
standards
would sum up
the entire
lifecycle of a
cloud
solution.
Figure 3
captures the
idea of the
three-layered
cloud
approach, and
it shows how
each of those
layers are
essentially
offering
services to an
overall SOA.
In some cases,
the services in
the bottom
two layers are
presented as
part of an
SOA, but the
important part
is that you
recognize the
service-based
approach to
all layers of
the cloud.
Figure 3.
Cloud
services
9. Back to top
Cloud matters
to
development
If you are a
software
developer or
tester, you
might think
that this all
sounds great
but aren't
quite sure if it
matters to
you. After all,
this is for
administrators
, right? This is
a common
first opinion,
but it doesn’t
consider some
clear benefits
that cloud
computing
can provide
development
and test
teams.
10. For example,
one of the
biggest
inhibitors in
both test and
development
is the ability
to acquire,
deploy,
configure, and
host
environments
in which to
perform
development
unit testing,
prototyping,
and full
product
testing. Cloud
computing
solutions can
be used to
rapidly create
and host such
environments,
removing the
burden from
test and
development
teams and
putting the
problem
within the
realm of the
cloud. For
development
teams, this
means that
things like
continuous
code
integration
and
prototyping
11. become more
easily
achievable,
since product
updates and
new code can
be tested with
relative ease.
For test teams,
more time can
be spent
testing the
quality of a
product, and
less time is
invested in
enabling the
testing.
In addition to
providing
runtime
environments
for
development
teams, there is
another area
of the cloud
aimed
squarely at
developers.
Tools as a
service, a
subset of
SaaS, is the
idea that
development
tools can be
offered in the
clouds. IDEs
and simple
code editors
become
hosted pieces
of software
12. that are
accessible to
developers
with an
Internet
connection.
This
eliminates the
need for
developers to
have local
IDEs and
corresponding
licenses on
every machine
they own. As
a developer,
you can
probably
understand the
potential
value derived
from being
able to access
common
development
environments
from any
machine at
any time.
There is yet
another
impact of
cloud
computing on
developers. It
should be a
clarion call for
developer's to
embrace
standard
programming
model APIs
when at all
13. possible. All
developers
strive to be
model
programming
citizens,
adhering
strictly to
standards, but
most have
probably
strayed from
time to time.
Perhaps you
strayed
because a
proprietary
API gave you
some tangible
benefit like
performance;
in another
case, maybe
you just
wanted to "get
it working." In
the cloud, any
deviance from
standard APIs
is especially
dangerous,
and the reason
for this is
fairly clear.
Although
consumers
know they are
getting a
service they
requested
from a cloud
provider, they
might not be
aware of the
implementatio
14. n details of
that service.
For example,
consider
requesting a
J2EE™
application
server service
from a cloud
provider. The
cloud provider
produces the
application
server service,
but you might
be completely
unaware of
what vendor's
server you are
receiving
unless you
negotiated a
specific
agreement
with the
provider. Any
application
you choose to
deploy onto
the provided
server should
be free of
vendor-
specific code,
because you
might end up
with an
application
server
implementatio
n that you
weren’t
expecting.
15. Back to top
Tooling for
the clouds
A major
component in
cloud
computing
touched on
above is
tooling. In
many ways,
this might be
the most
critical to the
success of a
cloud
computing
solution.
There is
significant
technology
present in the
marketplace
to deliver
cloud
computing
solutions, but
these
technologies
are often
difficult to
deliver due to
a lack of
comprehensiv
e,
understandabl
e tooling.
Consider the
application
services layer
in the cloud.
16. Tooling in this
layer could
provide an
environment
that assists
with cloud
application
development,
and it should
provide the
means to
package and
deploy the
application to
a cloud
infrastructure.
We know that
there are
already many
such tools that
fit this
description,
but the
problem is
that they are
nearly always
tied to the
cloud
provider's
infrastructure.
Open
standards are
key to getting
the most
power and
flexibility
from this
tooling.
Developers
cannot afford
to incur the
costs of
learning new
tools every
time they
17. switch cloud
infrastructures
; further,
development
shops cannot
continually
incur the cost
of rewriting
applications
because they
switched
cloud
infrastructures
. For this
reason, the
tooling should
aid
application
development,
packaging,
and
deployment in
a way that
makes the
finished
project
portable
across
multiple cloud
infrastructures
.
Tooling also
has a very
clear role in
the
infrastructure
services layer.
Building out
the
infrastructure
for a cloud is
not a trivial
process. All of
the physical
18. assets for a
cloud
provider,
whether that
provider is
internal or
external, need
to be
considered
such that the
right physical
resources are
allocated to
the cloud.
Tools in this
space should
help
companies
visualize their
IT assets so
that no
resources are
left out of
consideration
for the cloud.
However, it
won't be
enough to
provide a
visualization
of the assets
to the cloud
constructor.
The tooling in
this space
should offer
some bit of
intelligence
toward the
creation of the
cloud. In the
past, IT
administrators
have had a
tough job of
19. trying to
match
expected
demand to
physical
resources.
This has led to
the problem of
under-
utilization of
resources, and
this issue is a
huge catalyst
for the cloud.
Tools should
guide users
through the
physical
makeup of the
cloud based
on the
expected
demand
characteristics
of the system.