Tuesday, August 27, 2019

Learning curve for networking is strange nowadays...

I never liked it

In college I had some basics of networking (DHCP, Gateway configuration, many terminal commands etc.), but as I was totally dev-oriented and the only thing I could ask for when hearing about routing tables was "Can I break them?", I kind of forgot everything.

Long time ago I used a Vagrant as dev environment and it was just about one-click VM environment so I had nothing to configure about networking - it just worked, at this stage I already forgot what the hell a gateway is. Notice that even if its a one-click dumb thing (in dev usage), it still has an "environment" word about it.

After that I touched some fancy stuff on AWS, on premise instances etc; etc; and everything in network tabs were like "DON'T DARE TO TOUCH IT OR THE WORLD WILL BURN!!!" according to any web tutorial. Well, this worked for me as I still had less and less about networking in my head.

My next meeting with a "HELLO I AM A NETWORK THINGY THAT YOU ARE AWARE OF" was when I first met with Docker. I love docker, but I thought I could ignore the network aspect of it as many things were made automatically. This was a half-way truth, but the entry level was quite low so I could adapt to how it works and have some general understanding.

It helped me a little to configure things like Docker in Docker Jenkins agents, which I really like so I put more effort to learn about the whole concepts.

So then I picked to configure own Kubernetes from scratch (yeah like, who ever heard of GKE etc.). Most of things were quite clear as long as I didn't reach the section about picking a Network Driver and I didn't even touch a shared storage, didn't know what etcd replicas are, I gave up on Kubernetes as its quickly shot in my face. Still don't know how to configure something called a gateway

https://i.imgflip.com/391g21.jpg

I tookt a step back to smaller tools like Docker Swarm and it was bit easier, but I noticed that this product is loosing support (right now as I type this its more of a gossip) so lately I started to use Hashicorp Nomad. I simply could not connect 2 VPS each other because they were not in private network (this is what I think tho).

Right now I am playing with configuring public cloud on similar provider to AWS, stacking some servers that are paid per hour and creating virtual private networks. Its another attempt at Hashicorp Nomad and all that High Availiblity thingies

Still do not understand the gateway.

The point is, that I still feel like I know nothing about raw networking, but I know that I am closer to create some fancy things like automatic environment provisioning in a datacenter once somebody buy a service on a web page which itself does not sound that bad, and I am aiming for that.

Somehow this branch of networking (cloud, orchestration, contenerization... ) comes to be easier and easier to understand, the one cool part is when there comes something new to the market like GKE, Kubernetes, or CoreOS bought by RedHat, it really means something.

In typical developer life a new language is "Yeah, whatever." unless made by Google (hype) like GO which will be overriden by Rust once Rust will get better at async operations and networking (because of architecture decisions GO cannot get better, Rust can, and will be). Blahblah language wars mumbling...

Do I learn all of this in a wrong way or its like a normal?



No comments:

Post a Comment