top of page
Writer's pictureNate

DevOps - Home Edition


I am involved in many aspects of DevOps as part of what I do. Although I have deployed many organizational-level operations, I never put my habits into that context—shame on me.


This week I began the journey of organizing the messy habit I had created over the years. I started with an excellent repository to keep my projects in line; I updated my IDE to include the repository for version control. I ensured I could do virtual environments for each project to support the requirements focused. Then the rabbit hole opened, and down I went.


Having used AWS and Azure services, I included them in my IDE, then I added Docker locally to my system to build custom containers and push them to the cloud services, and... things started breaking on my workstation.


I noticed my VMWare Workstation no longer would kick-off instances. So began the long 'search and rescue' via google and lots of websites to resolve the issue. I checked this setting and that setting, but those made no changes. I thought about reinstalling the software but then listened to my method of procedure. "When something fails, rollback."


I began rolling back changes made to the system, with Docker being the first. I removed the application and ensured the settings it had made had been reverted and retested. A few Windows reboots later, VMWare Workstation worked. Damn... well, more like WTF?! So began the 'search for the truth' episode to discover why Docker and VMWare Workstation didn't play well.


The hours I spent trying to get some of this to play nice ended up being the fact that each set of software requires different hypervisors to work. If you enabled one type over the other, one of the two would not work. I even tried to use the WSL2 Linux subsystem in Windows for Docker, but no go. But this did give me an idea.


I had at one time built a Docker system on top of a Linux OS within VMWare Workstation that worked without issues. The rabbit hole opened, and my brain dove in. I verified that the IDE I use would support remote systems, check. Could it manage docker containers on the remote system? Check. Could I install the Azure and AWS toolkits? Check. The mind generates enormous computing power when it knows how to reach its goals. A couple of hours later, I built a remote environment on VMWare Workstation and set it up for trial.


I went down the checklist of pulling a repository from GitHub. I activated the python environment and installed the required libraries for the particular code. I pulled a Postgresql container through the IDE and had it up and running. I executed the python script, which drew information from an API and inserted it into the database. Success! I now have an environment that fills what I need to perform the tasks I'm focused on and potentially future.


What have I learned? By thinking a little differently, I can now utilize instances locally and on the cloud. I can customize the dev instances to meet the needs of the application. For basic applications, I can use a generic instance. I can use an instance for analytical processing if the application requires GPUs. My IDE can be installed on other systems, synchronized between them, and used anywhere. Such a setup does not seem to have any limitations.


According to whoever coined the phrase, diversity brings prosperity or evolution. Our core values reflect this. We observe how things are currently in motion. We optimize those motions to make them more productive. We orchestrate that productivity to complete the scope.



3 views0 comments

Recent Posts

See All

Comments


bottom of page