Beiträge

Die Abkürzung PaaS steht für Platform as a Service. Damit wird eine Cloud-Infrastruktur bezeichnet, die Entwicklern diverse Entwicklungsumgebungen und Tools zur Verfügung stellt, um Software-Produkte möglichst schnell und effizient zu entwickeln. PaaS ist also ein Cloud-Service, der insbesondere für Entwickler und IT-Unternehmen sinnvoll ist, die schnell und möglichst unkompliziert neue Apps entwickeln und diese ins Netz stellen möchten, ohne eine eigene Infrastruktur betrieben zu müssen.

Was genau ist PaaS?

Im Rahmen des Cloud-Computings fungiert PaaS als eine Art Bindeglied zwischen „Software as a Service“ (SaaS) und „Infrastructure as a Service“ (IaaS). Mit IaaS wird lediglich die benötigte IT-Infrastruktur bereitgestellt, die Unternehmen für ihre geschäftlichen Prozesse benötigen. Bekannte Beispiele für IaaS-Dienstleiter sind Amazon Web Services und Google Cloud. PaaS geht jedoch noch einen Schritt weiter und stellt gezielt fertige Pakete mit diversen Tools bereit, um direkt mit der App-Entwicklung zu beginnen. Entwickeln, testen, überarbeiten und als fertiges Produkt seinen Nutzern zur Verfügung zu stellen – all das lässt sich mi Platform as a Service realisieren.

Wie ist PaaS aufgebaut?

PaaS-Angebote setzen sich aus der benötigten Infrastruktur, wie beispielsweise Servern und Betriebssystemen, und der sogenannten Middleware zusammen. Mit Middleware werden spezielle Programme bezeichnet, die in der Lage sind, unterschiedliche Anwendungen miteinander zu verbinden. Hinzu kommen noch diverse Tools, wie zum Beispiel Entwicklungswerkzeuge, Datenbanken-Systeme, Container-Techniken sowie spezielle Programmier- und Skriptsprachen. Bei der auf der Plattform bereitgestellten Lösungen handelt es sich entweder um Eigenentwicklungen des Anbieters oder um Tools von Drittanbietern. Ihre Hauptaufgabe besteht darin, dem Kunden eine möglichst schnelle und komfortable Entwicklung zu ermöglichen.

 

Wenn Sie die Leistungen eines PaaS-Anbieters in Anspruch nehmen, dann müssen Sie sich also nicht mehr um die Beschaffung, Einrichtung und Verwaltung der IT-Infrastruktur kümmern. Sie können sich voll und ganz auf die Entwicklung Ihrer Anwendungen und auf Ihre Kunden fokussieren. Die Software lässt sich als SaaS  über die Cloud-Infrastruktur bereitstellen. Dabei kann es sich zum Beispiel um interne Software-Tools handeln oder auch um kommerzielle Software-Produkte, die für die Nutzung im Rahmen des World Wide Web vorgesehen sind.

Die Funktionsweise von PaaS

Im Rahmen von Plattform as a Service entwickelt Sie Ihr Software-Produkt grundsätzlich so, wie Sie es auch in einer eigenen Entwicklungsumgebung machen würden. Nach der Entwicklung des Programmcodes laden Sie ihn auf die Plattform hoch, wo er in einem Container bereitgestellt und ausgeführt wird, der den Anforderungen der Anwendung genauestens entspricht. Die meisten PaaS-Dienstleister bieten die Möglichkeit, mehrere Versionen derselben Anwendung parallel auszuführen Dadurch können Sie beispielsweise Live-Testumgebungen und Real Time Monitoring realisieren oder ein Rollback auf eine frühere Version schnell und unkompliziert ausführen.

Traditionelle Webhosting-Angebote sind ein gutes Beispiel dafür, wie das Konzept Platform as a Service funktioniert. Sie erstellen den Programmcode und laden ihn bei Ihrem Webhosting-Dienst hoch. Dieser führt den Code in der entsprechenden Umgebung aus und generiert daraus eine im World Wide Web frei zugängliche Website. Dabei müssen Sie sich nicht explizit um die Einrichtung von Datenbanken, Webservern und Speicherplatz kümmern. Moderne PaaS-Angebote sind grundsätzlich wesentlich komplexer und enthalten eine Vielzahl unterschiedlicher Funktionen und Features.

Welche Modelle gibt es?

Angesichts des gigantischen Angebots an unterschiedlichen Platform as a Service-Lösungen ist es nicht möglich, sie einzeln zu kategorisieren. Die einzelnen Lösungen unterscheiden sich teilweise stark und sind in der Regel auf unterschiedliche Anforderungen und Bedürfnisse ausgelegt. Dennoch existieren bestimmte Attribute, anhand derer sich die unterschiedlichen Platform as a Service-Lösungen identifizieren lassen. So unterscheiden man zum Beispiel:

– Application PaaS (aPaaS)

– Integration and Governance PaaS (iPaaS)

Mit dem erstgenannten Modell wird die Bereitstellung von Apps beschrieben, die mit einer grafischen Benutzeroberfläche ausgestattet sind. Das kann zum Beispiel eine App für die interne Nutzung im Unternehmen sein, die Mitarbeiter über die Cloud nutzen.

iPaaS ist hingegen auf die Integration von Cloud Services ausgelegt. Hier sorgt die Plattform dafür, dass keine Middleware-Lösungen benötigt werden, um Anwendungen zur Verfügung zu stellen. Ein bekanntes Beispiel hierfür ist die Anypoint Platform von MuleSoft.

Hinzu kommen noch die zahlreichen offenen Angebote etablierter IT-Größen, wie Google App Engine. Diese ermöglichen die Entwicklung in einer Open-Source-Umgebung, sodass Sie nicht an bestimmte Server, Programmiersprachen, Betriebssysteme und Datenbanken gebunden sind.

Vor- und Nachteile- moderner Lösungen

Der Einsatz von Platform as a Service überzeugt mit zahlreichen Vorteilen. Der wohl größte Vorteil spiegelt sich in der Tatsache wider, dass die App-Entwicklung ohne die Anschaffung und Verwaltung einer eigenen IT-Infrastruktur viel schneller und einfacher stattfindet. Produkte lassen sich so deutlich schneller auf den Markt bringen. Außerdem ist die Leistung der bereitgestellten Ressourcen skalierbar. Konkret bedeutet das, dass Sie die gebuchten Kapazitäten je nach Bedarf hoch- oder herunterskalieren können. Darüber hinaus ist der Faktor der Kosteneinsparung nicht zu unterschätzen, da Sie keine Lizenzen und Hardware erwerben und nicht selbst die Instandhaltung und Aktualisierung vornehmen müssen.

Ein sowohl Vorteil als auch Nachteil von PaaS spiegelt sich in der Tatsache wider, dass sich der Anbieter um die Anschaffung und Konfiguration der IT-Infrastruktur kümmert. Dadurch haben Sie keinen direkten Einfluss auf die Infrastruktur und können auch keine eigenen Lösungen implementieren.

Bei der Scrum-Methode handelt es sich um ein Vorgehensmodell aus dem Projektmanagement, das vornehmlich bei der agilen Entwicklung von Software zum Einsatz kommt. Der Ursprung der Methode liegt in der Softwaretechnik. Mittlerweile kommt Scrum in vielen Bereichen zum Einsatz.

Die Geschichte von Scrum

Die Anfänge der Scrum-Methode liegen in den 90er Jahren. Es handelt sich um einen Begriff aus dem Rugby, der frei übersetzt „angeordnetes Gedränge“ bedeutet. Ken Schwaber und Jeff Sutherland gelten heute als Gründer der Methode. Die öffentliche Vorstellung erfolgte 1995 auf einer Konferenz. Im Laufe der Jahre entwickelten die Anwender die Methode kontinuierlich weiter. Die Formulierung des agilen Manifests im Jahr 2001 war ein Meilenstein in der Scrum-Historie.

Was ist Scrum?

Kurz und bündig handelt es sich bei Scrum um das Rahmenwerk, welches die Zusammenarbeit von Teams definiert. Dieses legt Rollen, Werkzeuge und Meetings fest, um dem Arbeitsprozesse eine Struktur zu geben, die auf agilen Prinzipien basiert. Es handelt sich bei Scrum jedoch keineswegs um eine dogmatische Methode. Als Framework existieren lediglich Orientierungspunkte, die die Zusammenarbeit konkretisieren und leiten.

Wichtige Scrum-Prinzipien

Für eine hochwertige Umsetzung des agilen Projektmanagements unter Berücksichtigung der Scrum-Methode ist eine gezielte Vorgehensweise entscheidend. Folglich existieren einige Prinzipien, die als agile Werte das Fundament des Projektmanagements bilden. Unternehmen, in denen die Scrum-Methode zum Einsatz kommt, sollten die Werte und Leitlinien in die Unternehmenskultur integrieren.

– Wertorientierung: Die Teams bewerten ihre Tätigkeit nach dem erzielten Wert für das Unternehmen und die Kunden.

– Transparenz: Alle Ziele, Visionen, Entscheidungen und Aufgaben sollten transparent den Beteiligten zur Verfügung stehen.

– Fokussierung: Die anstehenden Aufgaben werden kontinuierlich nach ihrer Priorität geordnet, um den Fokus zu erhöhen.

– Autonomie: Das Scrum-Team agiert autonom. Die Organisation obliegt den Mitgliedern des Teams.

– Kommunikation: Eine enge Kommunikation ist Basis für kontinuierliche Verbesserung.

Die Prozessbeteiligten

Damit im Sprint ein funktionsfähiges Produkt für den Auftraggeber entsteht, müssen alle Beteiligten effektiv zusammenarbeiten. Drei Rollen beschreiben diejenigen Mitarbeiter, die direkt am Scrum-Prozess beteiligt sind.

Product Owner

Der Product Owner steht stellvertretend für die Nutzer eines Produkts. Folglich bringt der Product Owner die Perspektive in den Scrum-Prozess ein, dass das Produkt reibungslos funktionieren muss.

Team

Das Team organisiert sich im Prozess selbst und hat keinen Projektleiter. Die Größe ist überschaubar. Zudem befinden sich Mitarbeiter aus verschiedenen Fachdisziplinen im Scrum-Team.

Scrum Master

Der Scrum Master moderiert den gesamten Prozess. Als Ansprechpartner für Außenstehende kümmert er sich um eine Interaktion, die Mehrwert für das Team bringt.

Der zeitliche Ablauf

Je nach Definition und Erklärung gibt es unterschiedliche Bestandteile des Scrum-Modells. Im sogenannten Sprint Planning erfolgt die Planung des nächsten Sprints, in dem das Team die Anforderungen in konkrete Aufgaben zerlegt. Beim Daily Scrum tauschen sich die Teammitglieder aus und erörtern aktuelle Probleme. Es handelt sich um ein Meeting, um den Fokus auf bestimmte Punkte auszurichten. Am Ende des Sprints steht der Sprint Review. Das Entwicklungsteam präsentiert an dieser Stelle bereits das Product Increment. Im Sprint Retrospective findet die Überprüfung der gesamten Projektarbeit statt, um die Zusammenarbeit zu optimieren.

Die Artefakte

Die Scrum-Artefakte sind als Werkzeuge ein wichtiger Baustein für das Framework. Die Werkzeuge erhöhen die Transparenz der Prozesse.

Product Backlog

Das Product Backlog beschreibt eine Liste mit Anforderungen, die vom Team kontinuierlich weiterentwickelt wird. Der Product Owner führt das Produkt Backlog. Es handelt sich um ein dynamisches Dokument, das dauernd an das Produkt angepasst wird.

Sprint Backlog

Auf Basis des Product Backlogs entsteht eine Auswahl an Anforderungen, die das Team im Sprint bearbeiten soll. Im Sprint Backlog werden einzelne Aufgaben definiert – die sogenannten Tickets. Ein Teammitglied übernimmt Verantwortung für das Ticket. Im Sprint Backlog findet eine Prognose statt, inwieweit das zukünftige Increment bereits den funktionellen Anforderungen genügt. Zur gezielten Visualisierung der Anforderungen greifen die Mitglieder auf die Kanban-Methode zurück. Das Kanban-Board ist ein beliebtes Werkzeug, um Workflows abzubilden.

Product Increment

Am Ende des Sprints gibt es ein funktionsfähiges Zwischenprodukt, welches als Product Increment bezeichnet wird. Dieses Produkt ist bereits einsatzfähig. Der Product Owner entscheidet, ob es bereits ausgeliefert werden soll.

Der Vorteil von Scrum

Ein entscheidender Vorteil der Scrum-Methode ist, dass diese mit wenig Hilfsmitteln funktioniert. Der Aufwand für die Beteiligen ist überschaubar. Zudem erhöht die Standardisierung der Prozesse die Erfolgschancen eines Projekts. Die stetige Verbesserung im Projektmanagement erhöht Effizienz und Qualität gleichermaßen.

Die Grenzen

Die Scrum-Methode kam ursprünglich ausschließlich in der Softwaretechnik zum Einsatz. Im Laufe der Zeit adaptierten immer mehr Branchen die Projektmanagement-Methode. Dennoch ist diese nicht für Branchen geeignet, in welchen umfangreiche Dokumentationen erforderlich sind oder die Projekte Lebensgefahr verursachen können. Weiterhin existiert keine Erfolgsgarantie. Zu jeder Zeit gibt es Abweichungen vom Soll-Zustand. Der Erfolg des Projekts ist davon abhängig, wie das Team die gewonnenen Erkenntnisse einsetzt, um die Produkte zu verbessern.

Unter allen Computerschädlingen, die im World Wide Web verbreitet werden, gehören Keylogger zu der schlimmsten und gefährlichsten Sorte. Warum ist das so? Weil diese Computerschädlinge alles weitergeben, was Sie auf Ihrer Tastatur eingeben. Konkret bedeutet das, dass alle Ihre Passwörter, Suchanfragen, Kreditkarteninformationen und privaten Nachrichten im Detail protokolliert und an Hacker verschickt werden. Im folgenden Artikel beleuchten wir das Thema Keylogger von allen Seiten und gehen auf die Funktionsweise sowie auf möglichen Präventionsmaßnahmen im Detail ein.

Allgemeine Informationen

Bei einem Keylogger handelt es sich um einen softwarebasierten Computerschädling oder um ein hardwarebasiertes Gerät, das die Tastatureingaben aufzeichnet. Die große Gefahr von dieser Art der Malware geht davon aus, da Keylogger in der Lage sind, Daten wie Benutzername und Passwort aufzuzeichnen und unbefugt und unbemerkt an Drittpersonen zu übermitteln. Das stellt eine enorme Bedrohung der Datensicherheit Ihrer Social-Media-Accounts, E-Mail-Konten oder Bankdaten dar. Keylogger werden nicht nur von einzelnen Cyberkriminellen missbraucht, sondern werden ebenso von Nachrichtendiensten und Ermittlungsbehörden genutzt, um an vertrauliche Daten zu kommen.

Der Begriff Keylogger ist englischen Ursprungs und wird oft als Synonym für Spyware verwendet. Bei Spyware handelt es sich jedoch um den übergeordneten Begriff für Schadsoftware, mit der gezielt die Privatdaten des Nutzers ohne Genehmigung ausspioniert werden. Der Begriff Keylogger hingegen ist fokussierter gefasst, da diese ausschließlich die Tastatureingaben des Opfers protokollieren und übermitteln.

Keylogger müssen nicht unbedingt illegaler oder schädlicher Natur sein. Mit einem Keylogger lässt sich beispielsweise das Verhalten eines Nutzers am PC verfolgen und überprüfen. Generell muss das nicht aus kriminellen Beweggründen passieren. So werden Keylogger gerne eingesetzt, um das Nutzerverhalten am Computer für wissenschaftliche Zwecke zu protokollieren. Aus den gesammelten Daten lassen sich wichtige Erkenntnisse zum menschlichen Verhalten am Computer gewinnen. Hardware und softwarebasierte Keylogger müssen also nicht zwingend illegal sein. Sie werden erst dann bedenklich, wenn sie ohne explizite Genehmigung des Anwenders heimlich installiert werden.

Softwarebasierte Keylogger

Softwarebasierte Keylogger werden in der Regel als unauffällige Hintergrundprozesse realisiert, die Tastatureingaben aufzeichnen. Einige Software-Keylogger sind auch in der Lage, Screenshots von der Texteingabe zu erstellen. Die aufgezeichneten Daten werden dann in der Regel online weitergegeben oder auf der Festplatte des Opfers aufbewahrt. Diese Keylogger-Art ist die Bekannteste und lässt sich mit einer guten Antimalware-Lösung und einer Firewall relativ gut bekämpfen. Softwarebasierte Keylogger gibt es in vielen unterschiedlichen Varianten. Einige stellen wir im Folgenden vor:

– Die einfache Software-Basis: Bei dieser primitivsten Variante handelt es sich um ein Computerprogramm, das als Hintergrundprozess die Tastaturbefehle protokolliert.

– Die gefährliche Kernel-Basis: Diese Variante ist besonders gefährlich. Der Keylogger nistet sich direkt im Betriebssystem ein und erlangt Zugriff auf das Root-Konto. Diese Schädlinge sind in der Lage, sich als Treiber zu tarnen und sind äußerst schwer zu entdecken. Antimalware-Software braucht beispielsweise Root-Zugang, um diese Keylogger-Art ausfindig zu machen und erfolgreich zu eliminieren. Ein bekanntes Beispiel für diese Schädlingsart ist der Kernel-basierte Keylogger „Duqu“.

– Form-Grabbing-Basis: Diese Spyware tarnt sich in vielen Fällen als Browser-Plug-In. Nach der erfolgreichen Installation überwacht die Malware Online-Formulare und speichert die entsprechenden Zugangsdaten auf der Festplatte des Opfers ab. Die protokollierten Zugangsdaten werden dann in regelmäßigen Intervallen an den Hacker online übermittelt. Des Weiteren kann sich die Malware Zugriff auf die Browser-Historie verschaffen und so auch archivierte Daten stehlen.

Hardwarebasierte Keylogger

Vielen Internetnutzern ist es gar nicht bewusst, dass auch hardwarebasierte Keylogger existieren. Diese Produkte können beispielsweise in Form eines USB-Sticks realisiert sein, der zwischen der Tastatur und dem USB-Port am Computer gesteckt wird. Solche Spyware-Produkte sind mit einem internen Speicher ausgestattet, auf den die protokollierten Tastatureingaben abgespeichert werden. Die gespeicherten Protokolle kann man später an einem anderen PC auslesen. Hardwarebasierte Spyware-Produkte sind in vielen unterschiedlichen Varianten erhältlich, die teilweise an Gadgets aus Hollywood-Filmen erinnern. Privatnutzer werden mit solchen Produkten selten in Berührung kommen. Einige stellen wir im Folgenden vor:

– Tastaturzusatz: Bei dieser Variante kommt zwischen der Tastatur und dem Computer ein zusätzliches Hardware-Produkt zum Einsatz. Typischerweise wird es direkt am Verbindungskabel installiert. Diese kleinen Spyware-Produkte sind als kleine Steckeraufsätze gestaltet, die mit einem internen Speicher versehen sind und sowohl für USB- als auch für PS2-Anschlüsse erhältlich sind.

– Firmware-Basis: Diese hardwarebasierten Spyware-Produkte sind in der Lage, Tastatureingaben auf BIOS-Ebene zu protokollieren. Dazu wird Root-Zugang und Zugang zur Hardware benötigt. Sie kommen in vielen Fällen auch in Form von Aufsätzen für Chipsätze zum Einsatz.

– Maus und Tastatur-Sniffer: Diese hardwarespezifischen Spyware-Produkte lesen Daten mit, die von einer drahtlosen Maus oder drahtlosen Tastatur zum Zielcomputer übertragen werden. Falls die Verbindung verschlüsselt ist, können die Daten nicht ausgelesen werden.

Wie kann man sich vor Keyloggern schützen?

Virenscanner und gute Firewalls bieten einen guten Schutz vor den meisten Spyware-Produkten. Es werden jedoch kontinuierlich neue Keylogger entwickelt, die von Schutzprogrammen nicht umgehend als Computerschädlinge erkannt werden. Neben Schutzmaßnahmen ist auch das Verhalten des Nutzers am Computer sehr wichtig, wenn man das Risiko, sich mit einem Keylogger zu infizieren, minimieren möchte. Aus diesem Grund sollte die Sicherheitssoftware stets auf dem aktuellen Stand gehalten werden. Außerdem ist es empfehlenswert, bei Anmeldedaten eine Multi-Faktor-Authentifizierung zu benutzen.

Road Warriors (englisch für Straßenkämpfer) gehören zu jener Gruppe von Mitarbeitern, die viel außerhalb des eigenen Unternehmens arbeiten und für die ein fest eingerichteter, fixer Arbeitsplatz in einem stationären Büro kaum bis gar keine Bedeutung hat. Was einen Road Warrior ausmacht, und wie er sich von Menschen unterscheidet, die im Home Office arbeiten, erfahren Sie in diesem Beitrag.

Der Begriff Road Warrior stammt aus einer Zeit, in der es die heute aus dem Arbeits- und Wirtschaftsleben nicht mehr wegzudenkenden Telekommunikationsmittel noch nicht gegeben hat. Schon vor den 1990er Jahren wurden Menschen, die beruflich viel unterwegs waren, also zum Beispiel Handelsvertreter oder Kundenberater im Außendienst als Road Warrior bezeichnet. Diese Mitarbeiter sind eigentlich nur zur Erledigung ihrer administrativen Verpflichtungen oder für wichtige Besprechungen ins Büro gekommen, oder, wenn sie Kommunikationsmittel wie das Telefax verwenden wollten. Diese technischen Ressourcen waren damals sehr teuer und nicht im Übermaß vorhanden, sondern standen an einer zentralen Stelle zur gemeinsamen Nutzung zur Verfügung.

Die Verbindung über VPN

Von besonderer Bedeutung ist, wie Sie, wenn Sie der außerhalb des Unternehmens arbeiten, auf das Netzwerk, die Programme und Dateien des Unternehmens zugreifen können. Dies erfolgt heutzutage fast immer über Remote-Desktop-Lösungen, weil es in den meisten Fällen praktischer und günstiger ist, als Software auf die einzelnen externen Computer zu spielen.

Der Zugriff von Remote-Usern auf Anwendungen des Unternehmens wird durch die Virtual-Private-Networks-Technologie (VPN-Technologie) ermöglicht. Ein virtuelles privates Netzwerk erweitert ein privates Netzwerk auf ein öffentliches Netzwerk und ermöglicht es Benutzern, Daten über gemeinsam genutzte oder öffentliche Netzwerke zu senden und zu empfangen.

Anwendungen, die über ein VPN ausgeführt werden, können von der Funktionalität, Sicherheit und Verwaltung des privaten Netzwerks profitieren. Natürlich ist die Sicherheit ein großes Thema, wenn eine Vielzahl externer Geräte auf Unternehmensressourcen zugreifen. Die Netzwerkverbindung erfolgt daher mithilfe eines verschlüsselten Tunnelprotokolls, der Road Warrior oder Mitarbeiter im Home Office muss sich identifizieren, um in das System einsteigen zu können. Diese Identifikation kann mittels eines Kennworts, biometrischer Daten (Iris-Erkennung, Fingerabdruck) oder Zwei-Faktor-Authentifizierung erfolgen.

Mit dem Aufkommen des Internets und der rasanten Verbreitung leistbarer, effizienter und mobiler Telekommunikationstechnologie in Form von Mobiltelefonen, Laptops, Smartphones und Tablets wurde die Arbeit für den Road Warrior insofern einfacher, als er noch weniger auf ein stationäres Büro bzw. einen fixen Arbeitsplatz angewiesen war. Heutzutage kann der Road Warrior praktisch alle seine administrativen Aufgaben bequem auswärts erledigen, ins Büro kommt er nur mehr für Besprechungen und zur Aufrechterhaltung der sozialen Anbindung an das Unternehmen.

Heute versteht man also denjenigen als Road Warrior, der seine Arbeit von unterwegs mit mobilen internetfähigen Geräten wie Tablets, Laptops und Smartphones erledigt. Über diese Technologien ist er mit Vorgesetzten, Mitarbeitern und Kollegen verbunden und kann mobil auf Unternehmensnetzwerke zugreifen.

Road Warriors haben eigentlich als erste vorgelebt, dass es funktionieren kann, ohne stationären Arbeitsplatz auszukommen. Ihre Art des mobilen Arbeitens hat wohl auch das Aufkommen von Arbeitsformen wie Heimarbeit (Home Office, Teleworking) unterstützt.

Unterschiedliche Arten, außerhalb des Unternehmens zu arbeiten

Die Art, wie ein Road Warrior arbeitet, würde man im Deutschen wohl als „mobiles Arbeiten“ bezeichnen. Dies ist begrifflich von der Arbeit im Home Office oder am Telearbeitsplatz zu unterscheiden. Road Warriors sind übrigens auch keine digitalen Nomaden. Darunter versteht man Menschen, die aufgrund einer persönlichen Entscheidung ohne festen Wohnsitz leben und von überall auf der Welt ausarbeiten.

Mobiles Arbeiten liegt auch dann vor, wenn Menschen, die eigentlich keine Road Warriors sind, von unterwegs oder von zu Hause aus berufliche Tätigkeiten verrichten. Dazu gehört das abendliche Lesen von E-Mails nach Arbeitsschluss, das berufliche Telefonieren im Auto, oder das Bearbeiten von Unterlagen nach Dienstschluss im privaten Umfeld.

Home Office (auch Telearbeit oder Heimarbeit genannt) lässt sich dagegen wie folgt charakterisieren: Der Beschäftigte arbeitet regelmäßig, dauerhaft und vertraglich verfestigt nicht nur ausnahmsweise zu Hause. Dabei kann es sein, dass der Arbeitnehmer vom Arbeitgeber Arbeitsmittel und -geräte beigestellt bekommt.

Was in allen Fällen wichtig ist

Zunächst muss die Art des Arbeitens rechtlich korrekt vereinbart werden, und es sind die einschlägigen Rechtsnormen einzuhalten. Weiters darf man soziale Aspekte, wie die Einbindung in das Unternehmensgefüge nicht aus den Augen verlieren.

Abgesehen von diesen Aspekten müssen aber natürlich vor allem die technischen und organisatorischen Voraussetzungen geschaffen werden, dass Home Office und mobiles Arbeiten funktionieren. So ist es wichtig, dass geeignete Hardware zur Verfügung steht, und eine leistungsstarke Internetverbindung vorhanden ist. Es sollte klar geregelt werden, wer die diesbezüglichen Kosten trägt. Dies ist in der Praxis nämlich erfahrungsgemäß immer wieder ein Streitpunkt. In der Regel wird man mit einem Mobiltelefon, einem PC, Notebook oder Laptop samt Maus und einem Bildschirm auskommen.

Wenn Menschen mit Computern arbeiten, brauchen sie eine Schnittstelle, damit sich Mensch und Maschine verstehen. Diese Schnittstelle wird als Shell bezeichnet. Ohne sie ist eine Interaktion zwischen Menschen und Computern nicht möglich. Was eine Shell genau ist, welche Arten es gibt und wie sie funktionieren, erfahren Sie im folgenden Beitrag.

Eine Shell ist ein spezielles Softwareprogramm, das eine Benutzeroberfläche bereitstellt, über die Computernutzer mit dem Betriebssystem des Computers interagieren und den Zugriff auf die Dienste des Betriebssystems erhalten. Sie dienen als Mensch-Maschine-Schnittstelle, abgekürzt MMS auf Englisch HMI für Human-Machine Interface. Schells nutzen den Kern des Computerbetriebssystems genauso wie andere Anwendungsprogramme. Übersetzt bedeutet es „Muschel“, „Schale“ oder „Hülle“. Eine Shell umgibt bildlich gesprochen den Kern (Kernel) eines Betriebssystems wie eine Hülle oder Muschel. Shells stellen entweder eine Befehlszeilenschnittstelle (CLI, Command Line Interface) oder eine grafische Benutzeroberfläche (GUI, Graphical User Interface) für die Interaktion zur Verfügung.

Befehlszeilen-Shell

Eine Befehlszeilen-Shell, der Command Line Interpreter stellt Nutzern nach dem Start ein Eingabefenster zur Verfügung. In dieses Fenster können Computernutzer über die Tastatur zeilenweise Befehle in Form alphanumerischer Zeichnen eingeben. Diese analysiert in einem ersten Schritt die eingegebenen Zeichnen. Wenn sie die Zeichenfolge nicht erkennen kann, wird in der Regel eine Fehlermeldung ausgegeben. Nach einer korrekten Eingabe veranlasst die Shell das Betriebssystem den oder die eingegebenen Befehle auszuführen. Beispielsweise die Anmeldung des Benutzers, den Start eines Anwendungsprogramms oder die Auflistung von Dateien. In einem letzten Schritt verarbeitet die Shell die Ausgabe des Betriebssystems und informiert den Nutzer durch eine entsprechende Ausgabe über das Ergebnis. Beispielsweise eine Liste der gesuchten Dateien.

Verschiedene Arten

Da es sich bei einem Command Line Interpreter um ein eigenständiges Programm handelt, kann es relativ leicht durch eine andere ersetzt werden. Aus diesem Grund stehen für Unix und Unix ähnliche Betriebssysteme eine ganze Reihe verschiedener Shells, beispielsweise Bash, TENEX-C-Shell oder Z Shell zur Verfügung. Jede dieser Shells erfordert teilweise andere Befehle und hat eine eigene Syntax. In der Regel werden Command Line Interpreter daher nur von erfahrenen Anwendern genutzt. Sie bieten jedoch den Vorteil einer direkten Kontrolle und ermöglichen leichten Zugang zu allen Funktionen des Betriebssystems. Ein weiterer Vorteil ist, dass in einigen Shells häufig verwendete Befehlsfolgen automatisiert werden können. Beispielsweise durch Batch-Dateien, Makros oder eine Stapelverarbeitung. Dies ist bei grafischen Shells nicht oder nur schwer möglich.

Ein Command Line Interpreter wird nicht nur von Unix-Betriebssystemen zur Verfügung gestellt. Auch andere Betriebssysteme wie MS-DOS, PC-DOS oder DR-DOS wurden mit einem command.com genannten Befehlszeileninterpreter ausgeliefert. Microsoft hat auch seine Windows Betriebssysteme ab Windows XP mit einem als PowerShell bezeichneten Kommandozeileninterpreter ausgestattet. Einige Programmiersprachen wie beispielsweise Ruby, Perl, Phyton und BASIC sowie Anwendungsprogramme wie AutoCad nutzen interaktive Shells. Andere Bezeichnungen für einen Command Line Interpreter sind Command Line Shell, Kommandointerpreter, Befehlsinterpreter oder kurz Kommandozeile.

Grafische Shell

Eine grafische Shell erleichtert die Benutzung von Computern durch die Bereitstellung einer grafischen Benutzeroberfläche, dem Graphical User Interface. Diese Benutzeroberfläche enthält grafische Elemente für die Bedienung und Steuerung des Computers. Durch Klick mit dem Mauszeiger oder einen Fingertipp auf ein einzelnes Element wird ein bestimmter Vorgang, wie beispielsweise das Öffnen oder Schließen eines Anwendungsprogramms, eine Änderung der Fenstergröße oder ein Wechsel zwischen verschiedenen Fenstern ausgelöst. Um die Nutzung einer grafischen Shell zu erleichtern, werden einzelne Elemente durch Schatten, Linien und andere visuelle Effekte mit einer gewissen räumlichen Tiefe und teilweise dreidimensional dargestellt. Auch die für Schaltflächen verwendeten Icons, Bilder und Symbole veranschaulichen Nutzern, welche Funktion die Schaltfläche hat. Beschriftungen, die beispielsweise beim Überfahren einer Schaltfläche mit dem Mauszeiger eingeblendet werden, erleichtern die Bedienung zusätzliche.

Für Windows

Microsoft Windows-Betriebssysteme verwenden die Windows-Shell. Diese ist das, was Windowsnutzer sehen. Sie besteht aus einem Startmenü, einer Taskleiste und einer grafischen Benutzeroberfläche, die den Zugriff auf die Funktionen des Betriebssystems ermöglicht. Bei älteren Windows 3-Versionen war der Programmmanager die Shell. Der Programmmanager wurde bis zur Windows XP Version ausgeliefert. Ebenfalls als Shell werden Softwareprogramme bezeichnet, die die grafische Oberfläche und damit das Erscheinungsbild des Windows Explorers ändern oder ihn sogar vollkommen ersetzen. Beispiele hierfür sind Programme mit dem Namen WindowsBlinds, LiteStep und Emerge Desktop.

Eine grafische Shell hat gegenüber einem Command Line Interpreter den Vorteil, dass sie die Interaktion mit dem Betriebssystem des Computers erheblich erleichtert. Für die Benutzung einer grafischen Benutzeroberfläche sind keine besonderen Kenntnisse erforderlich. Nutzer müssen keine Syntax und Befehle lernen. Die verwendeten Symbole und bildhaften Darstellungen sind weitestgehend selbsterklärend. Der Nachteil ist, dass grafische Benutzeroberflächen deutlich mehr Systemressourcen benötigen als ein Kommandozeileninterpreter.

Im Heimbereich ist FreeBSD fast bedeutungslos, aber im Serverbereich kann das Open Source Betriebssystem vor allem aufgrund seiner Stabilität punkten. Wir geben einen kurzen Überblick und klären die wichtigsten Fragen.

FreeBSD ist ein quelloffener Ableger der „Berkeley Software Distribution“. Dabei handelt es sich um ein auf Unix basierendes Betriebssystem, das bis 1995 existierte. Die letzte Version war 386BSD. Bis Version 2.0 (Juli 1994) konnte das Programm noch als Derivat angesehen werden, danach stellte 4.4BSD die Grundlage für das Open-Source-Projekt und es wurde ein eigener Kernel geschaffen. Eine der Philosophien der mittlerweile mehr als 300 dauerhaften Entwickler ist es jedoch eine möglichst große Binärkompatibilität zu schaffen. Programme, die auf älteren Versionen geschrieben wurden, sollen also möglichst auch mit aktuellen Versionen lauffähig sein. Dies ist einer der Gründe, warum sich das Betriebssystem vor allem im professionellen Bereich durchgesetzt hat. So wird es unter anderem von Internetdienstanbietern, Backbone-Systemen für das Internet sowie zentralen DNS-Servern und großen Webhosting-Plattformen eingesetzt.

Wichtige Merkmale von FreeBSD

Prinzipiell lässt sich das Betriebssystem in drei verschiedene Elemente einteilen: Den Kernel, das Userland und die Ports. Der Kernel ist der Hauptbestandteil, der direkt von den Entwicklern stammt. Er ist das Bindeglied zwischen dem BIOS/UEFI und dem eigentlichen Betriebssystem. Durch Treiber und Dienste wird die Hardware gesteuert, die wiederum von den Programmen durch APIs angesprochen werden können. Im Userland befindet sich die Software, die direkt vom Hersteller stammt, aber nicht dem Kernel zugehörig ist, also beispielsweise Editoren oder IDEs, Compiler und spezielle Anwendungen für Server.

Als Ports werden Programme bezeichnet, die von anderen Entwicklern für FreeBSD portiert wurden.

Wer ein Programm benötigt, kann dazu eines der entsprechenden Repositorys nutzen. Hier steht die meiste Software als Quellcode zur Verfügung und kann direkt auf der Maschine kompiliert werden. Proprietäre Programme sind selten und auch nicht unbedingt gern gesehen, denn oftmals stehen diese einer optimalen Betriebssystemhärtung entgegen.

Als Dateisystem kam bis Version 4.X das „Berkeley Fast File System“ (FFS) zum Einsatz, das auf UFS basiert. Mittlerweile nutzt man UFS . Es unterstützt Snapshots und Journaling, kann für RAID-Verbünde genutzt werden und bietet direkten Zugriff auf Netzwerkressourcen. Für die Datenträgerverwaltung setzt man auf das modulare Framework GEOM. Ebenfalls mit der Version 4.X wurde mit jails eine mächtige Virtualisierungsumgebung geschaffen, die mit der Version 10.0 um den Typ-2-Hypervisor bhyve erweitert wurde. Dadurch ist es möglich, FreeBSD als Host-System für Windows, Linux und sogar MacOS einzusetzen und die entsprechenden Vorteile weitgehend zu behalten.

Aufgrund der Quelloffenheit gilt FreeBSD schon seit vielen Jahren als Vorreiter in Sachen Implementierung neuer Technologien. Dies ist vor allem im Netzwerkbereich der Fall. So war es eines der ersten Betriebssysteme mit Unterstützung für IPv6 und IPsec und ist auch heute noch kompatibel mit vielen Protokollen auf allen Schichten des OSI-Modells.

FreeBSD im Vergleich zu anderen Betriebssystemen

Windows: Schaut man sich die Use-Cases an, dürfte schnell klar werden, dass die beiden Betriebssysteme keine direkte Konkurrenz sind. Windows setzt – sowohl im Heim- als auch im Serverbereich – auf gute Bedienbarkeit, Komfort und schnelle Einrichtung. Dafür benötigt man aber auch entsprechende Hardware-Ressourcen und muss sich mit einem großen Overhead begnügen.

Linux: Wie FreeBSD so basiert auch Linux prinzipiell auf Unix, allerdings auf einem von Linus Torvalds selbst geschriebenen Unix-Klon. Dies ist der Grund, warum beide Systeme sehr ähnlich, aber im Kern eben doch ganz unterschiedlich sind. Fakt ist aber, dass zwischen Linux und BSD eine hohe Binärkompatibilität besteht und Programme, die für GNU/Linux entworfen wurden, auch hier funktionieren. Für die Implementierung wird eine Binärschnittstelle genutzt, die als „ABI“ bezeichnet wird.

MacOS: Der Kernel von Mac OS basiert ab Mac OS X auf dem BSD-Kernel (Codename „Darwin“), dennoch sind beide Betriebssysteme völlig unterschiedlich. Dies liegt vor allem daran, dass Apple schon seit Jahren sein eigenes Süppchen kocht und ohne größere Anpassungen nur Macintosh-Hardware unterstützt. Im Serverbereich wird Mac OS ebenfalls nur äußerst selten eingesetzt.

Supportmodell und Versionshistorie

Die aktuelle Version von FreeBSD ist 12.1, veröffentlicht am 4. November 2019. Als Neuerung ist hier vor allem die Unterstützung von BearSSL im Basissystem zu nennen. Das Supportmodell sieht vor, dass alle veröffentlichten Hauptversionen (also beispielsweise Version 12.0) für fünf Jahre unterstützt werden. Unterversionen erhalten immer für drei Monate Updates, nachdem eine Nachfolgerversion erschienen ist. So wird sichergestellt, dass eine ausreichend große Zeitperiode zur Verfügung steht, um die neuen Versionen zu integrieren.