Menu

Scripts Are Stupid!

Why using scripts and script automation tools (i.e. Jenkins, IBM UrbanCode, CA Automic, etc) are the wrong approach to DevOps and managing the SDLC for enterprise applications (both SaaS and on-premise).

Scripts are (literally) stupid.

Frankly, it is somewhat amusing watching all of the hoopla over simple script automation tools as they apply to DevOps. Their marketers are way better at selling junk than I could ever be. 😉 I’ll give them credit, some of the script automation tools have some very nice GUI’s
 and they demo very well. A quick search on www.youtube.com and you’ll see multiple products with very well done demos of folks dragging different pieces around, dropping in various steps here and there into a workflow-like image, and very pretty reports showing the script execution results. It looks very simple. There are many tools out there that took the same approach to automating script execution
 and more coming to market every day. There is a simple reason that there are so many
 because they all do something very simple such that it is very easy to build.  They’re all basically the same tool.

All of those DevOps tool demos have something else in common
 something they never show you
 the guy writing, editing, and debugging all of those scripts where the real work is done
 the problems caused by bad scripts
 and the business issues from bad deployments!!!

People are smart, scripts are stupid.

Maybe this is why scripting your SDLC is so popular. There is no intelligence built into a script
 so it requires an intelligent, experienced person to make it work. It’s also probably a “fun” challenge for a smart person
 especially when it comes to enterprise apps. If you’re doing anything other than CI for a simple java project on a small team, then getting a script like this working perfectly each time is a fun challenge. When it works, it is nirvana. The problem is, even when you do get it going, it never works forever
 it only works for that project… and, often, only for that single deployment cycle.

The SDLC for large packaged enterprise software projects (both on-premise and SaaS) is complex. They typically employ larger than average teams. They typically require the management of multiple lines of code so that features and fixes can move forward at their own pace. Projects often involve more than one proprietary technology along with the standalone file and database components that need to be managed together. Often additional tooling (i.e. testing, team messaging, code analytics, governance, etc) needs to be plugged into and orchestrated as part of managing the overall SDLC process. Plugging each of these tools into what is already a complex process is a challenge
 and then you have to recreate the scripts and process from scratch all over again for the next project because scripts for one project do not typically work for the next project… so all of that previous effort goes down the drain.

In addition, now you have the added project risk that the guy who understands the scripts walks out the door. What do you do then? Essentially, you’re developing a one-off, non-reusable custom application (using scripting technology) to manage the end-to-end SDLC for a packaged enterprise application (which you bought so you wouldn’t have to build a custom application)!!! It’s nuts!

Please do not misunderstand, scripts have their place. They are useful for small, simple, perfectly repeatable processes. If I’m configuring a new VM every day with the same set of parameters, then it would be insanity to do that manually every day. However, the SDLC for enterprise apps is typically more complex and requires an enterprise application built specifically for that purpose
 not a bunch of scripts.

Scripts are Stupid. The next evolution of DevOps is Scriptless DevOps.

Learn more at www.crossvista.com or www.scriptlessdevops.com.

You can contact us at makeiteasy@crossvista.com for more information.CrossVista provides a “Scriptless” DevOps solution for enterprise applications that manages change across the SDLC from Development through Production Deployment and everywhere in-between.  The scriptless engine is integrated with technologies such as IBM IIB, MQ and WAS, SoftwareAG’s webMethods platform, Informatica’s PowerCenter,  OracleBI, Salesforce.com, databases, file based systems, and more.  The engine eliminates the need for complex scripts normally required to support these technologies
 no more writing a bunch of scripts to manage your SDLC processes.

Share This Story, Choose Your Platform!

To Top