Developing Event-driven Applications with Apache Kafka and Red Hat AMQ Streams
AD482 is a Bring Your Developer Workstation (BYDW) course, where you use your own internet-enabled system to access the shared Red Hat OpenShift Container Platform (RHOCP) cluster. The following operating systems are supported:
Red Hat Enterprise Linux 8 or Fedora Workstation 32 or later
Ubuntu 20.04 LTS or later
Microsoft Windows 10
macOS 10.15 or later
Table 1. BYDW System Requirements
| Attribute | Minimum requirements | Recommended |
|---|---|---|
| CPU | 1.6 GHz or faster processor | Multi-core i7 or equivalent |
| Memory | 8 GB | 16 GB or more |
| Disk | 10 GB free space HD | 10 GB or more free space SSD |
| Display Resolution | 1024x768 | 1920x1080 or greater |
You must have permissions to install additional software on your system. Some hands-on learning activities in AD482 provide instructions to install the following programs:
Python 3
JDK
Git 2.18 or later (Git Bash for Windows systems)
The OpenShift CLI (
oc) 4.6.0 or later
You might already have these tools installed. If you do not, then wait until the day you start this course to ensure a consistent course experience.
Important
Hands-on activities also require that you have a personal account on GitHub and Quay.io.
Depending on your system, you might see differences between your command-line shell and the examples given in this course.
Red Hat Enterprise Linux or Fedora Workstation
If you use Bash as the default shell, then your prompt might match the
[user@host ~]$prompt used in the course examples, although different Bash configurations can produce different results.If you use another shell, such as
zsh, then your prompt format will differ from the prompt used in the course examples.When performing the exercises, interpret the
[user@host ~]$prompt used in the course as a representation of your system prompt.All the commands from the exercises should be functional.
Ubuntu
You might find differences in the prompt format.
In Ubuntu, your prompt might be similar to
user@host:~$.When performing the exercises, interpret the
[user@host ~]$prompt used in the course as a representation of your Ubuntu prompt.All the commands from the exercises should be functional.
macOS
You might find differences in the prompt format.
In macOS, your prompt might be similar to
host:~ user$.When performing the exercises, interpret the
[user@host ~]$prompt used in the course as a representation of your macOS prompt.All the commands from the exercises should be functional.
You might need to grant execution permissions to the installed runtimes.
Microsoft Windows
Windows does not support Bash natively. Instead, you must use PowerShell.
In Windows PowerShell, your prompt should be similar to
PS C:\Users\user>.When performing the exercises, interpret the
[user@host ~]$Bash prompt as a representation of your Windows PowerShell prompt.For some commands, Bash syntax and PowerShell syntax are similar, such as
cdorls. You can also use the slash character (/) in file system paths.For other commands, the course provides help to transform Bash commands into equivalent PowerShell commands.
This course only provides support for Windows PowerShell.
The Windows firewall might ask for additional permissions in certain exercises.
To use your own system or an instructor-led training (ILT) workstation provided by your instructor, select the option from the dropdown when you launch your classroom by using the button in the tab in the Red Hat Online Learning (ROL) interface.
![]() |
If you cannot or do not wish to use your own system, ROL can also provide a RHEL 8 workstation environment in the cloud, which you can connect to remotely from your browser. To use this, select the option from the dropdown when you launch your classroom by using the button in the tab in the ROL interface.
![]() |
For all classrooms provisioned for this course, ROL also provisions an account for you on a shared RHOCP 4 cluster. When you provision your environment in the ROL interface, the system provides the cluster information. The interface gives you the OpenShift web console URL, your user name, and your password.
![]() |
The required tools are pre-installed in the Cloud Workstation classroom environment, which also includes VSCodium, a text editor that includes useful development features.
Important
The remaining information in this section explains the or non-BYDW ILT classroom environments and is not relevant to you if you are using the option with your own system.
In this environment, the main computer system used for hands-on learning activities is workstation. All virtual machines in the classroom environment are in the lab.example.com DNS domain.
All student computer systems have a standard user account, student, which has the password student. The root password on all student systems is redhat.
Table 2. Classroom Machines
| Machine name | IP addresses | Role |
|---|---|---|
| workstation.lab.example.com | 172.25.250.9 | Graphical workstation used by students |
| bastion.lab.example.com | 172.25.250.254 | Router linking student's VMs to classroom servers |
| classroom.lab.example.com | 172.25.252.254 | Server hosting the classroom materials required by the course |
The bastion system acts as a router between the network that connects the student machines and the classroom network. If bastion is down, other student machines may not function properly or may even hang during boot.
The AD482 course uses a Python-based lab script that configures the directory structure for each guided exercise and lab activity.
You configure the workspace directory, typically with the following values:
The
/home/user/AD482directory for Linux and macOS users.The
C:\Users\user\AD482directory for Windows users.
The workspace directory must contain the AD482-apps repository.
This is the code repository that contains the necessary files for each activity in this course.
The lab script uses the locally cloned AD482-apps repository to create a directory structure relevant to a particular guided exercise or lab activity.
For example, the lab start troubleshooting-duplication command does the following:
Create a
troubleshooting-duplicationdirectory in the workspace.Copy the
AD482-apps/troubleshooting-duplication/apps/source code subdirectories to thetroubleshooting-duplicationdirectory.In this case, the
AD482-apps/troubleshooting-duplication/apps/movement-processordirectory contains the source code for thetroubleshooting-duplicationguided exercise.Copy the relevant scripts to the
troubleshooting-duplication/scriptsdirectory.Copy the relevant resources to the
troubleshooting-duplication/resourcesdirectory.
Consequently, the /home/user/AD482/troubleshooting-duplication directory has the following content:
troubleshooting-duplication ├── movement-processor│ ├── mvnw │ ├── mvnw.cmd │ ├── pom.xml │ ├── README.md │ └── src ├── resources
│ └── topic.yaml └── scripts
└── produce_events.py
The application for the guided exercise. | |
The resources directory typically contains YAML files. | |
The scripts directory typically contains scripts used in the guided exercise. |
You can see the finished application in the AD482-apps repository.
For example, for the troubleshooting-duplication guided exercise, see the AD482-apps/troubleshooting-duplication/solutions directory.
You are assigned remote computers in a Red Hat Online Learning classroom. They are accessed through a web application hosted at . You should log in to this site using your Red Hat Customer Portal user credentials.
Controlling the Virtual Machines
The virtual machines in your classroom environment are controlled through a web page. The state of each virtual machine in the classroom is displayed on the page under the Online Lab tab.
Table 3. Machine States
| Virtual Machine State | Description |
|---|---|
| STARTING | The virtual machine is in the process of booting. |
| STARTED | The virtual machine is running and available (or, when booting, soon will be). |
| STOPPING | The virtual machine is in the process of shutting down. |
| STOPPED | The virtual machine is completely shut down. Upon starting, the virtual machine boots into the same state as when it was shut down (the disk will have been preserved). |
| PUBLISHING | The initial creation of the virtual machine is being performed. |
| WAITING_TO_START | The virtual machine is waiting for other virtual machines to start. |
Depending on the state of a machine, a selection of the following actions is available.
Table 4. Classroom/Machine Actions
| Button or Action | Description |
|---|---|
| Create the ROL classroom. Creates all of the virtual machines needed for the classroom and starts them. Can take several minutes to complete. | |
| Delete the ROL classroom. Destroys all virtual machines in the classroom. Caution: Any work generated on the disks is lost. | |
| Start all virtual machines in the classroom. | |
| Stop all virtual machines in the classroom. | |
Open a new tab in the browser and connect to the console of the virtual machine.
You can log in directly to the virtual machine and run commands.
In most cases, you should log in to the workstation virtual machine and use ssh to connect to the other virtual machines.
| |
| → | Start (power on) the virtual machine. |
| → | Gracefully shut down the virtual machine, preserving the contents of its disk. |
| → | Forcefully shut down the virtual machine, preserving the contents of its disk. This is equivalent to removing the power from a physical machine. |
| → | Forcefully shut down the virtual machine and reset the disk to its initial state. Caution: Any work generated on the disk is lost. |
At the start of an exercise, if instructed to reset a single virtual machine node, click → for only the specific virtual machine.
At the start of an exercise, if instructed to reset all virtual machines, click →
If you want to return the classroom environment to its original state at the start of the course, you can click to remove the entire classroom environment. After the lab has been deleted, you can click to provision a new set of classroom systems.
Warning
The operation cannot be undone. Any work you have completed in the classroom environment up to that point will be lost.
The Autostop Timer
The Red Hat Online Learning enrollment entitles you to a certain amount of computer time. To help conserve allotted computer time, the ROL classroom has an associated countdown timer, which shuts down the classroom environment when the timer expires.
To adjust the timer, click to display the New Autostop Time dialog box. Set the number of hours until the classroom should automatically stop. Note that there is a maximum time of ten hours. Click to apply this change to the timer settings.


