Archive for March, 2009

The SaaS Upgrade Nightmare

Monday, March 16th, 2009

We are pleased to welcome guest blogger Dani Shomron, a SAAS industry veteran. Dani has held development, management and executive roles in multiple verticles and geographies. He holds a BSc. in Computer Science from the Hebrew University and an MSc. in Artificial Intelligence from the University of Edinburgh. Dani is an expert in SaaS Operations and ISVs transition from on-site to on-demand.

One of the biggest appeals of the SaaS model is that upgrades are seamless and transparent. You log off in the evening with one version and the next morning when you log in, voila! you have an upgraded version with all the bug fixes and new features.

What happens in the background is another story. Scary sometimes. A Midnight Summer’s Nightmare.

If you, a SaaS company, have your SLAs in place and adhere to them, your full upgrade windows (i.e. planned downtime) are probably few and far between. Some SLAs allow for a periodic one hour downtime with a week’s notification, but anything longer than one hour will require an earlier notification. You must ensure that the upgrade is performed within that window, or any minute beyond that will start counting against your SLAs. You do not want to extend that window unnecessarily, as your customers are counting on your 24X7 service.

Upon receiving the upgrade instructions from Engineering, you will need to start building a plan. Often, the plan will include dozens, or even hundreds of short steps, and complex dependencies. In order to ensure that the upgrade will be performed correctly and within the allotted time frame you should be able to answer the following questions:

• How long will it take the team to run the upgrade?
• What happens if you need to rollback?
• What is the point of no return, when you must rollback without violating the change window?

A mature SaaS operations group will likely have a Staging environment, closely mimicking production. The best way to go about planning and executing the upgrade is to perform the process on the Staging environment. You will need to carefully design the procedure and run it multiple times until you perfect the process, taking note of how long it takes and practicing the rollback.

This is a tedious process, treasured by engineers as much as they love deciphering undocumented legacy code. But it is essential to ensure success.

So you need to make the process as short as possible and measurable. If you had the tools to automate the procedure you could reduce the time of execution (and of the dry runs on Staging). You could know exactly how long it will take and have the needed repeatability. Repeatability cannot be overrated when encroaching upon the Holy of Holies, under the pressure of timetables and the short temper of the anxious COO/VP Ops.

Since upgrades are an integral part of a SaaS operation and one of the main causes of the gray hair, ulcers, I wanna go home factor, you would do yourself and your customers a great service if you had the tools to automate the entire process.

  • Share/Bookmark

Why SaaS Operations Need Automation

Monday, March 9th, 2009

We are pleased to welcome guest blogger Dani Shomron, a SAAS industry veteran. Dani has held development, management and executive roles in multiple verticles and geographies. He holds a BSc. in Computer Science from the Hebrew University and an MSc. in Artificial Intelligence from the University of Edinburgh. Dani is an expert in SaaS Operations and ISVs transition from on-site to on-demand.

If I had a great idea for the next killer app (I have, actually) and if I had unlimited funds (I don’t, actually) I would have built the software as an on-demand offering.

I would have spent half my funds on building the operational support systems – provisioning, billing, retention policy, self-service, report generator, etc. The other half would be invested in building instrumentation, redundancy, automation, integration, application level monitoring, silent upgrades, customer notifications, and so on.

The rest of the money (you may wonder about my math, but hey, I’ve got unlimited funds) would go towards building the actual application.

Most SaaS vendors out there (and they are growing fast) have chosen the predictable path of building the application first, and worrying about serviceability later. This is the fastest way of getting to market with low costs. The next step is choosing some viable hosting solution and off we go, offering the world our ever better CRM.

Many months and dozens of customers later, reality hits with all the issues of servicing the software, rapid growth and dealing with labor intensive tasks that are the humdrum of daily life in a SaaS operation. Provisioning/de-provisioning, configuration changes, customized reports, and the most dreaded – upgrades, task the team as a whole, especially when the product is successful and the number of customers is growing daily.

It is not that SaaS executives, architects and engineers are lacking in any way. On the contrary, they are mostly smart, inventive, and creative and have a deep understanding of their customers’ needs in the specific domain. The problem is that they are product people, not service people. Practically none of them come from IT and cannot envision the life of a service operations engineer.

At this point, automation becomes crucial to the survival of the business.

Whether it is built into the next version (many architectures make this quite difficult) or done externally, automation is needed to reduce costs, physical labor, frustration and mainly, error-prone manual procedures. Repeatability, which is a derivative of automation, is also crucial.

Automation is needed across the board. Be it in setting up a new server, or building a new application instance. It could be a manual procedure regarding provisioning of application resources, or building a seamless upgrade procedure.

Outages happen. How quickly can you recover from a service disruption and ensure that the recovery does not create it own problems? Automation not only provides the routines for quick recovery, but instills a discipline of thinking out the necessary steps, discovering dependencies and planning ahead. An added benefit of automation is that it documents the process so you can go back and review the best and worst of your procedures.

In my next post I will take a closer look at the SaaS Upgrade Nightmare.

Click here to read more about Automation and Delegation.

  • Share/Bookmark

Nolio Customer Success Story: SuperDerivatives

Monday, March 2nd, 2009

SuperDerivatives is the world’s leading derivatives solution provider, affording real-time accurate pricing for options through its unique pricing model that had become the global benchmark.

To deliver real-time option pricing, SuperDerivatives delivers 15 applications, operating across 100 servers, distributed over 8 global data centers. Each application requires weekly updates: content changes, new features and bug fixes.

Prior to adopting Nolio’s solution, these weekly changes involved R&D, QA and Operations and were done by executing a large number of error-prone manual service tasks. This obviously consumed a large chunk of SuperDerivatives’ web operation team’s time.

SuperDerivatives desperately needed to streamline application changes and eliminate misconfiguration errors.

Nolio’s Application Service Automation enabled SuperDerivatives to eliminate the use of scripts, affording a highly streamlined, error-free process for deploying application changes.

Matty Rosen, SuperDerivatives’ Head of Data Center Operations says, “Our customers depend on our hosted financial tools. Managing application consistency across our 8 global data centers, and our ability to reliably execute application changes in a timely manner, is therefor essential for our business.”

Rosen adds, “In addition to Nolio’s measurable productivity benefits, translating into labor cost savings, the ability to establish and enforce best practices across operations and all departments involved in application production, including R&D and QA, is Nolio’s intangible value of heightened application quality and manageability.”

SuperDerivatives experienced dramatic productivity gains once it adopted the Nolio solution for application change automation:

• Eliminating scripting reduced labor overhead from 2 days to just 30 minutes.
• Labor overhead for weekly updates has been reduced from 3 days involving 3 employees to JUST 1 HOUR.
• Labor for troubleshooting tasks has been reduced from 10 hours to 15 minutes.
• Application service auditing, not possible prior to Nolio, is now provided on demand.

Visit us at www.noliosoft.com to see how Nolio can dramatically improve your data center application operations.

  • Share/Bookmark