Funktionierende und sichere IT-Prozesse sind eine zentrale Grundlage für die Leistungsfähigkeit jedes Unternehmens. Die Herausforderung ist es, Betriebsstabilität und Verfügbarkeit der Systeme unter Einhaltung von SLAs sicherzustellen.
Unix wurde 1969 entwickelt und hat sich seitdem zu einer ganzen Betriebssystem-Familie entwickelt. Zu den Prominieten Vertretern gehören Solaris, AIX oder HP-UX.
Linux wurde erst 1991 durch Linus Torvalds initiiert. Seitdem wird das System kontinuierlich weiterentwickelt. Linux gilt als stabil und sicher. Zu den beliebtesten Linux-Distributionen gehören Debian, Ubuntu, Red Hat, Suse und andere. Für Unternehmenskunden, die Support benötigen gibt es spezielle Distributionen, z.B. SUSE Linux Enterprise Server (SLES) oder Red Hat Enterprise Linux (RHEL).
Zu den administrativen Aufgaben gehören Troubleshooting bei operativen Störungen, Logfile-Analyse (Splunk / Logstash), Second-Level-Support, Kommunikation und Nachverfolgung von Tickets (Jira, ARS Remedy). Die Durchführung von ITIL-konformen Changes und die Zusammenarbeit mit der Entwicklung (DevOps) gehören ebenfalls zu den Aufgaben bei der Administration von Linux/Unix-Systemen.
Die laufende System- und Prozessanalyse wird durch Monitoring-Tools, wie Cacti, Nagios, Zabbix, Icinga o.a. unterstützt und erleichtert so die Betriebsführung in (verteilten) Systemen.
Apache2 ist der meistgenutzte Webserver im WWW. Die Multi-Processing-Module (MPMs) definieren Laufzeitverhalten und werden i.d.R. bei der Installation konfiguriert. Zu den Meistgenutzten MPMs gehören prefork, worker und mpm_winnt (für Windows-Systeme). Sie definieren ob Clients durch Prozesse oder Threads und mit welchen Parametern mit dem Server kommunizieren können.
Die Funktion des Servers lässt sich durch Module erweitern, die bestimmte Zusatzfunktionen mitbringen. Es existiert bereits eine Reihe von Modulen, die nach Bedarf geladen werden können, z.B. mod_rewrite, mod_ssl, php5_module u.v.m.
Der Apache-Server lauscht standardmäßig auf TCP Port 80 (HTTP) und 443 (HTTPS), wobei der Server auf mehreren IPs lauschen kann (virtuelle Hosts). Auf einer IP können mehrere Hosts laufen; die Unterscheidung erfolgt anhand des HTTP-Headers. Es lassen sich portbasierte, namensbasierte und IP-basierte Hosts einrichten, wobei für SSL-Verbindungen IP-basierte Hosts benutzt werden.
Ein Content Management System (CMS) vereinfacht die Verwaltung von Inhalten (Texten, Bildern, Videos) und stellt sie in einem vordefinierten Layout im Web dar. Die meisten CMSe sind in PHP, Java oder Perl implementiert. Die Auswahl an webbasierten Content Management Systemen ist sehr groß. Zu den Vertretern gehören z.B. Typo3, Joomla, Drupal, Wordpress oder ModX. Ein CMS läuft i.d.R. auf einem Webserver, z.B. auf Apache2 mit PHP5. Die Datenhaltung erfolgt in einer Datenbank (MySQL, Oracle, PostgreSQL), wo der eigentliche Inhalt (Content) gespeichert wird. Für die Volltextsuche wird oft die (sehr leistungsfähige) Suchmaschine Solr verwendet.
Die Architektur von Content Management Systemen kann je nach Anwendungsszenario sehr unterschiedlich sein. Bei Coremedia (Enterprise Content Management System / ECMS) besteht sie aus mehreren Komponenten: Content Server, Workflow Server, Servlet Container (z.B. Tomcat) mit Active Delivery Server (ADS), Datenbank (z.B. Oracle), Live Server (Master und Slave) sowie weiteren Systemen.
Die CMS-Administration beinhaltet ein breites Spektrum von Aufgaben: Content-Verwaltung, Monitoring, Überwachung der Verfügbarkeit, Debugging von HTTP(S)-Verbindungen, Load Balancing, DNS-Verwaltung, Benutzerverwaltung, Unterstützung bei der Suchmaschinenoptimierung, Log-File-Analyse u.v.m.
MySQL ist ein leistungsfähiges relationales Datenbankmanagementsystem (RDBMS). MySQL erfreut sich einer sehr großen Beliebtheit – vor allem im Web-Bereich. Der Einsatz erfolgt meistens mit Apache Web Server in Verbindung mit PHP, Perl, Java, Ruby oder auch C++.
Im Produktivbetrieb wird meistens MyISAM oder InnoDB als Storage-Engine eingesetzt. MyISAM ist einfach, schnell und eignet sich für Anwendungen, die hauptsächlich lesenden Zugriff benötigen (viele SELECT-Statements). InnoDB bietet Transaktionsunterstützung, Fremdschlüssel, referenzielle Integrität und ist mittlerweile die Standard-Engine bei MySQL.
Zu den typischen Aufgaben eines MySQL-Admins gehören: Beseitigung von Störungen (Incident Management), Verwaltung der Datenbanken, Benutzerrechteverwaltung, Einrichtung und Überwachung von Backup/Recovery, Performance-Monitoring und –Tuning.