Einmal über den großen Teich
MongoDB in der AWS-Cloud von EU nach US
ohne Downtime migrieren
Markus Ostertag

Markus Oster...
Wer bin ich?
• Online-Business seit >15 Jahren
• Diplom-Informatik TU München
• Gründer MovieMaze.de (Verkauf 2012)
• Foku...
Übersicht

• Was ist DNTX?
• Wie wir MongoDB einsetzen
• AWS Voraussetzungen
• Architektur einer MongoDB in EC2

Markus Os...
Übersicht
• Konzept der Migration
• Die Migration
• Die Nacharbeiten
• Happy End?

Markus Ostertag - MongoDB München 2013
Markus Ostertag - MongoDB München 2013
DNTX
• DNTX = Direct Navigation Traffic Exchange
• Monetarisierung von Domain Parking Traffic
• Real Time Bidding pro Requ...
Wie wir MongoDB einsetzen
• Anfragen nach höchstem Gebot (Read)
• Tracking (Write)
• Read & Write intensiv
• Gesamtantwort...
Wie wir MongoDB einsetzen
• 4 Shards (je ein Replica Set mit 3 Maschinen)
• 7 MongoS + 3 Configserver
• Read Preference
„s...
Wie wir MongoDB einsetzen
• 600 Feedrequests/Sek. (~52 Mio./Tag)
• Avg. 4k DB-Queries/Sek. (Peaks: 20k/Sek.)
• Avg. 500 DB...
AWS Voraussetzungen
• Entscheidung für Amazon Web Services
• VPC als „Trusted Environment“
• Availability Zones und Region...
Architektur einer MongoDB in EC2

• Eine VPC mit 3 Availability Zones
• Primary über Priority (rs.conf()) verteilen
Markus...
Sprung über den Teich

Markus Ostertag - MongoDB München 2013
Konzept der Migration

Markus Ostertag - MongoDB München 2013
Die Migration
• Datenmenge reduzieren
• Balancer abschalten
• Jedem Shard einen „Transfer-MongoD“ als
„hidden“ Secondary h...
Die Migration

Markus Ostertag - MongoDB München 2013
Die Migration
• „Transfer-MongoD“ stoppen
• Snapshots ziehen und nach US kopieren

• Snapshots in US starten
Markus Ostert...
Die Migration

• Sync ausgehend von Transfer-MongoDs
• Alle (12) neuen MongoDs in US starten
• Sync von den jeweiligen Tra...
Die Migration – Kritischer Teil
• Migration der Config-Server
–Snapshots in EU -> Copy in US starten
–Alle MongoS stoppen ...
Die Migration – Kritischer Teil
• Switch der Application von EU nach US (DNS)
• Switch der Secondaries nach US
cfg = rs.co...
Die Migration – Kritischer Teil
• Switch der Primaries nach US
• Zur Sicherheit:
–Neuaufbau der Connections triggern
–EU l...
Die Nacharbeiten
• Monitoring der US-Systeme
• VPN-Verbindung trennen
• EU abschalten
• Security Groups anpassen

Markus O...
Happy End?

• Probleme:
–VPN-Instanzen und der Netzwerkdurchsatz
–Ohne Downtime ist ein Config-Serverumzug
nicht möglich (...
Happy End?
• Fazit:
– Vorarbeit
– Geduld
– Hidden Secondaries helfen!

Markus Ostertag - MongoDB München 2013
Links

• IPSec zwischen zwei VPCs:
http://aws.amazon.com/articles/5472675506466066
• MongoDB-Whitepaper von Amazon:
http:/...
• Mail: markus@teaminternet.de
• Xing: http://xing.to/mo
• Linkedin:
http://de.linkedin.com/in/ostertag

Markus Ostertag -...
Nächste SlideShare
Wird geladen in …5
×

Einmal über den großen teich mongo db in der aws-cloud von eu nach us nahezu ohne downtime migrieren

532 Aufrufe

Veröffentlicht am

0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
532
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
1
Aktionen
Geteilt
0
Downloads
0
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Einmal über den großen teich mongo db in der aws-cloud von eu nach us nahezu ohne downtime migrieren

  1. 1. Einmal über den großen Teich MongoDB in der AWS-Cloud von EU nach US ohne Downtime migrieren Markus Ostertag Markus Ostertag - MongoDB München 2013
  2. 2. Wer bin ich? • Online-Business seit >15 Jahren • Diplom-Informatik TU München • Gründer MovieMaze.de (Verkauf 2012) • Fokus auf Skalierung und AWS • Seit 11/2012 bei Team Internet als Head of Development (Advertiser Products) Markus Ostertag - MongoDB München 2013
  3. 3. Übersicht • Was ist DNTX? • Wie wir MongoDB einsetzen • AWS Voraussetzungen • Architektur einer MongoDB in EC2 Markus Ostertag - MongoDB München 2013
  4. 4. Übersicht • Konzept der Migration • Die Migration • Die Nacharbeiten • Happy End? Markus Ostertag - MongoDB München 2013
  5. 5. Markus Ostertag - MongoDB München 2013
  6. 6. DNTX • DNTX = Direct Navigation Traffic Exchange • Monetarisierung von Domain Parking Traffic • Real Time Bidding pro Request • DNTX als Marktplatz zwischen Parkingplattform und Advertiser Markus Ostertag - MongoDB München 2013
  7. 7. Wie wir MongoDB einsetzen • Anfragen nach höchstem Gebot (Read) • Tracking (Write) • Read & Write intensiv • Gesamtantwortzeit < 500ms Markus Ostertag - MongoDB München 2013
  8. 8. Wie wir MongoDB einsetzen • 4 Shards (je ein Replica Set mit 3 Maschinen) • 7 MongoS + 3 Configserver • Read Preference „secondaryPreferred“ • Application Server in node.js Markus Ostertag - MongoDB München 2013
  9. 9. Wie wir MongoDB einsetzen • 600 Feedrequests/Sek. (~52 Mio./Tag) • Avg. 4k DB-Queries/Sek. (Peaks: 20k/Sek.) • Avg. 500 DB-Inserts/Sek. (Peaks: 2k/Sek.) • Avg. 400 DB-Updates/Sek. (Peaks: 2k/Sek.) Markus Ostertag - MongoDB München 2013
  10. 10. AWS Voraussetzungen • Entscheidung für Amazon Web Services • VPC als „Trusted Environment“ • Availability Zones und Regions Markus Ostertag - MongoDB München 2013
  11. 11. Architektur einer MongoDB in EC2 • Eine VPC mit 3 Availability Zones • Primary über Priority (rs.conf()) verteilen Markus Ostertag - MongoDB München 2013
  12. 12. Sprung über den Teich Markus Ostertag - MongoDB München 2013
  13. 13. Konzept der Migration Markus Ostertag - MongoDB München 2013
  14. 14. Die Migration • Datenmenge reduzieren • Balancer abschalten • Jedem Shard einen „Transfer-MongoD“ als „hidden“ Secondary hinzufügen –priority:0, hidden:true, votes:0 • Warten… Markus Ostertag - MongoDB München 2013
  15. 15. Die Migration Markus Ostertag - MongoDB München 2013
  16. 16. Die Migration • „Transfer-MongoD“ stoppen • Snapshots ziehen und nach US kopieren • Snapshots in US starten Markus Ostertag - MongoDB München 2013
  17. 17. Die Migration • Sync ausgehend von Transfer-MongoDs • Alle (12) neuen MongoDs in US starten • Sync von den jeweiligen Transfer-MongoDs rs.syncFrom("transfer-mongodshard1-us") • Warten… • Neue MongoS und Application-Server in US Markus Ostertag - MongoDB München 2013
  18. 18. Die Migration – Kritischer Teil • Migration der Config-Server –Snapshots in EU -> Copy in US starten –Alle MongoS stoppen und mit den neuen Config-Servern (US) starten -> Downtime von wenigen Minuten • Gesamtsystem dupliziert Markus Ostertag - MongoDB München 2013
  19. 19. Die Migration – Kritischer Teil • Switch der Application von EU nach US (DNS) • Switch der Secondaries nach US cfg = rs.conf(); cfg.members[0].votes = 1 cfg.members[0].priority = 1 cfg.members[0].hidden = false rs.reconfig(cfg) Markus Ostertag - MongoDB München 2013
  20. 20. Die Migration – Kritischer Teil • Switch der Primaries nach US • Zur Sicherheit: –Neuaufbau der Connections triggern –EU läuft per VPN noch mit Markus Ostertag - MongoDB München 2013
  21. 21. Die Nacharbeiten • Monitoring der US-Systeme • VPN-Verbindung trennen • EU abschalten • Security Groups anpassen Markus Ostertag - MongoDB München 2013
  22. 22. Happy End? • Probleme: –VPN-Instanzen und der Netzwerkdurchsatz –Ohne Downtime ist ein Config-Serverumzug nicht möglich (MongoS müssen alle down sein) Markus Ostertag - MongoDB München 2013
  23. 23. Happy End? • Fazit: – Vorarbeit – Geduld – Hidden Secondaries helfen! Markus Ostertag - MongoDB München 2013
  24. 24. Links • IPSec zwischen zwei VPCs: http://aws.amazon.com/articles/5472675506466066 • MongoDB-Whitepaper von Amazon: http://aws.amazon.com/whitepapers/mongodb-on-aws/ • MongoDB on AWS (10Gen): http://docs.mongodb.org/ecosystem/platforms/amazonec2/ Markus Ostertag - MongoDB München 2013
  25. 25. • Mail: markus@teaminternet.de • Xing: http://xing.to/mo • Linkedin: http://de.linkedin.com/in/ostertag Markus Ostertag - MongoDB München 2013

×