Académique Documents
Professionnel Documents
Culture Documents
com/
https://apprenda.com/library/cl
oud/introduction-to-cloud-
computing/
The Three-Tier Model of Cloud
Computing
Cloud services are usually divided into three basic levels, or tiers, that are
differentiated by the level of abstraction they present to consumers.
The lowest tier is infrastructure-as-a-service (IaaS). With IaaS, users run software on
machines owned and configured by a third party. IaaS makes up the hardware and
software that supports the whole system, from the server to storage and networks.
The next tier is platform-as-a-service (PaaS). PaaS is basically a platform that supports
the complete life-cycle of building and delivering applications and services over the
Web. PaaS provides services to deploy, test, host, and maintain applications within the
same integrated development environment. With PaaS, each platform component
whether middleware, messaging, integration, or communication is provided as a
service.
The most visible layer to end users is software-as-a-service (SaaS), which rests on top
of the PaaS layer. With SaaS, users can access pre-baked services simply by
navigating to them via a Web browser, without bothering with the hardware and
software details involved in the implementation.
PAAS: A TECHNOLOGY STACK AS A SERVICE
The PaaS tier, the middle layer in the three-tier system, arguably contains some of the
most crucial elements of the cloud. Users of the PaaS layer are developers who
implement their applications and deploy them on the cloud. PaaS providers supply
developers with a programming-language-level environment with a set of well-defined
APIs to facilitate the interaction between the environments and the cloud applications,
as well as to accelerate the deployment of those cloud applications. Developers reap
several benefits with PaaS, from automatic scaling and load balancing to integration
with other services (e.g. authentication services, email services, user interface)
furnished by the PaaS provider. Pricing is typically pay-as-you-go, with no need to buy
software, middleware, or licenses. Developers have the ability to integrate other
services to their applications on-demand, which makes application development less
complicated, accelerates deployment time, and minimizes the faults in applications.
With PaaS, features of the operating system can be changed and updated frequently,
and geographically disparate software-development teams can work together on
projects.
The following are some of the specific components of the PaaS layer:
PaaS is perfectly suited to the needs of users who dont want to shoulder the
responsibility of managing middleware or OS. Some vendors, such as Apprenda,
provide advanced PaaS tiers on which users can easily build traditional Web
applications that include a complete multi-tenant SaaS architecture. PaaS is especially
useful for organizations in which multiple developers have to work together on
development projects or in which other external parties need to participate in the
development process. PaaS has proved an invaluable resource for enterprises with an
existing data source who want to create applications that leverage that data, and for
developers who want to automate testing and deployment services. Advanced PaaS
offerings will sometimes add a layer of indirection between tiers to manage application-
level messaging and to route traffic for the application.
Businesses in particular have begun to reap the benefits of PaaS and to implement it to
assist in decision making processes as well as daily operations. If current trends are
any indication, PaaS will likely continue to grow, incorporating new applications.
\
Cloud Computing Overview
Cloud computing is a growing idea in the world of IT, born out of the
necessity for computing on the go. It brings the user access to data,
applications and storage that are not stored on their computer. For a very
simple cloud computing overview, it can be understood as a delivery
system that delivers computing the same way a power grid delivers
electricity. To the average computer user it offers the advantage of
delivering IT without the user having to have an in depth knowledge of the
technology. Similar to the way a consumer can access electricity without
being an electrician.
CLOUD COMPUTING OVERVIEW: UNDERSTANDING THE CLOUD
Cloud computing is the hottest purpose built architecture created to support computer
users. The cloud addresses three main areas of operation:
SaaS (software-as-a-service)
PaaS (platform-as-a-service)
Iaas (infrastructure as a service)
By delivering this computing, storage and applications as a service, not a product, the
cloud offers both a cost and business advantage. The cloud moves all these services
off-site to either a contractor, or a centralized facility. Centralizing the data allows the
cost to be shared amongst all the users. The cloud accomplishes what IT is always
seeking to; increase computing capabilities, without having to provide a new
infrastructure. The possible uses of cloud computing are exponential. Users interface
with the cloud through their web browser, eliminating the need for installing numerous
software applications.
A cloud computing overview will show how the cloud can not only simplify in house
computing operations, but also change the way products are deployed to its users. A
product developed with a SOA architecture, deployed by the cloud, or a PaaS, will
inherit cloud behavior and capabilities. With the cloud delivery system products can be
developed much more rapidly, and deployed in a much more user friendly way.
Most PaaS options have been through a public PaaS. While it does offer great value as
a technology layer, cloud computing overview shows that a public PaaS does not
sufficiently meet the needs of some businesses, or grant them the free reign and
customization their operation needs. Apprenda delivers the high powered PaaS, without
the restrictions of a public PaaS.
Businesses and organizations who wish to create a cloud computing option, either for
their in house use, or for the development, deployment and running of custom
application need a Platform as a Service solution. One such PaaS option is Apprenda,
which offers a Private PaaS for enterprise applications.
Public clouds can offer the replication of data to many locations, and thus organizations
with users all over the world can use public clouds as an alternative to content
distribution networks. Because public clouds are accessed over the internet, they may
be subject to bandwidth limitations, whereas private clouds are accessed over the
Ethernet LAN at high speed.
SECURITY
Because public clouds are publicly accessible, users with sensitive data or who need
guaranteed availability and skilled technical support may prefer to use a private cloud.
Because it has limited access, some people see private cloud computing as a way
around the security concerns of a public cloud.
Choosing between a Public vs Private Cloud
Public clouds are easy to implement, and because the cost of the hardware,
applications, and bandwidth are covered by the provider, users pay only for what they
use. Public clouds offer a lower upfront cost and unlimited scalability. Small businesses
may prefer the public cloud because of its low cost, but before opting for the public
cloud, users should look into their providers security policies. Companies like Netflix
and Amazon also use public clouds.
A private clouds dedicated hardware makes it more efficient. Just like a public cloud, it
provides resources on demand, but it is deployed within an organizations internal IT
infrastructure. Many businesses that opt to use private clouds are interested in
preserving the existing infrastructure theyve invested in. Private clouds offer advanced
security, dependable availability, and a high level of control. They can be customized
according to a users specifications and are efficient because they are designed for and
managed by the users they serve. Private clouds are well-suited to independent
software vendors (ISVs) and larger businesses who want to increase efficiency and
interactivity among their staff.
A platform serves as a one-stop solution for enterprises that want to set up an entire
suite of software or speed up the development or deployment of common commercial
applications. One such platform is offered by Apprenda, a private platform-as-a-service
for Microsoft-based (.NET) business application development and deployment.
Apprenda is also the creator of SaaSGrid, the industrys leading SaaS.
Private Cloud
Private cloud is a type of cloud environment where the cloud software is
managed by internal IT. For example, in private IaaS, internal operations
installs and manages the cloud management platform (CMP) for its
infrastructure. In Private PaaS/Enterprise PaaS internal operations installs
and manages the PaaS software on either internal or public IaaS
infrastructure. Private cloud includes private infrastructure as a service
(private IaaS) and private platform as a service (private PaaS). Private
PaaS is often referred to as Enterprise PaaS to indicate to the user that the
software can be installed on both internal and external cloud environments.
Many public cloud providers have labeled clouds with the private moniker to avoid
confusion about the shared nature of the resources. In those cases, the public cloud is
isolated on the physical server and logical networking layer. Examples of such public
clouds that have adopted the private cloud name include AWS Virtual Private Cloud.
Before 2015, most private cloud efforts have been exclusively focused on private
IaaS. According to Gartners Thomas Bittman, 95% of Private Clouds have failed to live
up to the orginal promise. Gartners suggestion for organizations in 2015 is to start
looking at private PaaS. According to Gartner for Technical Professionals 2015
Planning Guide for Cloud Computing, Private PaaS (Enterprise PaaS) improves
developer productivity, reduces operational effort, and increases hosting density. This
value proposition is too compelling for large enterprises to ignore.
Key Points
If the answer to any of these questions is yes, then the organization needs to evaluate
Enterprise PaaS/Private PaaS:
Does the application already exist or will not conform to 12 factor standards?
Does the organizations want control over the infrastructure?
Will the application be delivered to employees behind the organizations
firewalls?
If the application is a commercial web property, will it need large scale?
Vendor neutral cloud computing certification programs focus on broad topics within the
realm of cloud computing technology. Many of the certifications that are available in this
category are general in nature, however cloud computing specialty certifications are
also offered by the various entities who provide vendor neutral cloud computing
certification programs. For example, special certifications are available to address key
aspects of cloud computing service delivery such as: SOAArchitecture (leading to a
Cloud Architect Certification), SOA Governance (leading to a Cloud Governance
Specialist Certification), Cloud Security (leading to a Cloud Security Specialist
Certification) and Cloud Storage (leading to a Cloud Storage Specialist Certification).
Vendor specific cloud computing certification programs focus on narrow topics having to
do with the design, architecture and functionality of specific web or cloud technologies.
Major IT entities such as IBM and Redhat offer their own vendor specific cloud
computing certification programs. Vendor specific cloud computing certification
programs usually provide a list of recommended prerequisites to certification
candidates, so they may properly prepare for a vendors cloud computing certification
exam(s).
For example, many vendors list the following bodies of knowledge as precursors to
taking their certification exams: cloud computing principles, cloud computing
implementation concepts, cloud computing types (i.e. private, public, community,
hybrid), cloud service types (i.e. software as a service, platform as a service,
infrastructure as a service), cloud computing business models and cloud computing
subtopics (e.g. performance, security, virtualization etc.)
Often times, a vendors cloud based service offerings require a higher level of
certification beyond what can be granted to an individual IT professional. For example,
organizations such as SAP offer a certified partner program (i.e. SAP-Certified Cloud
Services Provider) which ensures the highest level of service delivery and management
of the cloud based services offered bySAP.
Cloud Computing Security
Cloud computing security refers to the controls that must be implemented
in order to prevent the loss of data, information or resources belonging to a
cloud services provider or its customers. Cloud solution providers must
implement a variety of security controls for the SaaS (software as a
service) solutions,PaaS (platform as a service) solutions and the IaaS
(infrastructure as a service) solutions that they provide to their customers
or clients.
As with traditional computer or data security, there are many bases that must be
covered, in orderto ensure a safe computing environment. Computer security (including
cloud computing security)can be implemented by taking the following security measures
(as appropriate): restricting access to applications and system resources, logging
access & use of applications and systems; and controlling & monitoring access to
physical computing resources like servers & data centers, etc.
Many of the security methods that cloud service providers implement are driven by
privacy, compliance or legal rules for managing consumer data that specific industries
must adhere to. In any event, security breeches can result in major financial losses for
any organization, as costly fines and legal expenses may be incurred; along side a loss
of confidence in the organizations ability to protect customer data, which can lead to
further losses in business revenue.
Since Cloud Computing is an newly evolving model for the delivery of software,
platforms and infrastructure; it provides a new set of challenges to IT network and data
security personnel. Most organizations that are considering moving their applications to
the cloud have a variety of security concerns, which are in many ways, certainly
warranted. Ironically, in some cases, a public cloud may provide better security for data
and IT resources than what could be provided by a firms on-premise IT staff; as the
element of employee loss or theft of data or computing assets is significantly reduced
when an enterprise uses a public cloud services provider to deliver IT services to the
organization. Nevertheless,while public cloud service providers may be able to
significantly reduce the threat of employee loss or theft of data or IT assets, they still
must competently guard against the outside threat that is intrinsic to delivering services
via the Internet: hackers who can launch an attack against the public cloud services
being delivered by a cloud service provider.
PRIVATE CLOUD COMPUTING SECURITY
Private clouds offer the framework for a more secure computing environment than what
is available within the sphere of public clouds. Along these lines, many organizations
with high security requirements frequently opt to deliver IT services via an enterprise
private cloud, which is secured by a network firewall. The implementation of an
enterprise private cloud provides organizations with the maximum level of control over
their data, applications and systems. An enterprise private cloud eliminates threats from
Internet hackers, as well as reducing the occurrence of intellectual property theft, which
could easily occur if a company stores its sensitive data and proprietary information in a
public cloud. Apprendas Private PaaS (platform as a service) offering serves as an
ideal solution for organizations who want to seamlessly and securely deliver cloud
computing services via an enterprise private cloud.
VIRTUALIZATION IN USE
There are many different types of virtualization, including hardware, software, desktop,
memory, storage, data and network virtualization. Hardware virtualization is one of the
most common types of
virtualization. It is synonymous with platform virtualization, which occurs through the
creation of a virtual machine that behaves like a a real computer or computer operating
system. Desktop virtualization is also another widely used type of virtualization that
creates and stores a clients desktop on a server that can be remotely accessed by the
client over a network. Software virtualization is yet another commonly used type of
virtualization that allows different versions of an operating system to coexist and run on
the same physical machine, providing the ability to run applications in different
environments without the need to invest in additional hardware. As with all types of
virtualization, cloud computing is not a prerequisite to its implementation or use. Veteran
technology firms like Citrix Systems and junior technology firms, like VMWare are a few
of the major players in the virtualization landscape, that continues to grow in popularity
and use within the enterprise.
ADVANTAGES OF VIRTUALIZATION
Cloud deployment can be viewed from the angle of management responsibility for the
deployment of the SaaS, PaaS and/or IaaS solutions in question. From this perspective,
there are two possible approaches: the cloud solution(s) may be deployed by a third
party (under a community cloud, public cloud or private cloud deployment model) or the
cloud solution(s) may be deployed by a single entity (under a private cloud deployment
model).
SaaS deployment is a type of cloud deployment that is typically initiated using a public
cloud or a private cloud deployment model, however SaaS deployment may also be
initiated using a hybrid cloud deployment model, when hybrid cloud resources are
owned and/or managed by the same entity. Expanding on this theme is the existence of
virtual private clouds that can be used for SaaS deployment as well. Virtual private
clouds are technically public clouds that function the same as private clouds, since only
trusted entities may gain access to the virtual private cloud resources.
After cloud deployment has been completed for a SaaS, PaaS or IaaS solution, user
provisioning can occur based on user permissions, where access is provided for cloud
resources based on the consumers classification as either a trusted or untrusted entity.
Trusted entities may receive access permission to managed cloud, private cloud or
hybrid cloud resources. Untrusted entities may receive access permission to public
cloud, managed cloud or hybrid cloud resources. The key difference between trusted
and untrusted entities is that untrusted entities never receive access permission to
private cloud resources.
Organizations of all sizes can realize a significant cost savings for IT services, such as
lowered IT operational costs and lowered capital expenses for IT assets, by deploying
enterprise cloud services. Organizations who use enterprise cloud services no longer
need to invest in server hardware, network infrastructure or security tools. Instead,
these IT resources can be purchased on a subscription basis from a third party
enterprise cloud services provider, for a fraction of the cost, thereby freeing up capital
for other business uses. In addition, many software applications will no longer need to
be maintained or upgraded, since software can also be purchased on a subscription
basis. This provides a significant cost savings to any enterprise that has been
previously saddled with the need to constantly upgrade or replace on-premise software
applications, etc. New business start-ups and small businesses, in particular, have a
great deal to gain from using enterprise cloud services, since they typically have smaller
budgets available for the procurement of IT resources.
External vendors of cloud services can deliver their solutions through a PaaS
implementation, like Apprendas Private PaaS offering, without making a costly capital
investment in platforms, infrastructure or software. Apprenda provides a flexible and
cost effective solution for SaaS (Software as a Service) delivery, including automated
customer on-boarding and provisioning, application lifecycle management, subscription
management; and billing and metering. Customers who implement Apprendas Private
PaaS with SaaS enablement will be in alignment with the lowest cost model of
application delivery that is currently available in the IT marketplace today.
Enterprise Software
Deployment
The term Enterprise Software Deployment refers to all of the activities that
must take place to make a software application available to end users.
Enterprise Software Deployment technically begins after a software
application has been written, tested, packaged and delivered to an
enterprise. Enterprise Software Deployment is a recurring phase of the
software development lifecycle, since software is constantly being
upgraded, to fix bugs or add new features. This fact makes Enterprise
Software Deployment a core element in the administration of IT services
within an enterprise.
The traditional method of software deployment places a heavy burden on enterprise IT
resources, as they must devote a significant amount of time and attention to the
installation and maintenance of all applications that exist within the enterprise
computing environment. Conversely, under a SaaS (Software as a Service) model of
software delivery, cloud architecture provides a SaaS provider with a mechanism to
easily deliver software over the Internet, thereby eliminating the need to deploy software
to each application user, as required under the traditional model of software delivery.
The SaaS model of software delivery promises enormous savings opportunities for the
enterprise, in terms or labor utilization and operational expenses for software
deployment and maintenance.
It is important to note the infrequently mentioned missing link in the equation for
optimizing Enterprise Software Deployment under the SaaS model of software
delivery: SOA (Service Oriented Architecture). SaaS and SOA are the perfect pairing,
asSOA-enabled SaaS providers have the capacity to serve thousands of clients from a
single instance of an application that is pushed out to an enterprise cloud. This makes
the delivery of software a seamless event, due to the additional level of flexibility,
scalability and version control that is available when SOA is coupled with SaaS.
With cloud computing and the technology behind it there are many potential
opportunities and capabilities. Cloud computing can open a whole new world of jobs,
services, platforms, applications, and much more. There are thousands of possibilities
beginning to form as the future of cloud computing starts to really take off.
For instance, vendors and service providers can get on board to develop new and
different ways of selling their goods and services to the cloud users through the cloud
technology. It opens up a whole new platform for designers and web developers.
Businesses and organizations can organize themselves and conduct business much
more affordable and professionally. Social networking and keeping in touch with friends
gets a great deal easier as well.
The main reason that the future of cloud computing will be as powerful and expansive
as it portends to be is that cloud technology is extremely beneficial. For one thing, the
extreme agility and accessibility of a cloud is far superior to the use of current
technology. No matter where in the world someone happens to be, or what device they
are using, they can access their cloud and continue to do their work or share their
information.
Not only that, but cloud technology is extremely cost effective, and a company could
end up saving thousands by choosing this option. For the reliability a cloud offers, the
security it provides, and the performance it boasts of, the cost of a cloud makes it an
incredible option for individuals and corporations alike. The future of cloud computing is
bright, and wise people of any kind should begin to get on board with trusted cloud
computing providers like Apprenda.
IaaS Pricing
IaaS (infrastructure as a service) pricing refers to the billing model(s) used
by vendors who deliver IT infrastructure services via the cloud. As with
any business, a cloud IaaS vendor has to meet several requirements in
order to successfully price its services. To start with, a cloud services
provider must know what its operational costs are for its physical IT
resources, to determine the COGS (cost of goods sold). Secondly, a cloud
services provider must also determine the required profit margin for its
services, taking into account all operational costs for the business, in order
to achieve the targeted levels of profitability. Furthermore, an organization
also needs to do the proper amount of market research prior to premiering
any IaaS offering, to ensure that its IaaS pricing is feasible, based on a
competitive analysis of similar cloud computing services available in the
marketplace.
PRICING CONSIDERATIONS
As previously noted, the COGS (Cost of Goods Sold) needs to be calculated before
IaaS pricing can be determined. TheCOGS is inclusive of all expenses that may be
associated with the delivery of an IaaS offering, such as (but not limited to): the cost of
utilities for the data center the IaaS offering is built upon, the development costs for the
IaaS offering and ongoing labor costs for supporting the IaaS offering. All costs
associated with the delivery of an IaaS offering must be carefully analyzed and
controlled, especially in the case of start-up IaaS vendors, who may have difficulty
estimating cash flow, due to the differences in revenue recognition that can occur under
the cloud computing model of IT service delivery.
Many IaaS providers price their services based on the billable hours of usage. For
example, an IaaS provider may bill a specific monetary amount, usually calculated in
cents (the cent based pricing model), based on the amount of GBs (gigabytes)
of RAMused per hour. An IaaS vendor can determine the IaaS pricing for their services
by first calculating their hourly operational costs per server, per hour and then adding
the desired amount of mark-up, to meet organizational revenue targets. The cent based
pricing model that many IaaS vendors subscribe to is also closely related to the pay-as-
you-grow concept that is intrinsic to most paid cloud service offerings.
From the consumers perspective, the flexibility to only pay for the IT services needed,
exactly when needed is what makes IaaS cloud computing such a formidable alternative
to traditional on-premise IT resource delivery. With IaaS, any business can quickly
expand or contract its IT infrastructure on demand by subscribing to the appropriate mix
of IaaS offerings, for pennies per use. IaaS provides organizations of all sizes with
access to an unlimited pool of computing resources at very affordable prices.
PLATFORM AS A SERVICE
PaaS, or solution stack, offers a more comprehensive approach to the cost effective
application deployment need of todays developers. This service provides the necessary
hardware architecture and software framework needed to put an application into
service, without having to own, manage and upkeep all the required resources.
IaaS, in comparison to the PaaS, provides equipment for operations, networking, data
storage and hardware with the use of the internet, so that the subscriber is no longer
confronted with location and purchase costs.
The provider of these computing resources has only the responsibilities of maintaining
the hardware running and housing all the devices. In return, the client will pay strictly for
the use of the hardware or hardware related services that were accessed. This kind of
solution will offer the client the possibility to acquire server/network resources instantly
without taking up any space.
Even though the differences between PaaS and IaaS are very clear, there are
advantages that weigh in favor of each one of them, depending on the clients
necessities. Considering that todays IT market is heading towards a self-sufficiency
future of computing (and by this we mean that providers presently offer more and more
complete solutions), the tendency is to incline towards PaaS type of services.
With internal cloud computing, the cloud services provider and the cloud services
consumer are the same entity (the enterprise). This parallel translates into additional
capital and operational expenses that must be incurred by any enterprise that
implements an internal private cloud. In an internal (private) cloud computing
environment, the cloud provider (enterprise) is responsible for maintaining its own
physical computing resources; including servers and data storage, etc. which generates
capital expenses for the organization. Operational expenses are generated by the
human labor requirements for the tasks of configuring, maintaining and managing the
SaaS (Software as a Service), PaaS (Platform as a Service) and IaaS (Infrastructure as
a Service) resources within the enterprise private cloud.
The decision to implement internal cloud computing within an organization can not be
motivated by cost savings, as with other types of cloud computing environments. In fact,
in many cases, organizations will have to invest more capital into infrastructure, than
what is required in a traditional on-premise IT operation, in order to ensure there are
enough computing resources available during times of peak demand. However, when
this occurs (over-provisioning), an enterprise may be able to offset some of the costs
associated with its cloud services delivery, by selling off unused capacity on the cloud
spot market.
Since a private organization has to incur the costs of additional software, platforms and
infrastructure when implementing an enterprise private cloud, the extra expense should
be justified by concrete business requirements. For example, when an enterprise needs
to deliver computing services that adhere to special compliance, legal or regulatory
requirements, an internal cloud is the appropriate cloud solution. In addition, when an
enterprise has a strong need to guard its proprietary information or trade secrets, etc.
an internal cloud may be preferred over an external cloud.
A public cloud can be a great option for an individual, group, or company. There are
many reasons why a public cloud is useful, and all of these work together to make it
such a good option. One of the reasons that a public cloud is so practical is that it allows
a company or group to be able to access a whole world of shared information without
having to use any sort of hardware or servers. As long as the cloud is hosted properly
and set up well, the company will not have any problems accessing it.
A public cloud can be used by any company or group that wants to be able to share
information. A cloud can be scaled to fit any and all company needs. Not only that, but
cloud users will end up saving money and time. Instead of having to buy servers and
hosting space, you simply upgrade and pay a little more for cloud space to
accommodate your needs.
If you are considering making use of a public cloud computing option, then you need to
make sure you choose one that fits all your needs and is reliable. Find an option with
good and affordable prices but also with a reliable reputation. Find one that is used
often by other companies or groups similar to yours, one which your friends have
recommended if possible. Most of all, find one that has enough features and options for
your needs. There are many options out there, and you need to consider all of them
carefully.
A cloud computing service, like Apprenda can be a great way for a company or group to
take advantage of public clouds. A public cloud may not be the right option for some
companies or individuals, but it can be perfect in many cases.
For businesses, the cloud has the potential to transform operations, as well as cut
costs. Offices running computer networks would no longer have to deal with software
installation for each computer, as well as licenses. This alleviates a tremendous IT load.
Uses of the cloud include data storage, offering remote access to any work related data.
The role of cloud computing on a corporate level can be either for the in house
operations, or as a deployment tool for software or services the company develops for
the public. Through the PaaS, much of the administration, maintenance and deployment
of the software becomes the job of a third party, the PaaS.
MOBILITY
One of the other most obvious uses of cloud computing is the mobility that it brings,
both to the recreational user, as well as to the corporate and business user. Many of us
are already familiar with some cloud computing services, like Google Docs, or even
email services. With these apps we can access documents or mail that is not stored on
our PCs, but is available to use because it is stored on a cloud, or remote location.
Businesses who wish to create a cloud computing platform for their operations can
choose between either a private or a public cloud, depending on their need. A
customized PaaS can be created for them b by companies that specialize in cloud
computing, such as Apprenda.
In addition to all the uses of cloud computing, from an IT or administrational view point
of view, cloud computing is fairly easy to manage. Cloud computing reduces the load on
servers, and the IT team as well. It centralizes and unifies computing standards. A new
implementation can quickly take on cloud behavior as soon as it is deployed on the
cloud. Every user who accesses the product will have access to the same standard
product.
Because of the many uses of cloud computing, both consumers and enterprises are
taking advantage of it, and enlisting the help of companies that specialize in Paas and
SaaS.
There are two key elements at the core of cloud computing technology, which
are: SOA (Service Oriented Architecture) and cloud virtualization, which are described
in further detail below:
One of the most obvious benefits of using cloud computing technology is the versatility
that it provides. You get a great deal of flexibility from the fact that everything is
completely internet based. You can access all your data from anywhere in the world,
and from any device or computer. You dont have to be limited to just one computer or
even a computer at all, as smart phones, tablets, and other mobile devices can all allow
access.
Not only that but the cost of using cloud technology is far reduced as compared to
current technology. You will end up paying a great deal less than you would normally for
a variety of reasons. Once you pay for the service you dont have to pay for anything
else. This means you save on paying for a whole variety of things.
A third advantage is that everything is online and extremely automatic, so that you and
your IT staff have much less to do. You dont have to work through problems yourself,
because the cloud computing service takes care of all of it for you.
One advantage of cloud computing that is more indirect but still extremely beneficial is
that IT services and companies will be freed to innovate in new and different ways.
Cloud technology is so easy, practical, ad low maintenance that IT doesnt really even
have to worry about it. The focus of the companies can shift from always trying to
maintain the services and fix the problems and can instead turn to solving other
problems and creating new options.
Cloud computing can add a whole new world of benefits to the way companies and
groups work. The advantages listed above are only a few of the things that make cloud
computing a phenomenon that will take over the internet world.
Cloud FAQ
WHAT IS THE CLOUD?
Cloud computing refers to the delivery of computing resources as a service. This term
generally makes reference to a three tiered architectural computing model or cloud
stack that is inclusive of SaaS (software as a service), PaaS (platform as a service) and
IaaS (infrastructure as a service) delivery that may be obtained from a variety of cloud
solution providers or hosted internally via a private cloud. Cloud computing may also
include the delivery of other types of IT assets as a service; including: storage as a
service, databases as a service, security as a service and backend as a service
offerings. This article contains answers to several frequently asked questions about
cloud computing in the section provided below.
Answer: There are very few disadvantages that apply to cloud computing, with one key
exception: the risk of low quality service delivery from a cloud provider. Choosing the
wrong cloud computing service provider can be extremely detrimental for any
organization, as their reliance on cloud SaaS, PaaS and/or IaaS solutions from a single
vendor may place all of the responsibility for IT service delivery within their business on
the shoulders of a third party. Likewise, any enterprise that is considering the use of
cloud computing services needs to ensure that they have properly assessed the
scalability, availability and flexibility of the cloud solutions they plan to adopt and they
also need to investigate the reliability of the cloud solution provider(s) that their
organization plans to engage.
Question: How will I know which cloud computing solution fits my business needs?
There are essentially two types of PaaS solutions: application delivery only PaaS
solutions and complete PaaS solutions. The former only delivers the bare bones
functionality that is needed to host applications in the cloud. Facilities for developing,
debugging or testing SaaS solutions are not available with this type of PaaS solution.
The later, provides a robust computing platform with a full solution stack that enables
the efficient management and delivery of on demand software.
Complete PaaS solutions provide a platform for SaaS Development, SaaS Deployment
and SaaS Testing, in support of the full application life cycle. A complete PaaS solution
may also offer the following capabilities: team collaboration tools, security management
tools, database integration tools, application version management and more. On a
detailed level, a complete PaaS solution includes the following features: user on-
boarding or provisioning, subscription management, billing & metering, payment
processing, reporting & analytics and more. Apprendas Private PaaS offering is an
example of a complete PaaS solution that delivers a full set of features that fully support
the operational requirements of SaaS solution providers or ISVs (independent software
vendors).
There are several key traits that PaaS solutions have in common with one another, that
go beyond the ability to host, develop, deploy, test or maintain on-demand software
solutions. These characteristics are related to PaaS architecture. One of these traits is
multi-tenant architecture, which is a characteristic of PaaS design that facilitates the
concurrent use of the same cloud computing resource by multiple users. Multi-tenancy
is a primary factor in the cost efficient delivery cloud computing services. Another key
PaaS design trait is the inclusion of SOAP (Simple Object Access Protocol)
interfaces, REST (Representational State Transfer) interfaces or Web APIs, which
allow PaaS to support the delivery of a conglomeration of services, also sometimes
referred to as mash-ups. The inclusion of these interfaces also facilitate component
reuse and data integration from various applications, which provide further efficiency
and cost savings opportunities for organizations that utilize PaaS solutions in the cloud.
To go forward with building a private cloud on-premises, you must have standardized
and documented procedures for operating, deploying, and maintaining that cloud
environment.
Standardized operating procedures that allow efficiency and consistency are critical for
automation, which enables self-service capabilities. In terms of the private cloud, self-
service means that an enterprise has established an automated workflow whereby
resource requests go through an approvals process.
Once approved, the cloud platform automatically deploys the specified environment.
Depending on their needs, developers typically specify the parameters for VMs, storage
volume, and bandwidth.
Many enterprises misguidedly think about building a private cloud from a product
perspective before they consider services and service requirements, but services need
to be considered first. Whether a workload has affinity with a private, public, or hybrid
model depends on a number of attributes, including obvious ones like compliance and
security but also things like latency and interdependencies of components in
applications.
If youre going to commit to building a private cloud, you need to know what your
services are, and what the service-level agreements, costs, and road maps are for each
of those. Common services with relatively static interfaces, even if your business is
highly reliant on them, are those you should be considering for cloud-style computing.
E-mail is one example: You may use it frequently, but instead of wanting it to be
integrated tightly with the company, you want to make it as separate as possible, easy
to use, and available from self-service interface. If youve customized this type of
service over time, youve got to make it as standard as possible. Once you understand
which services are right for the cloud and how long it will take to get them to a public-
readiness state, youll be ready to start to look at building a private cloud from a
technology perspective.
Sitting atop it all is the access management tier, which is all about the user self-service
interface. It presents a service catalog, gives users all the knobs to turn, and lets you
manage subscribers. The interface has to be tied in some way to costing and
chargeback, or at least metering?at that level, it ties to the service management tier.
While building a private cloud means you need to think in terms of elasticity,
automation, self-service, and chargeback, you shouldnt be too rigid about the
distinctions at this stage of clouds evolution. You might get to SaaS eventually, and in
the meantime do as much automation as you can, introducing concepts slowly so your
organization has time to adapt to the cloud model. The bottom line is, you have to think
about the value the cloud will bring to your organization. Cloud platform providers such
as Apprenda have been noted for their ability to make multi-tenancy less complex, to
make architecture more mature, and to allow businesses to direct their energy toward
efficiency and innovation.
Introduction to Cloud
Computing
Cloud computing consists of three distinct types of computing services
delivered remotely to clients via the internet. Clients typically pay a
monthly or annual service fee to providers, to gain access to systems that
deliver software as a service, platforms as a service and infrastructure as a
service to subscribers. Clients who subscribe to cloud computing services
can reap a variety of benefits, depending on their particular business needs
at a given point in time. The days of large capital investments in software
and IT infrastructure are now a thing of the past for any enterprise that
chooses to adopt the cloud computing model for procurement of IT
services. The ability to access powerful IT resources on an incremental
basis is leveling the playing field for small and medium sized
organizations, providing them with the necessary tools and technology to
compete in the global marketplace, without the previously requisite
investment in on premise IT resources. Clients who subscribe to computing
services delivered via the cloud are able to greatly reduce the IT
service expenditures for their organizations; and gain access to more agile
and flexible enterprise level computing services, in the process.
SAAS
Saas (Software as a Service) provides clients with the ability to use software
applications on a remote basis via an internet web browser. Software as a service is
also referred to as software on demand.
Clients can access SaaS applications from anywhere via the web because service
providers host applications and their associated data at their location. The primary
benefit of SaaS, is a lower cost of use, since subscriber fees require a much smaller
investment than what is typically encountered under the traditional model of software
delivery. Licensing fees, installation costs, maintenance fees and support fees that are
routinely associated with the traditional model of software delivery can be virtually
eliminated by subscribing to the SaaS model of software delivery. Examples of SaaS
include: Google Applications and internet based email applications like Yahoo! Mail,
Hotmail and Gmail.
PAAS
PaaS (Platform as a Service) provides clients with the ability to develop and publish
customized applications in a hosted environment via the web. It represents a new model
for software development
that is rapidly increasing in its popularity. An example of PaaS is Salesforce.com. PaaS
provides a framework for agile software development, testing, deployment and
maintenance in an integrated environment. Like SaaS, the primary benefit of PaaS, is a
lower cost of use, since subscriber fees require a much smaller investment than what is
typically encountered when implementing traditional tools for software development,
testing and deployment. PaaS providers handle platform maintenance and system
upgrades, resulting in a more efficient and cost effective solution for enterprise software
development.
IAAS
Infrastructure as a Service
(IaaS)
Cloud infrastructure services, known as Infrastructure as a Service
(IaaS), deliver computer infrastructure, storage, and networking.
Infrastructure as a Service refers to a combination of hosting, hardware,
provisioning, and the basic services needed to run a cloud. Using IaaS, an
organization can outsource the equipment used to support operations,
including storage, hardware, servers, and networking components. Service
providers, including providers of platforms like Apprenda and many
traditional IT vendors, own the equipment and are responsible for its
housing, running, and maintenance. Instead of having to purchase
software, servers, or network equipment, users can buy these as a fully
outsourced service. Basically, in exchange for a fee, a third-party provider
allows clients to install a virtual server on their IT infrastructure. Costs are
typically determined using a utility billing model, so clients pay only for
what they use.
IAAS SOFTWARE AND IAAS SERVICES
With Infrastructure as a Service, users gain an infrastructure on top of which they can
install any required platforms. IaaS services provide a cost-effective and flexible
solution, allowing businesses to minimize their use of internal IT resources. Application
integration tools, made available using the self-service model, can be configured,
deployed and managed from a web browser or similar interface without requiring the on-
premises installation of software or hardware. Companies that have multiple
organizations can use the multi-tenant approach to isolate respective business units
while maintaining their control of the system.
Organizations that opt to use IaaS often have considerable in-house IT skills. IaaS
software clients select basic software servers for their part of the cloud, load their
libraries, applications, and data, and then configure them themselves. Vendors manage
virtualization, servers, hard drives, storage, and networking, while IaaS users maintain
the management of applications, data, runtime, middleware, and O/S. Virtualization
allows IaaS providers to offer nearly unlimited instances of servers to clients and to
increase the cost-effectiveness of hosting hardware. Using IaaS software, organizations
can rapidly build new versions of environments or applications without the need to order
and configure new hardware. Many organizations also use IaaS to host their websites;
providers take charge of keeping the site available and monitoring traffic, while the IaaS
services allow clients to prevent the website from draining the IT resources of their
internal infrastructure.
Cloud Architecture
An Enterprise Cloud is a hosted computing environment that delivers
software, platform or infrastructure services to business users via a
network. Enterprise Cloud Computing provides organizations with the
ability to deliver computing services in a controlled and secure manner,
since a cloud for the enterprise makes use of a network firewall. Entities
that store, mange or process sensitive data, including government agencies
and health care organizations, are likely to use enterprise cloud computing
services, as opposed to using public cloud computing services.
Many businesses who own on-premise IT systems can maximize their IT investment
through Enterprise Cloud Computing. A Cloud for the Enterprise promises to deliver an
extremely agile computing environment for client users within private organizations.
These organizations can gain many of the same operational benefits available within a
public cloud computing environment. Extending a private cloud that incorporates
methods such as virtualization, automation and service management; can result in
increased operational efficiency within an organization.
Enterprise Cloud Computing can be implemented in one of two ways: as a private cloud
that is hosted on the premises of an organization; or as a private cloud that is hosted
externally by a third party provider. Organizations that use externally hosted enterprise
cloud computing services often experience the benefits of lower IT infrastructure and
maintenance costs. Another frequent benefit of externally hosted enterprise cloud
computing services is lower IT operational expenses, due to a decreased need for
internal IT support staff.
Some organizations gain the benefits of both an internally hosted and an externally
hosted enterprise cloud computing environment, by implementing hybrid enterprise
cloud computing services for their businesses. Under such a configuration,
organizations internally host their more sensitive applications that require a highly
secure computing environment and move applications with less stringent security
requirements to an externally hosted cloud for the enterprise.
PAAS BENEFITS
Another benefit of PaaS technology is the ability it gives developers to develop, test and
deploy their software in one comprehensive environment. Distribution takes place on
the same platform on which it is developed, avoiding software and hardware conflicts for
clients. Also, this single platform environment frees the developer from the need to tailor
their applications to work on various OS and hardware.
Even though database access is being standardized by the database industry, theres
still a hodgepodge of the proprietary access mechanisms. So it makes sense to hide an
access to a native database behind Middleware layers. If you are looking for a
searching for a provider of database middleware, there are a few things that can use in
order to find the right provider. Here are three ways that you can find the right provider:
Research The first thing that you can do in order to find the right provider of
database middleware is to do some research to find out what companies there
are to find the one that is right for you. Make a list of the companies that offer
database middleware and then move onto the next step.
Review The second thing that you can do in order to find a good provider of
database middleware is to review the companies that you have listed. Look what
other people have said about them and find out what they liked about the
companies.
Choose The third thing that you want to do is to decide which of the companies
that found that you want to choose. Think about the reviews that you have found
about the companies that you read and use them to make a choice about the
right company.
There are a lot of companies that offer database middleware that you can choose from
but there is one company that has been in business a long time and has a long
standard of excellence. This company is known as Apprenda. Along with database
middleware, they have a lot of other business solutions to make your business run in a
way that is cost effective that will offer you a company that runs much more smoothly.
Apprenda can help your company with just about anything that you need for your
business.
Database Middleware
Solutions with PaaS
Database middleware is one of the best things that a company can employ
to help their company. Database middleware offers companies an
additional layer of performance management, and security for their
database administrators. There are two basic kinds of the database
middleware native database and database-generic. The native database
middleware is known as a proprietary access mechanism thats used for a
certain database server.
The database middleware thats database-generic enables packages and applications
to communicate across various network protocols, native APIs and SQL dialects, using
the common interfaces.
Even though database access is being standardized by the database industry, theres
still a hodgepodge of the proprietary access mechanisms. So it makes sense to hide an
access to a native database behind Middleware layers. If you are looking for a
searching for a provider of database middleware, there are a few things that can use in
order to find the right provider. Here are three ways that you can find the right provider:
Research The first thing that you can do in order to find the right provider of
database middleware is to do some research to find out what companies there
are to find the one that is right for you. Make a list of the companies that offer
database middleware and then move onto the next step.
Review The second thing that you can do in order to find a good provider of
database middleware is to review the companies that you have listed. Look what
other people have said about them and find out what they liked about the
companies.
Choose The third thing that you want to do is to decide which of the companies
that found that you want to choose. Think about the reviews that you have found
about the companies that you read and use them to make a choice about the
right company.
There are a lot of companies that offer database middleware that you can choose from
but there is one company that has been in business a long time and has a long
standard of excellence. This company is known as Apprenda. Along with database
middleware, they have a lot of other business solutions to make your business run in a
way that is cost effective that will offer you a company that runs much more smoothly.
Apprenda can help your company with just about anything that you need for your
business.
Middleware Software /
Platforms
The technology world is constantly changing and in order to be a success,
a business has to keep up with the world of technology. One of the biggest
ways that a company can do that is through using the latest innovations in
software.
The recent increase in the focus in the moving of data from one application to a different
application using a message instead of data files has therefore increased the need for
applications that are flexible. This necessity to reroute and format messages that are
easy to understand and read by the appropriate systems has driven the innovation of
the software called Middleware. It functions as a consolidator, integrator, and translation
layer software. There are different products that offer middleware software solutions.
MIDDLEWARE AS A PLATFORM
Middleware software is thought to be software for connectivity due to the fact that it
functions to join the applications through the communication mechanisms. In
middlewares function, its the layer between application platforms and assisted software
applications, interoperability and transparency, and treating scalability. It helps in
database connectivity because it provides APIaccess to the database interfaces. An
advantage of using this middleware software is the simplified and standard database
connectivity that it provides.
Running middleware software and using a middleware platform can really help a
business to run quickly and seamlessly. Companies who have had some trouble in the
past with applications and architectures have found that using middleware software can
make a huge difference.
Many companies are turning to middleware software to help their companies and their
systems to run more smoothly. But not all middleware software is reliable and can offer
what a company needs. One of the best suppliers of middleware is Apprenda, a
company that has a long history of excellence both in middleware software and in
applications that can help companies succeed.
PaaS (Platform-as-a-Service)
Comparison
More than 80% of large organizations are actively evaluating enterprise Platform as a
Service (PaaS) and conducting a PaaS comparison for development in public, private,
and hybrid clouds.* As a foundational software layer and an application run-time
environment, enterprise PaaS removes the complexities of building and delivering
applications and enable organizations to turn ideas into innovations faster.
Conducting a PaaS comparison among vendors is essential for procurement, yet little
guidance is available on the decision workflow. The following guidelines can help
organizations that are looking at PaaS to find the best solution.
Enterprise
Vendor Contact
Runtimes
Contact
Apprenda Java and .NET
Apprenda
Pivotal CF Visit Pivotals
(Commercial website for
Java
Distribution of contact
Cloud Foundry) information
Visit Red Hats
Red Hat website for
Java
OpenShift contact
information.
As part of this process, enterprises invite vendors to demo their products and form
contacts that can help with ongoing questions as the organization moves forward.
2. Formulate Technology and Business Drivers: After researching the market,
organizations need to determine the business needs that drive the enterprise PaaS
initiative. An enterprise PaaS buyers guide is available to help establish the cost-benefit
analysis of enterprise PaaS. Once the organization reviews the buyers guide, it should
form a cloud-focused team that can collect and define the companys technology
criteria. To aid the enterprise cloud team, an enterprise PaaS RFP
template andscorecard are available to help scope evaluation criteria:
3. Run a Preliminary Test of Enterprise PaaS: In parallel with efforts to define the
business requirements and evaluation criteria, organizations need to begin trials of
enterprise PaaS platforms to gain a high-level understanding of the solution. A full Proof
of Concept (POC) is needed to properly assess the technology, but an initial hands-on
experience provides a valuable first impression.
After the POC, some organizations solicit RFPs or scorecards. A purchasing decision is
often done without formal RFPs or scorecards, but it is not advised to move forward
without a POC since the evaluation criteria in RFPs and scorecards can be open to
interpretation, while technology outcomes cannot. Enterprises should be sure to
evaluate dependencies on APIs and also dependencies the enterprise PaaS has up and
down the technology stack. Switching enterprise PaaS vendors may be near to
impossible if there is a reliance on another essential technology by the vendor
somewhere else in the stack.
The winning enterprise PaaSes should have a workflow that can guarantee success in
migrating any number of applications to the platform within a timeline defined by the
end-user. Thus, a successful PaaS comparison comes to a close with the selection and
implementation of one or two enterprise PaaSes.
* http://www.prnewswire.com/news-releases/detecting-a-red-shift-in-enterprise-
software-development-278652181.html
Many people see using a private cloud as a way around the security concerns of using
a public cloud. In addition to security, private clouds can increase flexibility and improve
resource management. Managed private clouds provide an additional benefit: A
company that uses a managed private cloud can rest assured knowing that its critical
data is in the hands of experienced and knowledgeable operators. By choosing the right
provider, youre also choosing a technology partner who is attentive to your unique
business needs and fully committed to your success. Managed private clouds may thus
be the best way to eliminate time-consuming and costly IT concerns, saving enterprises
time and money and allowing them to focus on what matters most: their business.
In a nutshell, managed private clouds offer the best of both worlds: They allow for
greater scalability and utilization of IT resources, address the security and compliance
concerns of public clouds, and keep enterprises from getting bogged down in the
complexities of managing their virtual infrastructure.
APPRENDA
Apprendas enterprise Platform as a Service (PaaS) for Java and .NET delivers
significant cost savings and massive improvements in productivity by freeing app
development teams from internal infrastructure and IT. Apprenda modernizes existing
applications for the cloud and lets developers build cloud native applications faster.
Pivotal is a big data and application enterprise PaaS vendor that is owned by VMware,
EMC, and others. Pivotal CF is a proprietary enterprise PaaS based on Cloud
Foundry. For a comparison of Apprenda and Pivotal please see this Enterprise PaaS
Comparison.
Red Hat OpenShift is an open-source enterprise PaaS (CEAP) that is not based on
Cloud Foundry, the more prominent open-source option. Red Hat has its own public
PaaS version of OpenShift. Red Hat has added OpenShift on top of its Red Hat
Enterprise Linux (RHEL), JBoss, and OpenStack stack. For a comparison of Apprenda
and OpenShift please see this Enterprise PaaS Comparison.
PaaS FAQ
1. WHAT IS PLATFORM AS A SERVICE (PAAS)?
The PaaS platform typically includes databases and middleware, as well as services to
develop, test, deploy, host, and maintain applications within the same integrated
development environment (IDE), and service provisioning that allows multiple users to
concurrently use the same IDE.
One major benefit of PaaS is cost reduction, which largely stems from the
standardization and consolidation of resources and elimination of redundant work. PaaS
can also significantly reduce the amount of time and effort spent on development,
deployment, and upgrades. With PaaS, developers can build web applications quickly
without installing any tools or software?and Apprendas patching engine makes it even
easier to apply patches for bug fixes, small upgrades, and entire application overhauls.
PaaS is typically priced on a utility billing model, so users pay only for what they use.
Because PaaS provides a complete hardware and software infrastructure, it eliminates
the need to invest in hardware or software and offers significant infrastructural savings
as well?although if youve already put money into developing infrastructure, you can
simply implement Apprendas deploy-anywhere PaaS stack on top of it.
Development teams who want to speed their applications time to market; organizations
with high operational costs who want to reduce the administrators needed for a set of
applications; enterprises with looking their applications on a common architecture; and
organizations that need critical support metrics for usage and chargeback. Any
organization that wants to reduce IT costs, reduce the complexity of database elements
and operating systems, increase scalability, and improve their quality of service can
benefit from PaaS.
Essentially, PaaS is a data center OS. Instead of writing an application and going
through the long, tedious process of configuring it to be deployed on a specific
infrastructure, application developers can simply upload the application onto the PaaS
and have it up and running within minutes. The PaaS can handle the job of matching
various application components to the infrastructure, deploying and dynamically
configuring those components, and even providing developers with tools to scale and
update the application over time.
PaaS providers deliver a full PaaS software stack consisting of proprietary components.
If developers have enough experience, developing applications with the PaaS approach
will be their best and most money-saving option. Private PaaS gives enterprises the
ability to deploy and host a PaaS within their IT infrastructure, allowing internal
developers to reap the benefits of PaaS without the accessibility problems of public
PaaS. For example, your company might employ hundreds of developers who write
internal software, which is hosted on thousands of internal servers; a private PaaS will
incorporate that entire infrastructure into a single, internal PaaS that is accessible to the
entire community of internal developers. Flexible PaaS software technology can be
deployed on any infrastructure. There are several vendors out there that offer such
flexible PaaS software technology. For instance, Apprenda makes a flexible PaaS
software stack for enterprises running Microsofts .NET framework.
It depends, but enterprises commonly use PaaS to support social, mobile, and
employee applications, and even applications with no Web front-end: trading systems,
modeling systems, payment processing, client servers, messaging applications, and
more.
Benefits of Private Cloud
Computing on PaaS
Current and future custom applications can be moved to a private PaaS
cloud, providing notable benefits including:
FASTER TIME TO MARKET
Private PaaS cloud solutions such as Apprenda allow you to manage all of your
applications from a central place, eliminating the concern of being outside IT
governance. In addition to providing commoditized platform services (e.g. caching), the
Private PaaS model allows enterprise software developers to instantly access internal
infrastructure. It essentially allows for improved infrastructure utilization, and removes
unnecessary human configuration tasks by providing self-service interfaces.
Simplifying the tasks of application developers eliminates the need for time consuming
configuration tasks, by offering a user-friendly plug-and-play interface.
Cloud application services, or Software as a Service (SaaS), represent the largest cloud
market and are still growing quickly. SaaS uses the web to deliver applications that are
managed by a third-party vendor and whose interface is accessed on the clients side.
Most SaaS applications can be run directly from a web browser without any downloads
or installations required, although some require plugins.
Because of the web delivery model, SaaS eliminates the need to install and run
applications on individual computers. With SaaS, its easy for enterprises to streamline
their maintenance and support, because everything can be managed by vendors:
applications, runtime, data, middleware, OSes, virtualization, servers, storage and
networking.
Popular SaaS offering types include email and collaboration, customer relationship
management, and healthcare-related applications. Some large enterprises that are not
traditionally thought of as software vendors have started building SaaS as an additional
source of revenue in order to gain a competitive advantage.
Cloud platform services, or Platform as a Service (PaaS), are used for applications, and
other development, while providing cloud components to software. What developers
gain with PaaS is a framework they can build upon to develop or customize
applications. PaaS makes the development, testing, and deployment of applications
quick, simple, and cost-effective. With this technology, enterprise operations, or a third-
party provider, can manage OSes, virtualization, servers, storage, networking, and the
PaaS software itself. Developers, however, manage the applications.
Similar to the way in which you might create macros in Excel, PaaS allows you to create
applications using software components that are built into the PaaS (middleware).
Applications using PaaS inherit cloud characteristic such as scalability, high-availability,
multi-tenancy, SaaS enablement, and more. Enterprises benefit from PaaS because it
reduces the amount of coding necessary, automates business policy, and helps migrate
apps to hybrid model. For the needs of enterprises and other organizations, Apprenda is
one provider of a private cloud PaaS for .NET and Java.
Compared to SaaS and PaaS, IaaS users are responsible for managing applications,
data, runtime, middleware, and OSes. Providers still manage virtualization, servers,
hard drives, storage, and networking. Many IaaS providers now offer databases,
messaging queues, and other services above the virtualization layer as well. Some tech
analysts draw a distinction here and use the IaaS+ moniker for these other options.
What users gain with IaaS is infrastructure on top of which they can install any required
platform. Users are responsible for updating these if new versions are released.
IaaS Examples: Amazon Web Services (AWS), Cisco Metapod, Microsoft Azure,
Google Compute Engine (GCE), Joyent
Common IaaS Use-Case: Extends current data center infrastructure for temporary
workloads (e.g. increased Christmas holiday site traffic)
Technology Analyst Examples: Kyle Hilgendorf (Gartner), Drue Reeves (Gartner),
Lydia Leong (Gartner), Doug Toombs (Gartner), Gregor Petri (Gartner EU), Tiny
Haynes (Gartner EU), Jeffery Hammond (Forrester), James Staten (Forrester)
PaaS Model / Systems
Platform as a Service (PaaS) is software that connects people or software
components with applications. With the infrastructure of code provided by
the PaaS model, applications can be developed and deployed at a lower
cost because the need to buy and manage the underlying software and
hardware has been eliminated.
The PaaS model offers a wide range of application services to facilitate team
collaboration and coordination, web service and database integration, state
management, and application instrumentation?all while providing storage, security, and
scalability. Cloud platform services allow for the development, testing, deployment,
hosting, and maintenance of applications within the same integrated development
environment. Different combinations of services can be configured to support the life
cycle of application development. Unlike SaaS, the PaaS model offered by providers
such as Apprenda can be successfully used even by developers who are operations
blind.
The PaaS system allows developers to define rich and interactive multi-user
environments and scenarios that can be tested by real people, with tools that make it
easy to identify problematic features. Different interfaces can be defined to suit different
user profiles. User experience is greatly improved with the PaaS model because it can
incorporate channels for user feedback throughout all the phases of design,
development, testing, production, and evolution of a given application.
The PaaS model typically supports the shared use of applications by many users while
providing scalability, concurrency management, and security. User profiles, access,
navigation history, interaction history, and application usage can all be tracked and
defined.
PaaS allows for greatly enhanced productivity because it offers users the ability to form
and share code with ad-hoc, pre-defined, or distributed teams. The PaaS system allows
schedules, objectives, teams, and the different responsibilities and roles of users and
owners to be defined, updated, and tracked based on access rights.
TARGETED UTILITY INSTRUMENTATION
With the PaaS model, developers have more insight into the behavior of users and the
workings of applications. They can easily determine whether services are valuable to
customers and track the usage patterns of different services or user interactions.
Hybrid Cloud
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). Although
the public and private segments of the hybrid cloud are bound together,
they remain unique entities. This allows a hybrid cloud to offer the benefits
of multiple deployment models at once. Hybrid clouds vary greatly in
sophistication. For example, some hybrid clouds offer only a connection
between the on premise and public clouds. All the difficulties inherent in
the two different infrastructures is the responsibility of operations and
application teams
Most hybrid cloud articles, pundits, and specialists are focused on the infrastructure.
However, Enterprise PaaS provides some of the most essential pieces of a hybrid
cloud:
Abstraction Layer for Applications When avoidable, apps should not have
infrastructure dependence. Linux and Windows containers are the primary
means of abstracting infrastructure from applications. The Enterprise PaaS can
also be designed to reduce or eliminate API for platform usage. When there is no
API usage combined with third party container standards such as Docker and
Rocket, applications will also have technological portability from the PaaS.
Policy-Driven Deployment Organizations need to be able to programmatically
deploy workloads based on policy. Some workloads will be deployed into public
cloud based upon risk profile and development stage while others will be
deployed internally. The application may also move back and forth depending on
the desired outcomes. For example, an organization might elect to use a public
cloud service for its archived data, but keep the maintenance of its operational
customer data in-house.
Policy-Driven Service Catalog Some developers should have on-demand
access to multiple cloud servicese.g., data warehousing and Hadoopfrom
the chosen public cloud providers and internal operations. That access should be
granted to specific development teams in a self-service catalog.
Existing and New Application / Microservices Support The new
environment should not be exclusive of new greenfield operations and
applications but should not exclude them either. Existing applications can and
should take advantage of the scalability, elasticity, and other defining
characteristics of the cloud. New applications with advanced cloud features
should be easier to build. Bootstrap policies and other platform features should
help create smart end points that can use dumb pipes, the primary goal of
microservices
The idea behind hybrid cloud is that businesses can use it to take advantage of the
scalability and cost-effectiveness offered by the public cloud computing environment
without exposing mission-critical applications and data to the vulnerabilities associated
with the public cloud option. In addition, the hybrid cloud model creates what is often the
best and most efficient solution because different types of data can be moved onto
whatever platform provides the most efficient and secure environment.
A hybrid cloud is typically created in one of two ways: either a vendor with an existing
private cloud solution forms a partnership with a public cloud provider, or a public cloud
provider forms a partnership with a vendor that provides private cloud platforms.
Many organizations can reap significant benefits from the hybrid cloud option. For
example, a company that wants to use a SaaS application but is concerned about
security risks can have a third-party vendor, such as Apprenda, create a private cloud
for the company inside its firewall. Or a company that offers services tailored for
different vertical markets can opt to use a public cloud to interact with its clients, but
keep its data in the secure environment of a private cloud.
Cloud Instances (Single /
Multi-Instance)
A cloud instance refers to a virtual server instance from a public
or private cloud network. In cloud instance computing, single hardware is
implemented into software and run on top of multiple computers. Cloud
instance computing is highly dynamic, enabling users not to worry about
how many servers can fit on a single hardware application without causing
major slowdowns during peak hours. If performance maxes out, you can
simply add more computers. Resources can be freely allocated to and from
other computers by the software, enabling maximum utilization and
helping to prevent crashes. If the server grows beyond the limits of a single
machine, cloud instance computing allows the cloud software to be easily
expanded to span multiple machines, whether temporarily or permanently.
Cloud instance computing also reduces the downtime associated with
servicing hardware. A server in the cloud can be easily moved from one
physical machine to another without going down. The abstraction
associated with the cloud allows hardware to seamlessly transfer all data
from one point to another without the end-user having any idea that it
happened. In sum, cloud instance computing is highly dynamic, can
reassign resources as needed, and allows for the movement of servers as
they run in the cloud.
THE SINGLE INSTANCE CLOUD VS. THE MULTI INSTANCE CLOUD
Whats the difference between a single instance cloud and a multi instance cloud? Think
of the cloud as a single entity comprising the data shared across multiple machines.
The cloud juggles resources between the different machines while communicating with
remote machines. In a multi-instance cloud, entirely separate instances (that is,
separate copies of defined data items) are run parallel to one another.
Although the single-instance cloud shouldnt get bogged down while servicing requests
as long as the hardware has adequate resources and speed, additional cloud instances
in the multi instance cloud can help to speed up the overhead associated with
interfacing the remote machines with which the cloud communicates.
If you are unfamiliar with the terms, multi tenancy commingles the data and processing
for multiple clients in a single application instance. By contrast, a multi instance
architecture uses one application instance per client. With the multi-instance model,
organizations must devote their time to efficiently creating and managing multiple
application instances, whereas organizations that opt for multi-tenancy often need to
invest in application code to prevent the exposure of data from one client to another.
However, some providers, such as Apprenda, offer single-instance multi tenancy
architecture as a standard platform service, guaranteeing security, streamlining the
development cycle, and ensuring the efficient and high-quality utilization of resources.
SaaS
WHAT IS SAAS?
IaaS can be delivered via a public cloud, a private cloud, a community cloud or a hybrid
cloud. The infrastructure that is delivered by IaaS resides on the bottom layer of a cloud
computing stack; with PaaS delivery occurring on the middle layer and SaaS delivery
occurring on the top layer. In many cases, IaaS is bundled together with PaaS and
SaaS delivery as a complete cloud computing solution, as is the case with the hosted
cloud services delivered by providers such as Amazon.com (i.e. its AWSoffering),
Google (i.e. its App Engine offering) and Microsoft (i.e. its Azure/AppFabric offerings). In
addition, IaaS frequently incorporates virtualization into its design in order to facilitate
optimal levels of utilization for physical computing resources. Network connectivity and
storage capacity are also included in the IaaS definition, since these resources are a
part of the physical computing resources that are delivered by IaaS.
PaaS
The acronym PaaS stands for Platform as a Service. PaaS is an extension
of the SaaS (Software as a Service) model, which allows for the use of
applications hosted remotely.
WHAT IS PAAS?
PaaS is a method by which an entire computing platform can be utilized remotely over
the internet via cloud computing. PaaS provides a way to essentially outsource all of the
infrastructure needed to execute a solution without the need to purchase and implement
a new platform. This allows individual clients to share the same resources and avoid the
costs of purchasing, maintaining, upgrading and troubleshooting the hardware and
software were they hosted in-house. This service model typically allows clients to be
charged only for the share of the resources they use, much like a utility company
charging a homeowner per kilowatt hour. This can be especially useful for a business
that requires a specific application it would only use on occasion.
There are several types of PaaS sevices. Add-On Development Facilities which
customize current SaaS (Software-as-a-Service) applications, Stand Alone
Development Environments which supply a generic development environment,
Application Delivery-Only Environments which provide only hosting-level services and
Open Platform as a Service, which provides an unconstrained development
environment customizable by the developer.
PaaS typically allow users to develop, test and deploy applications in a single
environment. Though application development life-cycle services may vary, the PaaS
model allows for them to take place in the same platform within which the application
will be deployed, allowing for dynamic user testing and updates. User interface tools are
typically web-based allowing for ease of user accessibility as well as rapid end-user
testing during various stages of development.
Likewise, this architecture allows for setting user permission levels and access to the
source code to the development team. Development teams can be managed through
provided productivity features such as permissions, action items, objectives, and
allocation of ownership of specific project areas. Additionally, PaaS services can
provide dynamic usage statistics, alerting the developer to who is using what and when,
allowing for per-use billing and revealing what services are being utilized and which are
not.
Application Lifecycle
Management
Application Life cycle Management is the continuous process of managing
the life of an application. Although some people equate the application
lifecycle with the software development lifecycle, it comprises much more.
In fact, an applications lifecycle includes the entire time during which an
organization spends money on it, from the initial idea to the end of the
applications life.
THE THREE ASPECTS OF APPLICATION LIFECYCLE MANAGEMENT
Application Life cycle Management can be divided into three distinct areas:
Governance, Development, and Operations.
An applications life cycle begins with its creation, proceeds to deployment and
production, and ends in removal from service when the application no longer has
business value. Governance, which encompasses all of the decision making and project
management for the application, extends over this entire time. The purpose of
Governance is to make sure the application always provides what the business needs
and to ensure an ongoing understanding of the applications benefits and costs.
Because good Governance allows businesses to maximize the value of their
applications, in many ways, its the most important aspect of Application Life cycle
Management.
Every deployed application must be monitored and managed. Operations, the work
required to run and manage the application, typically begins shortly before deployment
and runs continuously until the application is removed from service.
The three aspects of Application Lifecycle Management are tightly connected, and any
organization that aspires to maximize the business value of custom software will have to
do all three well. A number of vendors, such as Apprenda, provide tools that can make
this easier
Application Lifecycle
Management
Application Life cycle Management is the continuous process of managing
the life of an application. Although some people equate the application
lifecycle with the software development lifecycle, it comprises much more.
In fact, an applications lifecycle includes the entire time during which an
organization spends money on it, from the initial idea to the end of the
applications life.
THE THREE ASPECTS OF APPLICATION LIFECYCLE MANAGEMENT
Application Life cycle Management can be divided into three distinct areas:
Governance, Development, and Operations.
An applications life cycle begins with its creation, proceeds to deployment and
production, and ends in removal from service when the application no longer has
business value. Governance, which encompasses all of the decision making and project
management for the application, extends over this entire time. The purpose of
Governance is to make sure the application always provides what the business needs
and to ensure an ongoing understanding of the applications benefits and costs.
Because good Governance allows businesses to maximize the value of their
applications, in many ways, its the most important aspect of Application Life cycle
Management.
Every deployed application must be monitored and managed. Operations, the work
required to run and manage the application, typically begins shortly before deployment
and runs continuously until the application is removed from service.
The three aspects of Application Lifecycle Management are tightly connected, and any
organization that aspires to maximize the business value of custom software will have to
do all three well. A number of vendors, such as Apprenda, provide tools that can make
this easier
There are several key characteristics at the foundation of the software on demand or
SaaS model of software delivery. These characteristics and how they differ from the
traditional software model )on-premise) are as follows:
Centralized Hosting / Delivery this characteristic of software on demand differs from
the traditional model of software delivery that requires the added operational overhead of
providing software to users through different distribution channels.
Uniform Platform for Delivery this characteristic of software on demand differs from
the traditional model of software delivery which requires different software packages for
different operating systems and operating platforms. With software on demand, all SaaS
solutions function on a single platform (the Internet) with a uniform type of client interface
(a web browser).
Open Collaboration / Sharing this characteristic of software on demand differs from
the traditional model of software delivery which requires IT administrator management of
user permission profiles for shared access to computing resources. With SaaS, platform
tools such as automated user provisioning and self service account management
provides SaaS consumers with the necessary tools to control how and when they share
tasks, data and information with other users who are internal or external to their
organization.
There are many other important characteristics of software on demand that are related
to the development, management and marketability of each SaaS solution
an ASP (application service provider) or ISV (independent software vendor) has to offer
to consumers. These characteristics include (but are not limited to): SaaS Architecture
(e.g. Service Oriented Architecture), SaaS Integration (e.g. Web Application Interfaces )
and SaaS Development (e.g. agile software methodologies)