Lesson 6-1: Cloud, SSH und Terminal
Vorweg interessant:

Im Zusammenhang mit der BW-Cloud sind das Standardwerkzeug SSH und die Terminalschnittstelle vorallem wegen der Nutzung von Schlüsselpaaren (engl. key pairs) zwingend notwendig. Der Blogpost hier ist lesenswert. Zur Einstimmung 🙂
Macher*Innen vs. Konsument*Innen

Soviel ist klar: ohne Computer läuft buchstäblich nichts mehr. Mit Computer aber geht nahezu alles. Studierenden sind sich in aller Regel schon vor Antritt des Studiums bewußt: Schreibzeug, Collegeblock und Collegetasche werden nicht reichen, ein Laptop muss sein. Mindestens ein Tablet oder ein Smartphone.
Man könnte sagen: “Gott lob, finden jungendliche Menschen diese Geräte ohnehin so attraktive, dass Sie es unbedingt haben möchten!”
Und tatsächlich ist die Generation Z in vielen Fällen so technikaffin, das eine gewisse Fertigkeit mit Smartphone, Tablet und Laptop vorausgesetzt werden kann – und der Umgang mit den Geräten in der Hand gut funktioniert. Auch der Umgang mit dem Internet ist in aller Regel nicht mehr erklärungsbedürftig, längst haben Freundinnen und Freunde aufgeklärt, wie es läuft. Ist doch auch die Bedienung mit der GUI auf allen Geräten kinderleicht. Und eine Vorstellung von der Cloud ist auch schon im Kopf: “Wir surfen doch im Internet, die für uns die Cloud ist.” So das Credo der Generation Z.
Soweit so gut – für Medienkonsument*Innen. Eine Vorstellung, die für Konsument*Innen durchaus arbeitsfähig ist – nicht aber für Macher*Innen, also für die, die an der Weiterentwicklung der Cloud arbeiten und neue Inhalte in die Cloud bringen.
Worin liegt der Unterschied?
Lassen Sie mich den Unterschied mit einem Vergleich herausarbeiten. In diesem Bild entsprechen die Restaurantbesucher*Innen den “User*Innen” und die Köchinnen und Köche in der Restaurantküche sind mit den Softwareentwickler*Innen zu vergleichen.

Was auf Laptop, Tablet und Smartphone im Internet genutzt werden kann, ist Software, die fertig gebaut und installiert ist. Damit befinden sich die Konsument*Innen in der Situation der Restaurantbesucher am gedekten Tisch. Sie können sich an den leckeren Speisen mit silbernem Besteck bedienen.
Für die Macher*Innen in der Küche sieht das während des Fertigungsprozesses anders aus. Sie können sich das Bild vorstellen: Köchinnen, Köche und Helfer*Innen im Arbeitsdress und mit anderen Werkzeugen müssen die Speisen erst herstellen, also erst die Rohstoffen in die Form bringen, damit die “User*Innen” am Tisch die fertigen Speisen entsprechend geniessen können.
In diesem Bild ist es intuitive für Sie klar, in der Küche werden andere Werkzeuge genutz, wie am Speisetisch. – Analog dazu läßt sich das auch für die Softwareentwichlung sagen: während der Herstellung sind andere Werktzeuge im Einsatz!
Die Situation
Beleuchten wir kurz die Situation der Remote-Worker*innen. Sie sitzen mit Ihrem Laptop irgendwo in Ihrem Heimatland – mit Internetanschluß. Im Bild ist das beispiehaft Furtwangen im Scharzwald. (Klick auf das Bild vergrößert es.) Natürlich können Sie über das Internet Webseiten weltweit mit Ihrem Browser nutzen (als Medien-Konsument*Innen.)

Wenn Sie jetzt als Medien-Produzent*Innen auf einem entfernten Server (engl: remote server) arbeiten möchten, d.h. einen remote Zugriff machen möchten, benötigen Sie mehr wie einen Browser! Warum eigentlich? – Nun, wir erinnern uns, dass wir ja einen eShop bauen wollen und Software, die von mehreren User*Innen genutzt werden soll muß auf leistungsfähigen Server-Computern laufen. Und eben dieses Einrichten der Server wird üblicherweise von Fachbersonal erledigt, also einigen wenigen, für die es sich in aller Regel vom Herstellungsaufwand nicht lohnt, eine grafische Benutzerschnittstelle (engl. graphical User-Interface, kurz: GUI) herzustellen, sondern eine einfachere Terminal-Schnittstelle reichen sollte.
Tragisch: wer sich diesem Kreis anschließen möchte muss lernen, die Terminalschnittstelle zu beherschen.
Die Cloud ist für uns die Menge der im Internet erreichbaren Serverhardware und Serversoftware und Datenspeicher, die mit Hilfe eines entfernten Zugriffs gesteuert werden können. Die Bereitstellung und Nutzung dieser Computerressourcen ist definiert und erfolgt in der Regel über eine Programmierschnittstelle (API) bzw. die SSH Secure Shell, bzw. für Anwender über eine Website oder App
Terminal-Schnittstelle
Lohn der Mühe: wer die Terminal-Schnittstelle beherrscht kann weltweit auf nahezu alle Server zugreifen (falls berechtigt) und diese Server von remote aus administrieren.

Ob also, wie im Bild oben, der remote Server in Freiburg steht oder in New York oder San Francisco, spielt keine Rolle. Bis vor nicht allzulanger Zeit waren die Terminalschnittstellen von Linux und MaxOS hierfür hervorragend geeignet – nicht aber die Terminalschnittstelle von Windows. Dies liegt and der Secure Shell.
Die Secure Shell SSH

Die Secure Shell (ssh) ist ein Standardwerkzeug, das in den meisten “Netzwerk”-Betriebssystemen enthalten ist, d. h. Linux, UNIX, MacOS, usw.. In der Vergangenheit benötigte Windows eine Drittanbieter-Anwendung, um überhaupt einen brauchbaren ssh-Client zu erhalten. Für Benutzer, die eine sichere Verbindung zum Rest der Welt mit einer Befehlszeilenschnittstelle benötigten, war PuTTY eine übliche Ergänzung. Nach mehreren Jahrzehnten hat Microsoft endlich einen nativen ssh-Client UND -Server unter Windows! Sowohl der Client als auch der Server sind Standard (und in stabilen Versionen) auf Windows 10 seit dem 1809 “Oktober Update”.
Soweit der aktuelle Stand, objektiv.
Subjektiv: weil es eben die Drittanbieter-Anwendungen putty und puttygen gibt, bevorzugen Windowsanwender*Innen eben diese Drittanbieter-Anwendungen. Auch recht!
Vergleichen wir kurz
Das Terminal ist zugegebener Maßen ziemlich spartanisch. Das Terminal wird bei Window, MacOS und Linux als separates Fenster angeboten, mit der schichten Aufmachung: Fensterrahmen, sehr wenige oder kein Funktionsmenü, schwarzer oder weißer Hindergrung mit 24 weißen oder schwarzen Zeilen (das sind die Kommandos oder die Kommandoergebnisse) – Farbe: wenn überhaupt, ganz wenig. Das folgende Bild eines Terminals ist geradezu typisch.

Auch sicher: Terminals treffen nicht jedermanns/jederfrau Geschmack. Und klar ist auch: die intuitiver Unterstützung, so wie es eine GUI anbietet, fehlt komplett. Eine herbe Schönheit und sehr spartanisch!
Beim MAC ist das ein bisschen anders: auf Wunsch gibt es Farbe, wie die folgenden Bilder zeigen.


Das mag erstmal als Hinführung zum Terminal reichen: wir brauchen das Terminal, um Kommandos einzugeben. Kommandos benötigen wir um Server in der Cloud zu steueren.
Viel Spaß, bei der Auseinandersetzung mit der Kommandoeingabe auf Ihrem Rechner. Rechnen Sie damit, dass Sie Grundkenntnisse brauchen. In der nächsten Lesson werden Sie einige elementaren Kommandos sehen: Für Windos, z.B.: “dir“, “chdir“, “type“. Für MacOS und Linux, z.Bsp.: “ls -al“, “pwd“, “cd“, “cat“. Die wichigsten SSH-Kommandos dürfen auch nicht fehlen.
Have fun storming the castle.
