RedHat TechDay: updates on OpenShift and more

Ed Reinoso
6 min readJun 21, 2024

I recently went to the RedHat TechDay in the Netherlands, where they did a recap on the things that were discussed during the Summit this part year. There were three topics in particular that caught my attention:

  • Event Driven Ansible (EDA)
  • OpenShift Virtualization
  • Developer Hub

The topics below are are general points and do not go in greater technical details. But at least they are useful to understand on a high level what they do, and how they could be applied.

📤 Event-Driven Ansible (EDA)

Event-Driven Ansible (EDA) is a relatively recent approach within the Ansible ecosystem that focuses on automating responses to specific events or conditions in an IT environment. This method enables real-time, responsive automation, allowing systems to adapt to changes or incidents dynamically. Here’s a breakdown of what Event-Driven Ansible entails:

Key Concepts

  1. Events: These are triggers or conditions that occur within the system, such as a change in system status, a security alert, or a performance threshold being crossed. Events can be generated by monitoring tools, applications, or other systems.
  2. Event Sources: These are the origins of events. They can include monitoring systems, log files, APIs, message queues, or custom scripts. Event sources feed information into the Event-Driven Ansible system.
  3. Event Processors: These are the components that interpret and process events. They can filter, transform, and enrich event data to make it actionable. Event processors determine what actions should be taken in response to specific events.
  4. Rules: These are predefined conditions and actions associated with events. Rules define what constitutes an event and specify the automated tasks or playbooks that should be executed in response.
  5. Actions: These are the tasks that are executed in response to an event. Actions are typically Ansible playbooks or roles that perform various operations, such as provisioning resources, remediating issues, or notifying stakeholders.
  6. Event-Driven Framework: This is the overall architecture that integrates event sources, event processors, rules, and actions. It ensures that the system can respond to events in a coordinated and efficient manner.

How Event-Driven Ansible Works

  1. Event Detection: The system continuously monitors event sources for specific conditions or changes.
  2. Event Ingestion: When an event is detected, it is ingested into the system for processing. This might involve logging the event or pushing it into a message queue.
  3. Event Processing: The event processor examines the event, applies filters, and matches it against predefined rules to determine the appropriate response.
  4. Action Execution: Based on the matched rule, the corresponding Ansible playbook or task is executed to address the event. This might involve provisioning resources, scaling services, patching systems, or alerting personnel.
  5. Feedback and Loop: The results of the action might generate new events, creating a feedback loop that allows for continuous and adaptive automation.

Benefits of Event-Driven Ansible

  • Real-Time Automation: Respond to incidents and changes as they happen, reducing downtime and improving system resilience.
  • Scalability: Automate complex, multi-step processes that would be difficult to manage manually.
  • Flexibility: Easily integrate with various event sources and adapt to different environments and requirements.
  • Efficiency: Reduce manual intervention, allowing IT teams to focus on strategic tasks rather than routine maintenance.

Use Cases

  • Incident Response: Automatically detect and remediate security incidents or system failures.
  • Resource Management: Scale resources up or down in response to usage patterns or thresholds.
  • Compliance and Auditing: Ensure systems remain compliant with policies and automatically correct deviations.
  • Continuous Deployment: Automate deployment pipelines to respond to code changes, test results, or user feedback.

📕 OpenShift Virtualization

OpenShift Virtualization is a feature of Red Hat OpenShift that integrates Kubernetes-native virtualization capabilities into the OpenShift Container Platform. It allows you to run and manage virtual machines (VMs) alongside containerized applications in a unified environment. This means you can have both containerized and traditional workloads managed through a single platform.

Here are some key aspects of OpenShift Virtualization:

  1. KubeVirt Integration: OpenShift Virtualization is built on top of the KubeVirt project, an open-source extension for Kubernetes that allows you to run VMs alongside containers.
  2. Unified Management: You can manage VMs using the same Kubernetes-based tools and processes you use for containers. This includes using the OpenShift web console, oc CLI, and Kubernetes APIs.
  3. VM Lifecycle Management: Create, start, stop, and delete VMs just like you would with container workloads. OpenShift Virtualization provides templates and tools to simplify VM management.
  4. Networking and Storage: VMs can use the same networking and storage resources as containers. This includes integration with OpenShift’s networking (e.g., OpenShift SDN or OVN-Kubernetes) and storage (e.g., Persistent Volumes).
  5. High Availability: OpenShift Virtualization supports high availability for VMs, allowing you to create VM replicas and ensure failover in case of node failures.
  6. Resource Scheduling and Quotas: VMs are scheduled alongside containers, respecting the same resource constraints, quotas, and policies.
  7. DevOps Integration: Integrate VMs into your CI/CD pipelines and DevOps workflows, enabling consistent and automated deployment and management practices.
  8. Migration and Modernization: OpenShift Virtualization helps in modernizing legacy applications by enabling you to containerize some parts of the application while running others in VMs. This hybrid approach eases the transition to a more cloud-native architecture.

Use Cases

  • Hybrid Workloads: Organizations often have a mix of legacy applications running in virtual machines and newer applications running in containers. OpenShift Virtualization allows these to coexist and be managed within the same platform.
  • Disaster Recovery and High Availability: Use OpenShift’s built-in high availability features to ensure VMs are resilient and can failover if necessary.
  • Security and Isolation: Run workloads with strict isolation requirements in VMs, while running less critical services in containers, all managed within the same environment.
  • Application Migration: Migrate existing VMs to OpenShift Virtualization as a first step in moving to a cloud-native environment. This can simplify the transition to containers over time.

🏎️ Developer Hub

The Red Hat Developer Hub is a platform designed to streamline and enhance the developer experience by providing a centralized place for developers to access tools, resources, and documentation necessary for building applications on Red Hat’s ecosystem. Here are some key aspects of the Red Hat Developer Hub:

Features and Capabilities

  • Centralized Resources: access to a wide range of development tools, including IDEs, SDKs, APIs, and other development resources. Comprehensive documentation and guides for using Red Hat products and technologies.
  • Integration with Red Hat Ecosystem: seamless integration with Red Hat OpenShift, Red Hat Enterprise Linux, and other Red Hat products. Support for containerized applications and Kubernetes.
  • Collaboration and Knowledge Sharing: forums, blogs, and community events to foster collaboration and knowledge sharing among developers. Tutorials, webinars, and other learning resources to help developers enhance their skills.
  • Developer Tools and Environments: development environments and sandboxes for experimenting with new technologies and solutions. CI/CD pipelines and other DevOps tools to streamline the development and deployment processes.
  • Security and Compliance: tools and best practices for ensuring security and compliance in application development. Support for integrating security measures into the development lifecycle.

Benefits of Developer Hub

  • Enhanced Productivity: By providing a centralized platform for all necessary tools and resources, developers can work more efficiently.
  • Improved Collaboration: Access to community support and collaboration tools helps developers solve problems faster and share knowledge.
  • Accelerated Development: Integration with Red Hat’s ecosystem and DevOps tools allows for faster development and deployment cycles.
  • Robust Security: Built-in security features and best practices help ensure that applications are secure and compliant.

Use Cases

  • Application Development: Developers can leverage Red Hat OpenShift for deploying containerized applications. Access to Kubernetes orchestration, CI/CD pipelines, and monitoring tools.
  • Microservices Architecture: Tools and frameworks for designing and implementing microservices. Support for service mesh technologies like Istio.
  • DevOps and Continuous Integration/Continuous Deployment (CI/CD): Integrate CI/CD tools to automate build, test, and deployment processes. Use Tekton pipelines or Jenkins for continuous integration.
  • Infrastructure as Code (IaC): Utilize Ansible or Terraform for managing infrastructure deployments. Ensure consistency and reproducibility in infrastructure setup.

⚠️ Disclaimer

Most of the content in this post is generated using AI. The purpose of this blog is to provide an insight on the technologies and what they do. The how process would follow with a demo post on how these apply in one real use case.

--

--

Ed Reinoso

DevOps engineer trying to make technology accessible