Web ALL THE THINGS

Increasingly, the "web" is essentially the OS.
Consider "Google/ChromeOS"

A "Stack"


So for all the following, a "web stack" is required
(but these days, frequently "backgrounded"
Tiny individual IoT devices on up to AMAZON have this.

Note; the "stack" is frequently abstracted

And so, you don't hear about all the parts;
ESPECIALLY the parts that don't make someone rich.
(e.g. why you do hear about Docker but not Linux)

the basics of a web stack:

Lets tighten these up a bit:


A computer (possibly virtual)

On Virtual

Many different ways to do "Virtual" and "Virtual-like," but roughly:

Pure Virtual

i.e. literally fake the whole computer. You have to install the OS, etc.


Containers

This is "Docker" et al:

You don't fake the whole computer;
you wrap up and "package" the stuff you need to use;
and try to wall it off from everything else.

eg DOCKER

Container advantages:


Less space, and what Docker is trying to do is to be the central hub for "reproducible builds.."

So that "installing a web server or service" is almost as easy as "installing an app on a phone"

And shockingly, they don't seem to be evil

Evil?

Because they're trying to make a kabillion dollars from it.
I'd be fine with millions, but not kabllions.

Yay Podman!

When you get big, you have to think about this large scale

e.g. KVM
Kubernetes
and other tools for managing A BUNCH OF THESE.

Also, there's the Proton/Wine thing


Which doesn't much apply to web/hosting:

But may be big in the future in terms of Linux killing windows;
given that games are usually the hardest thing to emulate.

A computer (possibly virtual), probably running Linux

Yep. Usually.

Funny, it's not talked about that much. Or enough.
Again, not the part that makes people Rich, or even popular

A webserver and real language:

Old school way (that's still pretty popular)

Webserver (which just serves up pages)
+
Language (e.g. PHP or ASP) — i.e. a web-specific language

"LAMP STACK"

LAMP STACK

A webserver and real language:

New school way

All in one
e.g. Python's Django
or
Node/Node.js

Again, quick review of languages

Quick note on databases

Why YET ANOTHER LANGUAGE?
It's a good question. Data storage and retrieval is hard.


JAVASCRIPT


The 800lb gorilla.

Once again, why this mediocre language?


Because

(in an infinite bandwidth world, I imagine this would look different)

But why THIS language?


First to market. That's pretty much it.

Has it gotten better?


Yes, I think. Almost out of necessity.

But just about EVERYTHING has been replicated, rewritten.

Not only can you theoretically do everything in Javascript, a lot of it is literally "there."


But-- LOTS of wheel reinvention. I mean LOTS


So much so, it's hard to keep up with.

Also, lots of transpiling and other languages etc. etc.

The RUNK problem

The error

The ACTUAL CODE




So you want a "server"


Cool: Things to think about

Check out all things "Self-Hosted"

If it's just for the family inside the house:

So you want to do something at home


Check out EVERYTHING "self-hosted"


So you want to do something on the whole internet?


Can be harder, since big telecom decided that we shouldn't do it like this ☺


Exposure options:

- Try opening the router
- Tor
- ngrok
- etc.
...or

Look into hosting

DigitalOcean et al.

Pretty cheap, it can be.
(cheap enough such that I *think* I have 1 or 2 virtual host machines that literally aren't doing anything right now)


There's also Amazon et al


NGL, I know very little about this personally.
I know you can spin up virtual machines very easily, usually for free?

There's also "Specialized" hosting

Usually, most people think of Web / Email hosting
(this is what I do, I actually don't have "root" on jrm4.com,)
Mostly due to inertia and email.

Back to home...


Stuff I use or mess around with





Backlinks: FSU Courses:LIS5362:RawSlides