Posts Tagged ‘automation’

Scripts vs. Automation

Tuesday, August 11th, 2009

For many companies, their first attempt at automation is to develop in-house scripts in whatever language (Python, Perl, Tcl, etc.)

In fact, scripting is almost always a stepping stone to automation.  Which brings up several questions about scripting and about Nolio Automation Center that I’d like to address here.

 

Is scripting bad?

Of course not.  Most customers get their toes into the waters of automation with some level of scripting.  Our best customers are the ones that have gotten some benefits from scripts but have really reached the limits of what they can do with scripting and need something that is more effective and less prone to human errors.

 

Is the Nolio tool a GUI for creating my scripts?

No, it’s really not. Scripting has certain limitations – particularly around maintainability, mutltiple envinorments/ labs/ datacenter synchronization, documentation, and troubleshooting.

Most importantly, scripting does not provide you with management of the execution – reports of what was done, by whom and where in the Datacenter, so that later on you can use that information in a user friendly and timely manner.

Nolio automation completely avoids these limitations. In fact, no script is generated in Nolio. Instead, there’s a distributed workflow engine that “knows” how to run the Noio automated processes, and adjusts to any environment. This gives you the benefits of automation without the downside of scripts.

 

Do I need to recreate all my existing scripts?

No. In fact, I can’t think of one customer that hasn’t integrated in-house scripts into their Nolio implementation.

One of the major benefits of using Nolio is adding the following layers, which do not exist in scripts, on top of existing scripts:

1.  A communication and synchronization layer. Scripts usually run on a single server, so you need to write additional code to manage scripts on multiple servers, and you need to write additional code to execute different scripts on different server types in multiple data center environments. You need to have the ability to synchronize and run scripts in stages. Using scripts, you need to write an additional layer of code to achieve this. Nolio platforms allow you to get all of the above for your current scripts without writing additional code.

2. Permissions – The Nolio permissions mechanism allows you to get now-active directory integration and provide roles and authorities to your scripts’ activations and design.

3. Notification and scheduler abilities – extend your scripts’ power, by using Nolio to provide a scheduler and advanced notification mechanism. Be alerted when your scripts are activated, stopped, failed, and completed.

4. Reports – This is the most important part. Automation is only one part, but the real management of data center activity is to KNOW what was running, when and status.  Empower your scripts to have a full reporting system for your script activation, including management reports, which enable you to show your managers your achievements!

As you can see, the Nolio automation solution does not come instead of scripts, but in addition to them. It adds layers that significantly enhance your scripts’ power. Learn more at www.nolio.com

  • 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