There is an old adage that says: strive to do more with less. In the IT world, that statement rings particularly true – we are constantly balancing “keep the lights on” activities with new projects. For IT
organizations and teams to be able to achieve this fine balance, implementing automation tools for simple and repetitive tasks is necessary.
Perhaps the need for automation hasbeen best demonstrated by the pressures that IT teams, across the globe, faced in the wake of COVID-19 . They were tasked with having to instantaneously deploy systems for millions of workers moving to remote work.
Automation is more than just implementing technologies; it is also about the processes established around the tools. We’ve put together a list of 5 of our favourite tools, that enable communication and collaboration, to help you get started on your automation journey.
Automation Language: Ansible
Ansible, now part of Red Hat, started out as a great independent, open source configuration management tool. It has a strong community of users and is used by IT teams across the globe. It is commonly used for configuration management, provisioning, application development, continuous delivery, security and orchestration.
Technically speaking, Ansible isn’t a “language” – it leverages human readable YAML files called “playbooks” to describe specific automation jobs and then executes those jobs on remotely managed nodes via SSH.
We like Ansible because it is:
- Simple: you can get up and running with it immediately
- Vendor and technology agnostic: it does not matter what platforms you operate on or the vendors you use, Ansible will work for you
- Agentless: you don’t have to install an agent to monitor anything – eliminating the need to manage an additional item and reducing overhead
- Powered by an engaged community: users are actively involved in connecting with one another and sharing automation content
In Fall 2019, Red Hat launched Ansible Tower, a version of the Ansible “language” which provides centralized control over an organization’s systems automation, including scheduled jobs, RBAC and analytics.
Version Control: Git
Git is an open source distributed version-control system for tracking changes in source code. It allows multiple team members to regularly contribute code or configuration changes in a common repository. It also tracks all of the changes that are made.
Most people associate Git with software development, but it is an extremely useful tool for IT operators to store system and application configurations.
We like Git because it:
- Creates a single source of truth: allowing for visibility and transparency across the team
- Enables collaboration:empowering and encouraging team members to work together to create solutions
Integrated Development Environment (IDE): Micrsoft’s VS Code
Today’s IT administrators and operators must interact with several interfaces such as hypervisor, operating system, network appliance and cloud provider CLI on a daily basis. Each of these interfaces has somewhere in the rage of dozens to hundreds of folders and within those folders, hundreds to thousands of individual files. It can get confusing!
VS Code is a suite of software that consolidates basic tools required to write and test software. The goal of it is to simplify things by reducing set-up time and increasing the speed of development tasks, ultimately improving productivity.
We like VS Code because it is:
- Highly extensible: allowing for developers to customize their experience and to use familiar tools with native integration.
- Customizable: running on Mac, Windows or Linux and allowing developers to write in any language.
Visibility: ELK (Elasticsearch, Logstash, Kibana,) Stack
Automation is a journey – not a destination. As you move through your automation journey, you need to continuously improve functionality. The more you know about something, the better you can automate it. In order to do so, you need to measure that matters and then effectively analyze it.
The ELK stack is a group of open source projects that collectively manages the gathering, storage and processing of data, indexing, querying and visualization. While the ELK stack has many use cases, it thrives in helping us better understand our systems and ultimately improve automation
We like ELK stack because it:
- Stores operational data in one spot: creating a feedback loop and continual improvement of the automation process
- Is open source:available for free, has great documentation and a large community of users who create and share templates
- Has multiple libraries: for different programming and scripting languages and tools.
Communication: Microsoft Teams
Microsoft Teams easily integrates with other tools creating automated notifications and allowing the user to build chatbots to facilitate “ChatOps.” ChatOps enables IT operation tasks and developers to use chatbots, chat clients and other real-time communication tools to manage communication and execution of tasks.
We like Teams because it:
- Makes incident management easy: by monitoring infrastructure metrics across Teams channels, identifying any anomalies and gathering incident data into one area to efficiently resolve the issue.
- Creates a central repository of information: through keeping a channel of communication around bugs, issues and resolutions that can be referred back to if similar challenges arise.
About the author
Geoff Sullivan is a passionate technologist who has spent the past decade helping companies of all sizes – from start-ups to some of the world’s largest telecom providers – navigate their technology and business transformations. When he isn’t busy talking about hybrid Infrastructure, automation and cloud native application platforms, you’ll find Geoff exploring the great outdoors with his partner Amy and their dog Ruby.