Developing a Hybrid SaaS Application

What’s the best way to develop a Hyrbid SaaS application? By Hybrid SaaS app I mean solutions where the primary functionality is hosted, but there is a local footprint required at the customer site. The first thing I would say is don’t do it! Don’t install anything at the customer location…ever. Cloud, SaaS, whatever you call it, is becoming more acceptable as a standard software delivery model. We can thank Salesforce.com for that. that’s how you should deliver software. However, then you make a good case for why there must be software installed on site, and I again say don’t do it. Investigate every possible option for moving this local functionality up to the cloud.

So after all of this, it becomes obvious there is no way to move 100% of the required functionality up to the cloud. You have to install software locally. Well, then start by minimizing the footprint. We’ve already established that there is an absolute requirement to have software installed on site, so install the bare minimum and nothing more. Design an architecture that provides a minimal on site footprint with everything else run as SaaS.

Key Design techniques:

- Minimize local footprint: Once you realize you need a local footprint, you may be tempted to add more functionality to the on site deployment. Don’t! Manage as much of your software as possible in one place, and under your control.

- Utilize webservices or other technologies that run over standard ports: Webservices by default run over port 80 or 443, which will be open on any customer network you are selling into. Take advantage of the existing configuration, and use these ports.

- Make it installable over the web: Whether you use an MSI or other installer program, or a virtual appliance, it should be downloaded and installed over the web by the customer. if you are selling a SaaS or Hybrid SaaS application, services should not be a requirement.

- Deliver as a “virtual appliance”: While appliances are a popular and attractive option to ease support and deployment, you are a software vendor and don’t want to support hardware. Convert your appliance image into a virtual, and deliver via VMWare .

- Secure all data in transit: use ssl for all webservice and/or web communications. You may also need to encrypt data stored in the cloud, which will increase transfer time.

If you follow these techniques, you’ll have a Hybrid Solution that scales well, is supportable, and will work reliably in any enterprise.

Advertisement

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.