Shortly after Red Hat announced the shift of focus of CentOS , they released a no-cost subscription for Red Hat Enterprise Linux. In short, they now allow a single user to run 16 Red Hat VMs at no cost. Here is how to get it.
You will need a Red Hat developer account. Sign up for one if you don’t already have it. Then head over to the download area and download the iso image you want.
Install the OS just like you normally would. Reboot when asked. When the system comes back, go to License Information and accept the EULA as you see fit.

Then click on Finish configuration. Log into the OS and start a terminal, or ssh to the VM. Run the following command to register your OS. Enter the developer account username and password when asked.
$ subscription-manager register
$ subscription-manager attach
Now check what repos are enabled:
[[email protected] ~]# dnf repolist
Updating Subscription Management repositories.
repo id repo name
rhel-8-for-x86_64-appstream-rpms Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs)
rhel-8-for-x86_64-baseos-rpms Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs)
To see the subscription usage, go to this link.

Under the systems tab, I can see my VM listed

If you set the right hostname before registration, you can skip the remaining steps. I want to update the hostname, so from Red Hat customer portal, I removed the instance under the systems tab. Then re-register using the same commands with the –force switch. Refresh the portal and I can see the new hostname. If there is a smarter way, drop me a note.

Appsteams
On EL8, the concept of AppStram is introduced. That makes switching of package group easier. For example, to install php 7.4:
[[email protected] ~]# dnf module list php
[[email protected] ~]# dnf module enable php:7.4
[[email protected] ~]# dnf install php php-cli
Docker
One may also use RHEL8 on docker. First, build the docker image with the following Dockerfile
FROM registry.access.redhat.com/ubi8/ubi-init
CMD [ "/bin/bash" ]
Building docker image is easy, run docker build -t rhel8/ubi .
Once it’s built and deployed, take a look at the ubi repositories. If you do not find packages you need, you can subscribe the OS using the very same commands mentioned above.