Sascha Dittmann
Software Developer / Solution Architect
              Twitter: @SaschaDittmann
  Blog: http://www.sascha-dittmann.de


        Run your Cloud.
Die Windows Azure Plattform
(on-premise)
 Client Layer




                Office                         Games
                Add-in         PC              Console                                        Browser       Tablet           Phone
Application
Integration




                                        Traffic           Access                                                         Virtual
                CDN                     Manager           Control        Caching       Service Bus      Connect          Network
Business
 Layer




                                    Cloud                                                                   Virtual
                   Web Sites        Services             Web Role      Worker Role          VM Role         Machines         Mobile Serv.
Data Layer




                Tables         Queues          Blobs           Drive          Media Serv.     Database/BI    Data Sync       Big Data
Windows Azure Cloud Services (PaaS)
(on-premise)
 Client Layer




                                                                          Browser
Application
Integration




                                                              Caching
Business
 Layer




                              Cloud
                              Services           Web Role   Worker Role
Data Layer




                Tables   Queues          Blobs                            Database
Voraussetzungen für Cloud Services
                                     Mindestens 2 Instanzen pro Rolle
                                        Hochverfügbarkeit (SLA 99,9%)
         Loadbalancer
                                        Ausführungsort einer Instanz
                        Instance2
                     Instance2
                 Instance2…
                                         kann zur Laufzeit wechseln
 Instance1               (Ready)
                      (Ready)
  (Ready)          (Ready)               (z.B. bei Hardware-Ausfall, Host-
                                         oder Guest-Upgrade, …)
                                     Zustandsloses Design
             DB/Storage              Geeignete Persistenzoption
              [Shared]
                                     Lose Koppelung der Instanzen
                                      (z.B. über Service Bus, Queues,
                                      …)
Persistenz
                  SQL Database    WA Tables       WA Queues       WA Blobs        WA Drives       Lokales FS
Informationstyp   Tabellen mit    Key-Value       Nachrichten     Blobs           flexibel        flexibel
                  Schema          (NoSQL)

Redundanz         Ja, 3-fach      Ja, 3-fach      Ja, 3-fach      Ja, 3-fach      Ja, 3-fach      Nein
Toleranz gegen    Ja              Ja              Ja              Ja              Ja              Nein
Instanzausfall

Zugriffs-         Sehr gut,       Gut, ein Key    Nein            Nein            Nein            Nein
optimierung       flexible Keys

Datendurchsatz    Hoch            Hoch            Hoch            Hoch            Hoch            Sehr hoch
Schnittstelle     TDS             REST            REST            REST            NTFS            NTFS
Kosten            Datenbank-      Tatsächlicher   Tatsächlicher   Tatsächlicher   Tatsächlicher   Keine
                  Maximalgröße    Speicher        Speicher        Speicher        Speicher

Zugriffskosten    Keine           Pro             Pro             Pro             Pro             Keine
                                  Transaktion     Transaktion     Transaktion     Transaktion

Typisches         Relationale     • Session-      Asynchrone      Ablage von      Einsatz von     Caching von
Einsatz-          Datenbank         Persistenz    Kommunikatio    Binärdaten      Frameworks,     Daten
szenarien                         • Massendaten   n (z.B.         (z.B.           die ein
                                    mit einem     zwischen        Dokumente,      Dateisystem
                                    Schlüssel     Rollen)         Multimedia)     benötigen
Data Layer       Business   Application    Client Layer
                  Layer     Integration   (on-premise)




              Web Sites
                                                          Windows Azure Web Sites

                                           Browser




Database/BI
Windows Azure Web Sites

 „klassisches Hosting“ mit Upgrade Pfad
 Schnelles und Einfaches Deployment
  (FTP, Git, TFS, Visual Studio, WebMatrix, …)
 Hosting von Node.JS, ASP, ASP.NET, Java, Python, etc.
 Nutzen weiterer Cloud Dienste
  (SQL Database, mySQL, Caching, CDN, Storage, …)
 Katalog mit vorgefertigter Software
Windows Azure Virtual Machines (IaaS)
(on-premise)
 Client Layer




                Office        Games
                Add-in   PC   Console   Browser   Tablet         Phone
Application
Integration




                                                             Virtual
                                                             Network
Business
 Layer




                                                  Virtual
                                                  Machines
Data Layer
Windows Azure Virtual Machines (IaaS)

 Windows Server sowie Linux Betriebssysteme
 Katalog mit vorgefertigten Virtuelle Maschinen
 Persistente Festplatten (VHD 3-fach redundant)
 Sichere Verbindung ins eigene Rechenzentrum durch VPN
 Migration ohne Codeveränderungen
 Transfer von Virtuellen Maschinen zwischen dem eigenen
  Rechenzentrum und der Cloud
Integration / Hybride Szenarien
(on-premise)
 Client Layer
Application
Integration




                           Access                                   Virtual
                           Control   Service Bus   Connect          Network
Business
 Layer
Data Layer




                                                        Data Sync
Internationale Szenarien
(on-premise)
 Client Layer
Application
Integration




                         Traffic
                CDN      Manager
Business
 Layer




                      Cloud
                      Services     Web Role   Worker Role   VM Role
Data Layer
Data Layer        Business   Application    Client Layer
                   Layer     Integration   (on-premise)




Blobs
                                                           Mobile Endgeräte




Media Serv.
                                            Tablet
                                            Phone




              Mobile Serv.
Multimandantenfähigkeit

Mandant A    Mandant B       Mandant A      Mandant B        Mandant A      Mandant B


Logik        Logik           Logik                           Logik


Daten-       Daten-          Daten-        Daten-            Datenbank
bank         bank            bank          bank
A            B               A             B

 Virtuelle    Virtuelle          Virtuelle Hardware-             Virtuelle Hardware-
Umgebung A   Umgebung B              Umgebung                        Umgebung


  Geringste Änderung an der Software                Beste Auslastung der Infrastruktur
Multimandantenfähigkeit

Mandant A      Mandant B      Mandant A      Mandant B       Mandant A      Mandant B


Logik          Logik          Logik                          Logik
     Möglicher
    Startpunkt
Daten-    Daten-             Möglicher Innovationspfad
                              Daten-   Daten-    Datenbank
bank           bank
           Fokus:             bank        bank
                             Fokus: Ressourcenoptimierung und
A              B              A           B
      Grundlegende                   Kostenreduzierung
  Virtuelle der Cloud
   Vorteile      Virtuelle        Virtuelle Hardware-            Virtuelle Hardware-
Umgebung A     Umgebung B             Umgebung                       Umgebung


  Geringste Änderung an der Software                Beste Auslastung der Infrastruktur
Checkliste für die Migration

 Werden persistente Daten im Dateisystem gespeichert?
 Werden Sessions verwendet?
 Werden Komponenten installiert / registriert, etc.
 Brauchen Sie mehrere virtuelle Verzeichnisse oder Sites?
 Wird eine Datenbank verwendet?
 Absichern der Anwendung: IPFilter, ADFS, Zertifikate
Migration von Web-Anwendungen

 Migration auf VS2010/VS2012
 Anpassen der web.config
    Session Management
    Profile / Membership-Provider
    Datenbank-Verbindungen
 Test im Compute Emulator
  mit mindestens 2 Instanzen
Migration anderer Anwendungen

 Klärung der Persistenz
 Manuelle Installation der Anwendung per Remote
  Desktop
 Paketierung der Anwendung zur automatisierten
  Installation per Startup-Task
SQL Database vs. Virtual Machines

 Full-Text Search
 CLR Types
 SQL Server Analysis Services / Integration Services
Migration einer Datenbank

                 Leere Datenbank in der Cloud
                  anlegen
                 SQL Migration Wizard starten
                 Alternativ:
                  DACPAC / BACPAC Migration
                   SQL Server 2012
                   SQL Server Data Tools
Run your Cloud.

3 Wege in die Cloud, Sascha Dittmann, Ernst & Young

  • 1.
    Sascha Dittmann Software Developer/ Solution Architect Twitter: @SaschaDittmann Blog: http://www.sascha-dittmann.de Run your Cloud.
  • 3.
    Die Windows AzurePlattform (on-premise) Client Layer Office Games Add-in PC Console Browser Tablet Phone Application Integration Traffic Access Virtual CDN Manager Control Caching Service Bus Connect Network Business Layer Cloud Virtual Web Sites Services Web Role Worker Role VM Role Machines Mobile Serv. Data Layer Tables Queues Blobs Drive Media Serv. Database/BI Data Sync Big Data
  • 4.
    Windows Azure CloudServices (PaaS) (on-premise) Client Layer Browser Application Integration Caching Business Layer Cloud Services Web Role Worker Role Data Layer Tables Queues Blobs Database
  • 5.
    Voraussetzungen für CloudServices  Mindestens 2 Instanzen pro Rolle  Hochverfügbarkeit (SLA 99,9%) Loadbalancer  Ausführungsort einer Instanz Instance2 Instance2 Instance2… kann zur Laufzeit wechseln Instance1 (Ready) (Ready) (Ready) (Ready) (z.B. bei Hardware-Ausfall, Host- oder Guest-Upgrade, …)  Zustandsloses Design DB/Storage  Geeignete Persistenzoption [Shared]  Lose Koppelung der Instanzen (z.B. über Service Bus, Queues, …)
  • 6.
    Persistenz SQL Database WA Tables WA Queues WA Blobs WA Drives Lokales FS Informationstyp Tabellen mit Key-Value Nachrichten Blobs flexibel flexibel Schema (NoSQL) Redundanz Ja, 3-fach Ja, 3-fach Ja, 3-fach Ja, 3-fach Ja, 3-fach Nein Toleranz gegen Ja Ja Ja Ja Ja Nein Instanzausfall Zugriffs- Sehr gut, Gut, ein Key Nein Nein Nein Nein optimierung flexible Keys Datendurchsatz Hoch Hoch Hoch Hoch Hoch Sehr hoch Schnittstelle TDS REST REST REST NTFS NTFS Kosten Datenbank- Tatsächlicher Tatsächlicher Tatsächlicher Tatsächlicher Keine Maximalgröße Speicher Speicher Speicher Speicher Zugriffskosten Keine Pro Pro Pro Pro Keine Transaktion Transaktion Transaktion Transaktion Typisches Relationale • Session- Asynchrone Ablage von Einsatz von Caching von Einsatz- Datenbank Persistenz Kommunikatio Binärdaten Frameworks, Daten szenarien • Massendaten n (z.B. (z.B. die ein mit einem zwischen Dokumente, Dateisystem Schlüssel Rollen) Multimedia) benötigen
  • 8.
    Data Layer Business Application Client Layer Layer Integration (on-premise) Web Sites Windows Azure Web Sites Browser Database/BI
  • 9.
    Windows Azure WebSites  „klassisches Hosting“ mit Upgrade Pfad  Schnelles und Einfaches Deployment (FTP, Git, TFS, Visual Studio, WebMatrix, …)  Hosting von Node.JS, ASP, ASP.NET, Java, Python, etc.  Nutzen weiterer Cloud Dienste (SQL Database, mySQL, Caching, CDN, Storage, …)  Katalog mit vorgefertigter Software
  • 10.
    Windows Azure VirtualMachines (IaaS) (on-premise) Client Layer Office Games Add-in PC Console Browser Tablet Phone Application Integration Virtual Network Business Layer Virtual Machines Data Layer
  • 11.
    Windows Azure VirtualMachines (IaaS)  Windows Server sowie Linux Betriebssysteme  Katalog mit vorgefertigten Virtuelle Maschinen  Persistente Festplatten (VHD 3-fach redundant)  Sichere Verbindung ins eigene Rechenzentrum durch VPN  Migration ohne Codeveränderungen  Transfer von Virtuellen Maschinen zwischen dem eigenen Rechenzentrum und der Cloud
  • 13.
    Integration / HybrideSzenarien (on-premise) Client Layer Application Integration Access Virtual Control Service Bus Connect Network Business Layer Data Layer Data Sync
  • 14.
    Internationale Szenarien (on-premise) ClientLayer Application Integration Traffic CDN Manager Business Layer Cloud Services Web Role Worker Role VM Role Data Layer
  • 15.
    Data Layer Business Application Client Layer Layer Integration (on-premise) Blobs Mobile Endgeräte Media Serv. Tablet Phone Mobile Serv.
  • 16.
    Multimandantenfähigkeit Mandant A Mandant B Mandant A Mandant B Mandant A Mandant B Logik Logik Logik Logik Daten- Daten- Daten- Daten- Datenbank bank bank bank bank A B A B Virtuelle Virtuelle Virtuelle Hardware- Virtuelle Hardware- Umgebung A Umgebung B Umgebung Umgebung Geringste Änderung an der Software Beste Auslastung der Infrastruktur
  • 17.
    Multimandantenfähigkeit Mandant A Mandant B Mandant A Mandant B Mandant A Mandant B Logik Logik Logik Logik Möglicher Startpunkt Daten- Daten- Möglicher Innovationspfad Daten- Daten- Datenbank bank bank Fokus: bank bank Fokus: Ressourcenoptimierung und A B A B Grundlegende Kostenreduzierung Virtuelle der Cloud Vorteile Virtuelle Virtuelle Hardware- Virtuelle Hardware- Umgebung A Umgebung B Umgebung Umgebung Geringste Änderung an der Software Beste Auslastung der Infrastruktur
  • 19.
    Checkliste für dieMigration  Werden persistente Daten im Dateisystem gespeichert?  Werden Sessions verwendet?  Werden Komponenten installiert / registriert, etc.  Brauchen Sie mehrere virtuelle Verzeichnisse oder Sites?  Wird eine Datenbank verwendet?  Absichern der Anwendung: IPFilter, ADFS, Zertifikate
  • 20.
    Migration von Web-Anwendungen Migration auf VS2010/VS2012  Anpassen der web.config  Session Management  Profile / Membership-Provider  Datenbank-Verbindungen  Test im Compute Emulator mit mindestens 2 Instanzen
  • 21.
    Migration anderer Anwendungen Klärung der Persistenz  Manuelle Installation der Anwendung per Remote Desktop  Paketierung der Anwendung zur automatisierten Installation per Startup-Task
  • 22.
    SQL Database vs.Virtual Machines  Full-Text Search  CLR Types  SQL Server Analysis Services / Integration Services
  • 23.
    Migration einer Datenbank  Leere Datenbank in der Cloud anlegen  SQL Migration Wizard starten  Alternativ: DACPAC / BACPAC Migration  SQL Server 2012  SQL Server Data Tools
  • 25.