optimieren sie ihre aws nutzung um kosten zu sparen

47
Optimieren Sie Ihre AWS Nutzung um Kosten zu sparen Steffen Krause Technical Evangelist @AWS_Aktuell [email protected]

Upload: aws-germany

Post on 20-Aug-2015

574 views

Category:

Technology


0 download

TRANSCRIPT

Optimieren Sie Ihre AWS Nutzung um Kosten zu sparen

Steffen KrauseTechnical Evangelist

@[email protected]

• Ziel– Möglichkeiten, bei der AWS Rechnung Geld zu sparen

• Ihr Produkt oder Geschäftsmodell sollte zur Cloud passen– Verwenden Sie nur, was Sie brauchen

• Bezahlen Sie nur, was Sie nutzen

– Messen und Verwalten– Opportunistische Skalierung

Agenda

Verwenden Sie nur, was Sie brauchenBezahlen Sie nur, was Sie nutzen

Skalierung nach Bedarf

Klassische, feste Ressourcen

Verschwendung

Unzufriedene Kunden

Tatsächlicher Bedarf

Vorhergesagter Bedarf

Kap

azitä

t

Zeit

Elastische Cloud Ressourcen

Tatsächlicher Bedarf

Ressourcen skalieren nach Bedarf

Kap

azitä

t

Zeit

kontra

Kosteneinsparungs-Tipps

• Die richtige Größe– Verwenden Sie geeignete Ressourcen– Skalieren Sie nach Last hoch und herunter– Schalten Sie ungenutzte Ressourcen aus

• Kaufmodelle für Instanzen– Flexibilität kontra Vorhersagbarkeit– Mischung von Kaufmodellen

• Messen und verwalten– Überwachung zeigt Kosteneinsparungsmöglichkeiten

Die richtige EC2 Instanzgröße

StandardHigh-CPU

High-MemoryMicro

Cluster ComputeCluster GPU

High I/OHigh Storage

High Cluster Memory

Die meisten Anwendungen, Low-cost, App Server / Web

ServerDatenbanken, Datenbanken

Datenbanken…

Compute + Netzwerk Durchsatz

Scale-Out Compute, Batch Processing

Tests, niedriger Durchsatz, Websites

Parallel Processing

OLAP, Hadoop, File Systems

NoSQL, Beste Random IOPS

In-memory Apps und DBs. Beste $/RAM

EC2 Instanz-Familien

Storage-Auswahl: S3 und Glacier

• S3 und Glacier sind beide:– Sicher– Flexibel– Preiswert– Skalierbar: über 2 Billionen Kunden-Objekte– Dauerhaft: 99,999999999% (11 9en)

Amazon Glacier

Auswahl zwischen S3 und Glacier

• Amazon Simple Storage Service (S3)– Entworfen für die Bereitstellung von statischen Inhalten

• großes Volumen, geringe Latenz, häufiger Zugriff

– Ab 5,5US-Cent/GB/Monat: 11 9en Dauerhaftigkeit– Reduced Redundancy: Ab 3,7US-Cent/GB/Monat: 4 9en Dauerhaftigkeit

• Amazon Glacier– Entworfen für Langzeitspeicherung/Archivierung

• seltener Zugriff, lange Zugriffszeit (3-5 Stunden)

– Ab 1US-Cent/GB/Monat• Aber Datenzugriff dauert länger und ist teurer als bei S3

S3 und Glacier Tipps

• Optimieren Sie den Zugriff– Reduzieren Sie die Objektgröße– Anzahl Zugriffe (z.B. konsolidierte Logs)

• Überwachen Sie auf unerwartet hohe Zugriffszahl und Größenwachstum– Falsch konfigurierte Log-Archivierung

• Setzen Sie Lifecycle Policies– Object Expiration– Automatisch von S3 nach Glacier verschieben

Illumina, the leading provider of DNA sequencing instruments, uses Glacier to store large blocks of genomic data all over the world

Illumina, the leading provider of DNA sequencing instruments, uses Glacier to store large blocks of genomic data all over the world

Demo: S3 Lifecycle Rules

Kosteneinsparungs-Tipps

• Die richtige Größe– Verwenden Sie geeignete Ressourcen– Skalieren Sie nach Last hoch und herunter– Schalten Sie ungenutzte Ressourcen aus

• Kaufmodelle für Instanzen– Flexibilität kontra Vorhersagbarkeit– Mischung von Kaufmodellen

• Messen und verwalten– Überwachung zeigt Kosteneinsparungsmöglichkeiten

Unix/Linux Instanzen starten bei 0,02 USD / Stunde

„Pay as you go“ für Rechenleistung

Niedrige Kosten, flexibel

Keine Verpflichtung, keine initialen Kosten, Bezahlung nur für Nutzung

Anwendungsfälle

Anwendungen mit kurzfristiger, unbekannter oder unvorhersehbarer Last

Anwendungs-Entwicklung und Test

On Demand InstanzenOn Demand Instanzen

EC2 Preisoptionen

Unix/Linux Instanzen starten bei 0,02 USD / Stunde

„Pay as you go“ für Rechenleistung

Niedrige Kosten, flexibel

Keine Verpflichtung, keine initialen Kosten, Bezahlung nur für Nutzung

Anwendungsfälle

Anwendungen mit kurzfristiger, unbekannter oder unvorhersehbarer Last

Anwendungs-Entwicklung und Test

On Demand InstanzenOn Demand Instanzen

1 oder 3 Jahre Bindung

Initiale Zahlung verringert Kosten pro Stunde deutlich

Niedrige Kosten / Vorhersehbarkeit

Reservierung: Kapazität ist verfügbar wenn sie gebraucht wird

Anwendungsfälle

Dauerhaft genutzte Anwendungen

Vorhersehbare Last

Reservierte Kapazität erforderlich, z.B. Disaster Recovery

Reserved InstanzenReserved Instanzen

EC2 Preisoptionen

Unix/Linux Instanzen starten bei 0,02 USD / Stunde

„Pay as you go“ für Rechenleistung

Niedrige Kosten, flexibel

Keine Verpflichtung, keine initialen Kosten, Bezahlung nur für Nutzung

Anwendungsfälle

Anwendungen mit kurzfristiger, unbekannter oder unvorhersehbarer Last

Anwendungs-Entwicklung und Test

On Demand InstanzenOn Demand Instanzen

1 oder 3 Jahre Bindung

Initiale Zahlung verringert Kosten pro Stunde deutlich

Niedrige Kosten / Vorhersehbarkeit

Reservierung: Kapazität ist verfügbar wenn sie gebraucht wird

Anwendungsfälle

Dauerhaft genutzte Anwendungen

Vorhersehbare Last

Reservierte Kapazität erforderlich, z.B. Disaster Recovery

Reserved InstanzenReserved Instanzen

EC2 Preisoptionen

> 80% Nutzungszeit Bis 58% günstiger

Anwendungsfälle: Datenbanken, Großes HPC, Dauerbetrieb, Grundlast

Heavy Utilization RIHeavy Utilization RI

41-79% NutzungszeitBis 49% günstiger

Anwendungsfälle: Webanwendungen, Viele umfangreiche Rechenläufe, Anwendungen die

meistens laufen

Medium Utilization RIMedium Utilization RI

15-40% NutzungszeitBis 34% günstiger

Anwendungsfälle: Disaster Recovery, Wöchentliches / Monatliches Reporting, Elastic

Map Reduce

Light Utilization RILight Utilization RI

Unix/Linux Instanzen starten bei 0,02 USD / Stunde

„Pay as you go“ für Rechenleistung

Niedrige Kosten, flexibel

Keine Verpflichtung, keine initialen Kosten, Bezahlung nur für Nutzung

Anwendungsfälle

Anwendungen mit kurzfristiger, unbekannter oder unvorhersehbarer Last

Anwendungs-Entwicklung und Test

On Demand InstanzenOn Demand Instanzen

1 oder 3 Jahre Bindung

Initiale Zahlung verringert Kosten pro Stunde deutlich

Niedrige Kosten / Vorhersehbarkeit

Reservierung: Kapazität ist verfügbar wenn sie gebraucht wird

Anwendungsfälle

Dauerhaft genutzte Anwendungen

Vorhersehbare Last

Reservierte Kapazität erforderlich, z.B. Disaster Recovery

Reserved InstanzenReserved Instanzen

Angebote für ungenutzte EC2 Kapazität

Spot Preis basiert auf Angebot und Nachfrage, wird automatisch bestimmt

Sehr kostengünstig, große, zeit-unkritische Lasten

Instanzen werden bei Steigen des Spot-Preises wieder terminiert

Anwendungsfälle

Anwendungen mit flexiblen Start- und Endzeiten

Preissensitive Anwendungen

Zeit-unkritische Batchläufe

Spot InstanzenSpot Instanzen

EC2 Preisoptionen

Verwenden Sie mehrere Modelle

Beispiel:

FrontendOn-Demand/Reserved Instances

+

BackendSpot Instances

z.B. Batch Video Transcoding

Messen und Verwalten

“If you cannot measure it, you cannot improve it.” - Lord Kelvin

Mess- und Verwaltungsdienste

• Detailiertes Cloud Monitoring & Management– Consolidated Billing (in „Account Activity“)– CloudWatch (in der AWS Management Console)– Billing Alerts (in “Account Activity”)– Trusted Advisor (in “Support Center”)– Andere APIs: Tags, programmatischer Zugriff usw.

• + Dienste von anderen Anbietern

Consolidated Billing

• Eine Rechnung für mehrere Konten

• Einfache Übersicht der Einzelpositionen (z.B. Download der Kostendaten als CSV)

• Aktivitäten gruppieren nach Konto (z.B., Dev, Stage, Test, Prod)

• Volumenrabatte können schneller erreicht werden

• Reserved Instances werden gemeinsam genutzt (incl. RDS Reserved DBs)

• AWS Credits werden kombiniert

Eine Rechnung für eine Gruppe von Konten

Consolidated Billing Demo (1/3)

• Zusammenfassung für alle Konten und Nutzer

Consolidated Billing Demo (2/3)

• Details für alle verbundenen Konten

Consolidated Billing Demo (3/3)

• Download der Details als CSV–> Excel

Amazon CloudWatch

• Monitoring für AWS Cloud Ressourcen und Applikationen– EC2, RDS, EBS, ELB, SQS, SNS, DynamoDB, EMR, Auto Scaling, …– Eigene Metriken für Ihre Applikationen (Put API-Aufruf)

• Analysen, Alarme, Benachrichigungen• Einfach anfangen, mit der Anwendung skalieren

• Ausgefeilte Automatisierung– Verwenden Sie CloudWatch Metriken mit Auto Scaling um dynamisch die Zahl

der EC2 Instanzen zu skalieren

CloudWatch zur Überwachung

• Überwachung der Ressourcennutzung– Verwenden Sie den richtigen Instanztyp?– Haben Sie ungenutzte Instanzen?– Ist Ihre Instanznutzung gleichmäßig oder hat sie Spitzen?

• Verwalten der Ressourcennutzung– Verschieben Sie Lastspitzen auf andere Instanzen– Balancieren Sie die Last über die Instanzen aus– Skalieren Sie automatisch mit Auto Scaling

Billing Alerts

• Erhalten Sie einen Alarm, wenn die geschätzten Kosten über einem Schwellwert liegen• Überwachen Sie einzelne Konten oder alle verknüpften Konten• Konfigurieren Sie Alarme und Aktionen

Demo: Billing Alerts

Trusted Advisor

• Gibt Optimierungs-Empfehlungen für:– Kosten– Sicherheit– Fehlertoleranz– Performance

• Verfügbar für Kunden mit Business und Enterprise Support

https://aws.amazon.com/de/premiumsupport/trustedadvisor/

Umfassende Analyse, Überwachung und Optimierung

Demo: Trusted Advisor

Dritthersteller

Opportunistische Skalierung

• Opportunity favors the prepared application

Zeit zum Ergebnis Fall 1

Beispiel: Mechanische Simulation

Verzögerung Verlust an Produktivität, Projektverzögerung

Wert des Ergebnisses schwindet schnell

Zeit zum Ergebnis Fall 2

Beispiel:Regressionstests am Wochenende

Verzögerung Geringer Nachteil bis Montag Morgen 8 Uhr

Das Ergebnis ist wertvoll – bis es es nicht mehr ist

Spot Instanzen

• Spot Instanzen in Kürze– Ausgeführt wenn Gebot ≥ Spot Preis– Spot Instanzen = Ungenutzte EC2 Kapazität– Können jederzeit terminiert werden

• Vorteile– Einsparungen: Bis zu 90% Preisvorteil gegenüber On-Demand– Skalierung: Viele Instanzen zum günstigen Preis

• Verwendung– Entscheiden Sie sich für einen Gebotpreis– Start über Console, API, Auto Scaling– Überwachung des Gebotsstatus über Console/API

Kosteneinsparung und Skalierung

Anwendungen für Spot

• Gute Spot-Anwendungen sind:– Verzögerbar: Für Balance SLA/Kosten– Skalierbar: z.B. „embarrassingly parallel“– Automatisierbar: für automatischen Start der Verarbeitung mit Instanzstart– Fehlertolerant: können terminiert werden, ohne dass die gesamte Arbeit verloren geht– Portabel über Regionen, AZs, Instanztypen

• Beispiele:– MapReduce (Hadoop, Amazon EMR)– Wissenschaftliche Berechnungen (z.B. Monte Carlo Simulationen)– Batch Processing (z.B. Video Transcoding)– Financial Computing (z.B. high-frequency trading Algorithmus-Backtesting)– und viele andere...

Lucky Oyster crawled 3.4B Web Pages, building a 400M entry index in around 14 hours for $100 (>85% savings)!

Dynamische Skalierung: Auto Scaling

• Auto Scaling verwaltet automatisch die Größe Ihrer Server-Flotte– Basierend auf Ereignissen und Zeitpunkten

• Integration mit CloudWatch Metriken• Verwenden Sie Auto Scaling für

– Konsistente Anwendungs-Performance und Antwortzeit– Maximierung von CPU/IO/Netzwerk-Nutzung– Optimierung anderer Metriken

Skalierung nach aktuellem Bedarf

Auto Scaling Beispiel: Netflix

Folge dem Geld kontra Folge dem Kunden

• Optimierte Nutzung– Auto Scaling nach Nutzungsmetriken:

CPU, IO, Anfragen, Verbindungen, …

• Optimierter Preis– Skalierung mit Spotinstanzen wenn der Preis niedrig ist– z.B. Ausführung von Batchläufen wenn Spot-Preise niedrig sind

Folge dem Geld kontra Folge dem Kunden

• Optimierte Kundenerfahrung mit Auto Scaling

• Beispiel 1: Skalierung der Ressourcen nach aktueller Kundenanforderung– Videodienst skaliert die Zahl der Instanzen nach Anzahl der Kunden-Webrequests

• Beispiel 2: Skalierung der Ressourcen, um aktuelle Ergebnisse sicherzustellen– Eine wissenschaftliche Suchmaschine skaliert basierend auf der Queue-Länge

(Anzahl der zu indexierenden Dokumente)– 10 dauerhaft laufende Instanzen und bis zu 5000 zur Minimierung der

Verarbeitungszeit• Beispiel 3: Vorausschauende Skalierung bei abzusehendem Bedarf

– Eine Fernsehserien-Marketingsite skaliert vor der Sendung hoch und danach runter

Shared FSShared FS

Skalierung von 50–50000 Cores coresCycleCloud nutzt sichere, auto-skalierte HPC Cluster

User

Prüfe Job-AnforderungenPrüfe Job-Anforderungen

Berechne idealen HPC ClusterBerechne idealen HPC Cluster

AlterInterner

HPC

AlterInterner

HPC

Loadbasiertes Spot Gebot

Loadbasiertes Spot Gebot

Biete mit geeignetem Spot-PreisBiete mit geeignetem Spot-Preis

Verwalte Spot Instanz-Verlust Verwalte Spot Instanz-Verlust

Spot Instance Execute Nodes(automatisch gestartet und

gestoppt)

FS / S3

HPC Cluster

On-Demand Execute Nodes

Data Scheduling zur PlatzierungHPC Orchestration für

Spot Instance Gebot & Verlust

Fallstudie

Zusammenfassung Teil 1

• Verwenden Sie nur, was Sie brauchen– Bezahlen Sie nur, was Sie nutzen

• Messen und Verwalten• Opportunistische Skalierung

Passen Sie die Cloud Ihren Produkten und Geschäftsmodellen an

Beispiel: Batch Processing

http://aws.amazon.com/architecture/

3. Opportunistische Skalierung: Auto Scaling Worker Nodes basierend

auf Größe der Input Queue

3. Opportunistische Skalierung: Auto Scaling Worker Nodes basierend

auf Größe der Input Queue1. Bezahlen

Sie nur was Sie nutzen:

Ressourcen in der richtigen

Größe

1. Bezahlen Sie nur was Sie nutzen:

Ressourcen in der richtigen

Größe

2. Messen und verwalten Sie mit

CloudWatch, Billing Alerts, Trusted

Advisor

2. Messen und verwalten Sie mit

CloudWatch, Billing Alerts, Trusted

Advisor

Zusammenfassung Teil 2

On-Premises

•Fehlschläge sind teuer

•Selten wird experimentiert

•Weniger Innovation

Optimierte Cloud

•Fehlschläge sind preiswert

•Experimentieren Sie früh und oft

•Mehr Innovation

Verwenden Sie die Cloud für neue Produkte und Geschäftsmodelle

• http://aws.amazon.com/de • Beginnen Sie mit dem Free Tier:

http://aws.amazon.com/de/free/• 25 US$ Startguthaben für Neukunden:

http://aws.amazon.com/de/campaigns/account/• Twitter: @AWS_Aktuell• Facebook: http://www.facebook.com/awsaktuell • Webinare: http://aws.amazon.com/de/about-aws/events/ • Slideshare: http://de.slideshare.net/AWSAktuell

Ressourcen

1. Was ist Amazon Web Services und wofür kann ich AWS nutzen2. Erste Schritte mit Amazon Web Services – von der Anmeldung bis zur ersten

Instanz3. Amazon Web Services 1*1 – welche Dienste gibt es wofür?4. Server in der Cloud – die AWS Compute-Dienste5. Daten speichern in der Cloud – die AWS Storage-Dienste6. Datenbanken in der Cloud – SQL und NoSQL7. Amazon Web Services für eCommerce8. Big Data9. Die erste Woche mit EC210. 8 Tipps für eine Cloud-Strategie – wie Kunden die Cloud heute einsetzenAufzeichnungen http://aws.amazon.com/de/recorded-webinar/

Bisherige Webinare

• Architecture Best Practices für Webanwendungen– 04.09.2013, 16 Uhr

• Unternehmensanwendungen auf AWS– 24.09.2013, 16 Uhr

• http://aws.amazon.com/de/about-aws/events/

Kommende Webinare