Docker
I started messing around with docker and it's pretty interesting and rather easy. The initial part of learning the commands took some time, but was pretty effortless. Docker is important since it packages codebases into containers and allows them to run on virtually any system. It basically solves the problem having to worry about pre-installing software or messing with configurations by isolating software applications from their system environments, allowing developers to share their apps across systems.
I know the pain of this since I've had to configure AWS servers to run Ubuntu or RedHat, then install and configure it into an Apache web server, and then on top of that run an Angular application. I've had to do it multiple times now, and while it gets easier each time, it's still quite a process and there are usually some odds and ends that I forget and wind up having to debug and fix. Being able to use docker to automate that process is quite alluring.
I was able to create a docker image for an apache server on CentOS that serves a simple index file. I'll tweak it to run an Angular or React app, which shouldn't be too hard. I think that just involves adding a command to copy over the contents of the build folder into the apache html folder. After that, I'm going to try my hand at creating a simple Spring Boot API then containerize it with Docker and then figure out how to deploy it on Heroku. I'm going with Heroku since I don't want to pay for it, otherwise, I'd go with AWS.