Ceph – was ist das? Viele Internetnutzer haben – in den meisten Fällen unbewusst – schon damit zu tun gehabt. Mit Ceph – einer Softwarelösung – können große Datenmengen einfach und günstig verarbeitet und auf standardisierter Industriehardware gespeichert werden. Ceph kommt zum Beispiel in Speichersystem von Webshops oder bei Anbietern von Onlinespeicher zur Anwendung.

Was ist Ceph?

Ceph ist eine nahezu endlos skalierende und hochverfügbare Softwarelösung zur verteilten Speicherung von Daten im Netzwerk. Die Software ist Open Source, basiert auf Linux und wurde für den Einsatz als Objekt-, Block- und Dateispeicher entwickelt. Das Gesamtsystem ist extrem robust und eignet sich für Datenmengen von wenigen hundert Gigabyte bis hin zu einigen Peta– und sogar Exabytes (1 Exabyte sind 1 Milliarde Gigabyte!).

Die Geschichte von Ceph

Ceph wurde als ein Projekt für die Doktorarbeit von Sage Weil an der University of California in Santa Cruz ins Leben gerufen. Die ersten Codezeilen wurden 2004 geschrieben und im Jahr 2005 gab es den ersten funktionierenden Prototypen von Ceph. Das System wurde 2006 durch Sage Weil bei zwei Konferenzen der Öffentlichkeit vorgestellt.

Weil arbeitete nach seiner Dissertation weiter am Projekt und gründete im Jahr 2012 die Firma Intank Storage, um das System auch professionell nutzen und vermarkten zu können. Kurz vorher, 2010, wurde der erste Ceph Client in den Linux-Kernel integriert. Intank Storage wurde 2014 von RedHat, einem Anbieter von professionellen Linux Systemen, gekauft und ist heute als „Red Hat Ceph Storage“ ein Bestandteil der Produktpalette von RedHat.

Unabhängig davon steht das Ceph-Projekt weiterhin als Open Source Software kostenfrei jedem zur Verfügung.

Wie funktioniert Ceph?

Ceph läuft als Software auf einem herkömmlichen Linux System. Mindestens drei, besser sind mehr als vier, Computer (Knoten oder englNodes) bilden ein Cluster. Lesen Sie hier mehr über Linux.

Ceph-Knoten

Storage-Knoten sind wichtig

 

Die wichtigsten Komponenten im Ceph Cluster sind die Storage Knoten. Sie sind verantwortlich für die Speicherung der Daten und verfügen daher im Regelfall über eine große Speicherkapazität. Die Festplatten und Disksysteme sollten im RAID-Verbund zur Verbesserung der Fehlertoleranz und Geschwindigkeit organisiert sein. Der Primary Storage Node entscheidet im Cluster über die Datenverteilung, Replikation und Recovery. Alle anderen Knoten stehen als Secondary Storage Node zur Überwachung zur Verfügung und können im Fehlerfall die Rolle des Primary Storage Nodes übernehmen.

Relevante Fehlertoleranz

Eine wichtige Funktion ist die Fehlertoleranz, sprich die Reaktion auf Ausfälle einzelner Komponenten des Gesamtsystems. Zu diesem Zweck tauschen die Knoten untereinander Informationen über den Zustand der Einzelsysteme aus und können so auf verschiedene Betriebszustände wie hohe Last, Ausfall eines Knotens oder Ähnliches reagieren. Die einzelnen Knoten haben dabei unterschiedliche Aufgaben und Wertigkeiten. Die Entscheidungsfindung bei Hardwarefehlern ist kompliziert und immer dem Ziel des maximalen Datenschutzes untergeordnet. Im Normalfall isoliert sich der fehlerhafte Knoten und der Betrieb geht mit den verbliebenen Knoten unterbrechungsfrei weiter. In sehr seltenen Fällen kommt der Cluster nach den vorgegebenen Regeln zur Entscheidungsfindung zu keinem Ergebnis oder die verbleibenden Knoten reichen nicht zur Sicherung der Fehlertoleranz aus. Anschließend schaltet sich das gesamte System im Sinne des Schutzes der Daten ab.

Ceph

Wie kommuniziert Ceph?

Die Kommunikation zwischen den Knoten und mit den Storage Clients erfolgt über das normale Netzwerk. Im Serverbereich wird heute zumeist die 10Gbit Technik eingesetzt, die einzelnen Server/Knoten können zur Erhöhung der Geschwindigkeit mit mehreren (gebündelten) Netzkarten versehen werden. Die Anbindung an das Netzwerk wird im Idealfall über mehrere Switcheredundant realisiert. Durch diese Maßnahme gibt es im Ceph Cluster keine zentrale Komponente, deren Fehler das Gesamtsystem zum Ausfall bringen könnte.

Welche Vorteile bietet Ceph?

Der große Vorteil von Ceph ist, dass der Anwender unabhängig von proprietären und teuren hardwarebasierten Storagesystemen großer Hersteller wird. Ceph läuft auf Standard-Hardware und kann unterschiedliche Systeme verschiedener Hersteller unter einen Hut bringen. Durch den Einsatz der Open Source Software und preisgünstiger standardisierter Hardware kann der Anwender Kosten in Höhe von 20% bis 50% gegenüber den Storagesystemen großer Hersteller einsparen.

Ein Ceph-Storagesystem ist sehr hoch skalierbar. Durch Hinzufügen von zusätzlichen Knoten und Festplatten lässt sich die Kapazität einfach und schnell erweitern. Neben der Kapazität kann man die Performance des Systems durch Zufügen von Hardware verbessern. Da Ceph verteilt arbeitet, gibt es keinen einzelnen Performance-Engpass (Flaschenhals oder englBottleneck), das System steuert die Lastverteilung auf die einzelnen Knoten selbst.

Durch das Hinzufügen weiterer Knoten lässt sich ebenso die Redundanz des Gesamtsystems steigern. Die intelligente Datenverteilung auf den Disksystemen und über die verschiedenen Knoten macht das System sehr robust. Hardwarefehler einzelner Bauteile oder Knoten kann der Cluster im Betrieb transparent überbrücken. Je nach Konfiguration der Regeln zur Datenverteilung über die Knoten ist der Ausfall mehrerer Knoten ohne Ausfall des gesamten Systems möglich.

Gibt es auch Nachteile?

Ceph-Nachteile

Nachteile von Ceph

Planung, Installation und Pflege eines Storagesystems mit Ceph stellen den Anwender vor große Herausforderungen. Er sollte mit Linux als Betriebssystem und der Software Ceph gut vertraut sein. Bei der Planung sind Kenntnisse im Bereich der StoragetechnologienRedundanzkonzepten und Netzwerk unerlässlich. Im Fehlerfall ist der Anwender auf Eigenhilfe oder die Unterstützung der Community angewiesen.

Der Kauf einer professionellen Variante (zum Beispiel von RedHat) bietet Vorteile bezüglich der Handhabbarkeit und vor allem beim professionellen Support durch den Hersteller, erhöht im Gegenzug allerdings die Kosten.

Wo wird Ceph eingesetzt?

Der Speicherbedarf im Internet und bei Unternehmen wächst beständig. Neue Anwendungen, Clouds, Social Media, Online Shops und Multimedia Dienste benötigen immer größere Speicherkapazitäten. Vorhandene Daten müssen per Backup gesichert und alte Daten archiviert werden, die Grenzen des Speicherwachstums sind momentan nicht absehbar. Dabei steigt vor allem der Bedarf nach kostengünstigen und einfach skalierbaren Speicherlösungen. In diesem Bereich spielt Ceph seine Stärken aus.

Es wird heute von Kunden aus verschiedenen Bereichen eingesetzt. E-Commerce Lösungen mit Magento oder Shopwarearbeiten mit Ceph im Hintergrund, Datenbanken profitieren von der enormen und skalierbaren Geschwindigkeit von Ceph. Viele Onlinedienste nutzen Ceph als Datenspeicher und schätzen dabei vor allem die geringen Kosten und die einfache Erweiterbarkeit.

In großen Rechenzentren kommen die Vorteile von Ceph zum Tragen. Hohe Redundanz und Geschwindigkeit werden mit der steigenden Anzahl von Knoten im Cluster besser nutzbar. In Virtualisierungsumgebungen wie KVM oder XEN ist neben den genannten Punkten die hohe Skalierbarkeit wichtig, um dem Wachstum der angeschlossenen Dienste gerecht zu werden.

PERL und das Kamel – wo Programmierung und Wüste aufeinandertreffen

PERL ist eine plattformunabhängige Programmiersprache. Die Skriptsprache unterstützt eine Software-Entwickelung in verschiedenen, sehr unterschiedlichen Programmierstilen. Anwendungen für das Web, die Bioinformatik und die Finanzwelt werden mit PERL entwickelt. Die Programmiersprache, in der sich auch Einsteiger leicht zurechtfinden, wurde von einem Sprachwissenschaftler erschaffen. Die Skriptsprache erlaubt viele Freiheiten, die allerdings zu unleserlichem Code führen können.

Als Skriptsprache wird PERL während der Laufzeit von einem Interpreter geparst und interpetiert. Der Programmierer muss nur wenigen Vorgaben folgen, um ein lauffähiges PERL-Skript zu schreiben. Ein Beispiel ist die IF-Anweisung, genauer gesagt das „IF NOT“, das in PERL „UNLESS“ lauten. Die Skriptsprache ist so nah an der natürlichen Sprache angelehnt, dass unter Umständen selbst ein Gedicht ein lauffähiges Programm sein kann.

Das PERL-Prinzip

Das Motto der Skriptsprache „There’s more than one way to do it“ kann mit „Viele Wege führen nach Rom“ übersetzt werden. Ihre Stärken liegen in der Vielseitigkeit, Leistungsfähigkeit, der plattformunabhängig und der Effizienz bei der Verarbeitung von Textdateien. Letztere werden seit jeher in der System- und Netzwerkadministration zum Lesen von Logfiles genutzt. Die große Flexibilität der Sprache eröffnet neue Möglichkeiten bei der Auswertung von Big Data-Beständen.

Umso öfter, umso kürzer

Als PERL-Paradoxon ist das als Huffman-Kodierung bekannte Prinzip, die Längen von Bezeichnern mit ihrer Verwendung in Beziehung setzt. Umso öfter ein Schlüsselwort genutzt wird, umso kürzer ist es. Dem erfahrenen Programmierer erleichtert dies die Schreibarbeit, für den Einsteiger kann das Lesen solcher Programme problematisch sein. Die Skriptsprache wird daher auch als „Write-Only-Language“ bezeichnet. Damit ist gemeint, dass die Programme zwar leicht zu schreiben, dann aber nicht mehr zu lesen sind. Teile des formalen Regelwerks wurden von der Programmiersprache Phyton übernommen.

Dynamische Webseiten

Zunächst wurde PERL fast ausschließlich als Unix-Skriptsprache genutzt. Der Durchbruch kam mit den ersten dynamischen Webseiten. Die aufgerufenen CGI-Skripte liefen auf dem Webserver und nicht wie bei Javascript im Browser des Benutzers.

Gleichzeitig bildeten sich zwei Programmierbereiche heraus. Die CGI-Skripte waren eher im Bereich der Systemadministration angesiedelt, während die PHP-Programmierer den Bau der Webseiten übernahmen. Im Zusammenhang mit dem bei PHP-Programmierern äußerst unbeliebten PERL entstand die Interpretation des Kürzels PHP als „Perl Hater’s Platform“.

PERL in der Praxis

Mit dem Wechsel zu den browserseitig generierten dynamischen Webinhalten schwand die Bedeutung der Skriptsprache – zumindest in der Webentwicklung. In der Systemadministration können mit den Skripten leicht die internen Limits bei den Dateigrößen umgangen werden. Unter System- und Netzwerkadministratoren ist die Skriptsprache auch als „Swiss Army Chainsaw“ bekannt. Dies ist auf die weltberühmten Schweizer Multifunktions-Taschenmesser bezogen, wobei PERL mit einer „Kettensäge“ gleichgestellt wird.

Ein Comeback konnte die Programmiersprache bei der Auswertung von Big Data feiern, denn das Durchforsten großer Datenmengen ist eine der Stärken der Skriptsprache. Damit wird die Skriptsprache auch im Finanzwesen und verwandten Bereichen, aber auch in der Bioinformatik eingesetzt.

PERL – eine Skriptsprache schreibt Geschichte

Larry Wall, ein Linguist, entwarf die Skriptsprache in 1987. Wall kombinierte seine sprachwissenschaftlichen Erkenntnisse mit Elementen aus der Programmiersprache C, der Skriptsprache awk und Unix-Befehlen. 1993 hatte sich PERL bereits zum leistungsfähigen Werkzeug entwickelt. Mit der Version 5 wurde ein völlig überarbeiteter Interpreter veröffentlicht sowie Objekte, Module und Referenzen unterstützt. Seit Version 5 ist eine objektorientierte Programmierung möglich, bei der Parameter an Funktionen übergeben bzw. entgegengenommen werden. Seither kann die Skriptsprache von Anwendern mit Modulen flexibel erweitert werden. Online sind die Module über das CPAN-Archiv abrufbar. Inzwischen sind mehr als 150.000 Module zu den verschiedensten Funktionen erhältlich.

PERL 6 als heutiger Standard

Nach 15 Jahren Entwicklungszeit wurde im Jahr 2015 die Version 6 offiziell freigegeben. Die Version 6 ergänzt die Familie um eine völlig neu entwickelte Variante. Verbessert wurden einige der historisch bedingten und viel diskutierten Kontroversen, die aus Kompatibilitätsgründen in den Vorgängerversionen nicht zu korrigieren waren. Mit der neuen Version konnte die Skriptsprache ihre Popularität nochmals erweitern. Gleichzeitig nehmen die Community-Mitglieder zu, womit umfangreiche Modulbibliotheken zugänglich werden.

Wie PERL das Programmiererleben leichter macht

Charakteristisch für die Skriptsprache ist die sichtbare Unterscheidung zwischen einfachen, skalaren und zusammengesetzten Datentypen. Variablennamen beginnen mit Sigil ($, @ oder %). Darüber erkennt die Programmiersprache, wie die Variable zu interpretieren ist, nicht aber wie sie definiert ist. Damit wird eine besonders einfache Verwendung von häufig benutzten Konstrukten erreicht. Mit den Write-Formaten wird ein einfaches Generieren von Reports unterstützt.

Die Kontrollstrukturen (If, While, Do) unterscheiden sich kaum von Java, JavaScript und C. PERL erlaubt bedingt formatfreien Quellcode, in dem der Interpreter fehlende oder zusätzliche Einrückungen, Leerzeichen und Zeilenbrüche nicht moniert. Damit der Parser Befehlsblöcke erkennt, werden sie mit Semikolon getrennt.

Dromedar – das Maskottchen der Skriptsprache

Falsch interpretiert wird bei der Skriptsprache gelegentlich das Maskottchen. Es wird als Kamel bezeichnet, ist aber tatsächlich ein Dromedar. Eines der bekannten Referenzwerke „Programming Perl“ ist wegen des Maskottchens auf dem Buchdeckel als „Kamelbuch“ bekannt. Der Verleger Tim O’Reilly erklärte dazu, dass auch PERL über lange Strecken ohne Wasser auskäme. Hässlich sei es auch, meinte er. Die PERL Foundation hat sich hingegen für eine aufgeschnittene Zwiebel entschieden. Der gefährliche und tückische Komodowaran ist das Motto-Tier der PERL-Distribution „Active Perl“ des Unternehmens ActiveState.

Schon 1964 entstand die imperative Programmiersprache BASIC, die zunächst durch mehrere Mathematiker an einer amerikanischen Universität entwickelt wurde. In ihrer damaligen Form arbeitete die Programmierung mit Sprungbefehlen und Zeilennummern. Bis heute entwickelten sich eine Vielzahl von BASIC-Dialekten, die Elemente anderer Programmierungen wie die Objektorientierung integrieren. Wir stellen Ihnen den aktuellen Stand von BASIC vor.

Wofür steht BASIC?

BASIC ist ein Akronym, das für „Beginner’s All-purpose Symbolic Instruction Code“ steht. In der deutschen Sprache bedeutet das in etwa „Symbolische Allzweck-Programmiersprache für Beginner“. Außerdem ist BASIC als gesamt gelesenes Wort die englische Bezeichnung für „Grundlegend“. Das Akronym und der Titel zeigt den Inhalt der der Programmierung, die sich durch ihre einfachen Syntax besonders für Anfänger eignet.

Die Programmiersprache unterliegt acht Prinzipien, die durch John George Kemeny und Thomas Eugene Kurtz am Dartmouth College erdacht wurden. Die Sprache müsse von Anfängern leicht zu erlernen sein, lautet das erste Prinzip. Einen universellen Einsatz sowie eine Erweiterbarkeit der Sprache gehören zu den weiteren Prinzipien von BASIC. Die Interaktivität, klare Fehlermeldungen sowie kurze Antwortzeiten ergänzen diese Prinzipien. Hinzu kommt die Unabhängigkeit von Hardware- sowie von Betriebssystemen.

Entwicklung einer Programmiersprache

Thomas Eugene Kurz und John G. Kemeny entwickelten 1964 die Programmiersprache BASIC, um Studenten ihres Dartmouth College den Einstieg in die Programmierung zu erleichtern. Bislang mussten die Lernenden schließlich mit sehr komplexen Sprachen wie Algol oder Fortran arbeiten. Die ersten beiden BASIC-Programme liefen am 1. Mai 1964 auf zwei GE-225-Rechnern, die vom Hersteller General Electric stammten und im Keller des Colleges standen.

In den folgenden zwei Jahren wurde BASIC durch Informatikstudenten fortentwickelt. Außerdem stellten Kurtz und Kemeny eine kostenlose Variante für Schulen der Umgebung zur Verfügung, was ein großer Vorteil im Vergleich zu anderen Programmiersprachen war, die auch für Bildungseinrichtungen mehrere tausend US-Dollar kosteten. Damalige Computer-Produzenten wie DEC integrierten BASIC-Interpreter außerdem bald in ihre Mini-Computer, die fortan in mittelständischen Unternehmen zum Einsatz kamen.

Die Programmiersprache war die Grundlage für die Schüler und Studenten, die sich später, ab Mitte der 1970er Jahre, mit dem Bau von kommerziellen Mikrocomputern einen Namen machten. In vielen dieser Rechner der damaligen Dekade fand sich daher ein Interpreter für die abgespeckte Variante der Programmiersprache, die ideal für den sehr eingeschränkten Speicherplatz der Heimcomputer war. Anfang der 1980er Jahre erlebte die Programmiersprache daher eine echte Hochzeit, weil nahezu alle Benutzungsoberflächen und Programmierumgebungen von Heimcomputern, wie zum Beispiel den Sinclair-Rechnern auf BASIC-Interpreter, setzten.

Auch das ab 1981 verbreitete MS-DOS von Microsoft enthielt eine solche Komponente, die in Deutschland an vielen Schulen eine wichtige Rolle im Informatik-Unterricht spielte. Damals setzte allerdings bereits ein Wandel ein, weil Hochsprachen wie C+ für Heimcomputer herauskamen. Dennoch gab es in den folgenden Jahren mehrere Dialekte, die auf Heimrechnern wie diversen AMIGA-Computern für Funktionen und Prozeduren zum Einsatz kamen. Varianten wie AMIGA-BASIC wurden dafür um Labels ergänzt, die anstelle von Zeilennummern als Sprungadressen dienten, was ein bedeutender Fortschritt war.

Heutige Programmierung mit BASIC

Seit 1964 änderte sich vieles. Heute gibt es moderne Heimcomputer, die mit ihren grafikbasierten Anwendungen auch von Laien leicht zu bedienen sind. Es gibt viele Standardanwendungen für die Textverarbeitung, zur Tabellenkalkulation oder zur Pflege von Datenbanken. Heutige Nutzer müssen keine Programmiersprache wie BASIC lernen, wenn sie derartige Programme nutzen möchten. Daher ging nicht nur die Verwendung seit den 1980er Jahren deutlich zurück.

Allerdings besann sich Microsoft 1991 auf die eigene Programmiersprachen-Tradition. Damals führte der Hersteller seine Variante, Visual Basic, für die schnelle Entwicklung von Windows-Anwendungen ein. Mit unterschiedlichen Veränderungen wie der Transformation in nativen Maschinencode steigerte Microsoft die Geschwindigkeit und die Stabilität des Codes stark. Virtual Basic wurde für Entwickler interessant, wobei das Unternehmen die Sprache letztendlich in sein .NET-System überführte.

Bis heute basieren viele Office-Produkte von Microsoft auf BASIC. Den Code nutzen weitere Anwendungen für die interne Programmierung von Makros. Über die Jahrzehnte entstanden hunderte Dialekte, die allerdings trotz großer Ähnlichkeiten nicht kompatibel sind. Die Gemeinsamkeiten reduzieren sich auf die reine Verarbeitung von Daten. Dennoch lassen sich gut geschriebene BASIC-Programme oft schnell auf andere Systeme übertragen.

BASIC im Vergleich

Bis heute gehört BASIC zu einer der Programmiersprachen, die IT-Lehrer im Informatikunterricht an Schulen vermitteln. Einerseits gilt die Programmierung mit der Sprache als guter Einstieg in die Welt des Codes. Andererseits gilt die Sprache als veraltet. Daher setzen Lehrer vielfach auf einen der Dialekte, die Konzepte wie eine Blockstruktur sowie die Objekt-Orientierung berücksichtigen. Ein Beispiel ist die Variante SmallBASIC, die Sie mit grafischer Oberfläche sogar gratis herunterladen können.

Eine gute Alternative ist die bereits erwähnte Fortentwicklung von Microsoft. Allerdings hat Virtual Basic, außer dem Namen, nur noch wenig mit der ursprünglichen Programmiersprache gemein. So ist die aktuelle Version der Variante objektorientiert gestaltet. Eine weitere Programmiersprache, die als Alternative in Betracht kommen kann, ist die Programmiersprache Python. Sie setzt gleichfalls auf die Blockstruktur und eine Objektorientierung.

Nach Ansicht von IT-Experten und Pädagogen erleichtert Python das spätere Erlernen von ähnlichen Sprachen wie Java, C++ und C# besonders gut. Das BASIC dennoch ein guter Einstieg in die faszinierende Welt der Codes ist, zeigt sich unterdessen besonders beim Blick auf den Prozessor. Schließlich liefert diese Programmiersprache beste Einsicht in die Arbeit dieser Komponente, was für spätere Programmierung mit anderen Sprachen von Vorteil ist.

Bei C# (auch CSharp) handelt es sich um eine typsichere, objektorientierte Programmiersprache mit der sich eine Vielzahl unterschiedlicher Anwendungen entwickeln lässt. Der Chefentwickler der Programmiersprache ist Anders Hejlsberg, der in den letzten Jahren Aufmerksamkeit mit seiner neuen Programmiersprache Typescript gewann.

Entwicklungsgeschichte der Programmiersprache

CSharp wurde im Auftrag von Microsoft grundsätzlich plattformunabhängig entwickelt, ist jedoch in erster Linie für den Einsatz in der .NET-Umgebung vorgesehen und für die Verwendung in diesem Kontext optimiert. Historisch gesehen wurde mit C# fast ausschließlich für die Windows-Plattform entwickelt. Durch den Einsatz der Xamarin-Plattform ist es heutzutage jedoch auch möglich, Anwendungen in CSharp für macOS, Android und iOS zu entwickeln. Darüber hinaus gibt es mittlerweile durch .NET Core auch eine offizielle Unterstützung für macOS und Linux-Distributionen. Des Weiteren können Entwickler mit .Net Native und CoreRT plattformunabhängigen Code für alle Plattformen erzeugen, die mit der Programmiersprache C++ kompatibel sind.

CSharp war bis zu der Version 2 bei der ECMA (European Computer Manufacturers Association) und der ISO (Internationale Organisation für Normung) als Standard eingetragen. Demzufolge erschienen in regelmäßigen Abständen umfangreiche Erweiterungen für die Programmiersprache, die ausschließlich durch Microsoft konzipiert wurden. Seit 2014 sind dank der Entwicklung des Referenz-Compilers auch Beiträge aus der Entwickler-Community möglich.

Wodurch zeichnet sich C# aus?

C# greift Konzepte der Programmiersprachen C++, Java, C sowie Delphi und Haskell auf. Einige Konzepte von C++, die als problematisch und unsicher gelten wie zum Beispiel Zeiger (Pointer), sind in CSharp nur im sogenannten „unsicheren Code“ zugelassen. Dieser kann ausschließlich in Zonen mit beschränkten Rechten ausgeführt werden. Wird C# in der .NET-Umgebung eingesetzt, verfügt die Sprache über Unterstützung für Delegate und Attribute. Attribute bieten beispielsweise die Möglichkeit, Informationen über eine bestimmte Klasse, Methode oder ein Objekt zu speichern, die sich dann zur Laufzeit auswerten lassen. Mit einem Delegat kann man auf einzelne Methoden einer Klasse verweisen. Dieses Konzept beruht auf der Funktionsweise von Funktionszeigern, wie sie beispielsweise in der Programmiersprache C zum Einsatz kommen. Ab der Version 2.0 von CSharp, die zusammen mit dem .NET-Framework ausgeliefert wurde, unterstützt die Programmiersprache von Microsoft neben anonymen Methoden und generischen Typen auch Generatoren und partielle Klassen.

Welche Anwendungen lassen sich mit C# entwickeln?

Mit C# lässt sich eine Vielzahl unterschiedlicher Anwendungen erstellen, wie beispielsweise:
– Traditionelle Anwendungen auf Windows-Forms-Basis mit grafischer Benutzeroberfläche und ereignisorientierter Programmierung.
– Performante Datenbankenanwendungen, die mit einer Vielzahl unterschiedlicher Datenbankensystemen genutzt werden können, wie beispielsweise SQL Server, MySQL oder PostgreSQL.
– Dynamische Webanwendungen, bei denen die Webseite als interaktive Benutzeroberfläche dient und die ein erstklassiges Nutzererlebnis bietet.

Integrierte Entwicklungsumgebungen (IDE) und Compiler

Neben der dominierenden integrierten Entwicklungsumgebung Microsoft Visual Studio, die von einer Vielzahl an C#-Entwicklern genutzt wird, gibt es mittlerweile auch andere Entwicklungsumgebungen für CSharp, wie zum Beispiel:
– JetBrains
– Notepad++
– Xamarian Studio
– MonoDevelop
– Balite

Die Funktionsweise des C#-Compilers orientiert sich sehr stark an der Java-Virtual-Machine, die bei der Programmiersprache Java zum Einsatz kommt. Der Compiler übersetzt nicht unmittelbar in Maschinensprache, sondern in eine spezielle Zwischensprache mit der Bezeichnung „Common Intermediate Language“. Für CSharp sind vier unterschiedliche Compiler erhältlich, und zwar:
– der hauseigene Compiler von Microsoft
– der Xamarian-Compiler
– der DotGNU-Compiler für GNU/Linux-Distributionen
– der CoreRT/.Net Native-Compiler

Bei Office 365 handelt es sich um eine Kombination aus Desktop-Anwendung und Online-Service. Es sind unterschiedliche Office-Pakete erhältlich, die sich in ihrem Funktionsumfang unterscheiden und auf unterschiedliche Anforderungen zugeschnitten sind. Office 365 beruht auf einem Abo-Abrechnungsmodell. Das bedeutet, dass Sie Office 365 nicht wie eine traditionelle Desktop-Software kaufen, sondern lediglich über einen bestimmten Zeitraum als „Software as a Service“ mieten können.

Microsoft Office in der Cloud

cmd-BefehlMicrosoft Office 365 zeichnet sich aus durch die Kombination verschiedener Online-Anwendungen und -Services mit traditioneller Office-Software. Das Software-Paket ist in unterschiedlichen Versionen erhältlich. Die einzelnen Versionen unterscheiden sich in erster Linie durch ihren Funktionsumfang und Tarife. Den Kernbestandteil von Office 365 stellen die Online-Versionen von Word, Excel, Outlook und PowerPoint dar. Sowohl die Webanwendungen als auch die Desktopanwendungen basieren auf einem Abo-Bezahlmodell.

Die Online-Anwendungen von Office 365 werden über eine Onlineverbindung im Internetbrowser ausgeführt und können in Kombination mit allen modernen Betriebssystemen genutzt werden. Je nach Tarif werden Nutzern zusätzliche Tools und Anwendungen zur Verfügung gestellt. Hierzu gehören neben den bereits erwähnten Office-Anwendungen Leistungen wie Cloud-Speicher, E-Mail oder Werkzeuge für die Zusammenarbeit und Kommunikation in Firmen, wie beispielsweise SharePoint und Skype.

Der wesentliche Vorteil von Office 365 spiegelt sich in der Tatsache wider, dass Privat- und Business-Anwendern immer die aktuellste Office-Version zur Verfügung gestellt wird. Die Anwendung ist nicht an einen bestimmten Rechner, sondern an das Nutzerkonto des Abonnenten gebunden.

Sie können die Desktop-Anwendungen des 365-Pakets auf mehreren Rechnern installieren und nutzen. Für die Dauer des Abonnements werden alle Anwendungen des Office 365-Pakets automatisch aktualisiert. Office-Anwendungen, die lokal auf einem Rechner installiert sind, erlauben die lokale Nutzung und Speicherung der Daten unabhängig von den Cloud-Diensten von Microsoft.

Die einzelnen Komponenten im Überblick

Die Komponenten von Microsoft Office 365 lassen sich in Cloud- und Web-Services sowie in lokal installierbare Anwendungen unterteilen. Bei den Cloud-Diensten handelt es sich um Online-Versionen bekannter Office-Anwendungen von Microsoft wie PowerPoint, Excel, Word, OneDriveOneNote. Diese werden unter dem Namen Microsoft Online Office zusammengefasst. Die einzelnen Dienste können betriebssystemunabhängig auf jedem Rechner mit Internetbrowser und Internetverbindung genutzt werden, der die minimalen Systemanforderungen erfüllt.

Da Microsoft mit Online Office ein großer Erfolg gelungen ist, hat diese Tatsache das Interesse anderer IT-Giganten geweckt, die im Laufe der Jahre eigene Online-Office-Lösungen auf den Markt gebracht haben. Neben dem Angebot von Microsoft bietet Google mit Google DocsSheets und Slides einen ähnlichen Cloud-Office-Service an.

Microsoft stellt die Cloud-Versionen seiner Office-Anwendungen jedem Nutzer mit einem Microsoft-Konto kostenlos zur Verfügung. Allerdings verfügen diese kostenlosen Versionen über einen geringeren Funktionsumfang. Neben den bereits erwähnten Online Office-Anwendungen gehören auch weitere Cloud-Dienste zum Bestandteil des kostenpflichtigen Office 365-Angebots. Je nach Abo-Modell gehören SharePoint-Online, E-Mail-DiensteYammerCloudspace für professionelle Webauftritte und weitere Leistungen zum Umfang.

Das lokal installierbare Software-Paket von Office 365 umfasst die Desktop-Versionen von MS Excel, Word, PowerPointAccessPublisherInfoPath und Skype. Das Paket können Sie auf allen aktuellen Versionen der beiden Betriebssysteme MacOS und Microsoft Windows installieren. Während der Dauer des Abonnements aktualisieren sich die Anwendungen automatisch.

Die verschiedenen Microsoft Office 365-Versionen

Der Zugriff ist von überall aus möglich

Die Leistungspakete von Office 365 lassen sich im Großen und Ganzen in Abonnements für private Kunden und Business-Abonnements für Unternehmen unterteilen. Je nach Bereich werden verschiedene Tarife mit unterschiedlichem Leistungsumfang angeboten. Eigens für die speziellen Anforderungen und Bedürfnisse von privaten Nutzern hat Microsoft die beiden Versionen Home und Office entwickelt. Das größte Alleinstellungsmerkmal dieser beiden Tarife spiegelt sich in der Tatsache wider, wie viele Personen das Office-Paket nutzen können.

Während die Anwendungen von Office Personal für die Nutzung einer einzelnen Person vorgesehen sind, können Office Home-Anwendungen von bis zu fünf unterschiedlichen Personen genutzt werden. Konkret bedeutet das, dass Sie die Office-Anwendungen Word, Excel, Access und PowerPoint auf bis zu fünf unterschiedlichen Rechnern installiert und gleichzeitig benutzen können.

Bei der Entwicklung der Benutzeroberfläche hat Microsoft einen großen Wert darauf gelegt, diese für die Nutzung auf mobilen Geräten zu optimieren. Aus diesem Grund können Sie Office 365 auch auf Tablets und Smartphones nutzen. Jedem Nutzer wird zudem ein Cloudspeicher mit einem Terrabyte zur Verfügung gestellt, um Office-Projekte und andere wichtige Daten in der Microsoft-Cloud speichern zu können.

Bei dem Office-Angebot für Unternehmen gibt es zwei Varianten, und zwar Office 365 Business und Enterprise. Die drei Business-Tarife Business, Business-Premium und Business-Essentials lassen sich jeweils maximal von 300 Usern nutzen. Die Enterprise-Version ist nicht auf 300 User beschränkt und beinhaltet zusätzliche Funktionalitäten wie die Bereitstellung unterschiedlicher Services auf einem Terminalserver, Business Intelligence und vieles mehr.

Abgrenzung des Online-Angebots zur Dauerlizenz des Microsoft Office-Pakets

Mit dem Namen Microsoft Office werden verschiedene Büroanwendungen bezeichnet, die seit Jahren von Microsoft kontinuierlich weiterentwickelt werden. Diese haben sich im Laufe der Zeit als eine Art Standard im Bereich der Textverarbeitung und Tabellenkalkulation in Unternehmen etabliert. Die Anwendungen sind in unterschiedlichem Funktionsumfang erhältlich und sind als Dauerlizenz oder als Abonnement erhältlich.

Käuflich erworbene Lizenzen können Sie auf einem Mac- oder Windows-Computer installieren und unbegrenzt lange nutzen. Wenn eine neue Office Version erscheint, wird die einmal erworbene Anwendung jedoch nicht aktualisiert. Um die neueste Office-Version nutzen zu können, müssen Sie das neueste Office-Paket kaufen. Darüber hinaus beinhaltet die Kaufversion des Office-Pakets keine zusätzlichen Online-Services.

Office 365Office 365 steht nicht zum einmaligen Kauf zur Verfügung, sondern der Online-Service wird als Abonnement mit unterschiedlichen Tarifoptionen angeboten. Je nach gewählter Option erfolgt die Abrechnung monatlich oder jährlich und beinhaltet je nach Tarif unterschiedliche Webservices und Anwendungen. Im Rahmen des Abonnements werden Nutzern stets die neuesten Office-Versionen ohne zusätzliche Gebühren zu Verfügung gestellt. Das installierte Software-Paket aktualisiert sich in der Regel automatisch.

Vor- und Nachteile eines Office 365-Abonnements

Obwohl Office 365 gegenüber der traditionellen Kauflizenz des Office-Pakets etliche Vorteile bietet, bringt die Nutzung des Cloud-Angebots von Microsoft aber auch einige Nachteile mit sich. Office 365 bietet Ihnen neben den installierbaren Office-Anwendungen zusätzliche Web- und Onlineservices. Dies ist insbesondere für Unternehmen interessant, da sie die Kosten für den Betrieb einer eigenen Office-Services-Infrastruktur eliminieren können.

Anwender profitieren zudem von der Tatsache, dass sie die Dienste geräteunabhängig von jedem Ort mit Internetzugang nutzen können. Die Lizenz des Office 365-Pakets ist nicht an einen einzelnen Rechner, sondern vielmehr an den Nutzer gebunden. Je nach gebuchtem Tarif lässt sich die Software an mehreren Computern installieren und nutzen. Darüber hinaus haben Sie als Nutzer von Office 365 stets Zugriff auf die aktuellste Office-Version, sodass Sie keine neuen Versionen kaufen und installieren müssen.

Der wesentliche Nachteil von Office 365 ist die Tatsache, dass nach dem Ablauf eines Abonnements Ihre Nutzungsrechte für das Office-Paket deaktiviert werden. Sie können zwar Ihre Daten lokal speichern, aber die Office-Anwendungen nicht mehr starten. Bei dem Kauf einer Lizenz bleibt Ihnen die Software unbegrenzt erhalten.