Вы находитесь на странице: 1из 15

SAAS OVERVIEW (SOFTWARE AS A SERVICE)

According to Gartner, Software as a Service (SaaS) is "software that is owned, delivered and
managed remotely by one or more providers. The provider delivers software based on one set of
common code and data definitions that is consumed in a one-to-many model by all contracted
customers at anytime on a pay-for-use basis or as a subscription based on use metrics."
ADVANTAGES OF SAAS
1. Easy to access and use
All you need is an internet connection to access and utilize the software. That means you
can access it anywhere, anytime, from any computer or device. Gone are the days when your
mobile workforce could only achieve limited productivity outside the office. The dawn of SaaS
means that, with the right systems in place, we can be as productive outside the office as we
would be on-site.
Because most people are already familiar and comfortable with using the internet, they
usually adopt SaaS applications relatively easily. Plus, the extremely competitive community of
leading SaaS providers (think SalesForce, Microsoft, Oracle, Adobe, Workday and countless
others) places a huge emphasis on user experience, or what they like to call UX. What this means
for you is that there are armies of developers, designers and strategists working to make
countless SaaS tools ever more simple and intuitive for you to use.
2. Vendor accountability
Since SaaS applications are subscription-based, dissatisfied customers can easily either
cancel their subscription or choose not to renew. Therefore, vendors are held to a higher level of
accountability and must strive to provide an excellent service, or they will not succeed.
As I mentioned above, the SaaS market is a brutally competitive world, where the gold-
standard goal is to create experiences that are so good, they disrupt the existing ecosystem of
products and tools. That said, SaaS vendors tend to be hyper-focused on providing great
customer experiences, being responsive to customer requests, and constantly improving their
products.
With constant improvement comes constant testing, and SaaS products are not immune to
the glitches and bugs you might experience with any software programs. However, since there is
no element of patching or upgrades that end-users are responsible for, the sole accountability
around any such bugs rests solely on the SaaS vendor. As a result, many SaaS vendors have
alpha and beta testing programs, where some of the more adventurous users can try out new
features and provide feedback to help further improve the products for all users.
3. No burden on users
SaaS applications being hosted by the provider is good news for users. Why? First of all,
there is no large upfront investment and no hardware requirements on the user's side, besides a
device with internet access. In fact, most SaaS products either work seamlessly across desktop
and mobile devices of all kinds, and/or have mobile apps or specialized interfaces built to
perform best on mobile devices. This means that tasks that once required you to sit at your
Windows workstation in a cubicle, can now be accomplished from any device, running any
operating system, anywhere in the world. Pretty powerful stuff, huh?
Second of all, since the provider hosts the applications on their own systems, they can
make updates for all user accounts at once, so there is virtually no maintenance for users to
worry about. This can take a lot of strain off of IT departments. Since they don't have to deploy,
patch, or otherwise maintain the solutions, they are free to focus on their core competencies and
projects that further their organization's goals.
4. Lower costs
Since SaaS applications are subscription-based, they usually cost less than licensing fees
that one would have to pay for traditional software packages. Furthermore, as previously
mentioned, SaaS applications typically do not require any of the large, upfront capital
investments that traditional software packages often require.
CHARACTERISTICS
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)

Multi tenant concept


First, lets talk about What exactly Multi-tenant and Single Tenants Architecture,As name

suggest, Multi-tenant Software as a Service (SaaS) is an architecture where multiple companies


share the same instance to store their data. This instance is typically divided (or partitioned) to

prevent the companies from accessing each other’s information. This is like high-rise building

where the floor plans are generally set but minor cosmetic changes can be made to the individual

units. Significant change comes at a much higher cost, On the Other hand,

Single-tenant (or hosted) Software as a Service (SaaS) is an architecture where each company

has their own instance of the software application and supporting infrastructure. Think of it like a

neighborhood community developed by the same architect and engineer where each household

has the ability to change and customize their property as desired. By having a single hosted

instance the purchaser can tweak and customize the software to meet their needs.

Now we have exact definition with example of High rise building and Individual Community,

we can immediately compare all benefits and drawbacks with our real time challenges.

a) If Customer decides to run the cloud on-premise, they must bear the costs of the whole system

alone.

b) A single-tenant system is generally more expensive than a multi-tenant solution.

c) A single-tenant system is generally not the most efficient use of resources, unless it’s fully

loaded. For each instance, the underlying software, such as the operating system and run time

libraries, must be updated.

Benefits of Multiple Tenant SaaS


a) Hardware and Power Economy – A major benefit to multi-tenant is on the cost side. With

resource pooling, there are considerable savings in hardware and power. With single tenancy, a

separate physical or virtual machine needs to be “spun up” for each customer.

b) Effort to Upgrade – Multi-tenancy has forced upgrades to be seamless, as upgrades can’t

require any level of per customer intervention when thousands of customers are upgraded

simultaneously.

c) Backups and Redundancy – Creating that level of redundancy would be a lot more technically

challenging if tens of thousands of customers each had their own virtual server in each of two

data centers.

Drawbacks of Multi-tenant Architecture

a) Less Customization: As a result of multiple tenants running their business off the same code

and database, individual businesses have virtually no ability to customize the software to their

specific needs

b) Less Authorization and Time Delay: Changes to the software application could be made and

deployed to your business without authorization as you are relying on the same code base as the

other (potentially larger) tenants. In addition, future features / functionality could be delayed or

removed from the product road map as multi-tenant SaaS providers typically focus on the feature

requests (and bugs) submitted by their largest customers

Benefits of Single Tenant SaaS


a) Maximum privacy: There is only one instance for a user, there’s less risk of another business

either accidentally or through corporate espionage snooping on data that doesn’t belong to them.

b) It’s impossible to affect someone else’s tasks. Single-tenant solutions are more popular with

enterprise businesses.

c) Jobs with intensive computing requirements can make full use of the system.

Drawbacks of Single Tenant SaaS:

a) If Customer decides to run the cloud on-premise, they must bear the costs of the whole system

alone.

b) A single-tenant system is generally more expensive than a multi-tenant solution.

c) A single-tenant system is generally not the most efficient use of resources, unless it’s fully

loaded. For each instance, the underlying software, such as the operating system and run time

libraries, must be updated.


OpenSaas

OpenSaaS refers to software as a service (SaaS) based on open source code. Similar to SaaS

applications, Open SaaS is a web-based application that is hosted, supported and maintained by a

service provider. While the roadmap for Open SaaS applications is defined by its community of

users, upgrades and product enhancements are managed by a central provider. The term was

coined in 2011 by Dries Buytaert, creator of the Drupal content management framework.

WordPress and Why Unified as a successful example of an OpenSaaS software delivery model

that gives customers "the best of both worlds, and more options. The fact that it is open source

means that they can start building their websites by self-hosting WordPress and customizing

their website to their heart’s content. Concurrently, the fact that WordPress is SaaS means that

they don’t have to manage the website at all -- they can simply pay WordPress.com to host it."

Advantages of an OpenSaaS Platform

What’s SaaS? Although we assume most of you know by now, it’s an application hosted in the

cloud and accessible via the internet. It’s like a rental, where you pay an amount each month.

Traditional software, on the other hand, has to be bought and downloaded onto your computer.

Aka, pretty old-fashioned ;)

We’re now a few decades past the invention of the computer, the microprocessor, and the

modern-day internet, all of which is required to deliver software at a global scale. Software

companies are not new; for example, Microsoft and IBM have been around for decades.

Benefits

Affordability: SaaS boils down to some serious financial savings. It eliminates the upfront cost

of installing/purchase and the ongoing costs such as maintenance and upgrades. In the end, you

only pay for what you actually need (unlike with licensing software).
Security: SaaS will take the security burden off your IT department and transfer it to whoever is

paid to maintain it - the application's provider. And SaaS vendors and providers have to undergo

strict security audits, meaning they will invest more in security than a typical SMB.

Scalability and integrations: The pay-as-you-go model of SaaS means you have the flexibility to

change your usage plan as you grow. It can also be done without advanced notice. Even better,

most apps are easily connected to third-party apps and have open API access for custom

connections.

A solution for SaaS’s set back: OpenSaaS

A notable criticism of SaaS, despite its many advantages, came from Richard Stallman from

the Free Software Foundation. He argued that SaaS violates the principles that underlie free

software, namely that anyone can access, change, and distribute it in any way they like. There is,

however, an exception. According to Stallman:

Open source provides the escape hatch. In Drupal Gardens, users [are] able to press a button and

get a source code version of the Drupal code that runs their site along with the data from the

database. Then, you can take that code [and] do anything that you would like to do.

SaaS does not provide users with a copy of the executable file; they can’t touch it or see it.

Therefore, it’s pretty impossible for users to see what it does or change it. Open source code, on

the other hand, is openly available to anyone and is a huge accelerator of growth, since it

encourages collaborative effort from thousands of developers.

OpenSaaS basically provides customers with the best of both worlds:

1. It’s open source so you can build your own platforms with it and customize all you want.

2. It’s SaaS, which means you can choose not to manage the platform at all, you can simply

pay your software provider.


SOA - Cloud Computing
Description
Cloud computing is a model used for enabling convenient and usage-based network access to a
configurable computing resources (eg. networks, servers etc) that can be provided and used
rapidly.

• It provides a chance to business users to implement services with usage-based billing that
is changed according to their requirements without need of consulting with IT
department.
• It provides an abstraction layer between computing resources and its technical
implementation details and sequentially enables computational resources to be used while
avoiding efforts in infrastructure management.

Concepts in Cloud Computing


The below figure shows the SOA cloud computing along with the models:

Below are the models that are differentiated on the horizontal scaling basis in cloud computing:
• Infrastructure-as-a-Service (IaaS): It provides a hardware platform as a service.
• Platform-as-a-Service (PaaS): It provides end-users an application development
environment delivered over the internet.
• Software-as-a-Service (SaaS): It provides end-users a standardized, network-delivered IT
applications.
The distinctions are made according to availability and the location of installation in the
deployment models. Private clouds are internal company services whereas public clouds are the
services that are available to the public on internet.
In the large companies where IT plays an important role, internal company cloud solutions are
often built in their own data centers. Small and medium companies often use public cloud
services. Cloud Computing provides a very flexible and scalable platform through processing
external services and also has the ability to connect with customers, suppliers etc.

What is Service Oriented Architecture (SOA)?


The Service Oriented Architecture is an architectural design which includes collection of
services in a network which communicate with each other. The complication of each service is
not noticeable to other service. The service is a kind of operation which is well defined, self
contained that provides separate functionality such as checking customer account details,
printing bank statements etc and does not depend on the sate of other services.

History
The first report published on SOA by the analysts Roy W.Schulte and Yefim V.Natis in 1996.

Why to use SOA?


• SOA is widely used in market which responds quickly and makes effective changes
according to market situations.
• The SOA keep secret the implementation details of the subsystems.
• It allows interaction of new channels with customers, partners and suppliers.
• It authorizes the companies to select software or hardware of their choice as it acts as
platform independence.

Features
• SOA uses interfaces which solves the difficult integration problems in large systems.

• SOA communicates customers, providers and suppliers with messages by using the XML
schema.

• It uses the message monitoring to improve the performance measurement and detects the
security attacks.
• As it reuses the service, there will be lower software development and management costs.

Advantages
• SOA allows reuse the service of an existing system alternately building the new system.
• It allows plugging in new services or upgrading existing services to place the new
business requirements.

• It can enhance the performance, functionality of a service and easily makes the system
upgrade.

• SOA has capability to adjust or modify the different external environments and large
applications can be managed easily.
• The companies can develop applications without replacing the existing applications.

• It provides reliable applications in which you can test and debug the independent services
easily as compared to large number of code.

Disadvantages
• SOA requires high investment cost (means large investment on technology, development
and human resource).

• There is greater overhead when a service interacts with another service which increases
the response time and machine load while validating the input parameters.

• SOA is not suitable for GUI (graphical user interface) applications which will become
more complex when the SOA requires the heavy data exchange.

PaaS: Platform as a Service


Platform as a Service (PaaS) or Application Platform as a Service (aPaaS) or platform base
service is a category of cloud computing services that provides a platform allowing customers to
develop, run, and manage applications without the complexity of building and maintaining the
infrastructure typically associated with developing and launching an app.[1][2][3] PaaS can be
delivered in three ways:
· as a public cloud service from a provider, where the consumer controls software
deployment with minimal configuration options, and the provider provides the networks,
servers, storage, operating system (OS), middleware (e.g. Java runtime, .NET runtime,
integration, etc.), database and other services to host the consumer's application.
·
as a private service (software or appliance) behind a firewall.
· as software deployed on a public infrastructure as a service

PaaS Delivery
The delivery model of PaaS is similar to SaaS, except instead of delivering the software over the
internet, PaaS provides a platform for software creation. This platform is delivered over the web,
and gives developers the freedom to concentrate on building the software while still not having
to worry about operating systems, software updates, storage, or infrastructure.

PaaS allows businesses to design and create applications that are built into the PaaS with special
software components. These applications, or middleware, are scalable and highly available as
they take on certain cloud characteristics.

PaaS Advantages
No matter what size of company you may be in, there are numerous advantages for using PaaS:

· Makes the development and deployment of apps simple and cost-effective


· Scalable
· Highly available
· Gives developers the ability to create customized apps without the headache of
maintaining the software
· Greatly reduces the amount of coding
· Automates business policy
· Allows easy migration to the hybrid model

PaaS Characteristics
PaaS has many characteristics that define it as a cloud service, including:

· It is built on virtualization technology, meaning resources can easily be scaled up or


down as your business changes
· Provides a variety of services to assist with the development, testing, and deployment
of apps
· Numerous users can access the same development application
· Web services and databases are integrated

When to Use PaaS


There are many situations that utilizing PaaS is beneficial or even necessary. If there are multiple
developers working on the same development project, or if other vendors must be included as
well, PaaS can provide great speed and flexibility to the entire process. PaaS is also beneficial if
you wish to be able to create your own customized applications. This cloud service also can
greatly reduce costs and it can simplify some challenges that come up if you are rapidly
developing or deploying an app.

Examples of PaaS
AWS Elastic Beanstalk, Windows Azure, Heroku, Force.com, Google App Engine, Apache
Stratos, OpenShift

Platform-as-a-Service offers the runtime environment for applications. It also offers


development and deployment tools required to develop applications. PaaS has a feature of point-
and-click tools that enables non-developers to create web applications.
App Engine of Google and Force.com are examples of PaaS offering vendors. Developer may
log on to these websites and use the built-in API to create web-based applications.
But the disadvantage of using PaaS is that, the developer locks-in with a particular vendor. For
example, an application written in Python against API of Google, and using App Engine of
Google is likely to work only in that environment.
The following diagram shows how PaaS offers an API and development tools to the developers
and how it helps the end user to access business applications.

Benefits
Following are the benefits of PaaS model:

Lower administrative overhead


Customer need not bother about the administration because it is the responsibility of cloud
provider.
Lower total cost of ownership
Customer need not purchase expensive hardware, servers, power, and data storage.
Scalable solutions
It is very easy to scale the resources up or down automatically, based on their demand.
More current system software
It is the responsibility of the cloud provider to maintain software versions and patch installations.
Issues
Like SaaS, PaaS also places significant burdens on customer's browsers to maintain reliable and
secure connections to the provider’s systems. Therefore, PaaS shares many of the issues of SaaS.
However, there are some specific issues associated with PaaS as shown in the following
diagram:
Lack of portability between PaaS clouds
Although standard languages are used, yet the implementations of platform services may vary.
For example, file, queue, or hash table interfaces of one platform may differ from another,
making it difficult to transfer the workloads from one platform to another.
Event based processor scheduling
The PaaS applications are event-oriented which poses resource constraints on applications, i.e.,
they have to answer a request in a given interval of time.
Security engineering of PaaS applications
Since PaaS applications are dependent on network, they must explicitly use cryptography and
manage security exposures.
Characteristics
Here are the characteristics of PaaS service model:
• PaaS offers browser based development environment. It allows the developer to create
database and edit the application code either via Application Programming Interface or
point-and-click tools.
• PaaS provides built-in security, scalability, and web service interfaces.
• PaaS provides built-in tools for defining workflow, approval processes, and business
rules.
• It is easy to integrate PaaS with other applications on the same platform.
• PaaS also provides web services interfaces that allow us to connect the applications
outside the platform.
PaaS Types
Based on the functions, PaaS can be classified into four types as shown in the following diagram:

Stand-alone development environments


The stand-alone PaaS works as an independent entity for a specific function. It does not include
licensing or technical dependencies on specific SaaS applications.
Application delivery-only environments
The application delivery PaaS includes on-demand scaling and application security.
Open platform as a service
Open PaaS offers an open source software that helps a PaaS provider to run applications.
Add-on development facilities
The add-on PaaS allows to customize the existing SaaS platform.

Вам также может понравиться