19
Unit-9 Software as a Service

Software as a service, software engineering

Embed Size (px)

Citation preview

Page 1: Software as a service, software engineering

Unit-9Software as a Service

Page 2: Software as a service, software engineering

Intro to SaaS - Definition

•Software as a service (SaaS) is a model of software delivery where the software company provides maintenance, daily technical operation, and support for the software provided to their client. • It assumes the software is delivered over the

internet. •Software delivered to home consumers, small

business, medium and large business

Page 3: Software as a service, software engineering

Software as a service (Saas)Traditional Software On-Demand Utility

Build Your Own Plug In, Subscribe

Pay-per-Use

Page 4: Software as a service, software engineering

Intro to SaaS• The web as a platform is the center point•Web-browser acting as a thin-client for accessing the

software remotely across the internet. • Network-based access to, and management of,

commercially available (i.e., not custom) software • application delivery that typically is closer to a one-to-many

model (single instance, multi-tenant architecture) than to a one-to-one model, including architecture, pricing, partnering, and management characteristics

Page 5: Software as a service, software engineering

Comparison of business modelTraditional packaged software Software as a serivce

Architect solutions to be run by an individual company in a dedicated instantiation of the software

Designed to run thousands of different customers on a single code

Designed for customers to install, manage and maintain.

Designed from the outset up for delivery as Internet-based services

Page 6: Software as a service, software engineering

Traditional packaged Software Software as a serivce

Version control Upgrade fee

Fixing a problem for one customer fixes it for everyone

Streamlined, repeatable functionality via Web services, open APIs and standard connectors

Infrequent, major upgrades every 18-24 months, sold individually to each installed base customer.

• Frequent, "digestible" upgrades every 3-6 months to minimize customer disruption and enhance satisfaction.

May use open APIs and Web services to facilitate integration, but each customer must typically pay for one-off integration work.

Page 7: Software as a service, software engineering

Hidden Cost

Page 8: Software as a service, software engineering

Applicability of Saas•Enterprise Software Application• Perform business functions• Organize internal and external information• Share data among internal and external users• The most standard type of software applicable to Saas

model• Example: Saleforce.com CRM application, Siebel On-

demand application

Page 9: Software as a service, software engineering

Applicability of Saas(Continue)

•Single-User software application• Organize personal information• Run on users’ own local computer• Serve only one user at a time• Inapplicable to Saas model• Data security issue• Network performance issue

• Example: Microsoft office suite

Page 10: Software as a service, software engineering

Applicability of Saas(Continue)

• Infrastructure software• Serve as the foundation for most other enterprise

software application• Inapplicable to Saas model• Installation locally is required• Form the basis to run other application

• Example: Window XP, Oracle database

Page 11: Software as a service, software engineering

Applicability of Saas(Continue)

•Embedded Software• Software component for embedded system• Support the functionality of the hardware device• Inapplicable to Saas model• Embedded software and hardware is combined together and is

inseparable• Example: software embedded in ATM machines, cell

phones, routers, medical equipment, etc

Page 12: Software as a service, software engineering

SaaS - Pros • Stay focused on business processes• Change software to an Operating Expense instead of a Capital

Purchase, making better accounting and budgeting sense. • Create a consistent application environment for all users• No concerns for cross platform support• Easy Access• Reduced piracy of your software• Lower Cost• For an affordable monthly subscription • Implementation fees are significantly lower

• Continuous Technology Enhancements

Page 13: Software as a service, software engineering

SaaS - Cons• Initial time needed for licensing and agreements• Trust, or the lack thereof, is the number one factor blocking the

adoption of software as a service (SaaS).• Centralized control• Possible erosion of customer privacy

• Absence of disconnected use

Page 14: Software as a service, software engineering

SaaS Architecture• Driven by • Bandwidth technologies• The cost of a PC has been reduced significantly with more

powerful computing but the cost of application software has not followed• Timely and expensive setup and maintenance costs• Licensing issues for business are contributing significantly to the

use of illegal software and piracy.

Page 15: Software as a service, software engineering

High-Level Architecture

• There are three key differentiators that separate a well-designed SaaS application from a poorly designed one• scalable• multi-tenant-efficient• configurable

• Scaling the application - maximizing concurrency, and using application resources more efficiently• i.e. optimizing locking duration, statelessness, sharing

pooled resources such as threads and network connections, caching reference data, and partitioning large databases.

Page 16: Software as a service, software engineering

High-Level Architecture (con’t)•Multi-tenancy – important architectural shift from

designing isolated, single-tenant applications • One application instance must be able to accommodate users

from multiple other companies at the same time• All transparent to any of the users. • This requires an architecture that maximizes the sharing of

resources across tenants • is still able to differentiate data belonging to different customers.

Page 17: Software as a service, software engineering

High-Level Architecture (con’t)• Configurable - a single application instance on a single

server has to accommodate users from several different companies at once• To customize the application for one customer will change

the application for other customers as well. • Traditionally customizing an application would mean

code changes• Each customer uses metadata to configure the way the

application appears and behaves for its users. • Customers configuring applications must be simple and

easy without incurring extra development or operation costs

Page 18: Software as a service, software engineering

Saas Financials• 4 ways software companies are pricing their products• Open Source – free basic products but charge a fee for the

upgrade to the premium product (i.e. Apache, Linux, etc)• License software – main way its being done. Customer like

this way because they own the software as an asset• Leased Software – deployed at customer site but leased

for a time period. Used in the days of the mainframe• SaaS – subscription pricing. Like leasing is considered and

expense but upgrades and maintenance is free and seamless

Page 19: Software as a service, software engineering

Saas Financials (con’t)• Legal should be involved in the acquisition of mission-critical SaaS

software• Companies are losing control of their data in the SaaS model• Depending on the service provider for security and data access.

• Need to setup contractual relationship with the SaaS provider• Setup escrow account• With conditions of being able to run application in house • Ability to move data from current provider to new location

• Also Service Level Agreements (SLAs) for• Availability, response times, notifications of outages• Data integrity, data privacy, frequency of backup, support and disaster recovery