Companies are on a journey toward using automation more strategically across their organizations, and automating IT functions is a key step toward achieving this goal. One case in point for automation as a strategy is Discover Financial Services, where they have set an “Extreme Automation” strategy that underpins automation in everything they do. Other companies are pursuing similar strategies as well.
The Red Hat approach is to include automation everywhere, and Red Hat Ansible Automation Platform allows you to automate those processes that matter to you. Its architecture enables teams to be more unified, improves communication and expedites completion of complex processes, such as application deployment.
[Learn about Event-Driven Ansible with the Event-Driven Ansible developer preview]
IT automation strategies are evolving into event-driven automation. Simply said, event-driven automation is a further building block on the journey to end-to-end automation. The need is to connect intelligence/analytics and service requests for an environment to automated actions so that activities can take place in a single motion. For example, another large customer identified significant expenditures on virtual machine (VM) issue remediations. They took an event-driven approach that saved millions of dollars by automating frequently repeated issue resolution processes. This has freed their IT staff to focus on other more valuable work.
Event-driven automation use cases
The question becomes: Where can we apply this type of event-to-action approach? There are many possibilities, but a few use cases include the following.
Perhaps the solution to some type of issue is a series of steps. Can you connect the analytics or tickets which tell you there is an issue to an automated series of steps to resolve that issue? A solution like this can help move your IT staff from an “interrupt-driven” style of working to one where they have the ability to better focus on key priorities, interesting engineering challenges and innovation activities instead of low level, repetitive work. This could include automated remediation of tickets or proactive remediation of issues based on known system behavior patterns. It could also include responding to monitoring events (alerts), such as the need to add more capacity or scalability.
How often are you receiving tickets to provision a new VM, stand up a cloud container or provision some other type of solution? Are you confident that in every case these are provisioned in line with your specification or does this process sometimes introduce drift? By receiving a request and kicking off an automation job, the solution is implemented the same way every time, according to your specs. Are you under pressure to provision quickly? Event-driven automation can help your team create development and test environments quickly to help speed up innovation.
IT resilience, risk mitigation and stability
What if you are able to quickly address a common outage through event-driven automation? Or proactively watch for signs that lead up to this outage, preventing it from occurring? What if it is a security risk where you can take immediate action before your environments are adversely impacted? Reliability and resilience is often a key concern for IT leaders and event-driven solutions can help you get ahead of risks.
A common issue with ticket management is that tickets do not provide enough information to provide effective RCA (root cause analysis). Event-driven automation patterns could be utilized to great effect in reaching out to relevant systems so that corresponding tickets can be updated with rich detail to provide better RCA.
Achieving event-driven automation
Now that we've covered some use cases and benefits, let’s explore what types of technologies are needed to make it all work. At the highest level, we will need rules (i.e. some form of decision making capability) and also a workflow execution tool.
The rules will look for certain situations where specific conditions are met and then will kick off an Ansible Playbook to address the “event” for which the decision system has identified a required action.
For example, monitoring tools may identify issues with VMs which may signify an application or IT problem. This “event” contains certain information, such as machine information. The decision engine may include a rule which maps the type of event produced by the monitoring tools to a behavior or workflow.
In our example, we will use the VMware version number, the VM IP address and server IP address to initiate an Ansible Playbook to complete health check validations on that VM. Let’s assume that the health check finds that something is not correct. This information is then used in a second validation workflow to remediate this problem. Additionally, there may be another workflow component which checks that the remediation is complete and correct, then automatically updates the ticket to “resolved”.
As you move from human to system-driven actions, Ansible Automation Platform connects automation into the large ecosystem of management tooling across your environments. When your management tools and decisioning applications tell it what needs to be done, Ansible Automation Platform is able to automatically complete the work.
Event-driven automation architectural overview
Components for this type of architecture include at least an event bus, a rules engine, an automation workflow tool, a rules database and services to execute the plan that the rules engine determines. Common technologies that may be used for this type of architecture include Kafka or Red Hat AMQ for streaming, event buses and other solutions that adhere to open event formatting standards, such as cloudevents.io which is an event driven ecosystem standard.
True IT automation as a strategy
When you combine IT automation with decision systems, rules and workflow support, automation is elevated and more impactful to your organization. Far more than cost savings, you have the tools to transform IT to focus on innovation and key engineering challenges, eliminating hundreds or thousands of low level tasks that have to be done, yet distract from key priorities. Imagine the value you can deliver from IT when you are able to tame mundane yet necessary actions using automation.
Finally, if your automation is centralized with Ansible Automation Platform and you implement an event-driven automation solution, you can increase observability of all your systems, gaining an unparalleled level of visibility into what is happening and what is changing at any time.
To begin your event-driven automation journey, we recommend these resources for further learning: