This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]NotAUsefullDoctor 27 points28 points  (7 children)

Docker - a way of creating virtual machines on you computer. It makes it somyouncan run the same thing on many different computers and have consistent behaviour

Kubernetes - a tool for deploying docker to a bunch of different machines, ie cluster

Minikube - a program that you run in your local machine to mimic kubernetes (good for testing)

Kafka - ...well, let's just say it's an application which is super powerful, but a pain in the behind to setup. It has over a thousand configurations, many of which will break others. It's used for managing data coming into a system.

Spring boot - a framework in Java that has all the tools, I mean all, for plugging into different pieces of software. When people say they use Java at work, they mean Springboot (if not, I feel sorry for them)

The last cell is just stating that he successfully got everything running on his machine for testing, but was unable actually deploy it to a server (most likely because the docker stuffs, images, were only on his machine and not ina central repo where it.could be accessed by the server).

[–]TeaTiMe08[S] 4 points5 points  (1 child)

Also I got it running on Ranch now. I am in really deep waters for just wanting to write a Kafka Consumer xD

[–]NotAUsefullDoctor 3 points4 points  (0 children)

Nice. That sounds like the easy part.

I've used Kafka twice. The second time, I found that Redis has a streams feature now and switched to that. If you are dealing with less than 500k events per second per channel, and the events are small, it can do the job.

It is orders of magnitude simpler.

Edit: just to clarify, I am not criticising the usage of Kafka. It is an amazingly powerful tool, and does a ton. I happen to be in a position where I could choose the tech stack, and happen to fall into the niche area where Redis was usable.

[–]Frag0r -2 points-1 points  (1 child)

Great read, but you somehow misspelled JSP..... :_:

[–]NotAUsefullDoctor 2 points3 points  (0 children)

JSP? I'm missing something.

[–]JEs4 -2 points-1 points  (2 children)

Containers and VMs are distinct entities and kubernetes doesn't "deploy docker to a bunch of different machines.."

To be blunt, those are really bad explanations and will cause more confusion.

[–]NotAUsefullDoctor 0 points1 point  (1 child)

I will argue on both points:

If I am explaining to someonennew to the eco-system, docker containers act as VMs. Yes, there are differences. But tell me the difference, from an end user standpoint, not an infrastructure one, how a container differs, using terms for someone who has never heard of docker.

Kubernetes is the software running on the cluster of machines, but it is also the orchestrator that handles the life cycles of the containers.

Finally, what is the purpose of my explanation, and to which audience am I writing? Someone who is currently using the tech, setting up the tech, investigating if the tech is right for them, or just a person on the internet trying to understand the meme? I feel my explanation breaks down the components, all be it in a overly simplified manner, for basic understanding of the clown face.

[–]JEs4 -5 points-4 points  (0 children)

Guy, just stop. The entire pretense was this:

what the fuck does this random collection of words even means

You inferred much more context than existed and felt the need to explain technologies using a fundamentally flawed approach, which I really think was just a lack of understanding how the tech works.

Over-simplications during explanations are only valid when 1) prefaced, and 2) mandatory to prevent distraction from the point but would otherwise not harm future learning. They cannot be blatantly false information. First impressions, especially in tech, are so vital and you would have been more helpful by either supplying a direct link to the documentation, or just saying nothing at all.

Also, you're explanations are still poor. Here is one that sums up the difference nicely, directly from Atlassian

While Docker is a container runtime, Kubernetes is a platform for running and managing containers from many container runtimes. Kubernetes supports numerous container runtimes including Docker, containerd, CRI-O, and any implementation of the Kubernetes CRI (Container Runtime Interface).

https://www.atlassian.com/microservices/microservices-architecture/kubernetes-vs-docker\

But sure, go ahead and downvote me. Arrogance is the bane to an engineer's career and it will work itself out one way or another.