I’ve gotten to the point in my web development career where I can no longer avoid the words VirtualBox, Vagrant, and Docker. However, as a lifelong learner, I understand that my fear of the unknown can’t lead me, so with the help of Udacity, I have dipped my toe into the world of virtual machines via Docker, Vagrant, and VirtualBox.
To be clear, I have previous experience working in the cloud with AWS, but that was really from a web development perspective. I know enough to set up a website and run it on AWS. I also have experience playing around in Azure, but I only had a surface-level knowledge of these cloud platforms. I knew enough to get in and move around and do pretty standard functions. I owe the majority of that knowledge to my pursuit of the AWS Certified Cloud Practioner certification. As a web developer with a good understanding of the Linux CLI and a tri-operating system power user (Windows, Mac, and Linux OS’s), I’m comfortable in most operating systems & software environments, so I decided that it’s time to level up my skills and see where it takes me.
Having a history in IT Support (Network Operations Center aka NOC…Thank you, Titus!) has definitely served me well in my new endeavors to transition to this new set of skills. I’ve also taken on brushing up on Python and a few other coding languages. Lastly, I plan on obtaining a few certifications, my first one being the Google Cloud Digital Leader, then the Microsoft Azure Fundamentals certification. Once I finish those, I’ll continue with the AWS Certified Cloud Practitioner. From there, the skies are the limit.
As the domain name infers, DerekRobinson loves .tech!
Below I’ve included a few surface-level definitions of some of these new technologies and software.
VirtualBox is basically a master OS host for your computer. You can use VirtualBox to run entire sandboxed operating systems within your own computer. These are genuinely separate computers in your computer and, as such, can be destroyed, used, and abused without repercussion.
Docker is software that takes away repetitive configuration tasks and is used throughout the development cycle for fast, easy, and portable app development, desktops, and cloud. For example, Docker’s website says it’s used to Build, Share, and Run apps and container images. The thing that I immediately noticed is that the community is excellent and really helpful.
Vagrant is software that is used to manage a development environment. You can grab any available OS through the command line, install it, configure it, run it, work inside it, shut it down, and more. This is a really cool software that has been fun to learn.
Containers are a standard unit of software that packages up code and all its dependencies, so the application runs quickly and reliably from one computing environment to another. First, however, you must understand how they work to move forward.
Command Line Interface (CLI) is a text-based interface used to operate software and operating systems while allowing the user to respond to visual prompts by typing single commands into the interface and receiving a reply in the same way. The Linux CLI is a foundation of programming, and a definite must learn!
CLI is quite different from the graphical user interface (GUI) that is presently being used in the latest operating systems. (Ex. Mac OS, Windows, and Linux)