For many software application companies, Software as a Service (SaaS) is not a question of "if," but "when." For others, SaaS is an existing practice but outsourcing their SaaS infrastructure is a timely way to reduce costs and improve service levels. Finally, those who already rely on outside services for their SaaS hosting have gained a lot of experience and know what should be improved. For this group, the ability to customize their SaaS operations is the required next step. At Wizmo, we have a long history of partnering with software application companies in all three categories. Regardless of where you are in this spectrum, understanding the issues and having a deliberate plan are a must.
Here is a brief introduction to cloud computing and SaaS. Please also see the Wizmo Cloud Navigate, a 1/2 day workshop that takes a deeper look at the top line issues you should have in mind as you begin or continue your SaaS journey.
In all the latest hype around "the cloud," confusion has erupted over the differences between Software-as-a-Service (SaaS) and the cloud. Cloud has simply become a very trendy way of describing all things that occur "outside the firewall." If it's not happening on premise, it's happening in the cloud - whether you're talking applications or compute power. We'll cover the basics of the cloud but also the elements that make the cloud different.
Cloud computing, aka "the cloud," is a general term describing anything that involves delivering scalable, hosted services (infrastructure, development platforms, or end-user applications) over the Internet.
In addition, cloud computing is a delivery model for IT services where many user organizations can simultaneously fulfill their dynamically changing requirements in isolation from one another based on established user levels and service costs.
... as a Service
These requirements could be for an infrastructure comprised of physical resources, a software stack running on a suitable infrastructure to form a platform for development or deployment of a certain application, or a variety of application services. As a result, three such services have emerged to anchor the spectrum:
IaaS is the foundation layer of cloud computing. IaaS delivers a shared, massively scalable infrastructure on-demand, like a utility (e.g. electricity). This includes storage, CPU power, backup, Internet bandwidth and network services, databases, and security. Examples include Amazon Web Services and Rackspace Cloud Servers.
PaaS is an integrated platform available over the Internet, to build, test, and deploy custom applications. It is delivered on-demand typically on a subscription basis. A PaaS may include online Application Programming Interfaces (APIs), development tools, databases, ready-made components (e.g. single log-in widgets), and project management tools. PaaS can be used to deliver custom applications (client-server style but where the enterprise does not actually invest in the IT staff or infrastructure to run the servers) or as multi-tenant SaaS. Examples include Force.com, Google App Engine, or Microsoft Azure.
SaaS is the delivery of end-user applications through a web browser, rich internet app (RIA), or mobile app in a "pay-as-you-go" model. Typically these are vertically-integrated, self-contained applications, following a one-to-many model based on a multi-tenant architecture. It falls under the cloud computing umbrella of massively scalable resources that are available anytime and anywhere over the internet. SaaS is a viable, and increasingly preferred, delivery and acquisition model for enterprise software. It offers quantifiable cost savings while increasing agility and scalability. Examples of familiar SaaS applications include Gmail, Google Docs, or Microsoft Office 365, as well as enterprise applications in various areas such as Customer Relationship Management (CRM), Enterprise Resource (ERP), or Electronic Medical Records (EMR).
Private and Public Clouds
Many data centers, especially in larger organizations, are now applying a cloud strategy to their operations and creating an internal cloud that is available only within the firewalls of the organization. Such "private clouds" simplify security issues and multi-tenancy requirements and have become a quicker path towards cloud computing and preparedness for using "public clouds."
Low Cost, Better Service
The promise of the cloud is lower cost and better service. This is achieved by economies of scale through shared but isolated resources, rapid and flexible deployment of applications, standardization, and the ability to connect otherwise incompatible infrastructures.