Migrating to a Software as a Service environment

The transition to Software as a Service (SaaS) isn't always a smooth one. Knowing the dos and don'ts of SaaS migration and implementation is essential when using SaaS offerings to meet clients' needs.

When a business migrates from a traditional on-premises software application model, to a Software as a Service, software delivery model, there are a few changes that a businesses will need to make to their existing software environment, along with a few tasks and processes that they will need to carry out, to ensure that they have a smooth transition. However, these processes will be of benefit to them in the long term, because they will eliminate the unnecessary loads that on-premises software applications place on their data centers and will greatly reduce software management related issues.

10.1 Migrating from a standard software environment to a SaaS one (before and after)

The great thing about migrating from a traditional on-premises software application model, to a hosted SaaS application delivery model, is that most of the work is already done for you. In other words, software applications are already installed, secured and are up and running, ready to be used. Customers do not have to purchase additional hardware or new servers, they do not need to install operating systems onto these servers and they do not have to waste time configuring these servers.

About the book:

This chapter excerpt on How to Accomplish SaaS (download PDF) is taken from the book SaaS -- The Complete Cornerstone Guide to Software as a Service Best Practices: Concepts, Terms, and Techniques for Successfully Planning, Implementing and Managing SaaS Solutions. This book delves into the nuts and bolts of SaaS implementation and migration as well as what CEOs, CIOs, IT managers and technologists should keep in mind when transitioning to SaaS.

However this does not mean that a migration from a standard software environment to a SaaS based software environment entails no work. Businesses still have to clearly define what their business processes are and get their workforce behind the new software environment, among a host of other things.

10.1.1 Things to do and consider before migration

The first thing that a business will want to do, before even weighing up whether their existing hardware infrastructure will meet the requirements of their new SaaS application services, is clearly define what their actual business processes are.

Using any type of new technology or software, can easily confuse a business and its employees about which business processes this new software application deals with and which employees will deal with this new software. By clearly defining each one of their processes and assigning roles to each one of their employees for their new SaaS infrastructure before it is actually rolled out, a business can avoid confusion at a later stage.

As well as clearly defining the roles of their new SaaS applications and employees in the larger scheme of things, a business should also be able to answer a number of important questions before they actually implement SaaS within their business environment. These questions are briefly detailed below.

Why are they implementing SaaS?

A business should be clear about why they are implementing SaaS and they should be able to justify its implementation by listing the benefits that it will provide (by carrying out a cost benefit analysis for example). If the benefits of implementing SaaS outweigh the costs of implementing it (including upfront costs, subscription costs, costs related to changes in their own infrastructure, etc), then a business can go ahead and implement SaaS within their business environment, if they wish.

Do they know what they want to get out of implementing SaaS?

It is no good implementing SaaS but then not knowing what you are going to get out of it. Businesses should have a number of aims and objectives that they want to accomplish, through the use of their new software services. For example a business may want their SaaS software applications to reduce their software management costs or to improve data collaboration between various different business sites of theirs that they may have. A business should be clear on what they want to get out of using their software applications, regardless of what this may actually be.

Have they considered the true cost of implementing SaaS?

Although it may not initially seem like it, when SaaS is implemented, businesses have more costs than just their upfront subscription costs. For example, they may need to consider licensing issues, depending on how many instances of a particular software service that they require and depending on how many users that a SaaS service provider allows, accessing a single instance of that software service.

They need to consider internal costs such as the labor costs of implementing SaaS or any costs due to a change in their infrastructure (for example, they may require quicker network connections to support their SaaS services). They need to think about training costs and finally how their users are going to access these software services (for example will they require new laptops to access these services remotely?), as well as storage related costs. Clearly there are various different costs that a business is faced with when implementing SaaS and they should try their best not to overlook any of these costs.

Do their SaaS software service providers provide them with a solid SLA?

Without a solid SLA (Service Level Agreement) in place, SaaS software service providers are free to abuse their customers by not providing them with the service that they paid for. Yes a software vendor will still offer their software services to their customers but the quality and availability of these software services is not guaranteed. Businesses should choose a SaaS service provider that has a solid Service Level Agreement in place, which defines the exact quality and availability of the software services that they will deliver to their clients, along with any repercussions that they will face if they fail to meet these requirements.

It is clear that most of the tasks that a business carries out, before implementing SaaS as a part of their infrastructure are planning based tasks. A business needs to carefully plan and figure out why they are implementing SaaS. Only when their reasons justify the costs of implementing SaaS and highlight the benefits that a business will receive when SaaS is implemented, should they then actually incorporate SaaS as a part of their infrastructure.

10.1.2 Things to do after migration

When implementing traditional on-premises software applications, a business first has to setup up their hardware, they then have to install these software applications onto their hardware platforms, they then have to configure their software applications and finally they have to secure them as well as test run them.

Implementing SaaS is much simpler than this and is very quick. The only real trade off is that SaaS software applications currently do not offer the same level of customizability that traditional on-premises software applications do. However, most software vendors can live with this fact.

Most SaaS service providers do provide their customers with 'point and click' customizability options. Customizing their SaaS software application services is the main thing that a business should do, once their SaaS software services have been rolled out. The main reason for a business to customize their SaaS software application services is so that these software application services can more efficiently help a business, to meet their own specific set of needs.

The final thing that a business should do after successfully implementing SaaS is test these software application services. For example, they could test their default internet browsers compatibility with these software application services. They could test how efficiently their software application services would work on mobile devices such as laptops for example or they could just generally test how efficient their software application services were, by testing whether they were likely to crash under heavy loads or not.

10.2 A simple how to guide

The actual implementation and rollout of SaaS software applications is a relatively quick and easy process. In fact, businesses will spend more time on processes that are related to planning and determining why SaaS is being implemented and whether it is worth being implemented, rather than the actual implementation stage of these software services. There are a number of different ways that a business can go about implementing SaaS but most methods will include the stages detailed below (or a variation of these stages).

1. Justify the implementation of SaaS using a wide range of criteria

There are two main software implementation models for businesses and these consist of an on-premises software implementation model and a hosted SaaS software implementation model. When a business decides that they want to implement SaaS, they should carry out extensive research, determining whether SaaS will be of benefit to them or not.

Not only should a business match-up SaaS software services against their research criteria but they should also match-up traditional on-premises software applications against their research criteria. By doing this, a business can then compare and contrast both software implementation models, which will then put them in a better position to justify which software implementation model will be the of the most benefit to them.

Cost is an obvious research criterion, for example the software implementation model with the cheapest upfront costs will be favored by most businesses. However, businesses should not just base their final selection on cost alone. Other research criteria should also be considered, including:

  • The flexibility that each software implementation model offers. On-premises software applications generally offer businesses with more flexibility but of course they usually have higher upfront costs than SaaS applications.
  • Potential risks that each software implementation model may pose. For example a SaaS implementation model may potentially threaten a businesses' privacy, because their business related data is being transferred across the internet and in most cases is being stored within a software vendors' data centers.
  • Licensing related issues. For example, how many users can access a single instance of a particular software application if SaaS is being used and will a SaaS service provider charge extra if more users than what are allowed use a single instance of a particular software service.
  • How much storage capacity will SaaS service providers give to their customers and what are the costs for additional storage.
  • What kind of support is offered by the software vendor and is this support free.
  • Additional costs which may not be as obvious as the upfront costs that a business faces. For example the cost of IT professional to manage on-premises software applications or the costs of providing training in order to teach employees how to connect to and use SaaS software application services.

A business should compare both software implementation models (where applicable) to the research criteria above. Once this is done, a business will be able to see more clearly, which software implementation model is the best one for them. Two other research criteria that a business can use (which are applicable to SaaS), is whether they will be able to easily migrate back to an on-premises software implementation model in the future, once SaaS has been implemented and what the long-term prospects of their SaaS service provider are.

2. Negotiate a contract that is right for them

So a business has now justified their reason for implementing SaaS using the criteria above (as well as other criteria). The next step for them involves negotiating a suitable contract with their SaaS service provider.

Most SaaS service providers often do not provide formal Service Level Agreements (SLAs) to their clients. The reason for this is because they do not want to take up the additional responsibility that a Service Level Agreement provides them with. Instead SaaS service providers will often have best effort delivery clauses in their contracts but this guarantees nothing to a client and software vendors can easily abuse a contract which contains best effort delivery clauses, due to this fact. In order to protect themselves and ensure that they get exactly what they pay for, a business should request a reasonable Service Level Agreement contract from their SaaS service provider.

Businesses will also want to ensure that there are no hidden costs in their contract. For example is there a clause that states that their subscription only includes a certain number of transactions per month and that additional transactions will incur charges (or something similar to this clause). Will customer support remain free or will a business be charged after a certain number of support tickets have been used up (if a ticket based support system is used).

Finally a business will want to confirm what recovery and security related clauses are in their contract. For example, what backup procedures does a SaaS service provider have in place, if any? Will the service provider be liable for the breach or corruption of their client's data when it is stored within their own data centers (after all it should be the service providers own responsibility to secure their own data centers).

These are all important considerations for a business to make when they are negotiating their SaaS contract and if they are unhappy with anything then they should request the changes that they require.

3. Use best practice implementation methods

Once a business has justified their reason for implementing SaaS and have negotiated a suitable contract, they can then actually implement SaaS as a part of their software infrastructure. The actual implementation of SaaS software services is a relatively straightforward process. However, businesses should still follow generalized best practice procedures that they would follow when implementing on-premises software (or any other new technology for that matter), in order to help minimize the chances of any problems occurring.

Some of these best practice procedures are briefly detailed on the following page.

Re-confirming the aims and objectives that the new SaaS solution will help them to achieve

A business should already have a good idea right at the very beginning, about what their new SaaS software services will help them to achieve and accomplish. However, after negotiating a suitable contract, a business should once again confirm that the SaaS services that they are going to implement will still help them in meeting their goals and objectives. If this is still the case, then a business can go ahead and implement SaaS as a part of their software infrastructure.

Building a suitable team

Once SaaS has been implemented, a business will require a number of IT professionals to manage and maintain their new software services. A business should define roles within their organization and a business should also create a team (or group of teams) that will look after their new SaaS offerings, before their SaaS software services have actually been implemented.

Some of the roles within a business that has a SaaS based software infrastructure, include a SaaS software administrator (who will look after SaaS software services). A user group committee (who will suggest changes in order to fine tune software services for a business), as well as a SaaS software developer (who will be able to make the changes to a business's software services, that the user group committee suggest).

Defining a clear timeline

Even though implementing SaaS is a relatively quick and straightforward procedure, a business should still define a clear timeline for their actual implementation procedure (they could use a work break down structure in order to do this, for example). A business should clearly define milestone dates as well as dates for when important tasks should be completed by, so that they can avoid being sidetracked when actually implementing SaaS and making the required changes to their existing infrastructure.

Configuring the SaaS solution to meet their specific Needs

Once a business has implemented their SaaS software services, they will want to configure these software services to meet their own specific needs (just as they would configure any other new software application or technology). A business may also need to carry out configurations to their existing infrastructure before actually implementing their new SaaS software services.

Some of these configurations and changes might consist of hardware based changes, network based changes or even software based changes. No matter what changes and configurations a business has to make to their infrastructure, both before and after the implementation of SaaS, they should always plan for these changes beforehand by carrying out research in order to avoid any unforeseen problems.

About the author:

Ivanka Menken is the chief operating officer, owner and co-founder of The Art of Service and is an expert in Information Technology Infrastructure Library and ISO. Menken created the Cloud Computing Foundation  Certification Kit in 2008.

On a closing note, again, once more it is not the actual implementation of SaaS that is a challenge to businesses (the SaaS software services that they are going to use are already in place and ready to use). Instead, the challenges that a business faces, is making sure that the SaaS software services that they are going to implement are the right software services for them and will easily integrate into their existing business infrastructure. If this is not the case, then as detailed before, a business should make the necessary changes, either to their own existing infrastructure or to their new SaaS software services (using whichever method is the most practical and the most cost effective).

4. Adopting solid data security practices

Once SaaS has been implemented, it doesn't mean that a businesses work stops there. Security is the next thing that a business should be thinking about. Although the security of a business's software services and the data that these software services use are in the hands of a businesses SaaS service provider, this doesn't meant that a business has no power at all when it comes to security.

Some of the things that a business can do to help ensure that their software services and data is secure, include ensuring that their SaaS service provider, provides them with a data protection guarantee and also ensuring that their SaaS service provider complies with industry standards. Businesses should also look into their SaaS service providers background and find out what levels of security they have in place to protect their data centers, what backup and disaster recovery procedures they have in place, if any and how they actually go about securing each one of their client's data.

Finally a business should clearly define roles and access rights within their own organization (again this is a process that would also be carried for on-premises software solutions). For example, no users without the correct credentials should be able to access more than what they are allowed access. Workstation users may only have access to restricted versions of a software service, while administrators would have access to the full versions of these software services.

5. Adopting a solid support structure

The final task that a business wants to do when implementing SaaS is to adopt a solid support structure for their SaaS services. For example a business will want to decide how they are going to support their SaaS software services, what employees will support these SaaS software services (i.e. existing employees or will a business have to bring in additional IT professionals) and how these SaaS services will integrate with software from third-party software vendors for example.

One mistake that businesses can easily make when adopting SaaS, is to think that they no longer have to carry out software support and maintenance related procedures. However, this is not entirely true. Although SaaS service providers will carry out software upgrade procedures, data management procedures and support related tasks, it is still down to the end user of these software services, to ensure that they provide any additional support for these software services, in order to make sure that these software services meet their exact needs (rather than just vaguely meeting them).

Finally, businesses who are implementing SaaS should always have a second or third choice SaaS service provider in their mind. The reason for this is simply because if any changes occur to their SaaS service provider, then they will also be affected by these changes. The SaaS software market is still maturing and it is very likely that a SaaS service provider could merge with another company or even be completely taken over. By having a second or third SaaS service provider in mind, businesses are ready to shift service providers if any changes do occur to their existing service provider (to the point where their existing SaaS service provider can no longer deliver their software services as they once did).

How to Accomplish SaaS

Migrating to a Software as a Service environment

Top 10 considerations when implementing Software as a Service

Top 10 pitfalls when implementing Software as a Service

Common SaaS problems that occur after implementation

Printed with permission from Emereo Pty Ltd. Copyright 2008. SaaS -- The Complete Cornerstone Guide to Software as a Service Best Practices: Concepts, Terms, and Techniques for Successfully Planning, Implementing and Managing SaaS Solutions For more information about this title and other similar books, please visit  Emereo Pty Ltd.

Dig Deeper on SaaS implementation