The Goal

The Goal

I wanted to start a blog to discuss tools, processes and techniques for automation. I hope that all my topics will work together to help you build an automated system.

What is automation?

According to dictionary.com automation is: the technique, method, or system of operating or controlling a process by highly automatic means, as by electronic devices, reducing human intervention to a minimum.

What does this mean to me?

To me, automation is anything that allows us to do something faster in a more automated fashion.
In my definition, automation is anything that helps us accomplish less input, provides more consistency and produces more reliability. Automation should have freed us from a portion or all of a task, so we can concentrate our efforts elsewhere.

I like a more vague definition: as we can start out by creating easy scripts, that can eventually lead to a textbook version of automation. It is also common to use over engineered programs, when simple processes or scripts can be used.

Are scripts really automation?

Some people will think that scripts do not qualify as automation, as scripts require human intervention, I would have to disagree. I would say scripting is an important aspect when trying to automate tasks or portions of a task.

For example, when we analyze Jenkins (barring any plugins), you will see it is basically a scheduler. When used properly, Jenkins is much more than a scheduler, it can be used to fully manage your continuous delivery pipeline. The plugins, which can be thought of as scripts, can be brought together to give you a desired continuous delivery pipeline. Can you use Jenkins alone to accomplish continuous delivery?, probably not.

Another example, a script that copies files based source and output inputs, has an automated internal process. You can normally interact with the internal process by passing in inputs, in this case you can change the source and/or the destination locations. If we reduced multi step process of manually copy files to 2 manual inputs, we automated something. In my book, this simple (and theoretical) script is a form of automation. It may not be much to brag about, but a few manual steps have been saved.

Notice though, we are automated to a point, and we are still free to automate more.

So what will I be talking about?

I hope to cover a lot more then just simple scripts, but I wanted to point out that finding the simplest tool for the job is important.

The plan is discuss a wide range of topics:
  • Some basics in programming and scripting
  • I am surely to discuss Linux and Windows
  • Some advanced topics like Continuous Integration and Continuous Delivery
  • Many tools and techniques regarding automation
Here are a few that are planned:
  • DevOps and what it can mean
  • Continuous Integration and how to go about setting it up
  • Basic scripts, like copying and traversing files and directories (you will be surprised how often this comes up on a day to day bases)
  • Jenkins and how to really benefit from it
  • Docker and Containerization
  • Artifact repositories, like Artifactory and Nexus
  • Source control management, like Git
  • Configuration management, Puppet and Chef
In the future I hope to cover these topics:
  • Kubernetes and setting it up for deployment
  • Azure deployments
  • AWS deployments
  • Google Cloud deployments
I hope that this site will eventually be a one stop shop for everything automation.

Comments

Popular posts from this blog

Azure DevOps - Auto Approve PR with PAT

Ubuntu 18.04 - Install Android Emulator

Ansible Module - VMWare Update Guest PCI Device