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!