Migrieren von Anwendungen in die AWS Cloud

Um optimal von diesem Dokument zu profitieren, sollten Sie über allgemeine ..... Nach Abschluss dieser Phase sollten Sie zumindest wissen, wie Sie die AWS ...
3MB Größe 46 Downloads 177 Ansichten
Amazon  Web  Services  -­‐  Migrieren  von  Anwendungen  in  die  AWS  Cloud  

   

 

 

       

Migrieren  von  Anwendungen  in  die  AWS  Cloud   Ein  phasenorientierter  Ansatz  für  die  Cloud-­‐Migration  

    Jinesh  Varia     Jan  Metzner    

Oktober  2010   Aktualisiert:  Oktober  2014        

       

 

  Seite  1  von  29    

 

Oktober  2014  

Amazon  Web  Services  -­‐  Migrieren  von  Anwendungen  in  die  AWS  Cloud  

Oktober  2014  

Zusammenfassung   Mit  Amazon  Web  Services  (AWS)  können  Sie  Rechenleistung,  Speicher  und  andere  Ressourcen  bereitstellen  und  bei   Bedarf  auf  eine  Anzahl  elastischer  IT-­‐Infrastrukturservices  zugreifen.  Mit  geringen  Kosten  und  minimalem  Aufwand   können  Sie  Ihre  Anwendung  in  die  AWS  Cloud  verlagern,  um  Investitionsaufwand  (CapEx)  und  Kosten  für  Support  und   Verwaltung  zu  minimieren  und  gleichzeitig  die  Anforderungen  Ihres  Unternehmens  an  Leistung,  Sicherheit  und   Zuverlässigkeit  zu  erfüllen.   Dieses  Dokument  hilft  Ihnen  bei  der  Entwicklung  einer  Migrationsstrategie  für  Ihr  Unternehmen.  Es  werden  Schritte,   Techniken  und  Methodologien  für  das  Verlagern  Ihrer  bestehenden  Unternehmensanwendungen  in  die  AWS  Cloud   erörtert.  Um  optimal  von  diesem  Dokument  zu  profitieren,  sollten  Sie  über  allgemeine  Kenntnisse  der  verschiedenen   Services  und  Funktionen  von  Amazon  Web  Services  verfügen.   Es  gibt  verschiedene  Strategien  für  das  Migrieren  von  Anwendungen  in  neue  Umgebungen.  In  diesem  Dokument  werden   mehrere  Strategien  erläutert,  mit  deren  Hilfe  große  Unternehmen  von  der  Cloud  profitieren  können.  Außerdem  wird   die  phasenorientierte,  schrittweise  Strategie  für  das  Migrieren  von  Anwendungen  in  die  Cloud  beschrieben.   Immer  mehr  Unternehmen  verlagern  Anwendungen  in  die  Cloud,  um  ihren  IT-­‐Komponentenbestand  zu  modernisieren   oder  um  sich  auf  zukünftige  Anforderungen  vorzubereiten.  Nachdem  die  ersten  geschäftskritischen  Anwendungen  in  die   Cloud  verlagert  sind,  stellen  sie  bald  fest,  dass  es  weitere  Anwendungen  gibt,  die  ebenfalls  für  die  Cloud  geeignet  wären.     Zur  Veranschaulichung  der  schrittweisen  Strategie  werden  drei  Szenarios  in  der  folgenden  Tabelle  aufgeführt.  In  jedem   Szenario  wird  die  Motivation  für  die  Migration  erläutert,  die  Anwendungsarchitektur  vorher  und  nachher  beschrieben,   der  Migrationsprozess  detailliert  dargestellt  und  die  technischen  Vorteile  der  Migration  zusammengefasst:   Szenarioname  

Lösung  

Anwendungsfall  

Firma  A  

Webanwendung  

Marketing-­‐  und   Collaboration-­‐Website  

Motivation  für   Migration   Skalierbarkeit  u.   Elastizität  

Firma  B  

Batchverarbeitungs-­‐ Pipeline  

Digital  Asset  Management-­‐ Lösung  

Reduzierung  der   Produkteinführungszeit  

Firma  C  

Backend-­‐ Bearbeitungsablauf  

Schadenbearbeitungssystem  

Geringere  TCO,   Redundanz  

   

 

  Seite  2  von  29    

 

Zusätzliche  Vorteile  

Verwendete  Services  

Auto  Scaling,   proaktive  ereignisbasierte   Skalierung   Automatisierung   und  gesteigerte   Entwicklungsproduktivität   Geschäftskontinuität   und  Schutz  vor   Kapazitätsüberschreitung  

EC2,  RDS,  S3,   CloudFront   EC2,  S3,  SQS,   DynamoDB   SWF,  EC2,  S3  

Amazon  Web  Services  -­‐  Migrieren  von  Anwendungen  in  die  AWS  Cloud  

Oktober  2014  

Einführung   Entwickler  und  Architekten,  die  neue  Anwendungen  in  der  Cloud  erstellen  möchten,  können  einfach  die  Komponenten,   Prozesse  und  den  Workflow  ihrer  Lösung  planen,  die  APIs  der  Cloud  ihrer  Wahl  benutzen  und  die  aktuellen   cloudbasierten  Best  Practices1  für  Planung,  Entwicklung,  Tests  und  Bereitstellung  nutzen.  Aufgrund  der  Entscheidung,   ihre  Lösungen  in  einer  cloudbasierten  Infrastruktur  wie  Amazon  Web  Services  (AWS)  bereitzustellen,  können  sie   unmittelbar  von  den  Vorteilen  der  sofortigen  Skalierbarkeit  und  Elastizität,  der  Isolierung  von  Prozessen,  des  reduzierten   Betriebsaufwands  sowie  der  bedarfsgerechten  Bereitstellung  und  der  Automatisierung  profitieren.     Gleichzeitig  suchen  viele  Unternehmen  nach  besseren  Möglichkeiten,  um  ihre  Bestandsanwendungen   in  eine  cloudbasierte  Infrastruktur  zu  migrieren,  damit  auch  diese  von  denselben  Vorteilen  profitieren  können,  die   Neueuntwicklungen  genießen.   Eines  der  Hauptunterscheidungsmerkmale  der  AWS  Infrastruktur-­‐Services  ist  ihre  Flexibilität.  Diese  Flexibilität   ermöglicht  es  den  Unternehmen,  die  Programmiermodelle,  Sprachen,  Betriebssysteme  und  Datenbanken  zu  wählen,   die  sie  bereits  verwenden  oder  mit  denen  sie  vertraut  sind.  Daher  verlagern  heute  viele  Unternehmen   Bestandsanwendungen  in  die  Cloud.   Es  stimmt,  dass  es  bei  manchen  Anwendungen  ("IT-­‐Komponenten"),  die  aktuell  in  Unternehmensrechenzentren  oder   Co-­‐Locations  bereitgestellt  werden,  weder  technisch  noch  unternehmerisch  sinnvoll  ist,  sie  in  die  Cloud  zu  verlagern  –   zumindest  noch  nicht.  Diese  Komponenten  können  dort  verbleiben.  Viele  Komponenten  in  einem  Unternehmen  können   mit  minimalem  Aufwand  schon  heute  in  die  Cloud  verlagert  werden.  Dieses  Dokument  hilft  Ihnen  bei  der  Entwicklung   einer  Migrationsstrategie  für  die  Unternehmensanwendungen  Ihres  Unternehmens.  Der  schrittweise,  phasenorientierte   Ansatz,  der  in  diesem  Dokument  erläutert  wird,  hilft  Ihnen  bei  der  Auswahl  von  idealen  Projekten  für  die  Migration,  der   Förderung  von  Unterstützung  im  Unternehmen  und  der  zuversichtlichen  Migration  von  Anwendungen.   Viele  Unternehmen  wählen  einen  stufenweisen  Ansatz  für  die  Cloud-­‐Migration.  Es  ist  wichtig,  zu  beachten,  dass  bei   jeder  Migration,  ob  im  Zusammenhang  mit  der  Cloud  oder  nicht,  einmalige  Kosten  anfallen  und  sich  Widerstand  gegen   Veränderungen  bei  den  Mitarbeitern  formiert  (kultureller  und  soziopolitischer  Widerstand).  Diese  Kosten  und  Faktoren   können  im  vorliegenden  technischen  Dokument  nicht  behandelt  werden.  Wir  empfehlen  Ihnen  aber,  dass  Sie  diese   Aspekte  berücksichtigen.  Beginnen  Sie  damit,  durch  Informationen  und  Schulungen  Unterstützung  im  Unternehmen   zu  bekommen.  Konzentrieren  Sie  sich  auf  die  langfristige  Kapitalrendite  sowie  auf  materielle  und  immaterielle  Faktoren   bei  der  Migration  in  die  Cloud  und  beachten  Sie  die  aktuellen  Entwicklungen  in  der  Cloud,  damit  Sie  optimal  von  den   Vorteilen  der  Cloud  profitieren  können.   Es  besteht  kein  Zweifel,  dass  durch  die  Bereitstellung  Ihrer  Anwendungen  in  der  AWS  Cloud  Ihre  Infrastrukturkosten   gesenkt  und  die  Agilität  Ihres  Unternehmens  erhöht  sowie  Ihr  Unternehmen  von  sich  nicht  um  das  Aufstellen,  Bestücken   und  Betreiben  von  Serverschränken  kümmern  muss.  Eine  erfolgreiche  Migration  hängt  vor  allem  von  den  folgenden  drei   Punkten  ab:  von  der  Komplexität  der  Anwendungsarchitektur,  davon,  wie  eng  oder  lose  Ihre  Anwendung  mit  anderen   Systemen  gekoppelt  ist  und  wie  viel  Aufwand  Sie  für  die  Migration  betreiben  möchten.  Wir  haben  festgestellt,  dass   Kunden,  die  den  (in  diesem  Dokument  erläuterten)  schrittweisen  Ansatz  befolgen  und  Zeit  und  Ressourcen  für   Machbarkeitsstudien  investiert  haben,  das  enorme  Potenzial  von  AWS  klar  erkennen  und  in  der  Lage  sind,  von  seinen   Stärken  in  kürzester  Zeit  zu  profitieren.    

                                                                                                                        1

 Architecting  for  the  Cloud:  Best  Practices  Whitepaper  (Entwicklung  von  Architekturen  für  die  Cloud:  Whitepaper  mit  empfohlenen  

  Seite  3  von  29    

 

Amazon  Web  Services  -­‐  Migrieren  von  Anwendungen  in  die  AWS  Cloud  

Oktober  2014  

Eine  phasenorientierte  Strategie  für  die  Migration:  Schritt-­‐für-­‐Schritt-­‐ Anleitung  

  Abbildung  1:  Der  phasenorientierte  Ansatz  für  die  Cloud-­‐Migration  

Phasen   Bewertung  der  Cloud   • • • • • •

Vorteile  

Finanzielle  Bewertung  (TCO  Berechnung)   Bewertung  von  Sicherheit  und  Compliance   Technische  Bewertung  (Anwendungstypen   klassifizieren)   Ermittlung  der  Tools,  die  wiederverwendet  werden   können  und  die  erstellt  werden  müssen   Migration  von  lizensierten  Lösungen   Erstellen  eines  Plans  und  Messen  des  Erfolgs  

Machbarkeitsnachweis   • • •

Sammeln  von  ersten  Erfahrungen  mit  AWS   Erstellen  eines  Pilotprojekts  und  Validierung   der  Technologie   Testen  der  bestehenden  Software  in  der  Cloud  

Verschieben  Ihrer  Daten   • • • •

Kennenlernen  der  verschiedenen  Speicheroptionen   in  der  AWS  Cloud   Migrieren  von  Dateiservern  zu  Amazon  S3   Migrieren  von  RDBMS  zu  Amazon  RDS   Migrieren  von  RDBMS  die  nicht  von  Amazon  RDS   unterstützt  werden  zu  EC2  +  EBS  

Verschieben  Ihrer  Anwendungen   • • • •

 

1:1-­‐Migrationsstrategie     Hybrid-­‐Migrationsstrategie   Erstellen  von  "cloudfähigen"  Code-­‐Ebenen  je  nach   Bedarf   Erstellen  von  AMIs  für  jede  Komponente  

 

  Seite  4  von  29    

 

Wirtschaftlichkeitsberechnung  für  Migration   (geringere  TCO,  reduzierte  Produkteinführungszeit,   höhere  Flexibilität  und  Beweglichkeit,  Skalierbarkeit   und  Elastizität)     Ermitteln  von  Lücken  zwischen  Ihrer  bisherigen   älteren  Architektur  und  der  Cloud-­‐Architektur   der  nächsten  Generation   Vertrautmachen  mit  verschiedenen  AWS-­‐Services     Minimieren  von  Risiken  durch  Validierung  kritischer   Teile  Ihrer  vorgeschlagenen  Architektur   Redundanz,  dauerhafter  Speicher,  elastischer   und  skalierbarer  Speicher     Automatische  Verwaltungssicherung    

Zukunftssichere,  skalierte,  serviceorientierte,   elastische  Architektur      

Amazon  Web  Services  -­‐  Migrieren  von  Anwendungen  in  die  AWS  Cloud  

Phasen   Nutzen  der  Cloud   • • • • •

Vorteile  

Nutzung  weiterer  AWS-­‐Dienste   Automatisieren  von  Elastizität  und  des  System   Development  Life-­‐cycle   Verstärken  der  Sicherheit   Erstellen  eines  Dashboards  zum  Verwalten  von  AWS-­‐ Ressourcen   Nutzung  verschiedener  Availability  Zones  

Optimierung   • • • • •

Oktober  2014  

Optimieren  der  Nutzung  je  nach  Anforderung   Steigern  der  Effizienz   Implementieren  fortschrittlicher  Überwachung  und   Telemetrie   Umgestalten  Ihrer  Anwendung   Aufspalten  Ihrer  relationalen  Datenbanken  

Senkung  des  CapEx  in  der  IT   Flexibilität  und  Agilität   Automatisierung  und  gesteigerte  Produktivität   Höhere  Verfügbarkeit  (HA)  

Gesteigerte  Nutzung  und  tiefgreifende  Auswirkung   auf  Betriebsaufwand     Höhere  Transparenz  durch  moderne  Überwachung   und  Telemetrie  

Die  Reihenfolge  der  Phasen  ist  nicht  wichtig.  Beispielsweise  bevorzugen  es  viele  Unternehmen,  die  Phase  1   (Bewertungsphase)  zu  überspringen  und  direkt  bei  Phase  2  (Machbarkeitsnachweis)  einzusteigen  oder  die   Anwendungsmigration  (Phase  4)  durchzuführen,  bevor  sie  alle  ihre  Daten  migrieren  (Phase  3).  

Phase  1:  Cloud-­‐Bewertungsphase     Diese  Phase  hilft  Ihnen  beim  Erstellen  einer  Wirtschaftlichkeitsberechnung  für  die  Migration  in  die  Cloud.    

Finanzielle  Bewertung   Für  das  Abwägen  der  finanziellen  Aspekte  des  Besitzes  und  Betriebs  eines  Rechenzentrums  oder  der  Nutzung     von  Co-­‐Locations  im  Vergleich  zur  Verwendung  einer  cloudbasierten  Infrastruktur  ist  eine  detaillierte  und  gründliche   Analyse  erforderlich.  In  der  Praxis  ist  dies  nicht  so  einfach  wie  das  Messen  der  potenziellen  Hardwareausgaben  sowie   den  Kosten  für  Datenverarbeitungs-­‐  und  Speicherressourcen.  Tatsächlich  müssen  Unternehmen  eine  Vielzahl  von   Optionen  erwägen,  um  einen  schlüssigen  Vergleich  zwischen  den  zwei  Alternativen  zu  ziehen.  Amazon  hat  das   Whitepaper  The  Economics  of  the  AWS  cloud2  veröffentlicht,  das  Ihnen  bei  der  Erfassung  der  erforderlichen  Daten  für   einen  stichhaltigen  Vergleich  hilft.  Für  diese  grundlegende  TCO-­‐Methode  und  den  zugehörigen  Amazon  EC2-­‐ Kostenrechner  werden  Branchendaten,  AWS-­‐Kundenforschungsergebnisse  und  benutzerdefinierte  Eingaben  verwendet,   um  die  jährlichen  Vollkosten  für  den  Besitz,  den  Betrieb  und  die  Wartung  der  IT-­‐Infrastruktur  mit  den   nutzungsabhängigen  Kosten  von  Amazon  EC2  zu  vergleichen.  Bei  dieser  Analyse  werden  nur  die  direkten  Kosten  der  IT-­‐ Infrastruktur  verglichen.  Nicht  berücksichtigt  werden  die  vielen  indirekten  wirtschaftlichen  Vorteile  von  Cloud   Computing  wie  hohe  Verfügbarkeit,  Zuverlässigkeit,  Skalierbarkeit,  Flexibilität,  Reduzierung  der  Produkteinführungszeit   und  viele  weitere  mit  der  Cloud  zusammenhängende  Vorteile.  Wir  empfehlen  Ihnen  eine  separate  Analyse  durchführen,   um  den  wirtschaftlichen  Wert  dieser  Aspekte  zu  ermitteln.    

 

                                                                                                                        2

 http://media.amazonwebservices.com/The_Economics_of_the_AWS_Cloud_vs_Owned_IT_Infrastructure.pdf  

  Seite  5  von  29    

 

Amazon  Web  Services  -­‐  Migrieren  von  Anwendungen  in  die  AWS  Cloud  

Preise    

Einmalige  Vorauszahlung  

       

AWS    

Co-­‐ Vor  Ort     Location    

Serverhardware    

0  

$$$    

$$    

Netzwerkhardware    

0  

$$    

$$    

Hardwarewartung    

0  

$$    

$$    

Software  Betriebssystem    

0  

$$    

$$    

Strom  und  Kühlung    

0  

0  

$$    

Rechenzentrum/Co-­‐Location    

0  

$$    

$$    

Administration    

0  

$$    

$$    

Speicher    

0  

$$    

$$    

Bandbreite    

0  

$$    

$    

Ressourcenverwaltungssoftware    

0  

0  

0  

Support  –  täglich  rund  um  die  Uhr    

0  

0  

0  

 

 

 

Gesamt    

Oktober  2014  

 

Monatlich   AWS    

Co-­‐ Vor  Ort     Location    

$$    

0  

0  

0  

0  

0  

0  

0  

$  

$    

0  

0  

0  

$$  

$    

0  

$  

0  

$    

$$    

$$$    

$    

0  

0  

$$    

$    

$    

$    

$    

$  

$    

$    

$    

 

 

 

                         

Tabelle  1:  TCO-­‐Berechnungsbeispiel  für  Cloud  (auf  Grundlage  einiger  Annahmen)  

Das  AWS  Economics  Center  stellt  alle  erforderlichen  Tools  bereit,  um  Ihre  aktuelle  IT-­‐Infrastruktur  zu  bewerten.  Für  ihre   TCO  Betrachtung  können  Sie  den  TCO  Vergleichsrechner  benutzen.  Nachdem  Sie  eine  grobe  finanzielle  Bewertung   durchgeführt  haben,  können  Sie  Ihre  monatlichen  Kosten  mithilfe  des  einfachen  Monatsrechners  von  AWS  durch   Eingabe  Ihrer  realistischen  Nutzungszahlen  abschätzen.  Wenn  Sie  diese  Kosten  auf  einen  Zeitraum  von  einem,  drei  und   fünf  Jahren  hochrechnen,  werden  Sie  erhebliche  Einsparungen  feststellen.  

Bewertung  von  Sicherheit  und  Compliance   Wenn  es  für  Ihr  Unternehmen  spezifische  IT-­‐Sicherheitsrichtlinien  und  Compliance-­‐Anforderungen  gibt,  wird  empfohlen,   dass  Sie  Ihre  Sicherheitsberater  und  -­‐Auditoren  schon  frühzeitig  am  Verfahren  beteiligen.  In  dieser  Phase  können  Sie  die   folgenden  Fragen  stellen:   • Wie  hoch  ist  meine  allgemeine  Risikotoleranz?  Gibt  es  unterschiedliche  Klassifizierungen  meiner  Daten  mit   höherer  oder  niedrigerer  Toleranz  hinsichtlich  einer  Gefährdung?   • Wie  lauten  meine  wichtigsten  Bedenken  im  Zusammenhang  mit  Vertraulichkeit,  Integrität,  Verfügbarkeit  und   Dauerhaftigkeit  meiner  Daten?   • An  welche  behördlichen  oder  vertraglichen  Verpflichtungen  zum  Speichern  von  Daten  bin  ich  in  bestimmten   Jurisdiktionen  gebunden?    

 

  Seite  6  von  29    

 

Amazon  Web  Services  -­‐  Migrieren  von  Anwendungen  in  die  AWS  Cloud  

Oktober  2014  

• Was  sind  meine  Sicherheitsbedrohungen?  Wie  hoch  ist  die  Wahrscheinlichkeit,  dass  aus  diesen  Bedrohungen   reale  Angriffe  werden?   • Habe  ich  Bedenken  hinsichtlich  des  Schutzes  geistigen  Eigentums  und  rechtlicher  Probleme  bezüglich  meiner   Anwendung  und  Daten?   • Welche  Optionen  habe  ich,  wenn  ich  alle  meine  Daten  aus  der  Cloud  zurückholen  muss?   • Gibt  es  organisatorische  Schwierigkeiten,  die  gelöst  werden  müssen,  um  die  Akzeptanz  für  die    Nutzung  von   Infrastrukturservices  zu  erhöhen?   Datensicherheit  kann  ein  schwieriges  Thema  darstellen,  wenn  es  nicht  klar  verstanden  und  analysiert  wird.  Daher  ist  es   wichtig,  dass  Sie  die  Risiken  und  Bedrohungen  (und  die  Wahrscheinlichkeit  dieser  Bedrohungen)  kennen  und  dann  auf   Grundlage  der  Vertraulichkeit  Ihrer  Daten  diese  in  verschiedene  Kategorien  einordnen  (wird  im  nächsten  Abschnitt   erläutert):  Dies  wird  Ihnen  auch  bei  der  Entscheidung  helfen,  welche  Datensätze  (oder  Datenbanken)  in  die  Cloud   verschoben  werden  und  welche  im  Unternehmen  verbleiben  sollen.  Außerdem  ist  es  wichtig,  dass  Sie  die  folgenden   Grundsätze  in  Bezug  auf  AWS  Security  kennen:   • Sie  besitzen  die  Daten,  nicht  AWS.   • Sie  entscheiden,  an  welchem  geografischen  Standort  die  Daten  gespeichert  werden  sollen.  Diese  verbleiben  dort,   bis  Sie  entscheiden,  sie  zu  verschieben.   • Sie  können  Ihre  Daten  jederzeit  herunterladen  oder  löschen.   • Sie  sollten  die  Vertraulichkeit  Ihrer  Daten  prüfen  und  entscheiden,  ob  und  wie  Sie  Ihre  Daten  während  der   Übertragung  und  auf  dem  Server  verschlüsseln.   • Sie  können  fein  granulare  Berechtigungen  für  die  Verwaltung  des  Zugriffs  der  Benutzer  innerhalb  Ihres   Unternehmens  auf  spezifische  Servicevorgänge,  Daten  und  Ressourcen  in  der  Cloud  festlegen,  um  eine  stärkere   Sicherheitskontrolle  zu  erreichen.   • Aktuelle  Informationen  über  Zertifizierungen  und  empfohlene  Vorgehensweisen  erhalten  Sie     im  AWS-­‐Security  Center.    

Technische  und  funktionale  Bewertung   Eine  technische  Bewertung  ist  erforderlich,  um  herauszufinden,  welche  Anwendungen  hinsichtlich  der  Architektur   und  Strategie  besser  für  die  Cloud  geeignet  sind.  Zu  gegebener  Zeit  bestimmen  Unternehmen,  welche  Anwendungen   zuerst  in  die  Cloud  verschoben,  welche  Anwendungen  später  verschoben  und  welche  Anwendungen  im  Unternehmen   verbleiben  sollten.   In  diesem  Abschnitt  der  Phase  sollten  Unternehmensarchitekten  die  folgenden  Fragen  stellen:   • Welche  Unternehmensanwendungen  sollten  zuerst  in  die  Cloud  verschoben  werden?   • Stellt  die  Cloud  alle  Infrastrukturbausteine  bereit,  die  wir  benötigen?     • Können  wir  unsere  vorhandenen  Tools  für  Ressourcenverwaltung  und  Konfiguration  wiederverwenden?   • Wie  können  wir  laufende  Supportverträge  für  Hardware,  Software  und  Netzwerk  kündigen?  

  Seite  7  von  29    

 

Amazon  Web  Services  -­‐  Migrieren  von  Anwendungen  in  die  AWS  Cloud  

Oktober  2014  

Erstellen  einer  Abhängigkeitenstruktur  und  eines  Klassifizierungsdiagramms   Führen  Sie  eine  gründliche  Untersuchung  der  logischen  Konstrukte  Ihrer  Unternehmensanwendungen  durch   und  klassifizieren  Sie  Ihre  Anwendungen  auf  Grundlage  ihrer  Abhängigkeiten,  Risiken  sowie  Sicherheits-­‐  und   Compliance-­‐Anforderungen.     Identifizieren  Sie  die  Anwendungen  und  ihre  Abhängigkeiten  von  anderen  Komponenten  und  Services.  Erstellen  Sie  eine   Abhängigkeitenstruktur,  die  die  verschiedenen  Teile  Ihrer  Anwendungen  aufzeigt,  und  kennzeichnen  Sie  deren   Abhängigkeiten  nach  oben  und  unten  in  Bezug  auf  andere  Anwendungen.  Erstellen  Sie  eine  Tabelle,  in  der  alle  Ihre   Anwendungen  und  Abhängigkeiten  aufgelistet  sind,  oder  erfassen  Sie  Ihre  Abhängigkeitenstruktur  einfach  auf  einem   "Whiteboard",  auf  der  die  verschiedenen  Ebenen  von  gegenseitigen  Verbindungen  Ihrer  Komponenten  dargestellt  sind.   Dieses  Diagramm  sollte  ein  korrektes  Abbild  der  Anwendungskomponenten  Ihres  Unternehmens  sein.  Es  könnte   ungefähr  wie  das  unten  abgebildete  Diagramm  aussehen.  Es  sollte  alle  Ihre  ERP-­‐Systeme,  HR-­‐Services-­‐,   Gehaltsabrechnungs-­‐  und  Batchverarbeitungsysteme,  Backend-­‐Rechnungsstellungssysteme  und  kundenseitigen   Webanwendungen,  interne  IT-­‐Unternehmensanwendungen,  CRM-­‐Systeme  usw.  sowie  gemeinsame  Dienste  auf  unterer   Ebene,  wie  z.  B.  LDAP-­‐Server,  enthalten.   Dash   board

CRM

Web

In  dieser  Phase  haben  Sie  einen  klaren  Einblick  in  Ihre  IT-­‐ Komponenten  und  das  Einordnen  Ihrer  Anwendungen   in  verschiedene  Kategorien  sollte  jetzt  möglich  sein:  

Auth

• LDAP-­‐

DB

Servic



Protok olle



Suche



ERP

BI



DW

Anwendungen  mit  als  "streng  geheim",  "geheim"   oder  "öffentlich"  gekennzeichneten  Datensätzen   Anwendungen  mit  niedrigen,  mittleren  und  hohen   Compliance-­‐Anforderungen   Anwendungen  für  den  internen  Gebrauch,  für  Partner   oder  für  Kunden   Anwendungen  mit  niedriger,  mittlerer  und  hoher   Kopplung   Anwendungen  mit  strikter,  gelockerter  Lizenzierung    

...  usw.    

OLAP

Engin e

Bericht e

 

Abbildung  2:  Beispiel  eines  Whiteboard-­‐Diagramms  aller  IT-­‐Komponenten  und  deren  Abhängigkeiten  (Abhängigkeitenstruktur)  

Ermitteln  des  richtigen  "Kandidaten"  für  die  Cloud   Nachdem  Sie  eine  Abhängigkeitenstruktur  erstellt  und  die  IT-­‐Komponenten  Ihres  Unternehmens  klassifiziert  haben,   untersuchen  Sie  die  Abhängigkeiten  jeder  Anwendung  nach  oben  und  unten,  um  festzulegen,  welche  Anwendung   schnell  in  die  Cloud  verschoben  werden  sollte.   Für  eine  webbasierte  Anwendung  oder  SaaS  (Software  as  a  Service)-­‐Anwendung  besteht  die  Abhängigkeitenstruktur   aus  logischen  Komponenten  (Funktionen)  der  Website,  wie  Datenbank,  Such-­‐  und  Indizierungsmaschine,  Anmeldungs-­‐   und  Authentifizierungsservice,  Rechnungsstellung  oder  Bezahlung  usw.  Für  die  Backend-­‐Verarbeitungs-­‐Pipeline  gibt  

  Seite  8  von  29    

 

Amazon  Web  Services  -­‐  Migrieren  von  Anwendungen  in  die  AWS  Cloud  

Oktober  2014  

es  wahrscheinlich  verschiedene  untereinander  verbundene  Prozesse,  wie  Workflowsysteme,  Protokollierungs-­‐  und   Berichtssysteme  sowie  ERP-­‐  oder  CRM-­‐Systeme.   In  den  meisten  Fällen  sind  die  besten  Kandidaten  für  die  Cloud  die  Services  oder  Komponenten,  die  die  wenigsten   Abhängigkeiten  nach  oben  und  unten  haben.  Beginnen  Sie  damit,  nach  Systemen  zu  suchen,  die  wenige  Abhängigkeiten   von  anderen  Komponenten  haben.  Einige  Beispiele  sind  Backup-­‐  und  Archivierungssysteme,   Batchverarbeitungsanwendungen,  Protokollverarbeitungssysteme,  Entwicklungs-­‐,  Test-­‐  und  Buildsysteme,  Web-­‐Front-­‐ (Marketing-­‐)Anwendungen,  Queuing-­‐Systeme,  Inhaltsverwaltungssysteme  oder  Schulungs-­‐  und  Pre-­‐Sales-­‐Demosysteme.     Um  festzustellen,  welche  Kandidaten  sich  gut  für  die  Cloud  eignen,  suchen  Sie  nach  Anwendungen  mit  nicht  voll   ausgelasteten  Komponenten,  Anwendungen,  bei  denen  ein  unmittelbarer  geschäftlicher  Bedarf  nach  Skalierung  vorliegt   und  bei  denen  die  Kapazitäten  knapp  werden,  Anwendungen,  die  strukturell  flexibel  sind,  Anwendungen,  die   herkömmliche  Bandlaufwerke  für  die  Datensicherung  verwenden,  Anwendungen,  die  eine  globale  Skalierung  erfordern   (z.  B.  kundenseitige  Marketing-­‐  und  Werbeanwendungen),  oder  Anwendungen,  die  von  Partnern  verwendet  werden.   Stellen  Sie  Anwendungen  zurück,  die  eine  spezielle  Hardware  benötigen  (z.  B.  ein  Mainframe).    

Das h   boa

CR M

We b

Aut h LDAP -­‐

DB Such e

 

OLA P

ERP

We b

Proto kolle

D

BI

Engi ne

Beric hte

Suc he

 

 

Abbildung  3:  Ermitteln  des  richtigen  Kandidaten  für  die  Cloud  

Nachdem  Sie  über  eine  Liste  mit  idealen  Kandidaten  verfügen,  priorisieren  Sie  Ihre  Liste  der  Anwendungen,  um  damit:   • alle  Aspekte  der  Cloud  (Datenverarbeitung,  Speicher,  Netzwerk,  Datenbank)  möglichst  klar  herauszustellen     • für  Unterstützung  in  Ihrem  Unternehmen  zu  werben  und  für  die  wichtigsten  Interessengruppen  eine  maximale   Wirkung  und  Transparenz  zu  erzielen     Fragen,  die  in  dieser  Phase  gestellt  werden  sollten:   • Ist  es  Ihnen  möglich,  die  derzeitige  Architektur  der  Kandidatenanwendung  in  der  Cloud-­‐Architektur  abzubilden?   Falls  nicht,  wie  hoch  wäre  der  Aufwand  für  eine  Umgestaltung?  

  Seite  9  von  29    

 

Amazon  Web  Services  -­‐  Migrieren  von  Anwendungen  in  die  AWS  Cloud  

Oktober  2014  

• Kann  Ihre  Anwendung  in  die  Instanz  einer  virtuellen  Maschine  (VM)  verpackt  und  in  der  Cloud-­‐Infrastruktur   ausgeführt  werden  oder  ist  eine  spezielle  Hardware  und/oder  ein  spezieller  Zugriff  auf  Hardware  erforderlich,  was   die  AWS  Cloud  nicht  bereitstellen  kann?   • Berechtigt  die  Lizenz  Ihres  Unternehmen  dazu,  Drittanbieter-­‐Software,  die  in  der  Kandidatenanwendung   verwendet  wird,  in  die  Cloud  zu  verschieben?   • Wie  hoch  ist  der  Aufwand  (in  Bezug  auf  das  Erstellen  neuer  Tools  oder  das  Ändern  vorhandener  Tools)   für  das  Verschieben  der  Anwendung?   • Welche  Komponente  muss  lokal  (vor  Ort)  verbleiben  und  welche  kann  in  die  Cloud  verschoben  werden?   • Welche  Anforderungen  bestehen  hinsichtlich  Latenz  und  Bandbreite?   • Unterstützt  die  Cloud  den  von  Ihnen  benötigten  Identitäts-­‐  und  Authentifizierungsmechanismus?       Ermitteln  der  Tools,  die  Sie  wiederverwenden  können   Es  ist  wichtig,  Ihre  vorhandenen  IT-­‐Komponenten  zu  untersuchen  und  zu  analysieren.  Ermitteln  Sie  die  Tools,  die  Sie   in  der  Cloud  ohne  Änderungen  wiederverwenden  können,  und  kalkulieren  Sie,  wie  hoch  der  Aufwand  (in  Bezug  auf   Entwicklung  und  Bereitstellung)  für  das  Hinzufügen  von  "AWS  Support"  zu  den  Tools  sein  wird.  Möglicherweise  können   Sie  die  meisten  Systemtools  wiederverwenden  und/oder  Unterstützung  für  AWS  problemlos  hinzufügen.  Alle  AWS-­‐ Services  zeigen  standardmäßige  SOAP-­‐  und  REST-­‐Webservice-­‐APIs  und  stellen  verschiedene  Bibliotheken  und  SDKs  in   der  Programmiersprache  Ihrer  Wahl  bereit.  Es  gibt  einige  kommerzielle  Tools,  die  Sie  aufgrund  von  Lizenzproblemen   momentan  nicht  in  der  Cloud  benutzen  können.  Für  diese  Tools  müssen  Sie  Ersatz  finden  und  beschaffen:     1. Ressourcenverwaltungstools:  In  der  Cloud  haben  Sie  es  mit  abstrakten  Ressourcen  (AMIs,  Amazon  EC2-­‐ Instanzen,  Amazon  S3-­‐Buckets,  Amazon  EBS-­‐Volumes  usw.)  zu  tun.  Wahrscheinlich  benötigen  Sie  Tools,   um  diese  Ressourcen  zu  verwalten.  Eine  Basis-­‐Verwaltung  bietet  die  AWS  Management  Console.   2. Architektur  Management  Tools:  Wenn  ermittlet  wurde,  welche  Resourcen  benötigt  werden,  kann  man   komplette  Architekturen  mit  AWS  CloudFormation  beschreiben  und  managen.  Alle  benötigten  Resourcen  und   Konfigurationen  werden  dazu  in  einer  JSON  Datei  beschrieben,  welche  man  z.B.  im  Versionskontrollsystem   speichern  kann.  Mit  der  fertigen  Beschreibung  kann  man  ein  komplettes  Deployment  in  der  AWS  Region  der   Wahl  mit  einem  einfachen  Klick  in  der  AWS  Management  Konsole  starten.   3. Ressourcenkonfigurationstools:  Automatisierung  ist  in  der  AWS-­‐Cloud  sehr  einfach.  Daher  wird  empfohlen,   dass  Sie  die  Verwendung  von  Tools  in  Betracht  ziehen,  um  die  Automatisierung  des  Konfigurationsprozesses   zu  unterstützen.  Informieren  Sie  sich  über  den  AWS  OpsWorks  Service  und  Open-­‐Source-­‐Tools  wie  Chef  (AWS   OpsWorks  kann  direct  Chef  Rezepte  benutzen),  Puppet  und  CFEngine  usw.   4. Systemverwaltungstools:  Nachdem  Sie  Ihre  Services  bereitgestellt  haben,  müssen  Sie  Ihre  bestehenden   Systemverwaltungstools  (NOC)  möglicherweise  anpassen,  um  die  Anwendungen  in  der  Cloud  effektiv   zu  überwachen,  bereitzustellen  und  zu  "beobachten".  Zum  Verwalten  der  Amazon  Virtual  Private  Cloud-­‐ Ressourcen  können  Sie  dieselben  Sicherheitsrichtlinien  und  dieselben  Systemverwaltungstools  verwenden,   die  Sie  momentan  für  die  Verwaltung  Ihrer  eigenen  lokalen  Ressourcen  nutzen.   5. Integrationstools:  Sie  müssen  die  Frameworks/Bibliotheken/SDKs  ermitteln,  die  für  Sie  am  besten   für  die  Integration  mit  AWS-­‐Services  geeignet  sind.  Für  die  meisten  Plattformen  und  Programmiersprachen  sind   Bibliotheken  und  SDKS  verfügbar  (siehe  den  Abschnitt  über  Ressourcen).  Informieren  Sie  sich  außerdem   über  Tools  für  Entwicklungsumgebungen  wie  das  AWS  Toolkit  for  Eclipse.       Seite  10  von  29    

 

Amazon  Web  Services  -­‐  Migrieren  von  Anwendungen  in  die  AWS  Cloud  

Oktober  2014  

Migration  von  lizensierten  Lösungen   Es  ist  wichtig,  Lizenzprobleme  während  der  Bewertungsphase  aus  dem  Weg  zu  räumen.  Amazon  arbeitet  mit  vielen   unabhängigen  Softwareherstellern  (Independent  Software  Vendors,  ISVs)  zusammen,  um  die  Migration  so  reibungslos   wie  möglich  zu  gestalten.  Amazon  kooperiert  mit  einer  Vielzahl  von  Anbietern  und  hat  momentan  drei  verschiedene   Optionen  zur  Auswahl:   1. Nutzung  einer  eigenen  Lizenz  ("Bring  Your  Own  License",  BYOL)   Amazon  kooperiert  mit  einer  Vielzahl  von  ISVs,  die  die  Nutzung  ihrer  eigenen  Lösungen  auf  Amazon  EC2   gestatten.  Diese  EC2-­‐basierte  Lizenz  ist  die  unproblematischste  Möglichkeit,  um  Ihre  Software  in  die  Cloud  zu   verschieben.  Sie  erwerben  die  Lizenz  auf  die  herkömmliche  Art  oder  verwenden  Ihre  bestehende  Lizenz   und  wenden  sie  auf  das  Produkt  an,  das  als  vorkonfiguriertes  Amazon-­‐Computerabbild  (AMI)  verfügbar  ist.   Beispielsweise  stellen  Oracle,  Sybase,  Adobe,  MySQL,  JBOSS,  IBM  und  Microsoft  ihre  Software  in  der  AWS  Cloud   über  die  BYOL-­‐Option  zur  Verfügung.  Wenn  Sie  die  gewünschte  Software  in  der  AWS  Cloud  nicht  finden,   sprechen  Sie  mit  Ihrem  Softwareanbieter,  ob  er  seine  Software  in  der  Cloud  verfügbar  machen  kann.  Das  AWS-­‐ Account  Management-­‐Team  kann  sie  bei  dieser  Diskussion  unterstützen.   2. AWS  Marketplace  -­‐  Nutzungsabhängige  Preise     Amazon  kooperiert  mit  erstklassigen  ISVs,  die  ihre  Software  im  AWS  Marketplace    anbieten.  ISVs  können  eine   nutzungsabhängige  Lizenz  anbieten,  in  dem  sie  z.B.  eine  Gebühr  zusätzlich  zu  den  standardmäßigen  Amazon   EC2-­‐Kosten  berechnen.    Einige  ISVs  bieten  auch  ein  Supportpaket  an.   3. SaaS-­‐basierter  Cloud-­‐Service  von  ISVs   Einige  ISVs  bieten  ihre  Software  als  Software-­‐as-­‐a-­‐Service  (SaaS)  an  und  berechnen  eine  monatliche   Abonnementgebühr.  Sie  stellen  standardmäßige  APIs  und  webbasierte  Oberflächen  bereit  und  führen   die  Implementierung  ziemlich  schnell  durch.  Dieses  Angebot  wird  entweder  vollständig  oder  teilweise   innerhalb  der  AWS  Cloud  verwaltet.  Diese  Option  stellt  oftmals  die  einfachste  und  schnellste  Möglichkeit   dar,  um  Ihre  lokale  Installation  vor  Ort  zu  einem  On-­‐Demand-­‐Angebot  desselben  Anbieters  oder  zu  einem   entsprechenden  Angebot  eines  anderen  Anbieters  zu  migrieren.  In  den  meisten  Fällen  bieten  ISVs  oder   unabhängige  Drittanbieter-­‐Integratoren  für  Cloud-­‐Unternehmensservices  Migrationstools  an,  die  Sie  beim   Verschieben  Ihrer  Daten  unterstützen  können.  Beispielsweise  gibt  es  von  Mathematica,  Quantivo,  Pervasive   und  Cast  Iron  ein  SaaS-­‐Angebot  basierend  auf  AWS.   Wenn  Ihre  Unternehmensanwendungen  eng  mit  komplexen  Unternehmenssoftwaresystemen  von  Drittanbietern   verbunden  sind,  die  noch  nicht  in  die  AWS  Cloud  migriert  wurden,  oder  wenn  Sie  bereits  in  mehrjährige  Lizenzverträge   des  Anbieters  für  die  lokale  Nutzung  investiert  haben,  sollten  Sie  eine  Umgestaltung  Ihrer  Unternehmensanwendungen   in  funktionale  Bausteine  in  Betracht  ziehen.  Führen  Sie  alles,  was  möglich  ist,  in  der  Cloud  aus  und  stellen  Sie  eine   Verbindung  zu  den  Systemen  her,  die  lizenzierte  Software  weiterhin  vor  Ort  ausführen.  Sie  können  Amazon  VPC   verwenden,  um  einen  IPSec-­‐VPN-­‐Tunnel  zu  erstellen,  der  es  ermöglicht,  dass  Ressourcen,  die  auf  AWS  ausgeführt   werden,  sicher  mit  Ressourcen  kommunizieren  können,  die  sich  am  anderen  Ende  des  Tunnels  in  Ihrem  bestehenden   Rechenzentrum  befinden.  In  einem  Whitepaper3  werden  verschiedene  Möglichkeiten  erörtert,  wie  Sie  Ihre  bestehende   IT-­‐Infrastruktur  auf  die  Cloud  ausdehnen  können.   Definieren  Ihrer  Erfolgskriterien     In  dieser  Phase  ist  es  wichtig,  sich  die  folgende  Frage  zu  stellen:  "Wie  messe  ich  den  Erfolg?"  In  der  folgenden   Tabelle  sind  einige  Beispiele  aufgeführt.  Die  spezifischen  Erfolgskriterien  müssen  an  die  Ziele  und  die  Kultur   Ihres  Unternehmens  angepasst  werden.                                                                                                                           3

 http://media.amazonwebservices.com/Extend_your_IT_infrastructure_with_Amazon_VPC.pdf  

  Seite  11  von  29    

 

Amazon  Web  Services  -­‐  Migrieren  von  Anwendungen  in  die  AWS  Cloud  

Oktober  2014  

Erfolgskriterien

Alt

Neu

Beispiele, wie gemessen wird

Kosten (Investitionsaufwand)

1 Mio. USD

300.000 USD

60 % Einsparungen bei Investitionsaufwand in den nächsten 2 Jahren

Kosten (Betriebsaufwand)

20.000 USD/Jahr

10.000 USD/Jahr

HardwareBeschaffungseffizienz

10 Maschinen in 7 Monaten

100 Maschinen in 5 Minuten

Server-/Mitarbeiter-Verhältnis um Faktor 2 verbessert 4 Wartungsverträge beendet 3000 % schnellere Bereitstellung von Ressourcen

Produkteinführungszeit

9 Monate

1 Monat

80 % schnellere Produkteinführung

Zuverlässigkeit

Unbekannt

Redundant

40 % weniger Supportanrufe im Zusammenhang mit der Hardware

Verfügbarkeit

Unbekannt

Mindestens 99,99 % Betriebszeit

20 % weniger Supportanrufe im Zusammenhang mit dem Betrieb

Flexibilität

Feste Größe des Anwendungsstacks

Beliebige Größe des Anwendungsstacks

Neue Möglichkeiten

Rückstand von 10 Projekten

Kein Rückstand, 5 neue Projekte in Planung

Nicht an einen bestimmten Hardwareanbieter oder eine bestimmte Plattform oder Technologie gebunden 25 neue Projekte in 3 Monaten begonnen

Tabelle  2:  Beispiele,  wie  Erfolgskriterien  gemessen  werden  

Erstellen  einer  Roadmap  und  eines  Plans     Durch  das  Dokumentieren  der  Abhängigkeiten,  das  Erstellen  einer  Abhängigkeitenstruktur  und  die  Ermittlung  der  zu   esrtellenden  oder  anzupassenden  Tools  erhalten  Sie  eine  Vorstellung  davon,  welche  Anwendungen  vorrangig  migriert   werden  sollten,  wie  hoch  schätzungsweise  der  Migrationsaufwand  und  die  einmaligen  Kosten  ausfallen  und  wie  der   zeitliche  Ablauf  einzuschätzen  ist.  Sie  können  eine  Roadmap  für  die  Cloud-­‐Migration  erstellen.  Die  meisten   Unternehmen  fangen  oft  auch  schon  mit  der  nächsten  Phase,  dem  Pilotprojekt,  an,  da  man  dadurch  einen  besseren   Einblick  in  die  Technologien  und  Tools  erhält,  und  somit  die  Roadmap  und  die  Pläne  verfeinern  und  anpassen  kann.  

Phase  2:  Machbarkeitsnachweis-­‐Phase   Nachdem  Sie  den  richtigen  Kandidaten  für  die  Cloud  ermittelt  und  den  für  die  Migration  erforderlichen  Aufwand   kalkuliert  haben,  ist  es  Zeit  für  einen  ersten  Probelauf  mit  einem  kleinen  Projekt  zum  Machbarkeitsnachweis.  Das  Ziel   dieser  Phase  besteht  darin,  AWS  kennenzulernen  und  sicherzustellen,  dass  Ihre  Annahmen  hinsichtlich  der  Eignung  für   die  Migration  in  die  Cloud  korrekt  sind.  In  dieser  Phase  können  Sie  eine  kleine  Anwendung  "auf  der  grünen  Wiese"   bereitstellen  und  im  weiteren  Verlauf  erste  Erfahrungen  mit  der  AWS  Cloud  sammeln.    

Sammeln  von  ersten  Erfahrungen  mit  AWS   Machen  Sie  sich  mit  AWS  API,  AWS-­‐Tools,  SDKs  und  vor  allem  mit  der  AWS  Management  Console  und  den  Befehlszeilen-­‐ Tools  vertraut  (weitere  Informationen  zu  den  ersten  Schritten  erhalten  Sie  im  Getting  Started  Center.)   Nach  Abschluss  dieser  Phase  sollten  Sie  zumindest  wissen,  wie  Sie  die  AWS  Management  Console  und  die  Befehlszeilen-­‐ Tools  verwenden  müssen,  um  Folgendes  durchzuführen:  

  Seite  12  von  29    

 

Amazon  Web  Services  -­‐  Migrieren  von  Anwendungen  in  die  AWS  Cloud  

Ein  Objekt  hochladen   Informaconen     über     Amazon  S3  

Oktober  2014  

Eine  signierte  URL   erstellen  

Bucket  erstellen   Eine  CloudFront-­‐ Verteilung  erstellen  

AMI  anpassen  

AMI  bündeln  

Informaconen  über   Sicherheitsgruppen  

Verschiedene   Availability  Zones   testen  

Eine  angepasste     AMI  starten  

AMI  starten  

Informaconen  über     Amazon  EC2  

Snapshot  eines   Volumes  erstellen   EBS-­‐Volume   erstellen  

Volume  verbinden   Snapshot   wiederherstellen    

Elascsche  IP   erstellen  

Informaconen  über   Amazon  RDS  

DNS  zu  elascscher  IP   zuordnen  

Eine     Sicherungskopie   anlegen  

Eine  DB-­‐Instanz   starten  

Verckal  skalieren  

 Horizontal  skalieren   (mehr  Speicher)  

Einrichtung   Mulc-­‐AZ  

  Abbildung  4:  Erforderliche  Mindestkenntnisse  über  Services  für  einen  Machbarkeitsnachweis  

Informationen  über  AWS-­‐Sicherheitsfunktionen   Informieren  Sie  sich  über  die  derzeit  verfügbaren  AWS-­‐Sicherheitsfunktionen.  Verwenden  Sie  sie  je  nach  Bedarf  in   jeder  Phase  des  Migrationsprozesses.  Lernen  Sie  die  verschiedenen  von  AWS  bereitgestellten  Sicherheitsfunktionen   während  der  Machbarkeitsnachweis-­‐Phase  kennen:  AWS-­‐Anmeldeinformationen,  Multi-­‐Factor  Authentication  (MFA),   Authentifizierung  und  Autorisierung.  Informieren  Sie  sich  mindestens  über  die  AWS  Identity  and  Access  Management   (IAM)-­‐Funktionen,  die  es  Ihnen  ermöglichen,  mehrere  Benutzer  zu  erstellen  und  die  Berechtigungen  für  jeden  Benutzer   innerhalb  Ihres  AWS-­‐Kontos  zu  verwalten.  In  Abbildung  5  sind  die  Inhalte  dargestellt,  die  Sie  über  IAM  wissen  müssen:     Gruppen     erstellen  

Eine  Richtlinie   erstellen  

Informaconen     über  Ressourcen     und  Bedingungen    

Benutzer     erstellen  

Neue  Anmelde-­‐ informaconen  für   den  Zugriff  erstellen  

Benutzer     zu  Gruppen  zuweisen  

Informaconen   über  IAM  

  Abbildung  5:  Erforderliche  Mindestkenntnisse  über  Sicherheit  in  einem  Machbarkeitsnachweis  

In  dieser  Phase  sollten  Sie  sich  überlegen,  ob  Sie  verschiedene  IAM-­‐Gruppen  für  verschiedene  Unternehmensfunktionen   innerhalb  Ihres  Unternehmens  oder  Gruppen  für  verschiedene  IT-­‐Rollen  (Administratoren,  Entwickler,  Tester  usw.)   erstellen  möchten  und  ob  Sie  Benutzer  nach  Ihrem  Organigramm  anlegen  oder  ob  Sie  Benutzer  für  jede  Anwendung   erstellen  möchten.     Seite  13  von  29    

 

Amazon  Web  Services  -­‐  Migrieren  von  Anwendungen  in  die  AWS  Cloud  

Oktober  2014  

Erstellen  eines  Machbarkeitsnachweises   Erstellen  Sie  einen  Machbarkeitsnachweis,  der  einen  Mikrokosmos  Ihrer  Anwendung  darstellt  oder  mit  dem  die  kritische   Funktionalität  Ihrer  Anwendung  in  der  Cloud-­‐Umgebung  getestet  wird.  Beginnen  Sie  mit  einer  kleinen  Datenbank  (oder   einem  Datensatz).  Haben  Sie  keine  Angst,  Instanzen  zu  starten  oder  zu  beenden  oder  einen  Belastungstest  für  das   System  durchzuführen.     Wenn  Sie  beispielsweise  planen,  eine  Webanwendung  zu  migrieren,  können  Sie  damit  beginnen,  Miniaturmodelle  aller   Teile  Ihrer  Architektur  (Datenbank,  Webanwendung,  Load  Balancer)  mit  minimalen  Daten  bereitzustellen.  Lernen  Sie   dabei,  wie  Sie  einen  eigenen  Netzwerkbereich  in  der  AWS  Cloud  einrichten  (Amazon  VPC),  wie  Sie  eine  Webserver-­‐AMI   erstellen  und  wie  Sie  die  Sicherheitsgruppen  einrichten,  damit  nur  der  Webserver  mit  dem  Anwendungsserver   kommunizieren  kann,  wie  alle  statischen  Dateien  auf  Amazon  S3  gespeichert  werden,  wie  ein  EBS-­‐Volume  für  eine   Amazon  EC2-­‐Instanz  bereitgestellt  wird,  wie  Ihre  Anwendung  mit  Amazon  CloudWatch  verwaltet/überwacht  wird  und   wie  IAM  verwendet  wird,  um  den  Zugriff  auf  diejenigen  Services  und  Ressourcen  zu  beschränken,  die  für  die  Funktion   Ihrer  Anwendung  erforderlich  sind.   Die  meisten  unserer  Unternehmenskunden  probieren  diese  Phase  aus  und  profitieren  erheblich  von  dem  Erstellen  der   Pilotprojekte.  Wir  haben  festgestellt,  das  Kunden  viel  über  die  Funktionen  und  die  Anwendbarkeit  von  AWS  im  Verlauf   dieses  Prozesses  lernen  und  den  Kreis  der  Anwendungen,  die  in  die  AWS  Cloud  migriert  werden  könnten,  schnell   vergrößern.   In  dieser  Phase  können  Sie  für  Unterstützung  in  Ihrem  Unternehmen  sorgen,  die  Technologie  validieren,  ältere  Software   in  der  Cloud  testen,  erforderliche  Benchmarks  durchführen  und  Erwartungen  festlegen.   Am  Ende  dieser  Phase  sollten  Sie  die  folgenden  Fragen  beantworten  können:   • Kenne  ich  die  grundlegende  AWS-­‐Terminologie  (Instanzen,  AMIs,  Volumes,  Snapshots,  Verteilungen,   Domänen  usw.)?   • Habe  ich  durch  das  Erstellen  dieses  Machbarkeitsnachweises  die  verschiedenen  Aspekte  der  AWS  Cloud   (Datenverarbeitung,  Speicher,  Netzwerk,  Datenbank,  Sicherheit)  kennengelernt?     • Wird  dieser  Machbarkeitsnachweis  innerhalb  des  Unternehmens  ein  Bewusstsein  für  die  Leistungsfähigkeit  der   AWS  Cloud  schaffen  und  vergrößern?   • In  welcher  Form  sollten  alle  neu  erworbenen  Informationen  und  Kenntnisse  am  besten  festgehalten  werden?   In  einem  Whitepaper  oder  in  einer  internen  Präsentation?   • Wie  hoch  ist  der  Aufwand,  um  diesen  Machbarkeitsnachweis  produktiv  umzusetzen?   • Welche  Anwendungen  kann  ich  unmittelbar  nach  diesem  Machbarkeitsnachweis  verschieben?     Nach  dieser  Phase  werden  Sie  einen  viel  besseren  Einblick  in  die  heutigen  Möglichkeiten  von  AWS  haben.  Sie  werden   über  praktische  Erfahrungen  mit  dieser  neuen  Umgebung  verfügen,  wodurch  sie  einen  besseren  Überblick  über  die   zu  überwindenden  Hürden  bekommen.  

Phase  3:  Datenmigrationsphase   In  dieser  Phase  sollten  Unternehmensarchitekten  die  folgenden  Fragen  stellen:   • Welche  verschiedenen  Speicheroptionen  sind  derzeit  in  der  Cloud  verfügbar?   • Welche  verschiedenen  RDBMS-­‐Optionen  (kommerziell  und  Open  Source)  sind  derzeit  in  der  Cloud  verfügbar?     Seite  14  von  29    

 

Amazon  Web  Services  -­‐  Migrieren  von  Anwendungen  in  die  AWS  Cloud  

Oktober  2014  

• Wie  lautet  meine  Datensegmentierungsstrategie?  Welche  Kompromisse  muss  ich  eingehen?   • Wie  hoch  ist  der  Aufwand  (in  Bezug  auf  Neuentwicklung,  einmalige  Skripts)  für  das  Migrieren  aller  meiner  Daten   in  die  Cloud?   Bei  der  Wahl  der  richtigen  Speicheroption  muss  man  zwischen  verschiedenen  Optionen  abwägen.  Es  gibt  verschiedene   Aspekte,  die  Sie  prüfen  sollten,  damit  Ihre  Anwendung  entsprechend  der  Anforderungen  mit  minimalem  Aufwand   skaliert  werden  kann.  Hinsichtlich  der  verschiedenen  Aspekte  müssen  Sie  geeignete  Kompromisse  eingehen:  Kosten,   Haltbarkeit,  Abfragemöglichkeiten,  Latenz,  Leistung  (Reaktionszeit),  relationale  SQL-­‐Joins,  Größe  des  gespeicherten   Objekts  (groß,  klein),  Zugriffsmöglichkeit,  hohes  Leseaufkommen  gegenüber  hohem  Schreibaufkommen,   Aktualisierungsfrequenz,  Cachefähigkeit,  Konsistenz  ("strikte  Konsistenz"  oder  "eventual  consistency")  und   Nutzungsdauer  (vorübergehend).  Wägen  Sie  Ihre  Optionen  sorgfältig  ab  und  entscheiden  Sie  dann,  welche  für  Ihre   Anwendung  geeignet  sind.  Das  Schöne  an  AWS  ist,  dass  Sie  nicht  auf  die  Verwendung  eines  bestimmten  Services   beschränkt  sind.  Sie  können  beliebig  viele  AWS-­‐Speicherkombinationen  in  jeder  gewünschten  Kombination  verwenden.     Weitere  Informationen  über  die  verschiedenen  Speicherdienste  und  deren  Einordnung  in  eine  Gesamtstrategie  erhalten   Sie  im  Whitepaper  “Storage  Options  in  the  AWS  Cloud”4.  

 

 

                                                                                                                        4

 Siehe  http://media.amazonwebservices.com/AWS_Storage_Options.pdf  

  Seite  15  von  29    

 

Amazon  Web  Services  -­‐  Migrieren  von  Anwendungen  in  die  AWS  Cloud  

Oktober  2014  

Kennenlernen  der  verschiedenen  Speicheroptionen  in  der  AWS  Cloud   Die  nachstehende  Tabelle  hilft  Ihnen  bei  der  Auswahl  der  richtigen  Speicheroption:    

Ideal für  

Ideale Beispiele  

Amazon S3 + Amazon Glacier + CloudFront   Speichern größerer Objekte, Verteilung statischer Inhalte, Datenarchivierung  

Amazon EC2 – Ephemeral Storage Speichern von kurzlebigen Daten

Mediendateien, Audio, Video, Bilder, Sicherungen, Archive, Versionierung  

Konfigurationsdat en, ScratchDateien, temporäre Dateien

Speicheroptimierte Instanzen für sehr hohe Random-E/ALeistungen (SSDgestützt) oder mit hoher Speicherdichte für hohe squenzielle Leistung

Speicheroptimiert e Instanzen für NoSQLDatenbanken oder andere Anwendungen mit hoher RandomE/A-Leistung

Amazon EBS  

Amazon RDS

Amazon DynamoDB

Amazon Redshift

Persistenter Speicher unabhängig von einer Instanz für alle Arten von Daten  

Speichern und Abfragen von strukturierten relationalen und referenziellen Daten

Attributdaten, die über einen Primär- oder Secondärschlüssel abfragbar sind, mit garantiertem Durchsatz und Latenz im einstelligen Millisekundenberei ch

Speichern und Abfragen von strukturierten Daten im PetabyteBereich

Anwendungen und Anwendungsd aten, Bootdaten, Logdaten und/oder Daten eines RDBMS  

Datenbank für Webanwendung en, komplexe Transaktionssys teme, Bestandsverwal tung und Auftragsbearbei tungssysteme

Datenbank für Digitale Werbung, Online-Spiele, mobile Anwendungen, Webanwendungen , Inventarmanagem ent oder Fulfillment Systeme

Data warehouse, Analyse und Reporting Workloads über große Datenmengen

Instanzen mit hoher Speicherdichte für Data Warehousing, Hadoop, oder parallele Deteisysteme Nicht empfohlen für  

Abfragen, Suche  

Speichern von Datenbanklogs oder Sicherungen, Kundendaten

Nicht empfohlene Beispiele  

Datenbank, Dateisysteme  

Freigegebene Laufwerke, vertrauliche Daten

Statische Einfache KeyJoins oder Daten, Value Daten, Transaktionen webbasierter BLOBs, Inhalt, KeyDateisysteme. Value Daten BLOBs, Dateisysteme, Inhaltsverteilung

Tabelle  3:  Datenspeicheroptionen  in  der  AWS  Cloud  

 

  Seite  16  von  29    

 

Kleine Datenmengen

Amazon  Web  Services  -­‐  Migrieren  von  Anwendungen  in  die  AWS  Cloud  

Oktober  2014  

Migrieren  Ihrer  Dateiserver-­‐Systeme,  Sicherungen  und  Bandlaufwerke  zu  Amazon  S3  und  Amazon  Glacier   Wenn  Ihre  bestehende  Infrastruktur  aus  Dateiservern,  Protokollservern,  SANs  (Storage  Area  Networks)  und  Systemen   besteht,  die  die  Daten  mithilfe  von  Bandlaufwerken  in  regelmäßigen  Abständen  sichern,  sollten  Sie  erwägen,  diese   Daten  in  Amazon  S3  zu  speichern  und  in  Amazon  Glacier  zu  archivieren  bzw.  Amazon  Glacier  direct  zu  benutzen.   Bestandsanwendungen  können  Amazon  S3  meistens  ohne  größere  Änderungen  verwenden.  Wenn  Ihr  System  jeden  Tag   Daten  generiert,  wird  ein  Migrationsablauf  empfohlen,  bei  dem  Ihre  "Pipe"  auf  Amazon  S3  gerichtet  ist,  damit  Ihre   neuen  Daten  direkt  in  der  Cloud  gespeichert  werden.  Mithilfe  eines  separaten  Batchprozesses  können  Sie  dann  alte   Daten  in  Amazon  S3  verschieben.  Daten  in  Amazon  S3  können  einfach  auf  Amazon  Glacier  archiviert  werden.  Amazon   Glacier  wird  die  Daten  automatisch  verschlüsseln  (dies  ist  optional  für  Amazon  S3).    

Die  verschiedenen  RDBMS-­‐Optionen  in  der  AWS  Cloud   Für  Ihre  relationale  Datenbank  stehen  Ihnen  mehrere  Optionen  zur  Verfügung:     RDBMS  

Support von   Verwaltet von AWS   Preise   Skalierbarkeit

Amazon RDS/Amazon Redshift   Oracle 11g, MySQL, PostgreSQL, Microsoft SQL Server, Amazon Redshift   AWS Premium Support   Ja  

RDBMS AMIs

Nutzungsabhängig   Datenverarbeitung und Speicher mit einem einzigen API-Aufruf oder Klick skalieren

BYOL, Nutzungsabhängig Manuell

Oracle 11g, Microsoft SQL Server, MySQL, IBM DB2, Sybase, Informix, PostgreSQL AWS und Anbieter Nein

DrittanbieterDatenbankservice   Verschiedene Anbieter im AWS Marketplace   Anbieter  

Nein  

Verschiedene   Verschieden/ hängt vom Anbieter ab

Tabelle  4:  Optionen  für  relationale  Datenbanken  

Migrieren  Ihrer  SQL-­‐Datenbanken  zu  Amazon  RDS   Wenn  Sie  ein  Standard-­‐Deployment  einer  relationalen  Datenbank  wie  Oracle,  MySQL  PostreSQL  oder  MS  SQL  Server   benutzen,  ist  das  Verschieben  zu  Amazon  RDS  ganz  einfach.  Mithilfe  aller  standardmäßigen  Tools  können  Sie  alle  Daten   in  eine  Amazon  RDS-­‐DB-­‐Instanz  verschieben.  Stellen  Sie  nach  dem  Verschieben  der  Daten  in  eine  DB-­‐Instanz  sicher,  dass   Sie  alle  erforderlichen  Metriken  überwachen.  Amazon  RDS  wird  automatisch  periodische  Sicherungen  erzeugen,  mit   deren  Hilfe  eine  Zeitpunkt-­‐Wiederherstellung  möglich  ist.  Wir  empfehlen  den  Aufbewahrungszeitraum  zu  verlängern,   falls  Sie  die  Wiederherstellung  weiter  zurückliegender  Zeitpunkte  benötigen.  

Migrieren  anderer  Datenbanken  zu  Amazon  EC2  und  Amazon  EBS     Alle  großen  Datenbanken  sind  als  Amazon  Machine  Images  (AMIs)  verfügbar  und  werden  in  der  Cloud  von  den   Anbietern  unterstützt.  Das  Migrieren  von  Daten  von  einer  lokalen  Installation  vor  Ort  zu  einer  Amazon  EC2-­‐Cloud-­‐ Instanz  unterscheidet  sich  nicht  vom  Migrieren  von  Daten  von  einer  Maschine  zu  einer  anderen,  folglich  können  Sie   herkömmliche  Migrationswerkzeuge  verwenden.  

Verschieben  großer  Datenmengen  mithilfe  des  Import/Export-­‐Service  von  Amazon   Wenn  der  Kosten-­‐  oder  Zeitaufwand  für  das  Übertragen  von  Daten  über  das  Internet  zu  hoch  ist,  sollten  Sie  die  Nutzung   des  AWS  Import/Export-­‐Service  erwägen.  Mit  dem  AWS  Import/Export-­‐Service  können  Sie  Ihre  Daten  (optional   verschlüsselt)  auf  USB  2.0-­‐  oder  eSATA-­‐Speichergeräte  laden  und  sie  per  Post  an  AWS  senden.  AWS  lädt  Ihre  Daten  dann   in  eines  Ihrer  Amazon  S3  Buckets  hoch  oder  erstellt  Amazon  EBS  Volumes  mit  den  gelieferten  Daten.       Seite  17  von  29    

 

Amazon  Web  Services  -­‐  Migrieren  von  Anwendungen  in  die  AWS  Cloud  

Oktober  2014  

Wenn  Sie  beispielsweise  über  mehrere  Terabyte  an  zu  analysierenden  Protokolldateien  verfügen,  können  Sie  die   Dateien  in  ein  unterstütztes  Gerät  kopieren  und  das  Gerät  an  AWS  senden.  AWS  stellt  alle  Protokolldateien  in  Ihrem   zugewiesenen  Bucket  in  Amazon  S3  wieder  her.  Von  dort  können  sie  dann  von  Ihrer  in  der  Cloud  gehosteten  Business   Intelligence-­‐Anwendung  oder  von  den  Amazon  Elastic  MapReduce-­‐Services  zum  Analysieren  abgerufen  werden.   Wenn  Sie  über  eine  100  TB-­‐Datenbank  von  Oracle  mit  50  GB  Änderungen  pro  Tag  in  Ihrem  Rechenzentrum  verfügen,   die  Sie  zu  AWS  migrieren  möchten,  sollten  Sie  erwägen,  eine  vollständige  Sicherung  der  Datenbank  auf  eine  Festplatte   durchzuführen  und  die  Sicherung  dann  auf  USB  2.0-­‐Geräte  zu  kopieren  und  diese  einzusenden.  Bis  Sie  bereit  sind,  die   Produktion  von  DBMS  zu  AWS  umzustellen,  erstellen  Sie  differenzielle  Sicherungen.  Die  vollständige  Sicherung  wird  vom   Importservice  wiederhergestellt  und  Ihre  inkrementellen  Sicherungen  werden  über  das  Internet  übertragen  und  auf  die   DB-­‐Instanz  in  der  Cloud  angewendet.  Nachdem  die  letzte  inkrementelle  Sicherung  angewendet  wurde,  können  Sie  den   neuen  Datenbankserver  verwenden.  

Phase  4:  Anwendungsmigrationsphase   In  dieser  Phase  sollten  Sie  die  folgende  Frage  stellen:   • Wie  kann  ich  mein  System  teilweise  oder  vollständig  in  die  Cloud  verschieben,  ohne  meine  laufenden   Geschäftsaktivitäten  zu  stören  oder  zu  unterbrechen?   In  dieser  Phase  lernen  Sie  zwei  wesentliche  Anwendungsmigrationsstrategien  kennen:  Die  1:1-­‐Migrationsstrategie  und   die  Hybrid-­‐Migrationsstrategie.  Die  Vor-­‐  und  Nachteile  beider  Strategien  werden  erörtert,  um  Ihnen  bei  der   Entscheidung  für  die  Methode  zu  helfen,  die  für  Ihre  Anwendung  am  besten  geeignet  ist.  Auf  Grundlage  der   Klassifizierung  der  Anwendungstypen  (in  Phase  1)  können  Sie  entscheiden,  welche  Strategie  für  die  jeweiligen   Anwendungstypen  angewendet  werden  soll.    

1:1-­‐Migrationsstrategie   Für  zustandslose  Anwendungen,  eng  verbundene  Anwendungen  oder  eigenständige  Anwendungen  eignet  sich  die  1:1-­‐ Methode  möglicherweise  am  besten.  Statt  Teile  des  Systems  nach  und  nach  zu  verschieben,  können  Sie  mit  der  1:1-­‐ Methode  alles  auf  einmal  in  die  Cloud  verschieben.  Eigenständige  Webanwendungen,  die  als  einzelne  Komponenten   behandelt  werden  können,  und  Sicherungs-­‐/Archivierungssysteme  sind  Beispiele  für  diese  Arten  von  Systemen,  die   mithilfe  dieser  Strategie  in  die  Cloud  verschoben  werden  können.  Komponenten  einer  dreistufigen  Webanwendung,  die   für  eine  einwandfreie  Funktion  eine  Verbindung  mit  extrem  geringer  Latenzzeit  erfordern,  sind  möglicherweise  am   besten  für  diese  Methode  geeignet,  wenn  die  gesamte  Anwendung,  einschließlich  der  Web-­‐,  Anwendungs-­‐  und   Datenbankserver,  auf  einmal  in  die  Cloud  verschoben  wird.   Dieser  Ansatz  kann  es  Ihnen  ermöglichen,  eine  Bestandsanwendung  mit  nur  wenigen  Codeänderungen  in  die  Cloud  zu   migrieren.  Die  meisten  Änderungen  werden  das  Kopieren  der  Binärdateien  Ihrer  Anwendung,  das  Erstellen  und   Konfigurieren  von  Amazon  Machine  Images  (AMIs),  das  Einrichten  von  Sicherheitsgruppen  und  elastischen  IP-­‐Adressen,   die  Konfiguraiton  des  DNS  und  die  Umstellung  zu  Amazon  RDS-­‐Datenbanken  zum  Gegenstand  haben.  Dabei  zeigen  sich   deutlich  die  Vorteile  der  grundlegenden  Infrastruktur-­‐Services  (Amazon  EC2,  Amazon  S3,  Amazon  RDS  und  Amazon   VPC).   Bei  dieser  Strategie  können  die  Anwendungen  möglicherweise  nicht  sofort  von  der  Elastizität  und  Skalierbarkeit  der   Cloud  profitieren,  da  Sie  schließlich  echte  physische  Server  gegen  EC2-­‐Instanzen  austauschen  oder  Dateiserver  durch   Amazon  S3-­‐Buckets  oder  Amazon  EBS-­‐Volumes  ersetzen.  Logische  Komponenten  sind  weniger  wichtig  als  die  physischen   Komponenten.  Trotzdem  ist  es  wichtig  festzustellen,  dass  Sie  durch  die  Verwendung  dieses  Ansatzes  für  bestimmte   Anwendungstypen  den  Platzbedarf  für  Ihre  IT-­‐Infrastruktur  reduzieren    und  das  Aufstellen,  Bestücken  und  Betreiben  von   Serverschränken  zu  AWS  auslagern.  Dies  ermöglicht  es  Ihnen,  den  Schwerpunkt  Ihrer  Ressourcen  auf  Aspekte  zu  legen,     Seite  18  von  29    

 

Amazon  Web  Services  -­‐  Migrieren  von  Anwendungen  in  die  AWS  Cloud  

Oktober  2014  

die  Ihr  Kerngeschäft  differnzieren  und  Sie  von  Ihren  Mitbewerbern  unterscheiden.  Sie  werden  diese  Anwendung  in  den   nächsten  Stufen  erneut  überprüfen  und  dann  noch  mehr  Vorteile  der  Cloud  erkennen  können.     Wie  bei  jeder  anderen  Migration  ist  eine  Sicherungsstrategie,  eine  Rollback-­‐Strategie  und  die  Durchführung  von   umfassenden  Tests  erforderlich.  

Hybrid-­‐Migrationsstrategie   Bei  der  Hybrid-­‐Migration  werden  einige  Teile  einer  Anwendung  in  die  Cloud  verschoben,  während  anderen  Teile   der  Anwendung  vor  Ort  belassen  werden.     Die  Hybrid-­‐Migrationsstrategie  kann  einen  risikoarmen  Ansatz  für  die  Migration  von  Anwendungen  in  die  Cloud   darstellen.  Statt  die  gesamte  Anwendung  auf  einmal  zu  verschieben,  können  einzelne  Teile  verschoben  und   nacheinander  optimiert  werden.  Dadurch  wird  das  Risiko  eines  unerwarteten  Verhaltens  nach  der  Migration  verringert.   Dies  ist  ideal  für  große  Systeme,  die  mehrere  Anwendungen  umfassen.  Wenn  Sie  beispielsweise  über  eine  Website   verfügen  und  über  mehrere  Batchverarbeitungskomponenten  (wie  Indizierung  und  Suche),  die  Funktionalität  für  die   Website  beisteuern,  können  Sie  diesen  Ansatz  in  Betracht  ziehen.  Das  Batchverarbeitungssystem  kann  z.B.  zuerst  in  die   Cloud  migriert  werden,  während  die  Website  im  bisherigen  Rechenzentrum  verbleibt.  Die  Datenaufnahmeebene  kann   "cloudfähig"  gemacht  werden,  damit  die  Daten  direkt  in  die  AWS  Cloud  geführt  werden  können,  z.B.  erst  in  einen   Amazon  S3  Bucket,  oder  direkt  in  eine  Amazon  EC2-­‐Instanz  des  Batchverarbeitungssystems,  bevor  die  jeweilige  Aufgabe   ausgeführt  wird.  Nach  einem  einwandfreien  Test  des  Batchverarbeitungssystems  können  Sie  entscheiden,  die   Websiteanwendung  zu  verschieben.    

 

Vor  Ort  oder  Co-­‐Location  

AWS  Cloud  

Anmerkungen  

 

  Prozess

Service,   Geschäftskomponente  oder   eine  Funktion,  die  aus  einem   Anwendungscode,  einer   Geschäftslogik,  einer   Datenzugriffsschicht  und   Datenbank  besteht  

Suche

Buch-­‐ haltung

 

 

 

  Prozess

Suche

Suche

Buch-­‐ haltung

  Seite  19  von  29    

 

Dünne  Schicht  mit   "cloudfähigem"  zu  schreibendem   Code,  die  die  Webservices-­‐ Schnittstelle  der  Komponente   benutzt;  besteht  aus   Stubs/Skeletons  

Amazon  Web  Services  -­‐  Migrieren  von  Anwendungen  in  die  AWS  Cloud  

 

   

Oktober  2014  

  Prozess

   

Suche

Suche

   

 

Buch-­‐ haltung

Buch-­‐ haltung

   

Die  DB  in  der  Nähe  der   Komponente,  die  sie  verwendet,   belassen:  Wenn  alle  Komponenten   dieselbe  Datenbank  verwenden,   kann  es  ratsam  sein,  alle   Komponenten  und  die  Datenbank   auf  einmal  zu  verschieben.   Wenn  alle  Komponenten   unterschiedliche  Datenbank-­‐ Instanzen/-­‐schemata  verwenden   und  sich  gegenseitig  ausschließen   aber  in  derselben  physischen  Box   gehostet  werden,  kann  es  ratsam   sein,  die  logischen  Datenbanken   zu  trennen  und  sie  während  der   Migration  zusammen  mit  der   Komponente  zu  verschieben.  

  Prozess

Prozess

Proxy  kann  optional   verwendet  werden.  

  Suche

Suche

    Buch-­‐ haltung

Buch-­‐ haltung

               

Tabelle  5:  Risikoarme  Hybrid-­‐Strategie  für  die  Migration  von  Komponenten  in  die  Cloud  

Bei  dieser  Strategie  müssen  Sie  möglicherweise  temporäre  "Wrapper"  planen,  entwerfen  und  erstellen,  um  die   Kommunikation  zwischen  den  Teilen,  die  sich  in  Ihrem  bisherigen  Rechenzentrum,  und  den  Teilen,  die  sich  in  der  Cloud   befinden,  zu  ermöglichen.  Diese  Wrapper  können  "cloudfähig"  und  asynchron  (ggf.  mithilfe  von  Amazon  SQS-­‐Queues   oder  dem  Amazon  Simple  Workflow  (SWF))  gemacht  werden,  damit  Sie  bei  schwankenden  Internet-­‐Latenzen  stabil   bleiben.   Diese  Strategie  kann  auch  verwendet  werden,  um  Cloudanwendungen  mit  anderen  Cloud-­‐inkompatiblen  älteren   Anwendungen  (Mainframe-­‐Anwendungen  oder  Anwendungen,  die  eine  spezielle  Hardware  erfordern)  zu  integrieren.   In  einem  solchen  Fall  können  Sie  "cloudfähige"  Webservice-­‐Wrapper  um  die  ältere  Anwendung  herum  erstellen  und  sie   als  Webservice  verfügbar  machen.  Da  auf  Web-­‐Ports  oft  von  außerhalb  der  Unternehmensnetzwerke  zugegriffen   werden  kann,  können  die  Cloudanwendungen  einen  direkten  Aufruf  an  diese  Webservice  durchführen,  die  wiederum   mit  den  Mainframe-­‐Anwendungen  interagieren.  Sie  können  auch  einen  VPN-­‐Tunnel  zwischen  den  älteren   Anwendungen,  die  sich  vor  Ort  befinden,  und  den  Cloudanwendungen  einrichten  und  damit  Ihren  Teil  der  AWS-­‐Cloud   (VPC)  mit  Ihrem  Unternehmensnetzwerk  verbinden.    

Konfigurieren  und  Erstellen  Ihrer  AMIs     In  vielen  Fällen  ist  es  am  besten,  mit  AMIs  zu  beginnen,  die  entweder  von  AWS  oder  einem  Anbieter  vertrauenswürdiger   Lösungen  bereitgestellt  werden.  Sie  bilden  die  Grundlage  für  die  AMIs,  die  Sie  im  weiteren  Verlauf  verwenden  möchten.   Je  nach  Ihren  spezifischen  Anforderungen  müssen  Sie  möglicherweise  auch  AMIs  nutzen,  die  von  anderen  ISVs   bereitgestellt  werden.  In  beiden  Fällen  ist  der  Prozess  für  das  Konfigurieren  und  Erstellen  Ihrer  AMIs  derselbe.  

  Seite  20  von  29    

 

Amazon  Web  Services  -­‐  Migrieren  von  Anwendungen  in  die  AWS  Cloud  

Oktober  2014  

Es  wird  empfohlen,  dass  Sie  eine  AMI  für  jede  Komponente  erstellen,  die  für  die  Ausführung  in  einer  separaten   Amazon  EC2-­‐Instanz  vorgesehen  ist.  Außerdem  wird  empfohlen,  einen  automatischen  oder  halbautomatischen   Bereitstellungsprozess  zu  erstellen,  um  Zeit  und  Aufwand  für  die  erneute  Bündelung  von  AMIs  zu  reduzieren,  wenn   neuer  Code  freigegeben  wird.  Dies  wäre  ein  guter  Zeitpunkt,  um  über  einen  Prozess  für  die  Konfigurationsverwaltung   nachzudenken,  damit  sichergestellt  wird,  dass  Ihre  in  der  Cloud  ausgeführten  Server  in  Ihren  Prozess  eingebunden   werden.    

Phase  5:  Nutzen  der  Cloud   Nachdem  Sie  Ihre  Anwendung  in  die  Cloud  migriert,  die  erforderlichen  Tests  ausgeführt  und  bestätigt  haben,  dass  alles   wie  erwartet  funktioniert,  ist  es  ratsam,  Zeit  und  Ressourcen  zu  investieren,  um  festzustellen,  wie  Sie  weitere  Vorteile   der  Cloud  nutzen  können.  In  dieser  Phase  können  Sie  die  folgenden  Fragen  stellen:   • Was  kann  ich  nach  der  Migration  der  Bestandsanwendungen  jetzt  tun,  um  die  Vorteile  hinsichtlich  Elastizität  und   Skalierbarkeit  zu  nutzen,  die  die  Cloud  verspricht?  Was  muss  ich  anders  machen,  um  Elastizität  in  meinen   Anwendungen  zu  implementieren?   • Wie  kann  ich  die  Vorteile  von  einigen  der  anderen  fortschrittlichen  AWS-­‐Funktionen  und  -­‐Services  nutzen?   • Wie  kann  ich  Prozesse  automatisieren,  um  die  Wartung  und  Verwaltung  meiner  Anwendungen  in  der  Cloud   zu  vereinfachen?   • Was  genau  muss  ich  in  meiner  Cloudanwendung  tun,  damit  sie  bei  einem  Fehlerereignis  (Hardware  oder   Software)  eigenständig  den  Originalzustand  wiederherstellen  kann?  

  Nutzung  anderer  AWS-­‐Services   Auto  Scaling-­‐Service     Mit  Auto  Scaling  können  Sie  Ihre  Amazon  EC2-­‐Kapazitäten  entsprechend  den  von  Ihnen  festgelegten  Bedingungen  nach   oben  oder  nach  unten  anpassen.  Wenn  eine  der  Bedingungen  eintritt,  führt  Auto  Scaling  automatisch  die  von  Ihnen   festgelegte  Aktion  durch.   Untersuchen  Sie  jede  Gruppe  von  ähnlichen  Instanzen  in  Ihrer  Amazon  EC2-­‐Flotte  und  prüfen  Sie,  ob  Sie  eine   Auto  Scaling-­‐Gruppe  erstellen  können  und  ob  Sie  die  Kriterien  für  die  automatische  Skalierung  festlegen  können  (CPU-­‐ Auslastung,  Netzwerk-­‐IO  usw.).     Sie  können  mindestens  eine  Auto  Scaling-­‐Gruppe  erstellen  und  als  Bedingung  festlegen,  dass  Ihre  Auto  Scaling-­‐Gruppe   immer  eine  bestimmte  Anzahl  von  Instanzen  beinhaltet.  Auto  Scaling  analysiert  die  Fehlerfreiheit  jeder  einzelnen   Amazon  EC2-­‐Instanz  in  Ihrer  Auto  Scaling-­‐Gruppe  und  ersetzt  fehlerhafte  Amazon  EC2-­‐Instanzen  automatisch,  damit  die   festgelegte  Gruppengröße  immer  gleich  bleibt.   Amazon  CloudFront   Mit  nur  wenigen  Klicks  oder  Befehlszeilenaufrufen  können  Sie  eine  Amazon  CloudFront-­‐Verteilung  für  jeden  Ihrer   Amazon  S3-­‐Buckets  erstellen.  Dadurch  werden  Ihre  statischen  Objekte  in  einem  Edge-­‐Cache  näher  am  Kunden   bereitgestellt  und  die  Latenzzeit  reduziert.  Das  ist  in  vielen  Fällen  so  einfach,  dass  Kunden  nicht  bis  zu  dieser  Phase  

  Seite  21  von  29    

 

Amazon  Web  Services  -­‐  Migrieren  von  Anwendungen  in  die  AWS  Cloud  

Oktober  2014  

warten,  sondern  den  Service  viel  früher  als  geplant  implementieren,  um  von  CloudFront  zu  profitieren.  Im  Whitepaper   Migrating  to  CloudFront5  erhalten  Sie  weitere  Informationen.     Amazon  Elastic  MapReduce   Bei  der  Analyse  eines  umfangreichen  Datensatzes  oder  der  Verarbeitung  großer  Mengen  an  Dateien  können  Sie  von   Amazon  Elastic  MapReduce  profitieren.  Die  meisten  Unternehmen  haben  Metrikdaten  zu  verarbeiten,  Logs   zu  analysieren  oder  umfangreiche  Datensätze  zu  indizieren.  Mit  Amazon  Elastic  MapReduce  können  Sie  wiederholbare   Arbeitsabläufe  erstellen,  um  mit  wenigen  Klicks  einen  Hadoop-­‐Cluster  zu  starten,  die  Verarbeitung  durchzuführen,  einen   laufenden  Cluster  zu  erweitern  oder  zu  reduzieren  und  einen  Cluster  zu  beenden.     Amazon  Redshift   Amazon  Redshift  ist  ein  schneller,  vollständig  verwalteter  Data  Warehouse-­‐Service  für  Datenmengen  im  Petabyte-­‐ Bereich,  mit  dem  Sie  im  Zusammenspiel  mit  Ihren  vorhandenen  Business  Intelligence-­‐Tools  alle  Ihre  Daten  einfach  und   wirtschaftlich  analysieren  können.  Wenn  Daten  einmal  in  der  AWS  Cloud  gespeichert  sind,  ist  die  Analyse  und   Auswertung  von  Daten  oft  der  nächste  Schritt,  mit  denen  sich  Unternehmen  einen  tieferen  Einblick  in  ihre  Daten   verschaffen  können  um  somit  ihr  Geschäft  zu  optimieren  oder  neue  Geschäftsideen  oder  Einkommensquellen  zu   realisieren.     Amazon  Route53   Amazon  Route  53  ist  ein  hochverfügbarer  und  skalierbarer  DNS-­‐Webservice  (Domain  Name  System).  Entwickler  und   Unternehmen  bietet  es  eine  außerordentlich  zuverlässige  und  kostengünstige  Möglichkeit,  Endbenutzer  zu   Internetanwendungen  zu  routen.  Dazu  werden  Namen  wie  www.beispiel.de  in  numerische  IP-­‐Adressen  wie  192.0.2.1   übersetzt,  die  Computer  zur  gegenseitigen  Vernetzung  verwenden.  DNS  Einträge  können  mit  einer  einfachen   Webservice-­‐Schnittstelle  oder  über  die  Amazon  Management  Konsole  verwaltet  werden.  Viele  Merkmale  sind  für   globale  Deployments  sehr  hilfreich  wie  "Latenzbasiertes  Routing"  (LBR),  “GEO-­‐DNS”  (unterschiedliche  Antworten  je  nach   geografischer  Herkunft),  DNS  Failover  und  die  Integration  mit  anderen  Services  von  AWS.   Amazon  Simple  Queue  Service   Amazon  Simple  Queue  Service  (Amazon  SQS)  bietet  eine  schnelle,  zuverlässige,  skalierbare  und  vollständig  verwaltete   Queue  als  Service.  Mit  Amazon  SQS  können  verteilte  Anwendungen  Nachrichten  austauschen  ohne  dass  diese  verloren   gehen  und  ohne  dass  alle  Komponenten  immer  verfügbar  sein  müssen.  Zusammen  mit  Amazon  Elastic  Compute  Cloud   (Amazon  EC2)  und  anderen  AWS  Infrastruktur  Services    können  automatisierte  Workflows  einfach  erstellt  werden.   Amazon  SQS  stellt  eine  einfache  Web  Service-­‐Schnittstelle  zur  Verfügung,  die  sowohl  von  EC2-­‐Instanzen  als  auch  von   anderen  Rechnern  im  Internet  zum  Datenaustausch  benutzt  werden  kann.  Daher  eignet  sich  Amazon  SQS  sehr  gut,  um   in  hybriden  Modellen  die  Applikationen  oder  Komponenten,  die  bereits  zu  AWS  migriert  wurden,  mit  den  noch   vorhandenen  Applikationen  in  anderen  Rechenzentren  zu  verknüpfen.  

Automatisieren  der  Elastizität   Elastizität  ist  eine  grundlegende  Eigenschaft  der  Cloud.  Informationen  über  Elastizität  und  über  das  Erstellen  von   Architekturen,  die  eine  schnelle  Kapazitätsanpassung  nach  oben  oder  nach  unten  unterstützen,  erhalten  Sie  im   Whitepaper  "Architecting  for  the  Cloud"6.  Elastizität  kann  auf  verschiedenen  Ebenen  der  Anwendungsarchitektur                                                                                                                           5 6

 http://developer.amazonwebservices.com/connect/entry!default.jspa?categoryID=267&externalID=2456    http://media.amazonwebservices.com/AWS_Cloud_Best_Practices.pdf  

  Seite  22  von  29    

 

Amazon  Web  Services  -­‐  Migrieren  von  Anwendungen  in  die  AWS  Cloud  

Oktober  2014  

implementiert  werden.  Um  Elastizität  implementieren  zu  können,  ist  es  möglicherweise  erforderlich,  Ihre  Anwendung     umzugestalten  und  in  Komponenten  aufzuteilen,  damit  sie  skalierbarer  ist.  Je  mehr  Sie  Elastizität  in  Ihrer  Anwendung   automatisieren  können,  desto  einfacher  lässt  sich  Ihre  Anwendung  horizontal  skalieren,  wodurch  sich  die  Vorteile  des   Betriebs  in  der  Cloud  erhöhen.     In  dieser  Phase  sollten  Sie  versuchen,  Elastizität  zu  automatisieren.  Nachdem  Sie  Ihre  Anwendung  in  AWS   verschoben  und  die  einwandfreie  Funktion  sichergestellt  haben,  stehen  Ihnen  drei  Optionen  zur  Verfügung,  um   Elastizität  auf  Batchebene  zu  automatisieren.  Dies  ermöglicht  Ihnen  das  schnelle  Starten  einer  beliebigen  Anzahl   von  Anwendungs-­‐Instanzen,  wenn  Sie  sie  benötigen,  und  das  Beenden,  wenn  Sie  sie  nicht  mehr  benötigen.  Die   Möglichkeit,  die  Anwendung  zu  aktualisieren,  bleibt  dabei  erhalten.  Wählen  Sie  den  Ansatz,  der  am  besten  zu  Ihrem   Softwareentwicklungsprozess  passt.   1. Verwalten  des  Bestands  von  AMIs   Es  ist  einfach  und  schnell,  ein  Inventar  von  AMIs  aller  verschiedenen  Konfigurationen  einzurichten.  Die  Pflege   (Upgrade,  Patching)  kann  allerdings  aufwendig  sein,,  da  neuere  Versionen  von  Anwendungen  die  Aktualisierung   der  AMIs  erforderlich  machen  können.   2. Verwalten  eines  "Gold-­‐AMI"  und  Laden  von  Binärdateien  beim  Starten     Dieser  Ansatz  ist  etwas  weniger  aufwendig  und  verwendet  ein  Basis-­‐AMI  ("Gold-­‐Image")  für  alle   Anwendungstypen  Der  restliche  Applikationsstack  wird  beim  Starten  der  Instanz  geladen  und  konfiguriert.   3. Verwalten  eines  gerade  ausreichenden  OS-­‐AMI  und  einer  Bibliothek  mit  "Rezepten"  oder  Installationsskripts     Dieser  Ansatz  ist  wahrscheinlich  am  einfachsten  zu  verwalten  –  vor  allem,  wenn  Sie  eine  Vielzahl  an   Anwendungsstacks  bereitstellen  müssen.  Bei  diesem  Ansatz  nutzen  Sie  die  programmierbare  Infrastruktur   und  verwalten  eine  Bibliothek  mit  Installationsskripten,  die  auf  Anforderung  ausgeführt  werden.     •  

  Abbildung  6:  Drei  Optionen  zum  Automatisieren  von  Elastizität  bei  gleichzeitiger  Aufrechterhaltung  des  Upgradevorgangs  

  Seite  23  von  29    

 

Amazon  Web  Services  -­‐  Migrieren  von  Anwendungen  in  die  AWS  Cloud  

Oktober  2014  

Sicherheit  verbessern   Die  Cloud  entbindet  Sie  nicht  von  Ihrer  Verantwortung,  Ihre  Anwendungen  zu  sichern.  In  jeder  Phase  Ihres   Migrationsprozesses  sollten  Sie  Best  Practices  für  die  Sicherheit  implementieren.  Dazu  zählen  unter  anderem  die   folgenden:   •

Schützen  Ihrer  AWS-­‐Anmeldeinformationen  



Wechseln  Sie  Ihre  AWS-­‐Zugriffsinformationen  immer  regelmäßig  und  wechseln  Sie  sie  sofort  im  Fall  einer   vermuteten  Sicherheitsverletzung.  



Nutzen  Sie  Multi-­‐Factor  Authentication.  



Zugriffsbeschränkung  für  Benutzer  auf  AWS-­‐Ressourcen  



Erstellen  Sie  mithilfe  der  Funktionen  von  AWS  Identity  and  Access  Management  (IAM)  verschiedene   Benutzer  und  Gruppen  mit  unterschiedlichen  Zugriffsberechtigungen  (Richtlinien),  um  den  Zugriff  auf   bestimmte  AWS-­‐Ressourcen  zu  beschränken  bzw.  zu  gestatten.  



Überprüfen  und  überwachen  Sie  fortlaufend  IAM-­‐Benutzerrichtlinien.    



Nutzen  Sie  die  leistungsstarken  Funktionen  von  Sicherheitsgruppen  in  Amazon  EC2.  



Schützen  Ihrer  Daten  durch  Verschlüsselung  beim  Speichern  und  bei  der  Übertragung  (SSL)  



Automatisieren  Sie  Sicherheitsrichtlinien.  



Nutzen  Sie  die  automatische  Verschlüsselung  beim  Speichern  der  Daten  in  Amazon  S3  und  Amazon  EBS.  



Anwenden  einer  Wiederherstellungsstrategie  



Erstellen  Sie  regelmäßige  Amazon  EBS-­‐Snapshots  und  stellen  Sie  sicher,  dass  die  automatischen  Amazon   RDS-­‐Sicherungen  eingeschaltet  sind  (was  der  Standard  ist)  .  



Testen  Sie  Ihre  Sicherungen  von  Zeit  zu  Zeit,  bevor  Sie  sie  benötigen  

Automatisieren  des  Software-­‐Entwicklungsprozesses  und  Upgradevorgangs  in  der  Cloud   In  der  AWS  Cloud  ist  es  nicht  mehr  erforderlich,  neue  Hardware  lange  im  Voraus  zu  bestellen  oder  nicht  verwendete   Hardware  zu  horten,  um  Ihren  Software-­‐Entwicklungsprozess  zu  unterstützen.  Stattdessen  können  Entwickler,  System-­‐ Builder  und  Tester  die  benötigte  Infrastruktur  in  Minutenschnelle  anfordern  und  von  der  umfangreichen  Skalierung  und   kurzen  Reaktionszeit  der  Cloud  profitieren.  Mit  einer  skriptfähigen  Infrastruktur  können  Sie  den  Entwicklungs-­‐  und   Bereitstellungszyklus  Ihrer  Software  vollständig  automatisieren.  Sie  können  Ihre  Entwicklungs-­‐,  Build-­‐,  Test-­‐,  Staging-­‐   und  Produktionsumgebungen  verwalten,  indem  Sie  wiederverwendbare  Konfigurationstools  erstellen,  spezifische   Sicherheitsgruppen  verwalten  und  spezifische  AMIs  für  jede  Umgebung  starten.     Die  Automatisierung  Ihres  Upgradevorgangs  in  der  Cloud  wird  in  dieser  Phase  dringend  empfohlen,  damit  Sie  schnell  zu   neueren  Versionen  der  Anwendungen  wechseln  und  bei  Bedarf  eine  Zurücksetzung  zu  älteren  Versionen  durchführen   können.  Mit  der  Cloud  müssen  Sie  keine  neuen  Softwareversionen  auf  alten  Maschinen  installieren,  sondern  können   stattdessen  alte  Instanzen  entfernen  und  neue,  frisch  vorkonfigurierte  Instanzen  erneut  starten.  Falls  das  Upgrade   fehlschlägt,  entfernen  Sie  es  einfach  und  stellen  ohne  zusätzliche  Kosten  auf  neue  Hardware  um.  

  Seite  24  von  29    

 

Amazon  Web  Services  -­‐  Migrieren  von  Anwendungen  in  die  AWS  Cloud  

Oktober  2014  

Erstellen  eines  Dashboard  Ihres  elastischen  Rechenzentrums  zum  Verwalten  von  AWS-­‐Ressourcen   Es  sollte  für  Entwicklungsingenieure  und  Projektmanager  einfach  und  reibungslos  möglich  sein,  AWS  Cloud-­‐Ressourcen   bereitzustellen.  Gleichzeitig  sollte  das  Managementteam  Einblick  in  die  Art  und  Weise  haben,  wie  AWS-­‐Ressourcen   genutzt  werden.  Die  AWS  Management  Console  stellt  eine  Ansicht  Ihres  Cloud-­‐Rechenzentrums  bereit.  Außerdem   erhalten  Sie  grundlegende  Verwaltungs-­‐  und  Überwachungsfunktionen  (über  Amazon  CloudWatch)  für  Ihre  Cloud-­‐ Ressourcen.  Die  AWS  Management  Console  wird  ständig  weiterentwickelt.  Sie  bietet  eine  umfangreiche   Benutzeroberfläche  für  die  Verwaltung  von  AWS-­‐Services.  Wenn  das  aktuelle  Design  nicht  Ihren  Anforderungen   entspricht,  empfehlen  wir  Ihnen,  die  Verwendung  von  Drittanbieter-­‐Tools,  mit  denen  Sie  bereits  vertraut  sind  (wie  CA,   IBM  Tivoli),  in  Erwägung  zu  ziehen  oder  Ihre  eigene  Konsole  zu  erstellen,  indem  Sie  die  Web  Service-­‐APIs  verwenden.   Mithilfe  von  Web-­‐Services-­‐API  können  Sie  auf  unkomplizierte  Weise  einen  Webclient  erstellen,  der  die  Web-­‐Services-­‐API   nutzt,  und  benutzerdefinierte  Steuerkonsolen  erstellen,  die  Ihren  Anforderungen  entsprechen.  Wenn  Sie  beispielsweise   eine  Presales-­‐Demo-­‐Anwendungsumgebung  in  der  Cloud  für  Ihr  Vertriebsteam  erstellt  haben,  damit  sie  eine   vorkonfigurierte  Anwendung  in  der  Cloud  schnell  starten  können,  könnten  Sie  auch  ein  Dashboard  erstellen,  das  die   Aktivität  der  einzelnen  Vertriebsmitarbeiter  und  Kunden  anzeigt.  Verwalten  und  beschränken  Sie  die   Zugriffsberechtigungen  auf  Grundlage  der  Rolle  des  Vertriebsmitarbeiters  und  widerrufen  Sie  den  Zugriff,  wenn  der   Mitarbeiter  das  Unternehmen  verlässt.   In  unserem  Ressourcencenter  stehen  Ihnen  viele  verschiedene  Bibliotheken  zur  Verfügung,  die  nützlich  sein  können,   wenn  Sie  das  Dashboard  erstellen,  das  Ihren  spezifischen  Anforderungen  entspricht.  

Erstellen  eines  Geschäftskontinuitätsplans  und  Erzielen  einer  hohen  Verfügbarkeit  (Nutzung  verschiedener   Availability  Zones)   Viele  Unternehmen  verfügen  über  keine  ausreichende  Notfallwiederherstellungsplanung,  da  der  Vorgang  nicht   vollständig  automatisch  abläuft  und  die  Kosten  für  die  Unterhaltung  eines  separaten  Rechenzentrums  für  die   Notfallwiederherstellung  prohibitiv  hoch  sind.  Durch  die  Verwendung  von  Virtualisierung  (Erstellung  von  AMI)   und  Daten-­‐Snapshots  ist  die  Implementierung  der  Notfallwiederherstellung  in  der  Cloud  viel  preiswerter  und   einfacher  als  die  herkömmlichen  Notfallwiederherstellungslösungen.  Sie  können  den  gesamten  Vorgang  des  Startens   von  Cloud-­‐Ressourcen  vollständig  automatisieren,  wodurch  eine  komplette  Cloud-­‐Umgebung  innerhalb  von  Minuten   wiederhergestellt  werden  kann.  Im  Fall  eines  Failovers  über  die  Cloud  verläuft  die  Wiederherstellung  nach  einem   Systemfehler  genauso  wie  die  Wiederherstellung  nach  einem  Erdbeben.  Daher  wird  dringend  empfohlen,  dass  Sie  über   einen  Geschäftskontinuitätsplan  verfügen  und  sowohl  Wiederherstellungsdauer  (Recovery  Time  Objective,  RTO)  als  auch   den  Zeitraum  zwischen  zwei  Datensicherungen  (Recovery  Point  Objective,  RPO)  festlegen.   Ihr  Geschäftskontinuitätsplan  sollte  Folgendes  beinhalten:   • eine  Datenreplikationsstrategie  (Quelle,  Ziel,  Häufigkeit)  von  Datenbanken  (Amazon  EBS)   • eine  Datensicherung-­‐  und  -­‐Aufbewahrungsstrategie  (Amazon  S3  and  Amazon  RDS)   • das  Erstellen  von  AMIs  mit  den  neuesten  Patches  und  Codeaktualisierungen  (Amazon  EC2)   • ein  Wiederherstellungsplan  für  das  Fallback  von  der  Cloud  zum  Unternehmensrechenzentrum  nach  einem  Notfall   Eine  in  der  Cloud  implementierte  Geschäftskontinuitätsstrategie  bietet  den  Vorteil,  dass  Sie  automatisch  eine  höhere   Verfügbarkeit  über  verschiedene  geografische  Regionen  und  Availability  Zones  hinweg  haben,  ohne  dass  größere   Änderungen  bei  den  Bereitstellungs-­‐  und  Datenreplikationsstrategien  vorgenommen  werden  müssen.  Sie  können  eine   Umgebung  mit  einer  viel  höheren  Verfügbarkeit  erstellen,  indem  Sie  die  gesamte  Architektur  klonen  und  einer  anderen   Availability  Zone  replizieren  oder  indem  Sie  einfach  Multi-­‐AZ-­‐Bereitstellungen  (im  Fall  von  Amazon  RDS)  verwenden.  

  Seite  25  von  29    

 

Amazon  Web  Services  -­‐  Migrieren  von  Anwendungen  in  die  AWS  Cloud  

Oktober  2014  

Zusätzliche  Informationen  finden  Sie  im  Whitepaper  zur  Verwendung  von  AWS  bei  einer  Notfallwiederherstellung  (Using   AWS  for  Disaster  Recovery)7.  

Phase  6:  Optimierungsphase     In  dieser  Phase  sollten  Sie  sich  darauf  konzentrieren,  wie  Sie  Ihre  cloudbasierte  Anwendung  optimieren  können,  um   höhere  Kosteneinsparungen  zu  erzielen.  Da  Sie  nur  für  die  genutzten  Ressourcen  bezahlen,  sollten  Sie  eine  maximale   Optimierung  Ihres  Systems  anstreben.  In  den  meisten  Fällen  schaffen  Optimierungen  unmittelbar  Mehrwert.  Eine  kleine   Optimierung  kann  zu  Einsparungen  in  Höhe  von  mehreren  tausend  US-­‐Dollar  in  der  nächsten  Monatsrechnung  führen.   In  dieser  Phase  können  Sie  die  folgenden  Fragen  stellen:   •

Wie  kann  ich  einige  der  anderen  AWS-­‐Funktionen  und  -­‐Services  nutzen,  um  weitere  Kostensenkungen  zu   erzielen?  



Wie  kann  ich  die  Effizienz  meiner  Installation  steigern  (und  Verschwendung  reduzieren)?  



Wie  kann  ich  meine  Anwendungen  organisieren,  um  einen  besseren  Einblick  in  meine  bereitgestellten   Anwendungen  zu  haben?  Wie  kann  ich  Metriken  festlegen,  um  die  Performance  kritischer  Anwendungen  zu   messen?  



Verfüge  ich  über  die  erforderlichen  cloudfähigen  Systemadministrationstools  für  die  Verwaltung  und   Wartung  meiner  Anwendungen?    



Wie  kann  ich  meine  Anwendung  und  Datenbank  optimieren,  damit  sie  elastischer  wird?  

Erfassung  Ihrer  Nutzungsmuster   Mit  der  Cloud  müssen  Sie  nicht  die  Kunst  der  Kapazitätsplanung  beherrschen,  da  Sie  eine  automatisierte  elastische   Umgebung  erstellen  können.  Wenn  Sie  Ihre  Auslastungsmuster  verstehen,  überwachen,  untersuchen  und  beobachten,   können  Sie  diese  elastische  Umgebung  effektiver  verwalten.  Sie  können  proaktiver  sein,  wenn  Sie  Ihre  Datenmuster   verstehen.  Zum  Beispiel,  wenn  Ihre  in  einer  globalen  AWS-­‐Infrastruktur  bereitgestellte  kundenseitige  Website  aus  einem   bestimmten  Teil  der  Welt  zu  einer  bestimmten  Uhrzeit  keinen  Datenverkehr  erwartet,  können  Sie  Ihre  Infrastruktur  in   dieser  AWS-­‐Region  für  diesen  Zeitpunkt  nach  unten  skalieren.  Je  enger  Sie  Ihren  Datenverkehr  an  den  von  Ihnen   genutzten  Cloudressourcen  ausrichten,  desto  höher  werden  die  Kosteneinsparungen  ausfallen.   Abschalten  von  nicht  ausgelasteten  Instanzen   Überprüfen  Sie  regelmäßig  die  Systemlogs  und  Zugriffslogs,  um  sich  über  die  Nutzungs-­‐  und  Lebenszyklusmuster  der   einzelnen  Amazon  EC2-­‐Instanzen  zu  informieren.  Beenden  Sie  Ihre  nicht  verwendeten  Instanzen.  Versuchen  Sie,  nicht   ausgelastete  Instanzen  entbehrlich  zu  machen,  um  die  Auslastung  des  gesamten  Systems  zu  erhöhen.  Sie  können   beispielsweise  prüfen,  ob  eine  Anwendung,  die  auf  einer  großen  Instanz  läuft,  nicht  besser  auf  zwei  kleinere  und   günstigere  Instanzen  verteilt  werden  kann.   Nutzung  von  reservierten  Amazon  EC2-­‐Instanzen   Sie  haben  die  Möglichkeit,  gegen  eine  geringe  einmalige  Zahlung  Instanzen  zu  reservieren,  und  erhalten  im  Gegenzug   einen  beträchtlichen  Rabatt  auf  die  stündliche  nutzungsabhängige  Gebühr  für  diese  Instanz.  Versuchen  Sie,  bei  der   Erfassung  der  Nutzungsmuster  die  Instanztypen  zu  ermitteln,  die  konstant  ausgeführt  werden,  wie  z.  B.  Datenbankserver   oder  Domänencontroller.  Es  gibt  verschiedene  Typen  von  reservierten  Instanzen  mit  unterschiedlichen  Vorauszahlungen   und  unterschiedlichen  Rabatten.  Diese  können  Sie  kombinieren,  um  die  Gesamtkosten  zu  optimieren.                                                                                                                               7

 Verfügbar  unter  http://media.amazonwebservices.com/AWS_Disaster_Recovery.pdf  

  Seite  26  von  29    

 

Amazon  Web  Services  -­‐  Migrieren  von  Anwendungen  in  die  AWS  Cloud  

Oktober  2014  

Steigerung  der  Effizienz   Die  AWS  Cloud  bietet  nutzungsabhängige  Preise.  Ihnen  wird  nur  die  von  Ihnen  genutzte  Infrastruktur  in  Rechnung   gestellt.  Sie  sind  nicht  für  die  gesamte  vorhandene  Infrastruktur  verantwortlich.  Dadurch  eröffnen  sich  vollkommen   neue  Kosteneinsparungsmöglichketen.  Sie  können  genau  messbare  Optimierungen  für  Ihr  System  einführen  und  die   daraus  resultierenden  Einsparungen  in  der  nächsten  Monatsrechnung  sehen.  Wenn  beispielsweise  eine  Caching-­‐Schicht   Ihre  Datenanforderungen  um  80  %  reduzieren  kann,  werden  Sie  die  Einsparungen  bereits  in  der  nächsten  Rechnung   feststellen.     Die  Steigerung  der  Leistung  der  in  der  Cloud  ausgeführten  Anwendung  kann  ebenfalls  zu  Einsparungen  bei  den   Gesamtkosten  führen.  Wenn  Ihre  Anwendung  beispielsweise  eine  große  Menge  an  Daten  zwischen  Amazon  EC2  und   Ihrem  privaten  Rechenzentrum  überträgt,  kann  es  sinnvoll  sein,  die  Daten  vor  der  Übertragung  über  die  Datenleitung   zu  komprimieren.  Dies  kann  zu  erheblichen  Kosteneinsparungen  bei  Datenübertragung  und  Datenspeicherung  führen.   Dasselbe  Konzept  trifft  auch  auf  das  Speichern  von  Rohdaten  in  Amazon  S3  zu.  

Verwaltung  und  Wartung   Fortschrittliche  Überwachung  und  Telemetrie   Implementieren  Sie  Telemetrie  in  Ihren  Cloudanwendungen,  um  die  erforderliche  Transparenz  in  Bezug  auf  Ihre   geschäftskritischen  Anwendungen  oder  Services  zu  erhalten.  Es  ist  wichtig,  zu  beachten,  dass  die  Endbenutzer-­‐ Reaktionszeit  Ihrer  Anwendungen  nicht  allein  von  der  Cloud-­‐Infrastruktur,  sondern  von  verschiedenen  Faktoren,  wie   z.  B.  ISP-­‐Konnektivität,  Drittanbieter-­‐Services,  Browser  und  Hops,  abhängt.  Durch  das  Messen  und  Überwachen  der   Leistung  Ihrer  Cloudanwendungen  erhalten  Sie  die  Möglichkeit,  Leistungsprobleme  proaktiv  festzustellen  und  die   zugrundeliegenden  Ursachen  zu  identifizieren,  um  dann  geeignete  Maßnahmen  zu  ergreifen.  Wenn  beispielsweise  ein   Endbenutzer,  der  auf  den  nächstgelegenen  Knoten  Ihrer  global  gehosteten  Anwendung  zugreift,  eine  niedrigere   Antwortrate  feststellt,  können  Sie  eventuell  versuchen,  mehr  Webserver  zu  starten.  Sie  können  sich  Benachrichtigungen   mithilfe  des  Amazon  Simple  Notifications  Service  (HTTP/E-­‐Mail/SQS)  senden,  wenn  sich  die  Metrik  (einer  vorgegebenen   AWS-­‐Ressource  oder  einer  Anwendung)  einem  ungewünschten  Schwellenwert  nähert.   Überwachung  Ihrer  AWS-­‐Nutzung  und  Logs   Überwachen  Sie  regelmäßig  Ihre  AWS-­‐Nutzungsabrechnung,  Service-­‐API-­‐Nutzungsberichte  und  Amazon  S3-­‐  oder   Amazon  CloudFront-­‐Zugriffsprotokolle.  Nutzen  Sie  dazu  auch  AWS  CloudTrail,  einen  Web-­‐Service,  der  Aufrufe  von  AWS-­‐ APIs  für  Ihr  Konto  aufzeichnet  und  Protokolldateien  an  Sie  übermittelt.  Der  AWS-­‐API-­‐Aufrufverlauf,  der  von  CloudTrail   generiert  wird,  ermöglicht  eine  Sicherheitsanalyse,  Nachverfolgung  von  Ressourcenänderungen  und  Überwachung  der   Einhaltung  von  Vorschriften.   Aufrechterhaltung  der  Sicherheit  Ihrer  Anwendungen   Stellen  Sie  sicher,  dass  die  Anwendungssoftware  konsistent  und  immer  auf  dem  neuesten  Stand  ist  und  dass  Sie  die   neuesten  Sicherheits-­‐Patches  der  jeweiligen  Anbieter  Ihrer  Betriebssysteme  und  Anwendungen  anwenden.  Wenden  Sie   ein  Patch  auf  ein  AMI  an,  statt  auf  eine  Instanz,  und  führen  Sie  häufig  ein  erneutes  Deployment  durch.  Stellen  Sie  sicher,   dass  das  neueste  AMI  für  alle  Ihre  Instanzen  verteilt  wird.  

Umgestalten  Ihrer  Anwendung   Um  eine  hoch  skalierbare  Anwendung  zu  erstellen,  müssen  einige  Komponenten  möglicherweise  umgestaltet   werden,  damit  sie  optimal  in  einer  Cloud-­‐Umgebung  ausgeführt  werden  können.  Manche  bestehende   Unternehmensanwendungen  müssen  eventuell  umgestaltet  werden,  um  eine  elastische  Ausführung  zu  ermöglichen.   Einige  Fragen,  die  Sie  stellen  können:     Seite  27  von  29    

 

Amazon  Web  Services  -­‐  Migrieren  von  Anwendungen  in  die  AWS  Cloud  

Oktober  2014  



Können  Sie  Ihre  Anwendung  in  ein  AMI  packen  und  bereitstellen,  damit  es  auf  einer  Amazon  EC2-­‐Instanz   ausgeführt  werden  kann?  Können  Sie  gegebenenfalls  mehrere  Instanzen  der  Anwendung  auf  einer  EC2-­‐ Instanz  ausführen?  Oder  können  Sie  mehrere  Instanzen  der  Anwendung  auf  mehrere  Amazon  EC2-­‐ Instanzen  verteilen?  



Ist  es  möglich,  das  System  so  zu  gestalten,  dass  es  beim  Auftreten  eines  Fehlers  ausreichend  stabil  ist,   um  einen  Neustart  durchzuführen?  



Können  Sie  die  Anwendung  in  Komponenten  aufteilen  und  diese  auf  separaten  Amazon  EC2-­‐Instanzen   ausführen?  Können  Sie  beispielsweise  eine  komplexe  Webanwendung  in  einzelne  Komponenten  oder  Web-­‐ ,  Anwendungs-­‐  und  DB-­‐Schichten  aufteilen  und  diese  auf  separaten  Instanzen  ausführen?  



Können  Sie  zustandsbehaftete  Komponenten  extrahieren  und  sie  zustandslos  (stateless)  machen?  



Besteht  die  Möglichkeit  einer  Anwendungspartitionierung  (Aufteilung  der  Lasten  auf  viele  kleinere   Maschinen  anstelle  weniger  großer  Maschinen)?  



Ist  es  möglich,  die  Komponenten  zu  isolieren  und  mithilfe  von  Amazon  SQS  zu  koppeln?  



Können  Sie  Code  von  der  Bereitstellung  und  Konfiguration  entkoppeln?  

Aufteilen  Ihrer  relationalen  Datenbank   Die  meisten  herkömmlichen  Unternehmensanwendungen  verwenden  in  der  Regel  ein  relationales  Datenbanksystem.   Datenbankadministratoren  starten  oft  mit  einem  DB-­‐Schema  auf  Grundlage  der  Anweisungen  des  Entwicklers.   Unternehmensentwickler  setzen  unbegrenzte  Skalierbarkeit  auf  festen  Infrastrukturen  voraus  und  entwickeln  die   Anwendung  entsprechend  diesem  Schema.  Entwickler  und  Datenbankarchitekten  tauschen  sich  unter  Umständen   nicht  darüber  aus,  welche  Art  von  Daten  verarbeitet  wird,  wodurch  es  extrem  schwierig  wird,  diese  relationale   Datenbank  zu  skalieren.  Dies  kann  dazu  führen,  dass  viel  Zeit  verschwendet  wird,  um  Daten  in  eine  "größere  Box"  mit   mehr  Speicherkapazität  zu  migrieren  oder  um  sie  zu  Skalieren,  damit  mehr  Rechenleistung  verfügbar  ist.  Durch  das   Verschieben  in  die  Cloud  ergibt  sich  die  Möglichkeit,  das  derzeitige  Managementsystem  für  relationale  Datenbanken   (RDBMS)  zu  analysieren  und  es  im  Rahmen  der  Migration  skalierbarer  zu  machen.  Folgende  Techniken  können  Ihnen   helfen,  Ihr  RDBMS  zu  entlasten:   •

Große  BLOBs  und  Mediendateien  in  Amazon  S3  verschieben  und  den  Namen  (S3-­‐Schlüssel)  in  Ihrer   bestehenden  Datenbank  speichern  



Zugehörige  Metadaten  oder  Kataloge  in  Amazon  DynamoDB  und  Amazon  CloudSearch  verschieben    



Nur  die  Daten  behalten,  die  in  der  relationalen  Datenbank  absolut  notwendig  sind  (Joins)    



Alle  relationalen  Daten  zu  Amazon  RDS  verschieben,  um  die  Flexibilität  zu  erhalten,  die  Datenverarbeitungs-­‐   und  Speicherressourcen  Ihrer  Datenbank  nur  bei  Bedarf  über  einen  API-­‐Aufruf  zu  skalieren  



Die  gesamte  Lesezugriffslast  zu  mehreren  Lesereplikaten  (Slaves)  oder  Amazon  ElastiCache  auslagern    



Die  Daten  auf  Grundlage  von  Element-­‐IDs  oder  -­‐Namen  horizontal  partitionieren  

Implementieren  von  Best  Practices   Implementieren  Sie  verschiedene  Best  Practices,  die  im  Whitepaper  "Architecting  for  the  Cloud"  beschrieben  werden   und  schauen  Sie  sich  die  Hinweise  an,  die  der  AWS  Trusted  Advisor  automatisch  für  Ihr  Deployment  erzeugt.  Diese  Best   Practices  helfen  Ihnen  nicht  nur  beim  Erstellen  einer  hoch  skalierbaren,  für  die  Cloud  geeigneten  Anwendung,  sondern   unterstützen  Sie  auch  beim  Erstellen  einer  sichereren  und  elastischeren  Anwendung.       Seite  28  von  29    

 

Amazon  Web  Services  -­‐  Migrieren  von  Anwendungen  in  die  AWS  Cloud  

Oktober  2014  

Zusammenfassung   Die  AWS  Cloud  gewährleistet  Skalierbarkeit,  Elastizität,  Agilität  und  Zuverlässigkeit  im  Unternehmen.  Um  die  Vorteile  der   AWS  Cloud  nutzen  zu  können,  sollten  Unternehmen  eine  phasenorientierte  Migrationsstrategie  anwenden  und   versuchen,  so  bald  wie  möglich  von  der  Cloud  zu  profitieren.  Die  meisten  Anwendungen  können  in  die  Cloud  verschoben   werden,  unabhängig  davon,  ob  es  sich  um  eine  typische  dreistufige  Webanwendung,  eine  nächtliche  Batchverarbeitung   oder  einen  komplexen  Backend-­‐Verarbeitungs-­‐Workflow  handelt.  Der  in  diesem  Dokument  beschriebene  Plan  stellt   einen  bewährten,  schrittweisen  Ansatz  für  die  Cloud-­‐Migration  dar.  Kunden,  die  diesen  Plan  einhalten  und  sich  auf  das   Erstellen  eines  Machbarkeitsnachweises  konzentrieren,  werden  die  Vorteile  in  ihren  Machbarkeitsnachweis-­‐Projekten   unmittelbar  feststellen  und  das  gewaltige  Potenzial  der  AWS  Cloud  erkennen.  Nachdem  Sie  Ihre  erste  Anwendung  in  die   Cloud  verschoben  haben,  werden  Sie  weitere  Möglichkeiten  entdecken  und  die  Vorteile  erkennen,  die  das  Verschieben   weiterer  Anwendungen  in  die  Cloud  bietet.  

Weitere  Informationen   1. Migrationsszenario  1:  Migrieren  von  Webanwendungen  in  die  AWS  Cloud   2. Migrationsszenario  2:  Migrieren  von  Batchverarbeitungsanwendungen  in  die  AWS  Cloud   3. Migrationsszenario  3:  Migrieren  von  Backend-­‐Verarbeitungs-­‐Pipelines  in  die  AWS  Cloud    

  Seite  29  von  29