In a world where the term "automation" often triggers fears of job eliminations, in the tech industry that couldn't be further from its intent. Imagine that you no longer needed to check the mail, stop for gas, recharge your cell phone, or restock groceries. Think of how much extra time you'd gain to spend with your family and friends, perhaps travel the world, invest in a hobby or even just...rest. You might already be automating some of these chores in your own life, and you're thinking "I already have my groceries delivered to my door, and my phone charges itself when I set it on my desk." That's exactly what I'm getting at. Does that make you less valuable? Or are you more productive because of it?
Though, even looking at those examples, grocery delivery still requires your manual intervention to place the order, doesn't it? Do you think we can continue to evolve your productivity even further by designing a way to get your groceries delivered without you needing to place an order? Let's say, you are making breakfast, and you're running low on coffee. Maybe you're a coffee snob like me, and you understand that for peak quality, you want to grind the beans around three days after it's roasted. Every day beyond that it loses some freshness, and after just three weeks (saying you stored it properly and only ground the beans as needed) it's considered stale. With such a short lifespan, it's crucial that not even a day is wasted.
One way you can maintain a constant supply of (relatively) fresh coffee is to set up a delivery subscription, knowing every few weeks you'll have a fresh batch delivered. But what happens if you were out of town for a few days, and you haven't finished your last batch of coffee when the new one arrives? Now you either have to manually intervene and tell it to skip or postpone an order, or you store the new batch for a few extra days, losing an average of about 5% of its freshness for every day that passes. In this concept, we've set up a sense of automation, but can we elevate that solution to make it require even less intervention, and increase your productivity even more? Let's see how event-driven automation can do this.
Let's briefly step away from this coffee example as we walk through this simple diagram below (Fig. 1), which shows the logical flow of an event through an automation architecture.
Fig. 1 - Event-driven architectural diagram
The event source starts our journey through this solution. It can be any event captured within your organization, such as a vulnerability that has been recently discovered and needs to be remediated throughout your entire enterprise estate. The event source triggers a message, which is received by a service that does a few simple things. First, it triggers the system event service that communicates with intelligent routing to make a decision based on some built-in logic to handle urgencies and priorities, should multiple requests come in at the same time.. From here, the event that's been prioritized triggers the task management service, which updates the ticketing system that will be tracking this event, as well as the automation service which will invoke the resolution available to it. The automation orchestration component will deliver this resolution across the entire managed infrastructure, regardless of platform, and whether the systems live on–premises, or in the cloud. From here, the status of this solution will be recorded and updated in the ticketing system, and any sequential events will be triggered to continue this cycle.
Now, stepping back into our coffee example: Imagine your coffee is stored in a container that has been programmed to monitor how much coffee remains. When this event source determines the supply will be consumed within a few days of running out, it triggers the event. The System Event Service communicates with some Intelligent Routing, which looks at your predefined set of preferred coffees, determines what coffees from that list are the highest priority, in stock, is able to be delivered within the required timeframe and at peak freshness and then determines which coffee will be sent out next. The Manage Task Service creates a purchase order in the ticketing system, the automation service places the order, and the coffee is then shipped out by the Automation Orchestrator.
Without ever needing to intervene, or even acknowledging that your coffee was running low, a fresh bag of coffee is delivered to your door, right on time. This is event-driven automation.
If you'd like to look deeper, head over to the next blogs in this series to review the Architectural Components of an Event Driven Architecture and Build an Example Event Driven Architecture. Or to learn more about how our customers are using event-driven in their industry, check out this architecture in full.
About the author
Camry Fedei joined Red Hat in 2015, starting in Red Hat's support organization as a Support Engineer before transitioning to the Customer Success team as a Technical Account Manager. He then joined the Management Business Unit in Technical Marketing to help deliver a number of direct solutions most relevant to Red Hat's customers.