In a typical IT department, System Administrators perform numerous repetitive tasks daily. Scripting is one of the most effective techniques Sysadmins use to automate such tasks. However, while scripting can help in automating simple, routine tasks, it falls short when tasks become complex and require changes to configurations. IT Administrators, System Administrators and IT Managers are always looking for better ways to easily automate even the most complex tasks.
“IT organizations need to move from opportunistic to systematic automation of IT processes.” - Gartner
Source: Troubling Trends: CIO Survey Results 2020
Scripts are more vulnerable than agile. When what we need is a methodical, enterprise-wide standard elegant code, we end up with isolated islands of automation with messed up scripts throughout the organization. In IT, scripting also supports a "hero culture." When a person solves a problem by writing configuration scripts or code to automate something, the script is lost when the person who authored it departs the firm.
Common problems around scripting
OWL Labs surveyed twenty executives familiar with scripting for infrastructure automation to gain insight into the state of scripting today and the issues associated with it. Some of the issues reported were:
- Brittleness: CD release cycles are brief. There will be a failure if there is an issue with the automation script, and you will not be able to tell if the failure is due to errors in the script or somewhere else in the process, putting the release cycle on pause and backing up future releases.
Balancing the return on investment (ROI) of various selections is never easy. While most IT tasks today can be automated, the automation itself needs to be hardened. Just as you can find flaws in a product, you can also find flaws in the automation that's used to test it. Because the problems in automation are usually unknown at the time of implementation, being able to quickly update it after it has been incorporated to the software lifecycle could be difficult. Simply said, these script problems manifest as flaky or sporadic failures and can be time-consuming to track out.
- Critical Data Risk: Using scripting as an automation agent to just deliver code is one thing. It's another thing entirely to use scripting to automate tasks. Using it as an automation agent to provision the environment where the database lives is risky if you have a crucial database that you can't afford to lose. When a script wipes a cluster clean as part of a provisioning procedure, there is also a possibility of databases getting deleted permanently, which would be catastrophic. Alternatively, if the automated script doesn't know where to put vital data, it may ignore it and destroy it.
Scripts have limitations in terms of what they can do. They're basically a series of if-then statements with none of the flexibility of actual code.
- Inadequately Structured: Script writing is more loose and informal than structured coding projects, which include check-in/check-out, revisions and rollback, testing, and deployment.
- Idempotence: Scripts lack a property known as idempotence, which means that no matter how many times you run a script, the outcomes are always the same. That is a promise that most scripts can’t make.
What can be done?
Codify your fleet instead! But why?
Technology analyst firm Forrester conducted a study on benefits organizations achieved by codifying their infrastructure. Here is a snapshot from that study:
Clearly, organizations that codified their infrastructure saw several benefits, from shortening the release cycle to delivering consistent outcomes. Here are a few more benefits as reported by organizations that participated in the study:
- Reduced Shadow IT: Allowing for quick reactions to new IT requirements by codifying the fleet through assisted deployment assures improved infrastructure security as well as correct compliance with corporate IT standards, which aids budgeting and pricing allocation.
- Satisfied Users: Providing a one-of-a-kind, component-based service in a short amount of time leads to user happiness and a positive perception of IT teams within organizations.
- Lowered operational costs: In just a few minutes, a business can configure and deploy a fully tested and compliant new IT infrastructure asset, with little or no human intervention, saving a lot of money.
- Lowered capital expense: When a developer takes on the tasks of numerous team members on his own, especially in the context of automation in DevOps, the project capital cost is greatly reduced.
- Standardisation: When new infrastructure is coded, there is consistency and standardisation in the set of instructions.
How can Chef help?
Chef codifies your IT resource fleet in a way that automates the configuration of diverse complicated systems, while also defining security and compliance standards as human-readable code. It allows quick packaging and distribution of applications across diverse settings.
Chef assists companies to become high-performing organisations that understand how to use code to automate the secure delivery of infrastructure and applications at scale. In the modern business landscape, coded businesses are industry leaders, provide excellent customer service, and are well-positioned for the future. They innovate and move quickly, maintain security and compliance at scale, and deliver apps to their systems using repeatable patterns.
Chef aids organizations by enabling the reliable, secure, and repeatable deployment of infrastructure modifications in production through flexible, version-controlled, tested, and human-readable configuration policies. Chef also corrects configuration drifts automatically and makes conditional modifications dependent on the hardware in the environment by applying updates dynamically.
Benefits associated with Chef Desktop
Apart from the benefits mentioned above, users say that Chef's continuous compliance feature has replaced irregular, seasonal audits, and employees have more time to focus on meaningful creative tasks with most repetitive tasks now totally automated.
We will discuss more of what Chef can do to transform your organization’s infrastructure and compliance management strategy in a webinar on October 27, 2021 webinar at 10:00 AM PT.
Sudeep Charles, Senior Manager, Product Marketing, and Chaithra Mailankody, Associate Product Manager at Chef, will present current trends and issues in scripting and how Chef Desktop, which focuses on codifying your fleet instead, can help you avoid them. We will also have a Q&A session where a panel will answer all your questions.
If the content of this blog interests you, you should definitely attend the webinar and see how Chef can meet your IT fleet management objectives.