Well, there was a time when system admin has only one role i.e to manage Systems. But now they do lots of system automation task, although we have lots of free devops tools available, but still we rely on scripting/programing languages to do complete the task. One of the easy and batteries included language is Python.
Now a days lots of people uses this language not only do the things automatic, but to create the new things, what do you thing, how useful python is, where devops has a limitation?
Can you give examples where you have used python scripts/program instead of devops tool or with devops tools?
There was a time when I used Python in many different places, from starting virtual AWS servers to creating SQL database backups, from testing websites (Selenium webdriver) to developing basic applications (Kivy).
I still use it today for things like automated website testing, however, I have to admit that a fair share of my Python tasks have been taken over by Foreman/Katello, Puppet/Ansible etc.
I am a huge fan of python. I have used the language for decades for many different types of automation tasks.
I now, however, try very hard to re-use existing tools and packages elsewhere and _avoid_ writing my own scripts. Writing your own automation scripts comes with a number of risks and concerns, particularly with regard to the enterprise. Any piece of software is like a living, breathing thing. It needs care and attention. How are updates to dependencies handled? If a security vulnerability happens, who is responsible for patching the script? What is the compliance of the script with enterprise policies? These sorts of questions tend to get overlooked initially, and its only when an emergency arises that concerns become important. Any piece of software automation should have a maintanence and exit strategy established.
If and when you must write your own scripts, I really like Python. However, it's also important to consider the skills of the other members of the team. If I am the only one who knows Python on my team, I tend to avoid writing scripts in Python.
I couldn't agree more @DanK. It's challenging to maintain scripts in general, and management can become haphazard quite quickly if you're not careful.
Sometimes you have to write scripts, but that depends on the environment you are working in. I once took on a project at an SMB where I had to write a set of scripts to achieve a specific goal. The person who managed it asked me whether I know Perl because that was something that he used for scripting. I told him that Perl wasn't my strongest suite, and that I'd prefer Python.
His response was: "Don't worry, that's not why you're here." What he meant was that I got hired to solve the problem, not to learn Perl.