Episode Summary
In this episode, Landon Miles discusses the concept of automation and its practical applications. He covers topics such as algorithms, programming languages, no code and low code solutions, and APIs, providing insights into their relevance in IT automation. Landon emphasizes the practical use cases of these concepts and their impact on day-to-day tasks.
Episode Transcript
process, or logistics behind Legos.
But for me, I just like to build things with them.
I feel the same way about technical concepts. People want to dive deep into how it works and I’m always like, “Cool, cool. But when can I play with it? Where can I use it?” With the concepts I’m going to throw at you in this podcast today, we won’t go super in-depth regarding how they do what they do. Instead, I want to focus on some of their practical use cases and how automation can help you in your day-to-day tasks.
First, let’s demystify some of the buzzwords associated with automation, starting with one of the most misunderstood terms: algorithm.
Algorithm
The term ‘algorithm’ often gets thrown around in technical (and non-technical) discussions — YouTube's algorithm, social media recommendation algorithms, Google's search algorithm — but what exactly is an algorithm?
I just started reading Algorithms by Panos Louridas, part of the MIT Press Essential Knowledge Series. It's an interesting read, and I highly recommend it. Louridas defines them this way: Algorithms are specific ways to solve problems through a sequence of steps.
In other words, an algorithm is a set of instructions or rules that are followed to solve a problem.
One of my favorite points in the book is that “Digital technology is enabled as much by its hardware, the physical components that make up computers and digital devices, as by its software, the programs that run on it. The backbone of programs are the algorithms they implement.”
There are a lot more intricacies to creating, designing, and deploying algorithms, but this is the Hands-On IT podcast. We’re here to apply things, not theorize: a lesson I learned by falling asleep in too many calculus classes.
So, let’s stick with defining an algorithm as “a reproducible set of steps to solve a problem.”
In the context of automation, algorithms allow us to automate repetitive tasks consistently and efficiently. When it comes to a specific “algorithm,” it’s often helpful to think “What problem is being solved?”
For example, a social media algorithm is designed to show you items you may find interesting, by looking at the data it’s already stored about your platform usage. What’s the problem it’s trying to solve? The problem is you might leave the platform to do other things or go to other sites. The algorithm solves that by showing you things it's pretty sure you’ll find interesting, so you’ll spend more time using the service.
One of the best things about computers is they don’t get bored executing repetitive tasks. And they can execute algorithms very quickly with a seemingly infinite amount of data points.
How does all of this relate to automation? Well, automation is built on algorithms – the algorithm is the holder of boolean logic. It’s the holder of the sequence of steps and evaluations you want to take place.
The Programming Language
You don’t hear as much about programming languages as you do about algorithms, but they’re also an important tool in your automation toolbelt.
So, if an algorithm is a reproducible set of steps to solve a problem, programming is the art of conveying these steps to a computer in a way that the computer can understand and execute.
Programming languages are sets of symbols and syntax used to communicate with computers. There are many languages, each suited for different tasks, but they all share similar principles.
You’ve got PowerShell, bash, Python, C++, Perl, Ruby, and many more. A quick Wikipedia search shows over 700 programming languages exist. These languages allow us to write specific instructions for the computer to carry out.
Many programming languages are hardware (or operating system) specific. With so many languages out there, it can be difficult to pick one to start with. Python is a great one for beginners, though, and can help you get the fundamentals down. As a bonus, it’s the only programming language I know of named after “Monty Python's Flying Circus.”
The Python programming language is named after Monty Python's Flying Circus, a BBC comedy series from the 1970s. Guido van Rossum, the Dutch programmer who created Python in 1991, was a big fan of the show and wanted a name that was short, unique, and slightly mysterious. While he was developing the language, he was also reading the published scripts from the show. Many Python examples and tutorials include jokes from the show.
Once you understand the basics of one programming language, and the logic behind developing algorithms to solve problems within your scripts, jumping to another programming language is much easier.
But, the good news is that with the advent you don't have to know any one of these by heart to be able to automate - because there are a lot of tools out there to enable you to automate – including Low Code and No Code solutions.
No Code and Low Code Solutions
No Code and Low Code Solutions are platforms that allow users to create automated processes without having to write any complex code. This is great.
The advances in these types of technology help to bring the benefits of coding to the masses.
No code and low code solutions add easy-to-use interfaces over complex code. The software allows you to automate easily by specifying your algorithmic parameters in an easy-to-understand graphical interface. Instead of typing lines of code, you can just point and click.
While these tools can be helpful, they do have limitations and aren’t always able to handle more complicated tasks. But for so many automation needs they work just fine.
One thing I’m always looking for when using these tools is the ability to edit the code manually. While this may sound counter-intuitive, sometimes the easiest way to troubleshoot is to look at the actual code.
One of the reasons I work at Automox is to help make it easy to solve and automate problems. Automox offers low-code, no-code, and well… full-on code solutions within our platform. Policies can be set up graphically to run on certain days to make sure specified software is up to date.
Automox Worklet automation scripts – A Worklet is an automation script, written in Bash or PowerShell, designed for seamless execution on endpoints – at scale – within the Automox platform.
Worklet automation scripts perform configuration, remediation, and the installation or removal of applications and settings across Windows, macOS, and Linux.
You can write your own Worklet in native Bash or Powershell, and then push it out to all your endpoints at once. Or you can just dip into the Worklet Catalog and search over 350 prebuilt automation scripts to plug and play into your environment. So we've covered algorithms, no code and low code solutions, and next we’re going to talk about APIs real quick.
APIs
While not as much of a buzzword as the other topics we've touched on, APIs are frequently misunderstood. API stands for Application Programming Interface, but what does that mean?
Using an API can be likened to dining at a restaurant.
Just as the address of the restaurant guides you to where you'll be eating, an API endpoint directs you to the service you wish to access.
The menu represents the API documentation, outlining the available operations and parameters much like a menu lists dishes and ingredients.
Your request, similar to placing an order with a waiter who takes your request to the kitchen, involves sending a packet along with an API key to authenticate and process your order. Only the waitstaff can get through the "Staff Only" door. The kitchen receives this information, prepares the requisite data or service, and then pushes the response back to you. This structured process ensures that you get exactly what you need, just as you'd expect at a well-managed restaurant.
In IT automation, APIs are useful for allowing different programs to communicate with each other and share data, so they’re crucial in connecting the different parts of your IT management suite. For example, if you use Automox and Rapid7, we have tie-ins to their API where you can automate the pulling and pushing of data instead of having to manually import it.
Being able to automate transferring data between different systems can save tremendous amounts of time. Again, computers don’t get bored or tired of repetitive tasks.
That's a Wrap
That’s a wrap for this episode. As always, feel free to reach out on LinkedIn, or anywhere else. To close, I always like knowing where words come from. The word "algorithm" comes from the name of a 9th-century Persian mathematician and astronomer – al-Khwarizmi. He wrote a book called Al-Khwarizmi on the Calculation with Hindu Numerals which introduced concepts of algebra and what would be known as algorithms to the Western world. Apparently, when translated to Latin, the book was started with Dixit Algorismi which translates to ("Thus spoke Al-Khwarizmi"). Over time, Algorismi morphed into Algorithm.
So, to close this podcast (and in hopes of getting something named after me) Dixit Landon Miles.
Start your free trial now.
By submitting this form you agree to our Master Services Agreement and Privacy Policy