Skalieren von SaaS Anwendungen. Patric Boscolo, Developer Evangelist, patbosc@microsoft.com, Microsoft Deutschland GmbH

Ähnliche Dokumente
Was ist Windows Azure? (Stand Juni 2012)

Microsoft Azure: Ein Überblick für Entwickler. Malte Lantin Technical Evangelist, Developer Experience & Evangelism (DX) Microsoft Deutschland GmbH

Windows Azure für Java Architekten. Holger Sirtl Microsoft Deutschland GmbH

Microsoft Azure Fundamentals MOC 10979

Introduction to Azure for Developers MOC 10978

Nico Orschel AIT GmbH & Co KG Marc Müller 4tecture GmbH. 95 Prozent brauchen es, 5 Prozent machen es: Load Testing mit VS leicht gemacht

Microsoft Azure für Java Entwickler

LOAD TESTING 95% BRAUCHEN ES, 5 % MACHEN ES: LOAD TESTING MIT VS LEICHTGEMACHT NICO ORSCHEL MVP VS ALM, CONSULTANT

Visual Studio 2015* Neues für Entwickler rund um. Daniel Meixner *CTP6. Technical Evangelist Microsoft Deutschland GmbH

cpakademie MS Azure Die Microsoft Cloud Wolkig (?) mit Sonnenschein (?) 20. August 2011 Seesharp Party Robert Eichenseer

Hybride Cloud-Infrastrukturen Bereitstellung & Verwaltung mit System Center 2012

Zend Server Cluster Manager

HERZLICH WILLKOMMEN SHAREPOINT DEEP DIVE FOR ADMINS IOZ AG 2

Unternehmen-IT sicher in der Public Cloud

Gliederung. Was ist Cloud Computing Charakteristiken Virtualisierung Cloud Service Modelle Sicherheit Amazon EC2 OnLive Vorteile und Kritik

Persönlichkeiten bei bluehands

Zend PHP Cloud Application Platform

UG Ingolstadt. Auf die Cloud, Fertig, Los MS Azure Die Microsoft Cloud. 21. Februar 2012.NET Usergroup München. Robert Eichenseer

Jörg Neumann Acando GmbH

ALM As-A-Service TFS zur hausinternen Cloud ausbauen

Raber+Märcker Techno Summit 2014 Microsoft Dynamics NAV 2013 R2 Überblick und Hintergründe zu aktuellen Version.

Whitepaper. Produkt: combit List & Label 16. List & Label Windows Azure. combit GmbH Untere Laube Konstanz


Mobile Backend in der

Anleitung zum Prüfen von WebDAV

Time To Market. Eine Plattform für alle Anforderungen. Lokale Betreuung (existierende Verträge und Vertragspartner, ) Kosten

Technik der SAP-Anbindung Christian Aigner Team Entwicklung, Kranzberg

Office 365 Partner-Features

Lokale Installation von DotNetNuke 4 ohne IIS

Grundlagen und Best Practices bei der SharePoint Entwicklung

{ Light up the Web } Oliver Scheer. Evangelist Microsoft Deutschland

SQL Azure Technischer Überblick. Steffen Krause Technical Evangelist Microsoft Deutschland GmbH

Cloud! dotnet Usergroup Berlin. Sein oder nicht sein!?! Robert Eichenseer

Cloud-Provider im Vergleich. Markus

MOC Entwicklung von ASP.NET MVC 4 Webapplikationen

Agenda. Ausgangssituation (Beispiel) PaaS oder IaaS? Migrationspfade Deep Dives. IaaS via Azure Site Recovery PaaS via SQL Deployment Wizard

MICROSOFT WINDOWS AZURE

The app the crashes, before the breakpoint is reached: Code to the event:

Apollo Überblick. Klaus Kurz. Manager Business Development Adobe Systems Incorporated. All Rights Reserved.

TELEMETRIE EINER ANWENDUNG

PostgreSQL in großen Installationen

Session Storage im Zend Server Cluster Manager

After fire and the wheel, cloud is the new game changer.

ALM & DevOps Day. 24. September 2015, Zürich Oerlikon. 07. November, Zürich-Oerlikon

DEPLOYMENTS MIT DOCKER. Created by Wojciech Pietrzak

Donato Quaresima Matthias Hirsch

Scaling Rails. Jonathan Weiss, Peritor GmbH

Windows Server 2008 für die RADIUS-Authentisierung einrichten

Selectron Fleet Diagnosis

Was ist bei der Entwicklung sicherer Apps zu beachten?


Powershell DSC Oliver Ryf

Mobile-Szenario in der Integrationskomponente einrichten

Installation SQL- Server 2012 Single Node

Die Erfolge der Anderen

Live aus der Cloud. im Kundeneinsatz. Michael Flum Business Development Manager

Der Cloud Point of Purchase. EuroCloud Conference, 18. Mai 2011 (Christoph Streit, CTO & Co-Founder ScaleUp)"

Ruben Deyhle Proseminar Konzepte für Daten- und Prozess-Management. Cloud Computing mit Windows Azure

Wie Amazon mit Hilfe von Technologie und Daten erfolgreich ist Startup Firmen in Deutschland und weltweit haben Agilität, Innovation und globale

ALM mit Visual Studio Online. Philip Gossweiler Noser Engineering AG

UM ALLE DATEN ZU KOPIEREN. ZUNÄCHST die Daten des alten Telefons auf einen Computer kopieren

Multimandantenfähige ConfigMgr Infrastruktur

EEX Kundeninformation

TFS Customzing. in der Praxis. Thomas Gugler. seit 2005 bei ANECON. .NET seit 2002 (happy bday!) Schwerpunkte: MCPD.Net 4.0, MCTS TFS, Scrum Master,

:: Anleitung Hosting Server 1cloud.ch ::

ZENTRALER INFORMATIKDIENST DER JOHANNES KEPLER UNIVERSITÄT LINZ Abteilung Kundendienste und Dezentrale Systeme. PPP für Windows 3.

MOC 20487A: Entwicklung von Web- und Windows Azure- Diensten

Der Begriff Cloud. Eine Spurensuche. Patric Hafner geops

Next Generation Datacenter Automation und Modularisierung sind die Zukunft des Datacenters

JEAF Cloud Plattform Der Workspace aus der Cloud

Integrative Sprachdatenkommunikation zur Umsetzung der E-Government-Strategie

Vorwort Azure Cloud Computing mit Microsoft Danksagungen Kontakt zum Autor... 13

Klopotek goes Cloud computing Peter Karwowski. Frankfurt, 14. Oktober 2015

Microsoft SharePoint. share it, do it!

Acronis Backup Cloud explained

Administrator Handbuch

Dynamic Ressource Management

Isabel Arnold CICS Technical Sales Germany z/os Explorer IBM Corporation

-Machen.

4 Installation und Verwaltung

ShareFile Jörg Vosse

AK Medientechnologien 09 App Store Submission. Josef Kolbitsch

Flowy Apps erzählt eine kurze Geschichte über REDS. Remotely Encrypted Distributed Storage

InfoPoint vom 9. November 2011

GKSpro WebServer. Überblick. Web Server. GKSpro. Datenbank. GKSpro. InfoBrief Nr. 61 November GKSpro WebServer.

ORACLE CLOUD VERLEIHT ADF ANWENDUNGEN FLÜGEL. Andreas Koop CEO & Consultant Oracle Technologies

QS solutions GmbH. präsentiert das Zusammenspiel von. Ihr Partner im Relationship Management

The linux container engine. Peter Daum

HERZLICH WILLKOMMEN SHAREPOINT 2013 DEEP DIVE - APPS IOZ AG 1

Installation der kostenlosen Testversion

1 Was ist das Mediencenter?

Tuning des Weblogic /Oracle Fusion Middleware 11g. Jan-Peter Timmermann Principal Consultant PITSS

Identity & Access Management in der Cloud

INHALTSVERZEICHNIS... 1

Windows 8 bereitstellen das Microsoft Deployment Toolkit. Heike Ritter

Java WebApps und Services in der Oracle Cloud

Portal for ArcGIS - Eine Einführung

Sie müssen sich für diesen Fall mit IHREM Rechner (also zeitgut jk o.ä.) verbinden, nicht mit dem Terminalserver.

Preise und Leistungen Dynamic Computing Services

Transkript:

Skalieren von SaaS Anwendungen Patric Boscolo, Developer Evangelist, patbosc@microsoft.com, Microsoft Deutschland GmbH

Windows Azure Cloud Services Developer Resources

Windows Azure Windows Azure Services Cloud Services Developer Resources

Was ist eine SaaS Anwendung? Twitter VLOG UNIVERSITY #15 Datacenter ab 50 /mtl Hotmail 99 Facebook Video -20% Dashboard

Verteilte Anwendung Client Phone Sicher Server Global Connected

Everything is failing all the time You are responsible!

Was muss ich tun? Was kann der Anbieter für mich tun?

Skalierung? Vertikale Skalierung Horizontale Skalierung Horizontale Skalierung Horizontale Skalierung Mehr Ressourcen Mehr Instanzen

IDE Unterstützung Visual Studio + Windows Azure SDK 1.6 http://www.windowsazure.com/en-us/develop/net/ Eclipse + Windows Azure SDK für Java http://www.windowsazure.com/en-us/develop/java/ Windows Azure SDK für PHP http://www.windowsazure.com/en-us/develop/php/ Powershell + node.js http://www.windowsazure.com/en-us/develop/nodejs/ Mehr finden Sie unter... http://www.windowsazure.com/en-us/develop/overview/

Deployment Staging / Production Compute Emulator Project Binaries Service Configuration Service Definition

Wie verhält sich meine App unter Last?

#1 Production vs. Development

MESSEN & SKALIEREN Unit Test Load Test Windows Azure Diagnostics Windows Azure Diagnostics Manager http://www.cerebrata.com/products/azurediagnosticsmanager

There is no place like 127.0.0.1 Production

#2 scale all parts

Meine Superawesome Webseite http://myapp.cloudapp.net Meine Superawesome Webseite http://myapp.cloudapp.net Meine Superawesome Webseite http://myapp.cloudapp.net Scale me too!!! ;-) n Webroles 1 Database It s better to have 50 times 1GB db, then a single 50GB db. How to scale a db? Partitioning (Alpha, User, Usage, Date)

#3 retry, again and again

Transient Conditions Transient Condition Network, Datacenter, Service... Beispiel SQL Azure Error 40501 The service is currently busy. Retry the request after 10 seconds. Transient Fault Handling Framework http://windowsazurecat.com/2011/02/transient-fault-handling-framework/ Wiederholen von externen Aufrufen SQL Azure Windows Azure Storage Service Bus 3rd Party Services

#4Work Async

Client WebApp Frontend Client Request #1 Client Response #1 Synchrone Ausführung Meine Superawesome Webseite http://myapp.cloudapp.net Thread Executes Result SQL Azure Middle Tier Storage Client Request #2 Blocking Jeder Thread ist genau für ein Request zuständig Blockiert bei jedem Schritt der Ausführung Gibt erst nach Abschluss der Ausführung (Operationen) das Resultat zurück (Respond & Repeat) Jeder ausstehende Request wird im Thread-Stack gespeichert Thread blockiert die abarbeitung der Threads im Thread-Stack Durch das Anlegen eines weiteren Threads, wird lediglich ein weitere Thread abgearbeitet

Client WebApp Frontend Asynchrone Ausführung Client Response Request #1 Client Client Response Request #2 #2 Meine Superawesome Webseite http://myapp.cloudapp.net Thread Req 1 Req 2 Response 2 Response Executes 1 Executes SQL Azure Middle Tier Storage Threads arbeiten wann immer Sie bereit sind Die Reihenfolge der Abarbeitung ist zufällig Die Requests werden in der App Datastructure verwaltet Threads blockieren nicht mehr währen der Ausführung von Operationen Threads können mehrere simultane Requests abarbeiten

Solution Explorer Team Explorer Microsoft Visual Studio Item1.cs File Edit View Build Debug Team Data Tools Test Analyze Windows Help Debug Any CPU Toolbox Item1.cs Item2.cs Item3.cs void UploadImage(Stream image, CloudBlob destblob) { // Add image to list in SQL Azure AddImageToSQLAzure(destBlob.Uri); } //Upload image to blob storage UploadImageToBlob(image, destblob); async Task UploadImageAsync(Stream image, CloudBlob destblob) { //Add image to list in SQL Azure Task var t1 = AddImageToSQLAzureAsync(destBlob.Uri);

Solution Explorer Team Explorer Microsoft Visual Studio Item1.cs File Edit View Build Debug Team Data Tools Test Analyze Windows Help Debug Any CPU Toolbox Item1.cs Item2.cs Item3.cs void uploadimagetoblob(stream image, CloudBlob destblob) { destblob.uploadfromstream(image); } async Task UploadImageToBlobAsync(Stream image, CloudBlob destblob) { // Task.Factory.FromAsync method creates a Task or Task<T> // to represent a Begin/End async invocation await Task.Factory.FromAsync<Stream>(destBlob.BeginUploadFromStream, destblob.enduploadfromstream, image, null); }

#5 CDN and Optimization

evtl. viele hops oder poor links weniger hops CDN Closest Point of Presence X Blob Storage X Public Container DNS name resolves to closest POP Blob header determines time-to-live at the edge

Content Delivery Network (CDN) 24 global verteilt CDNs (99.95% Erreichbarkeit) Einrichten eines CDN via Management Portal Generiert 2 URLs für unterschiedliche Zugriffe Direkter Zugiriff: http://myacct.blob.core.windows.net/images/myimage.jpg Zugiff via CDN: http://azxxxx.vo.msecnd.net/images/myimage.jpg CNAME Mappings für CDN URLs http://blog.smarx.com/posts/using-the-new-windows-azure-cdn-with-a-custom-domain CDN für WebApps und Windows Azure Storage CSS, Images,... Smooth streaming verfügbar als CTP

Lebenszeit von Inhalten im CDN Per Default wird Content für 72 Std. gehalten Einstellen der TTL via cache control header x-ms-blob-cache-control: public, max-age=<value in seconds> Stunden, Tage, Wochen Längere Lebenszeit reduziert: Kosten, Latenzzeiten, andere Caches Verwendung von Versionierten URLs um Inhalte bei Bedarf zu ändern

Versionierte URLs Superawesome WebApp http://myapp.cloudapp.net <img src="http://azxxxx.vo.msecnd. net/images/logo.2011-09- net/images/logo.2011-11- 16.png" 22.png" /> CDN logo.2011-09-16.png logo.2011-11-22.png logo.2011-09-16.png logo.2011-11-22.png Vereinfacht das Rollback / Versionierung Ermöglicht A/B Tests

CDN für Web Apps CDN support für Webseiten http://blog.smarx.com/posts/using-the-windows-azure-cdn-for-your-web-application Normale URL: http://foo.cloudapp.net/default.aspx CDN URL: http://azxxxx.vo.msecnd.net/default.aspx Cached from: http://foo.cloudapp.net/cdn/default.aspx CNAME & HTTPS support Achtung! Die cache control headers müssen angepasst werden um das ASP.net OutputCache Modul zu unterstützen http://blogs.msdn.com/b/scicoria/archive/2011/07/10/hosted-service-as-a-windows-azure-cdn-origin-tips.aspx

#6 Use Caching

Loadbalancer Instance 1 http://myapp.cloudapp.net Instance 2 Different States

Windows Azure Caching Cache für Daten die über mehrere Instanzen hinweg zur Verfügung stehen sollen. Session State, Shopping Cart,... AppFabric Caching ist ein hosted distributed cache Global Verfügbar Low latency, hosted per subregion ACS unterstützung Vorteile Einfache Administration ASP.net Session State und Output Cache providers Nearcache für aktuelle Daten ohne Serializierungskosten

#8 Traffic Manager

Windows Azure Traffic Manager Direct users to the service in the closest region with the Windows Azure Traffic Manager foo-us.cloudapp.net Traffic Manager Policies Monitoring foo-europe.cloudapp.net foo-asia.cloudapp.net

Tables and Queues CDN Caching ACS Traffic Manager Production vs. Development Scale all Parts Retry (Transient Fault Handling) Work Async

Tables and Queues CDN Caching ACS Traffic Manager Production vs. Development Scale all Parts Retry (Transient Fault Handling) Work Async

www.windowsazure.com //blogs.msdn.com/hsirtl mailto: patbosc@microsoft.com