Yup, it's that time of year again where everyone makes their 2014 predictions. I guess I'm no exception...
In this blog posting I’d like to spend a little time talking
about Cloud, and specifically, about PaaS.
But first, a little background material.
First, lets define the different “kinds” of Clouds there
are:
Public Cloud – Gartner defines public cloud as a style of computing
where scalable and elastic IT-enabled capabilities are provided as a service to
external customers using Internet technologies—i.e., public cloud computing
uses cloud computing technologies to support customers that are external to the
provider’s organization.
Private Cloud – Webopedia defines Private
cloud as the phrase used to describe a cloud-computing platform
that is implemented within the corporate firewall, under the control of
the IT department.
Hybrid Cloud – SearchCloudComputing.com defines
a hybrid cloud as a cloud-computing environment in which an organization
provides and manages some resources in-house and has others provided
externally.
There are some others, but they are all basically variations
of the above.
Once you have a Cloud solution, the question is, what kind
of Cloud is it? Here are the definitions that NIST provides.
Infrastructure as a Service (Iaas) - The
capability provided to the consumer is to provision processing, storage,
networks, and other fundamental computing resources where the consumer is able
to deploy and run arbitrary software, which can include operating systems and
applications. The consumer does not manage or control the underlying cloud
infrastructure but has control over operating systems, storage, and deployed
applications; and possibly limited control of select networking components
(e.g., host firewalls).
Platform as a Service (PaaS) - The capability
provided to the consumer is to deploy onto the cloud infrastructure
consumer-created or acquired applications created using programming languages,
libraries, services, and tools supported by the provider. The consumer does not
manage or control the underlying cloud infrastructure including network,
servers, operating systems, or storage, but has control over the deployed
applications and possibly configuration settings for the application-hosting
environment.
Software as a Service (SaaS) - The capability
provided to the consumer is to use the provider’s applications running on a
cloud infrastructure2. The applications are accessible from various client
devices through either a thin client interface, such as a web browser (e.g.,
web-based email), or a program interface. The consumer does not manage or
control the underlying cloud infrastructure including network, servers,
operating systems, storage, or even individual application capabilities, with
the possible exception of limited user-specific application configuration
settings.
I recently did some research on PaaS, but I found the research
tough to do because it’s almost impossible to put all of the PaaS players in
the same bucket, and common patterns are hard to find.
Unlike the IaaS players that provide IT resources as a
service, PaaS providers are really solution development platforms. Therefore, they are built around the types of
problems they solve, not some industry-accepted approach.
At the heart of the problem is the fact that PaaS is today’s
most ill-defined area of cloud computing.
The approaches, features, and definitions vary widely, with many PaaS
providers offering a specific focus.
This may include support for specific programming languages such as
Salesforce.com’s Heroku, support for Ruby, Node.js, Python, and Java, or
perhaps tight integration with major databases, such as Oracle’s Cloud
Platform. Or, perhaps it’s the delivery
model, with private PaaS offerings from Active State, App Fog, or Apprenda, for
those of you who can’t yet trust the public PaaS offerings from Google or AWS.
Then there is an entirely new set of PaaS providers such as Elastic Box that
bring a completely different approach to the problem.
Overall it’s largely a function of the providers all of
which are trying to be relevant in this emerging marketplace. PaaS is the last frontier of cloud computing,
and thus the least defined. So, it’s
still possible for vendors to manipulate the market by positioning their
products to better define what PaaS is and its value, or, more likely, their
campaigns will just confuse people.
In 2013, the PaaS market took on some new dimensions. Private PaaS players saw strong growth as
some enterprises looked to keep applications and data in-house. Also, there is greater support for the
emerging use of DevOps, better database integration, and better support for
emerging multi-cloud deployments. This
builds upon, not replaces, the traditional uses of PaaS to automate application
development, testing, and deployment processes.
Moreover, the PaaS market saw increased meshing with the
IaaS space in 2013. This includes strong
showings from AWS Elastic Beanstalk, and other IaaS-focused players. We also saw the arrival of some new PaaS
players, including Oracle, and we got a clearer picture of how Saleforce.com’s
and Pivotal’s PaaS offerings will likely exist in the emerging market.
Given all of these developments, there is a need to
reevaluate the PaaS market and the PaaS players, in terms of how PaaS truly
fits within an enterprise application development strategy. Questions are emerging such as: When will PaaS work for enterprise IT? When will PaaS not work for enterprise IT? What is the changing value of PaaS
technology, now, and into 2014?
Some confusion in the attempts to answer these questions,
and complexity has emerged. This led to
some pushback when it comes to PaaS within enterprise IT. Many consider PaaS too complicated and too
limiting for most development efforts, and for most developers.
For instance, most PaaS offerings place the developer into a
sandbox, with only the features and functions that the PaaS provider furnishes
to build and deploy applications. While
this makes development an easy and controlled process, many developers need to
gain access to the resources and tools required to support specific features,
such as remote and native APIs, as well as middleware and database
services. While the PaaS providers
consider this abstraction from the underlying “metal” a path to productivity,
many developers don’t agree.
PaaS does provide the ability to automate much of the
development and deployment activities, as well as provide the developers with
the ability to offer self- and auto-provisioning capabilities. This means that application developers can
focus on the applications, and not have to deal with the purchase of hardware,
software, and development tools to support increasing demands on the
applications or the need to scale.
Moreover, PaaS supports new and more innovative approaches
to delivery, including DevOps and the move to “continuous delivery.” Approaches such as continuous integration,
automated testing, and continuous deployment allow software to be developed to
a high standard and easily packaged and deployed. This results in the ability to rapidly,
reliably, and repeatedly push out enhancements and bug fixes to customers at
low risk and with minimal manual overhead.
If there is a core pattern that is a part of most PaaS, it’s
that it’s solution-oriented. PaaS providers are focused on being the
factory for cloud applications, and they understand there are many paths to get
to that goal. As such, the offerings are
very different from provider to provider, and thus the market is fragmented,
complex, and confusing to those in enterprise IT.
I suspect this situation won’t improve much as we enter
2014. However, PaaS continues to be a
consideration for those moving to the cloud.
How and if it’s leveraged will be defined by the particular enterprise.
No comments:
Post a Comment