Per Mausklick bewerten und Feedback geben
MSDN
MSDN Library
Entwicklerbibliothek
Windows 2000
 Bereitstellen einer Windows DNA 200...

  Anzeige für geringe Bandbreite anschalten
Bereitstellen einer Windows DNA 2000-Anwendung
Veröffentlicht: 07. Sep 2000 | Aktualisiert: 16. Jun 2004
Von Pedro Silva und Michael D. Edwards

Letzten August veröffentlichte MSDN Phase 4 der Duwamish Books-Beispielanwendung, ein ambitioniertes Projekt, das den Schritt eines Unternehmens ins Internet und die dazugehörige Architektur veranschaulicht. Phase 1 enthielt eine Reihe von eigenständigen Desktopanwendungen für den Betrieb eines Einzelhandels-Buchladens. In Phase 2 wurde der gesamte Datenzugriffscode in eine gemeinsam nutzbare COM-Komponente übertragen, damit das wachsende Unternehmen mit mehreren Läden und eine Client/Server-Architektur unterstützt werden konnte. Als die fiktive Duwamish-Buchladenkette weiter wuchs und sich auf andere Städte und Länder ausdehnte, wurde in Phase 3 die Migration zu einer logischen Three-tier-Architektur beschrieben. Auf diese Weise konnten mittels einer Geschäftslogikschicht auf die jeweiligen Läden unterschiedliche Geschäftsregeln angewendet werden. In Phase 3.5 wurde Microsoft Transaction Server (MTS) integriert, um die Komponenten in einer physikalischen Three-tier-Architektur zu verwalten und die Transaktionen steuern zu können. In Phase 4 wurde der Workflowcode der Anwendung schließlich in eine gemeinsam nutzbare COM-Komponente und die Darstellungslogik in Active Server Pages (ASP) übertragen. Duwamish Books war also zu einer webbasierten Windows DNA-Anwendung geworden.

Dieser Artikel enthält eine Übersicht über die Geschichte der Duwamish-Beispielanwendung und beschreibt ihre Umwandlung in ein echtes E-Commerce-Startup.

* * *

Auf dieser Seite

Einführung Einführung
www.DuwamishOnline.com www.DuwamishOnline.com
Anwendungsarchitektur Anwendungsarchitektur
Netzwerkarchitektur Netzwerkarchitektur
Schlussfolgerung Schlussfolgerung

Einführung

Wenn Sie jemals eine Person treffen, die die fehlgeschlagene Einführung einer Webanwendung miterlebt hat, werden Sie etwas zu hören bekommen. Die Probleme sind vielfältig und bei weitem nicht immer rein technischer Art. Wir müssen es wissen, denn durch unsere Arbeit am MSDN® Duwamish Online-Projekt waren wir in den letzten zwei Jahren mit dem Entwerfen, Implementieren, Bereitstellen und Betreiben eines weltweit im Internet vertretenen E-Commerce-Startup beschäftigt. Vorsicht! Bevor Sie bei dem Gedanken, dass die Bereitstellung eines echten Internetstartups zwei Jahre dauern soll, vor Lachen zusammenbrechen, sollten Sie bedenken, wie sich das Hauptziel des Projekts – die Vermittlung des Wissens, wie Benutzer unseren Erfolg reproduzieren können – auf die Projektplanung auswirkt!

Für das Duwamish-Team war dieses Ziel bei der Erkennung und Lösung der Probleme, die mit der Einführung einer Webanwendung zusammenhängen, "nur" die halbe Arbeit. Die restliche Zeit investierten wir in die Erstellung und Aktualisierung von sehr detaillierten Labornotizen und -prozeduren, hunderten von Seiten mit Anwendungssoftware und Netzwerkspezifikationen und unzähligen Berichten und Analysedokumenten.

Anders ausgedrückt: Der erfolgreiche Start von http://DuwamishOnline.com ohne eine Weitergabe des Wissens an Sie, damit Sie die Erstellung nachvollziehen können, war völlig ausgeschlossen. Sie werden fragen: "Was ist Duwamish Online eigentlich genau?" Lesen Sie weiter. Wir werden Ihnen unsere Projektziele erläutern und die technischen Details der Duwamish Online-Software und der Netzwerkarchitektur vorstellen. Außerdem erhalten Sie einen Einblick in die Vorbereitungen der Bereitstellung Ihrer eigenen Microsoft® Windows® DNA 2000-Anwendung. Mit diesem Thema werden wir uns bei MSDN Online den ganzen Sommer über beschäftigen.

www.DuwamishOnline.com

Lange bevor wir Phase 4 von Duwamish Books veröffentlichten, wussten wir, dass es eine Phase 5 geben würde. In Phase 4 hatten wir uns nämlich vor allem darum gekümmert, die Softwarearchitektur einer Windows DNA-Anwendung zu beschreiben. Das ist aber nur ein Drittel des Problems. Ein weiteres Drittel besteht darin, eine neue Webanwendung wirklich bereitzustellen, und der Rest ist der Betrieb der Anwendung. Nachdem wir Phase 4 also abgeschlossen hatten, haben wir damit begonnen, Duwamish live im Internet bereitzustellen.

Ziele von Duwamish Online

Das Hauptziel von Duwamish Online ist die Weitergabe des Wissens, wie Sie Ihre eigene Webanwendung erfolgreich bereitstellen können. Wir werden jeden Schritt von A-Z ausführlich beschreiben. (Der Schlüssel zu einer erfolgreichen Webanwendung liegt in den Details.)

Da das Duwamish-Team nach Abschluss der Phase 4 nur sehr wenig Erfahrung mit der Bereitstellung und dem Betrieb von Webanwendungen hatte, entschieden wir uns dafür, Duwamish selbst bereitzustellen und die Anwendung längere Zeit zu betreiben. Da wir mit einer Bereitstellung im Sommer 2000 nach der Veröffentlichung von Windows 2000 rechneten, entschieden wir uns für ein weiteres Ziel, nämlich die Weitergabe des Wissens, wie (und warum) die Duwamish-Anwendungsarchitektur auf COM+-Dienste umgestellt wird, also wie Sie von Windows DNA zu Windows DNA 2000 gelangen.

Upgrades für die Duwamish Online-Anwendung

Eine neue Duwamish-Phase wäre nicht vollständig, wenn die Migration der Architektur dabei nicht auch durch eine grundlegende Änderung des Unternehmens motiviert wäre. Duwamish Online ist keine Ausnahme. Da das Unternehmen über genügend Kapital verfügt und weiß, dass es wachsen muss, um zu überleben, hat Duwamish Online seine Produktpalette erweitert, indem es einen Anbieter von Freizeit- und Sportkleidung gekauft hat.

Weitere Upgrades der Anwendung beruhten auf unserer Meinung, dass die Anwendung eine vollständigere Darstellung und einen optimierten Workflow erforderte, um allgemein anwendbare Skalierbarkeit und Leistungsdaten zu gewährleisten. Die hohen Anforderungen an die Verfügbarkeit und die Zuverlässigkeit führten zu zusätzlichen Erweiterungen der Architektur (sowohl Software als auch Hardware), die nicht so sehr durch die Änderungen des Duwamish Online-Unternehmens, sondern durch die realen Probleme beim erfolgreichen Betrieb einer Webanwendung motiviert waren (im Gegensatz zur reinen Erstellung in Phase 4).

Datenbankschicht

Die Änderungen der Datenbankschicht hatten zwei Gründe:

  • Die neue Unternehmensanforderung, zusätzlich zu Büchern auch Kleidung und Mitbringsel zu verkaufen (und die Annahme, dass die Produktpalette von Duwamish Online durch weitere Zukäufe noch erweitert werden würde).

  • Die beträchtliche Erweiterung des Workflows der Duwamish-Anwendung.

Diese Änderungen führten zu Modifikationen des Duwamish-Datenbankschemas und zu einem wesentlichen Anstieg bei der Anzahl an Tabellen, Feldern und gespeicherten Prozeduren. Wir haben diese Gelegenheit ergriffen, um alte Datenbankobjekte zu entfernen, die für die Anwendung nicht mehr relevant waren. Außerdem übertrugen wir die Datenbank in Microsoft SQL Server™ 2000, um die neuen Features nutzen zu können, z.B. die Volltextsuchen in einer Clusterumgebung.

Mittlere Ebene und Darstellung

Auf der mittleren Ebene haben wir die Bestellpipeline neu entworfen und implementiert und die Workflow- und Geschäftslogik erweitert, um die verbesserten Darstellungsfeatures zu unterstützen. Wir führten eine COM+ Queued Component ein, um die Skalierbarkeit, Verfügbarkeit und Zuverlässigkeit aus Gründen der Interaktion mit Dritten zu verbessern. Auf diese Weise konnten wir Bestellungen sehr viel schneller verarbeiten (was sich sehr positiv auf die Skalierbarkeit auswirkte), ohne dass wir auf die Echtzeitleistung und die Uptime der Server unserer Partner angewiesen waren (wir konnten die Verfügbarkeit und die Zuverlässigkeit unseres Bestellworkflows also komplett in unserer eigenen Domäne steuern).

Wenn Sie Phase 4 downgeloadet und installiert haben, werden Sie die großen Schritte bemerkt haben, die wir in der Darstellungsschicht von Duwamish Online gemacht haben. Wir haben nicht nur die Komplexität der einzelnen Seiten extrem erhöht, sondern auch wichtige neue Features wie den Kontoverlauf hinzugefügt. Wir haben den Anwendungsumfang erhöht, um realistischere Leistungs- und Skalierungszahlen liefern zu können. (Die Duwamish Online-Homepage ist z.B. eine dynamische Seite, die für die Bereitstellung zehn Mal mehr Verarbeitungskapazität braucht als die statische Homepage von Phase 4.) Da sich Duwamish Online jedoch live im Internet befindet, benötigten wir auch eine vollständigere Anwendung, um Ihre Motivation und Ihr weiteres Interesse zu gewährleisten.

Interaktion mit Dritten

Wir haben die vollständige Interaktion mit einem Anbieter für die Kreditkartenprüfung und mit einem Anbieter für die Auftragsabwicklung implementiert. Dies war sowohl für die Komplexität als auch für die Vollständigkeit wichtig. Dabei mussten wir eine Reihe interessanter Probleme lösen, vom Abrufen von Nachrichten vom Queued Component-Server bis zur automatischen Erzeugung von E-Mail-Bestätigungen.

Setup und Build der Anwendung

Da wir beabsichtigten, die Duwamish Online-Anwendung während ihrer Lebensdauer sehr oft zu installieren, brauchten wir eine sehr robuste und leicht zu wartende Setupanwendung. Also entschieden wir uns, neu anzufangen und das Setup von Duwamish Books, Phase 4, herauszunehmen (ein umständlicher Code, dessen Ursprünge bis auf das Microsoft Visual Basic® Setup Kit zurückgehen; wir haben es ab Phase 3.5 verwendet, um die Verwaltung der MTS-Komponente zu automatisieren). Schließlich hatten wir das erste vollständig automatisierte Setupprogramm mit Windows 2000-Logozertifizierung für eine Webanwendung geschaffen. (Jedenfalls das erste, das kostenlos erhältlich ist!)

In den vorherigen Phasen von Duwamish wurde ein Ad-hoc-Erstellungsverfahren angewendet (es gab also keine formelle Erstellungsprozedur). Da wir es unseren Kunden ermöglichen wollten, die Testergebnisse zu reproduzieren, benötigten wir ein äußerst zuverlässiges und leicht änderbares Erstellungsprogramm. Es war sehr wichtig, dass unsere Kunden in der Lage sein sollten, die gleichen Elemente zu erstellen und zu testen wie wir. Also haben wir eine neue Erstellungsfunktion für Anwendungen entwickelt, die im Duwamish Online-Download enthalten ist.

Einer unserer besten Ingenieure hat sich mehrere Wochen lang mit diesen beiden Erweiterungen beschäftigt, und wir sind sehr stolz auf diese Arbeit.

Duwamish Online-Bereitstellung

Die Hälfte der Personen, die an Duwamish Online mitgearbeitet haben, haben sich mit der Bestimmung und Anwendung der 1.001 Prozeduren beschäftigt, die für die Bereitstellung einer Webanwendung erforderlich sind: vom Erstellen und Testen verschiedener Netzwerkkonfigurationen bis zur Kaufentscheidung für die endgültigen Staging- und Produktionsserver. Vom Schreiben von Datenbanksicherungsprogrammen und Übungsprozeduren, um die Datenbank aus Sicherungskopien wiederherzustellen, bis zum Testen des Datenbankfailovers. Vom Erwerben eines Domänennamens bis zum Schützen der Produktionsserverfarm vor Angriffen von Hackern. Vom Erforschen von Nutzungsszenarios und Erstellen von Belastungstestskripts bis zum Eingrenzen von Sperrkonflikten bei Skalierungstests. Dies waren nur einige der Probleme von A-Z, mit denen wir uns fast ein Jahr lang beschäftigt haben und die wir Ihnen über MSDN Online den ganzen Sommer beschreiben werden.

Anwendungsarchitektur

Schichtarchitektur

Duwamish Online erweitert den n-tier-Entwurf der ersten Phasen der Beispielanwendung, also die Darstellungsschicht, die Workflowschicht, die Geschäftslogikschicht, die Datenzugriffsschicht und die Datenquelle. Obwohl in früheren Phasen mehrere Darstellungsarten implementiert wurden, haben wir uns bei der Veröffentlichung von Duwamish Online auf HTML 3.2- und CSS 1.0-Clients konzentriert, um Unterstützung für die größtmögliche Anzahl an Browsern bieten zu können. Der Entwurf verfügt jedoch immer noch über die Möglichkeit der Unterstützung von mehreren Darstellungsarten und kann auf einfache Weise erweitert werden, um die neuen Browserfunktionen zu nutzen. Deshalb müssen alle XML- und XSL-Transformationen auf dem Webserver erfolgen.

Bild01

Abbildung 1. Die Anwendungsschichten des Duwamish Online-Beispiels

Daten werden in einer relationalen Datenbank gespeichert, es wird darauf zugegriffen und sie werden mit Komponenten bearbeitet, die unter COM+-Diensten ausgeführt werden. Sie werden zwischen den COM+-Komponenten der mittleren Ebene und der Darstellungsschicht in XML-Format konvertiert. Die Darstellungsschicht formatiert die Seiten und transformiert die XML-Daten in HTML 3.2. In diesem Format werden die Daten dann von den Internet-Informationsdiensten zurückgegeben.

Tabelle 1. Schichtanwendungsarchitektur von Duwamish Online

Logische n-tier-Architektur

  • Darstellungsebene – HTML 3.2
  • Workflowebene – Arbeit, die mehrere autonome Geschäftstransaktionen umspannt bzw. integriert
  • Geschäftslogikebene – Grenze für autonome Geschäftstransaktionen
  • Datenzugriffsebene – Regelt den getrennten Datenzugriff

Datenbankebene

  • SQL Server 2000-Datenbank

Die logische Unterteilung einer Anwendung in diese Schichten ermöglicht es Ihnen, modularen, wieder verwendbaren, einfach zu wartenden Code zu schreiben. Es wäre schwieriger, eine "monolithische" Webanwendung zu schreiben. Wenn man sich diese Aspekte vergegenwärtigt, gelangt man zu der Einsicht, dass man beim Entwerfen und Implementieren von Funktionen und ganzen Anwendungen an diese Dinge denken muss.

Diese logische Unterteilung in Schichten muss aber nicht zwangsläufig den Schichten der COM+-Komponenten entsprechen, obwohl die Duwamish-Anwendung so aufgeteilt ist. Mit neuen Skripterstellungsfunktionen wie VBScript-Klassen (Visual Basic Scripting Edition) kann der Code auf einfache Weise in die Klassen eingekapselt werden werden, und alle Schichten können als Skript geschrieben werden. Einerseits vereinfacht dies u.U. Ihre Anwendungsentwicklung, aber Sie können keine anderen Funktionen wie die COM+-Sicherheit, Queued Components usw. nutzen.

Obwohl sich bei den Middle-tier-Komponenten viel geändert hat, um die neuen Funktionen unterbringen zu können, z.B. der Katalog mit verschiedenen Artikeln und der Bestellverlauf, ähnelt das Prinzip hinter den Workflow-, Geschäftslogik- und Datenzugriffsschichten immer noch dem aus Phase 4. Konzentrieren wir uns deshalb auf einige neue Komponenten, z.B. für den Queued Workflow und die Auftragserfüllung, und ihre Einarbeitung in das Gesamtsystem.

Queued Workflow-Komponente

Bei einer Website, die pro Tag mehrere Millionen Transaktionen verarbeitet (zu Spitzenzeiten mehrere Tausend pro Sekunde), kann das Verzögern von aufwendigen Vorgängen die Reaktionszeiten stark verbessern. Verzögerte Vorgänge führen zu weniger stark belasteten IIS-Threads, so dass diese auf weitere Anfragen antworten können, anstatt darauf zu warten, dass aufwendige Vorgänge durchgeführt werden. Außerdem erhöhen verzögerte Vorgänge die Zuverlässigkeit der Site. Wenn die verzögerten Teile der Site offline gehen oder wenn eine große Zahl von Transaktionen zur Verarbeitung ansteht, werden die Nachrichten in die Warteschlange eingereiht, bis das System wieder online ist oder bis der Verkehr etwas nachlässt, so dass das System wieder aufholen kann.

Das COM+ Queued Components-Feature macht es einfach, Objekte für die Ausführung unter den Microsoft Queuing-Technologien zu implementieren und konfigurieren. In unserem Fall handelt es sich um MSMQ. Die schwierigste Aufgabe dabei ist zu entscheiden, welche Teile Ihrer Site keine sofortigen Rückmeldungen an den Benutzer erfordern und stattdessen in die Warteschlange eingereiht werden können. Datenbankvorgänge sind recht teuer, aber die Autorisierung der Zahlung per Kreditkarte ist sehr teuer. Sie wissen von der Tankstelle oder aus dem Kaufhaus, dass dies schon einige Sekunden dauern kann. Wenn alle Arbeitsthreads eines Webservers (IIS verwendet einen Pool mit 25 Arbeitsthreads) mit Anfragen zur Autorisierung von Zahlungen beschäftigt sind, steigt die Reaktionszeit Ihrer Site drastisch an.

Duwamish Online nutzt die COM+ Queued Component-Funktion sehr intensiv für die Bestellpipeline. Wenn ein Kunde auf Kaufen klickt, übergibt die Darstellungsschicht die XML-codierten Bestellinformationen an eine lokale Workflowkomponente. Die lokale Komponente ruft eine Queued Workflow-Komponente auf einem Remotehost auf und führt eine ProcessOrder-Methode aus. Die gesamte Verarbeitung einer Bestellung wird von der Queued Workflow-Komponente auf dem Remotehost durchgeführt und ist vollständig von IIS abgetrennt.

Die Verarbeitung einer Bestellung beinhaltet auch das Einfügen der Verkaufs- und Zahlungsinformationen in die Datenbank, das Autorisieren des Kaufs per Kreditkarte, das Vorbereiten der Bestelldaten für die Ausführung und das Belasten der Kreditkarte mit dem Betrag, nachdem die Bestellung abgearbeitet wurde.

Erfüllungssubsystem

Wir haben uns entschieden, für die Auftragserfüllung eine Drittfirma, Interact Inc., zu verwenden. Diese Firma ist für die Bevorratung der Artikel im Lager, das Verpacken und die Lieferung an den Kunden verantwortlich. Wir bemerkten sofort, dass unsere Datenbank- und Nachrichtenformate mit den Formaten von Interact inkompatibel waren (übrigens ein typisches Problem bei einer Business-to-Business-Anpassung). Wir konnten mit der Erfüllungsfirma nur per FTP (Protokoll zur Dateiübertragung) kommunizieren, wenn wir Nachrichten an eine Adresse ihrer Site senden wollten. Bei der zunehmenden Nutzung von XML-Messaging- und Serveranwendungen, wie Microsoft BizTalk™ Server, sollte die Anpassung dieser Art von externen Diensten in Zukunft einfacher werden.

Das Erfüllungssystem umfasst mehrere geplante Vorgänge, die mit Hilfe des Microsoft Windows NT® Taskplaner gesteuert werden. Diese geplanten Ereignisse schicken Aufrufe an die Erfüllungsworkflowkomponente, die Bestellung an Interact zu senden und den Bestellstatus und das Lager beim Anbieter zu aktualisieren.

Der Erfüllungsworkflow ist in andere Duwamish-Komponenten integriert und verwendet die Geschäftslogik- und Datenzugriffsschicht, um Datenbankvorgänge in den Bestelltabellen und in seiner eigenen Datenbank durchzuführen. Letztere wird speziell für die Synchronisierung mit Interact verwendet.

Bestellung senden

"Bestellung senden" verwendet die Workflowschichten der Duwamish Books-Geschäftslogik, um Auftragsdatensätze zu ermitteln, die bereit für die Erfüllung sind. Wenn "Bestellung senden" bestimmt hat, dass eine Bestellung bereit ist, werden die Bestelldaten aus dem Duwamish Online-Format in ein Format transformiert, das mit dem externen System kompatibel ist. Die Daten werden dann per FTP an das externe System übertragen.

Aktualisieren des Bestands und Aktualisieren des Auftragsstatus

Mit Hilfe von "Aktualisieren des Bestands" und "Aktualisieren des Auftragsstatus" wird der Bestandsstatus und der Auftragsstatus in den Dateien transformiert, die vom Erfüllungsserver downgeloadet wurden. Dann werden der Auftragsstatus und die Bestandsinformationen im Duwamish Online-System über die Workflow- und Geschäftslogikschichten aktualisiert. Wenn für diese Änderungen diese Komponenten verwendet werden, werden die Geschäftsregeln beibehalten, die wir eingerichtet haben, um die Änderungen des Bestands und des entsprechenden Status zu steuern. Außerdem wird ein Aufruf an die Queued Workflow-Komponente gesendet, die endgültige Belastung der Kreditkarte vorzunehmen.

Netzwerkarchitektur

Einer der größten Unterschiede zwischen Duwamish Online und den vorherigen Phasen von Duwamish ist der hohe Aufwand, der nötig war, um die Netzwerkarchitektur zu entwerfen, in der unsere Anwendung ausgeführt wird. Bei der Produktentwicklung liegt das Hauptaugenmerk oft auf der Softwarearchitektur und den Features. Bei einer Webanwendung ist die Netzwerkarchitektur jedoch genauso wichtig. Viele gut entworfene Anwendungen können im Internet ein Misserfolg werden, wenn sie nicht richtig bereitgestellt und betrieben werden.

Obwohl Duwamish Online als logische n-tier-Anwendung entworfen wurde, wird sie über zwei physikalische Ebenen (die sog. tiers) bereitgestellt. Nachdem wir eine Reihe von Konfigurationstests für Duwamish durchgeführt hatten, haben wir entdeckt, dass sich der Ansatz mit zwei physikalischen Ebenen am besten eignet. Dabei wird nämlich die Kommunikation von Computer zu Computer minimiert, wodurch die Leistung sonst stark beeinträchtigt werden kann. Bei dieser Konfiguration führen die Webserver alle ASP-Seiten der Website und alle COM+-Komponenten aus, und auf der zweiten Ebene wird der Datenbankserver ausgeführt. Die Belastung wird zwischen den Webservern mit Hilfe des Netzwerklastenausgleichs (NLB, Network Load Balancing) verteilt. Die Tests, die wir mit Komponenten durchführten, die auf der eigenen mittleren Ebene der Computer ausgeführt wurden, ergaben alle einen geringeren Durchsatz und eine schnellere Reaktionszeit.

Tabelle 2. Duwamish Online-Two-tier-Architektur

Physikalische Two-tier-Architektur

Webebene (NLB-Cluster)

  • VBScript in ASP
  • Alle HTML-generiert (unter Verwendung von XML/XSL-Transforms)
  • Die Visual C++® ATL Cache-Komponente im ASP-Anwendungsspeicher führt in unregelmäßigen Abständen unter Änderung von HTML/XML eine Zwischenspeicherung durch.
  • Visual Basic COM+-Workflow-, -Geschäftslogik-, -Datenzugriffskomponenten (COM+-Bibliothek)

Datenbankebene (Windows-Clusterdienst)

  • SQL Server 2000 mit gespeicherten Prozeduren

Unsere Konfiguration des Produktionsnetzwerks kann in zwei Hauptbereiche unterteilt werden: das Internet und die Serverfarm.

Der Internetbereich

Der Internetbereich stellt den Netzwerkverkehr außerhalb unseres Routers und unseres Firewalls dar. Wir verfügen über eine Internetverbindung mit 1,5 Mbit/s, die von unserem Internetdienstanbieter, der Information Technology Group von Microsoft, bereitgestellt wird.

Wir erwarten Netzwerkverkehr aus dem Internet aus drei verschiedenen Quellen: Kunden, Dienstanbieter und Remoteüberwachungsclients.

Kunden

Kunden sind typische Internetbenutzer, die unsere Site mit einer Vielzahl von Webbrowsern nutzen. Sie erhalten nur über HTTP, Port 80, Zugang zu unserer Site. Die Kunden suchen in unserem Katalog, wählen Artikel aus und kaufen Artikel.

Dienstanbieter

Wir kommunizieren über das Internet auch mit den Servern unserer Partner, die für die Zahlung und Abwicklung zuständig sind. Die gesamte Kommunikation mit den Dienstanbietern ist auf den Queued Component-Server beschränkt. Tabelle 3 enthält eine Liste der Kommunikationsmethoden, die auf diesem Server erforderlich sind.

Tabelle 3. Erforderliche Kommunikationsmethoden auf einem QC-Server

Dienstanbieter

Art des Dienstes

Erforderliches Netzwerk- protokoll

CyberSource

Zahlungsverarbeitung

Benutzerdefiniertes Protokoll – Port 80

Interact

Auftragsabwicklung

FTP – Port 21

Remoteüberwachungsclients

Der wichtigste Aspekt hierbei ist, dass eine Website für die Kunden zugänglich ist. Es ist für uns lebenswichtig, außerhalb unseres eigenen Servernetzwerks über eine Möglichkeit zur Überwachung der Verfügbarkeit der Site zu verfügen. Einige Netzwerkprobleme wie der Verlust einer ISP-Verbindung können vom eigenen Netzwerk aus nicht überwacht werden.

Wir werden mindestens einen Clientcomputer außerhalb unseres Firewalls einrichten, um den Zustand unseres Dienstes von dort aus überwachen zu können. Dieser Client prüft wichtige Dienste unserer Site regelmäßig mit Hilfe von PING und benachrichtigt die entsprechenden Mitarbeiter, wenn Dienste nicht verfügbar sind. Ideal wäre es, mehrere Clientcomputer über verschiedene ISP-Verbindungen einzusetzen. Bei unserer ersten Bereitstellung richten wir jedoch erst einmal einen Clientcomputer mit einer externen Verbindung ein.

Der Serverfarmbereich

Die einzigen externen dedizierten Netzwerkverbindungen unserer Serverfarm sind der direkte Internetzugang zu unserem Internetdienstanbieter und die geschützte DFÜ-Verbindung zum Administrationsserver für den Betrieb und die Netzwerkverwaltung.

Bild02

Abbildung 2. Netzwerkdiagramm der Duwamish Online-Produktionsfarm

Unsere Produktionsserverfarm besteht aus drei Netzwerksegmenten. Diese Netzwerksegmente sind in den Computern für die einzelnen Segmente durch separate Netzwerkschnittstellenkarten (NICs) abgetrennt.

Front-End-Netzwerk

Dies ist das öffentliche Netzwerksegment, auf das über das Internet zugegriffen werden kann. Alle Server in diesem Segment sind an einen LAN-Schalter mit 100 Mbit/s angeschlossen. Das Front-End-Netzwerk weist Verbindungen zwischen den folgenden Servern und Diensten auf:

  • Vier Webserver, die als ein NLB-Cluster konfiguriert sind.

  • Ein Queued Component-Server (QC) mit aktiviertem SMTP-Server.

  • Ein PDC/DNS-Server (PDC = Primärer Domänencontroller, DNS = Domain Name System). (Außerdem haben wir den QC-Server als Sicherungsdomänencontroller konfiguriert, falls der primäre Server ausfällt.)

  • Eine 1,5 Mbit/s-Internetverbindung zu unserem Internetdienstanbieter mit auf Routerebene aktiviertem Firewall für die IP-Filterung.

Back-End-Netzwerk

Das Back-End-Netzwerk ist das interne private Netzwerksegment, in dem die geschützte Kommunikation zwischen den Front-End-Servern und den Back-End-Datenbankservern stattfindet. Dieses Netzwerk ist vom Internet nicht direkt zugänglich, also kann keine Verbindung zu unseren Datenbankservern hergestellt werden, außer über die Front-End-Server.

Alle Server in diesem Segment sind an einen LAN-Schalter mit 100 Mbit/s angeschlossen. Das Back-End-Netzwerk weist Verbindungen zwischen den folgenden Servern auf:

  • Vier Webserver, die als ein NLB-Cluster konfiguriert sind.

  • Ein Queued Component-Server (QC) mit aktiviertem SMTP-Server.

  • Ein PDC/DNS-Server (PDC = Primärer Domänencontroller, DNS = Domain Name System). (Außerdem haben wir den QC-Server als Sicherungsdomänencontroller konfiguriert, falls der primäre Server ausfällt.)

  • Zwei Datenbankserver, die mit Aktiv/Passiv-Serverclustering konfiguriert sind. (Die zwei Datenbankserver sind beide an ein externes RAID5-Speichersystem angeschlossen.)

Verwaltungsnetzwerk

Das Verwaltungsnetzwerk ist ein weiteres internes privates Netzwerksegment, das dem Betrieb und der Verwaltung der einzelnen Server der Produktionsfarm dient. Es umfasst alle Server im Back-End-Netzwerk und einen Administrationsserver. Alle Server sind an einen LAN-Schalter mit 100 Mbit/s angeschlossen.

Der Administrationsserver hat folgende Aufgaben:

  • Gewährleisten des Terminal-Clientzugriffs auf alle Server.

  • Überwachen des Zustands aller Server.

  • Funktion als Remoteserver (RAS) für den Remotezugriff auf die Farm.

  • Funktion als Sicherungsserver.

Serverhardware und -software

Zusätzlich zur Beschreibung des Netzwerkaufbaus ist es auch sehr wichtig, die Spezifikationen der Serverhardware und -software zu dokumentieren, damit jeder im Team weiß, welche Computer vorhanden sind und welche Software auf den einzelnen Computern installiert ist. Die Softwareliste unserer Serverfarm ist noch recht kurz, da wir die neue Windows 2000-Version verwenden. Wenn jedoch Service Packs und Softwareupdates herauskommen, wird es noch wichtiger, diese Daten für die einzelnen Server festzuhalten. Tabelle 4 enthält die Hardware- und Softwarespezifikationen für die Produktionsserverfarm von Duwamish Online.

Tabelle 4. Spezifikationen der Serverhardware und -software für Duwamish Online

Server-/Gerätetyp

Anz. an Geräten

Hardwarespez

Softwarespez

Webserver

4

Dell PowerEdge 2300
Zwei Prozessoren, 2 x 500 MHz
512 MB RAM, 9 GB-Festplatte
3 x 100 Mbit/s-Netzwerkkarte

Windows 2000 Advanced Server Netzwerklastenausgleich

Microsoft Message Queuing

Datenbankserver

2

Dell PowerEdge 2300
Zwei Prozessoren, 2 x 500 MHz
512 MB RAM, 9 GB-Festplatte
3 x 100 Mbit/s-Netzwerkkarte

Windows 2000 Advanced Server
SQL Server 2000 Microsoft Clusterdienste

Queued Component-Server

1

Dell PowerEdge 2300
Zwei Prozessoren, 2 x 500 MHz
512 MB RAM, 9 GB-Festplatte
3 x 100 Mbit/s-Netzwerkkarte

Windows 2000 Advanced Server
Microsoft Message Queuing SMTP

Active Directory™-
Dienste

PDC/DNS-Server

1

Dell Precision 610
1 Prozessor, 550 MHz
256 MB RAM, 9 GB-Festplatte
3 x 100 Mbit/s-Netzwerkkarte

Windows 2000 Advanced Server Active Directory™-Dienste

Administrationsserver

1

Dell Precision 610
1 Prozessor, 550 MHz
256 MB RAM, 9 GB-Festplatte
2 x 100 Mbit/s-Netzwerkkarte
56K-Modem
20 GB-Sicherungsbandlaufwerk

Windows 2000 Advanced Server
SiteScope/Microsoft Clusterüberwachung (Sentinel)

Remoteüberwachungsclient

1

Dell Precision 610
1 Prozessor, 550 MHz
256 MB RAM, 9 GB-Festplatte
1 x 100 Mbit/s-Netzwerkkarte

Windows 2000 Professional

LAN-Schalter mit 100 Mbit/s

3

Allied Telesyn CentreCOM FS708 100 Mbit/s Ethernet-Schalter

N/V

Schlussfolgerung

Duwamish Online war für uns ein aufregendes Abenteuer, weil wir die Herausforderungen und Probleme kennen gelernt haben, vor denen Entwickler bzw. für den Betrieb zuständige Manager bei der Bereitstellung einer neuen Site im Internet stehen. Obwohl unsere letzte Version auf dem Weg zu einem vollständigen Internetunternehmen schon sehr weit fortgeschritten war, z.B. im Bereich der Zahlung und der Erfüllung, fehlen immer noch einige Bereiche, weil es sich eben nicht um ein richtiges Unternehmen handelt.

Neben dem Betrieb der Site wird sich das Duwamish-Team den Sommer über der Veröffentlichung des Beispielcodes der Site, der Durchführung weiterer Leistungstests und der Veröffentlichung von Artikeln widmen, in denen Sie erfahren, wie Sie die Duwamish-Erkenntnisse für Ihre eigenen Anwendungen nutzen können. Sie können uns bei MSDN Online (Duwamish Online) den ganzen Sommer über besuchen und unseren Quellcode und weitere Artikel über Duwamish Online downloaden.


© 2009 Microsoft Corporation. Alle Rechte vorbehalten. Nutzungsbedingungen  |  Markenzeichen  |  Informationen zur Datensicherheit
Page view tracker