Blog Post #2

  • Why did you and your team choose the technologies you did?

To be honest we did not really choose our technology. We’re coming in halfway (ish) through a project so we are at the mercy of the team before us. So far things look good BUT, luckily, we do have freedom from our project sponsor to change up our technologies and explore other options. That being said, the main software we’re going to add in is Docker.

I’ve worked with Docker on another side project. Like this one, I came into that project well into development, so I did not build things from the ground up. However, Docker was already installed so while I learned how to use Docker for what I needed, I did not get a full understanding of the software.

After reading the Exploration on ChatGPT and checking out the conversation our professor had with our soon-to-be AI overlords, I figured I would see how I could use it to help me learn. I asked it “Can you explain Docker to me in simple terms?”

“Certainly! Docker is a platform that makes it easy to develop, deploy, and run applications by using containers.

Containers are a lightweight way of packaging software and all its dependencies into a single unit. Each container is isolated from the host system and other containers, making it easier to manage and deploy applications without conflicts.

With Docker, you can create a container for your application and include all the necessary libraries and dependencies it needs to run, regardless of the underlying infrastructure. This means you can develop an application on your laptop and run it on a server without having to worry about compatibility issues.

Docker also makes it easy to manage multiple containers and orchestrate them to work together as a single unit. You can automate the deployment of containers, monitor their performance, and scale them up or down as needed.

Overall, Docker simplifies the development and deployment of applications by providing a consistent and portable platform for running software in any environment.”

            That was… Surprisingly helpful insight. When I asked the question I figured I may have to specify what Docker I was talking about, thinking the AI may try to explain boating to me or send me job postings in Maine. But the response was concise, clear, easy to understand. My years of Google searching have not prepared me to anticipate a decent response from such a casual query.

            However, there was still a problem. I’m pretty slow in general and, though this may be simple enough an explanation for superior minds, I needed it dumbed down even more. So I asked ChatGPT if it could make the explanation even simpler.

            “Docker is a tool that helps developers create and run applications inside virtual containers. Think of it as a container that holds everything your application needs to run, including the code, system libraries, and any dependencies. These containers are portable, meaning they can run on any computer with Docker installed, regardless of the underlying operating system. This makes it easier to move applications between different environments, like from a developer’s laptop to a production server. Docker also helps with versioning, scaling, and deployment of applications, making it a popular tool in the software development industry.”

            Wow. Now there is an explanation that even I can comprehend. We are truly living in the future. Of course, I was sure to do some fact-checking. It’s possible that I overlooked a few details, but it seems to me like ChatGPT was on the money with this. (Hopefully our next iteration implements its own fact-checking so that we can give in completely).

            Just out of curiosity, I wanted to see how simple this explanation could get. I copy/pasted the request, “Can you make that explanation even simpler?” a few times to see where we’d end up. (I PROMISE I didn’t need this simple an explanation. This was for research purposes only…) Here are the results:

            “Sure! Docker is like a container that holds everything your application needs to work properly. It’s like a box that includes the code, tools, and other things the app requires to run. This container is portable, which means it can run on any computer that has Docker installed. It helps with moving the app from one computer to another and makes it easier to deploy the app.”

            Okay, awesome. We’re getting into metaphor territory a bit more now.

            “Sure thing! Docker is like a special box that has everything an app needs to work inside it. You can move that box to different computers and the app will work the same way everywhere. It’s helpful because it makes it easier to deploy the app and move it around.”

            Now I’m starting to think Terry Pratchett created Docker.

            “Yes, absolutely! Docker is like a magic box that makes sure an app works the same way on any computer you put it on. It’s really helpful for making sure the app runs smoothly and can be easily moved around.”

            “Of course! Docker is like a suitcase for your app. You put everything your app needs inside it, and it works the same way no matter where you take it. It makes things easier because you don’t have to worry about the app not working properly on different computers.”

            Okay, okay, I think we’ve reached the simplest explanation possible. Now, we’re just mix-and-matching metaphors.

            So, what was the point of this endeavor? I really did not think I would be writing about this. I guess it was just my turn to try ChatGPT for an actual, practical use and rush to text all my friends how awesome it actually is and that the world will change forever, yada yada.

            The future is now and I am all the way here for it. As always, we ask that our benevolent corporate rulers use this power for good and never for evil. I’m sure they will.

  • How will your project use them?

Now that we (I) have a better understanding of Docker, we can talk about how our project will use the technology.

Like with most use cases for Docker, we’re going to put our project in the little magic suitcase. One benefit of this – as ChatGPT so eloquently put it – is that any group after us that may work on this project will be able to run the project from their own computer with the environment controlled.

This would have saved us hours (and hours and hours). As of now, we are STILL trying to get the previous group’s projects up and running locally. Every time we think we’re set, another issue to solve pops up. It has truly been a time suck.

Not to mention, just as we thought we were in the swing of things, we were introduced to the proprietary desktop app which will be adding a whole new layer to our struggles.

In addition, Docker will allow us the freedom to play around with our datasets without concern that we will ruin a company. It is a new feeling that something I do with my coding could potentially have real-world consequences. In fact, it’s pretty scary. With Docker, we will not have to concern ourselves (as much) with this issue and that puts my mind to ease.

Print Friendly, PDF & Email

Posted

in

by

Tags:

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *